[net.unix-wizards] ifconfig hangs with proteon ringnet card.

swa@xx.lcs.mit.EDU (09/02/86)

I have a VAX 11/750 running BSD 4.2.  The VAX has a uba0 controlling 3
ra81 disks, a DZ, an rk07 drive, and a Proteon UNIBUS 10-megabit
ringnet card (device name vv0). 

The vv0 is a new peripheral for this VAX.  The symptom I'm
experiencing is that the command "ifconfig vv0 (any address)" causes
UNIX to hang.

I've tried "ifconfig 18.10.0.91" (the card is configured as node #
91), "ifconfig lcsnet" (lcsnet is defined in /etc/networks as 18.10.0)
and "ifconfig 18.10.0".  It hangs for all of them. I think the
switches are set properly (I copied them off of a board that works in
another VAX, except for the node #, which I set myself), and the
kernel sources are not to blame (I compiled the kernel from the same
sources that currenly run in the other VAX).  I have also removed the
NPG jumper, so that shouldn't be a problem (the ringnet card is
replacing an Interlan 10-megabit ethernet card that used to live in
the same slot).  In addition, the system DID recognize the vv0 (it
printed the message "vv0 at uba0 csr 164000 vec 260, ipl 14" during
the autoconfig process).  I must have done something wrong.  Can
anybody help me?

Steven Augart
swa@xx.lcs.mit.edu

ron@BRL.ARPA (Ron Natalie) (10/01/86)

I don't know if you got an answer yet, but the IFCONFIG will fail.
The problem is that the vv driver insists that the local net part
of the address match the hardware address.  Unfortunately, the local
area address at the point you do the ifconfig is still 24 bits long
since the subnet mask is not set, and you can't set the subnet mask
until the address is set catch-22.

Two soloutions:

For example to set the address to 18.88.0.12

ifconfig vv0 18.0.0.12 netmask 255.255.255.0
ifconfig vv0 18.88.0.12

The first 18.0.0.12 is just to make the thing happy on net 18 so you
can set the mask, then correct it with the second if config.

The other (better) solution is to modify vvioctl so that only the
least significant bits of the local net part of the address is compared
against the hardware address.

-Ron