[vortex] 3c590 troubles

Mike Paige Michael.Paige@Colorado.EDU
Thu Dec 6 23:07:00 2001


I've spent a long time this week attempting to get my two computers
networked using two 3c590 cards.  Today I finally got them to ping each
other, and now I'm confused about why it works now.  The critical
difference between working, and not-working was that now I have edited
/etc/modules.conf to load in options=0 wheras before I was using 'insmod
3c59x options=0'  This appears to force 10BaseT but then the card is
non-functional.  I've found one key difference hiding in dmesg.

When the card is loaded at boottime using the options in
/etc/modules.conf, the card functions and dmesg reports:

00:0a.0: 3Com PCI 3c590 Vortex 10Mbps at 0x6100. Vers LK1.1.16
...
  Internal config register is 1020012, transceivers 0xe138.
  32K byte-wide RAM 1:1 Rx:Tx split, autoselect/10baseT interface.


Now if I do:

[root@oldbox]$ ifdown eth0
[root@oldbox]$ rmmod 3c59x
[root@oldbox]$ insmod 3c59x options=0 debug=6
[root@oldbox]$ ifup eth0

I get the following in dmesg and the card becomes nonfunctional
until I
reboot again:

00:0a.0: 3Com PCI 3c590 Vortex 10Mbps at 0x6100. Vers LK1.1.16
...
  Internal config register is 102001b, transceivers 0xe138.
  64K word-wide RAM 1:1 Rx:Tx split, autoselect/10baseT interface.

So now the internal config register is reporting something different and
it now reads 64K word-wide instead of 32K byte-wide.

My question is, what is this difference and why does it not work when I
use insmod (or modprobe) after boot time?

Thanks for the info,
Mike