[vortex] Problem with 3c59x driver

Gintautas gintautas.m@centras.lt
Thu Jun 27 17:28:01 2002


Hello,

I have 3 OS'es on my machine here: Win98(SE), Win2000 and Linux. I'm
having a problem with your driver, it manifests itself when I do a warm
reboot from Win98 to Linux (e.g. Shut Down->Reboot in Win and then
choose linux in LILO). Basically after this the driver shows a lot of
errors and the card refuses to work. dmesg shows a lot of messages like
this:

eth0: command 0x3002 did not complete! Status=0xffff
eth0: Transmitter encountered 16 collisions -- network cable problem?
eth0: Interrupt posted but not delivered -- IRQ blocked by another
device?
  Flags; bus-master 1, dirty 0(0) current 16(0)
  Transmit list ffffffff vs. cfab8200.

etc. (these are not the only error codes I get)

I tried to mail the complete log here but was rejected by the moderator,
tell me where I could send them.

The problem does not show up if I do a shutdown from Win98 and then turn
on the computer manually and boot to linux. It also never happens when
rebooting from Win2000.

The fix is very simple: when linux boots up in this state, a soft reboot
(shutdown -r) (and booting linux again) makes the problem disappear
completely.

However, it is very annoying, because when the networking system won't
start, all services trying to bind to the external interfaces take much
longer to load (probably until they timeout on errors).

I suspect that the problem is something like a register which should be
reset but is not, however I don't have the knowledge to localize the
cause and fix it myself. Considering that Win2000 doesn't cause the
problem, this might be a bug in the Win98 driver, but it is also a
problem of your driver as well, because a reboot fixes it.

A bit of information about my system:
Motherboard: Intel 440BX-based
NIC: identified in Win98 as "3Com EtherLink 10/100 PCI TX NIC (3C905B-TX)"
Kernel: 2.4.18
note: I presently run the kernel with the preemptive patch, however this
is not related, because the problem was there when the patch wasn't
applied as well.
The driver (3c59x) is compiled as a module.

Because the bug is 100% reproducible, I can provide any information you
need.

This seems to be a mailing list, I'm not subscribed to it so please CC me.

Thanks for your time, I'll be waiting for a reply.

-- 
 Gintautas