PCMCIA networking failure going 5.4R-->6.1R
Vicknesan AYADURAI
vicknesan at bigfoot.com
Wed Aug 30 06:47:01 UTC 2006
Hi all,
Have been wrestling a bizarre problem unsuccessfully for a week now
and am hoping someone on this list might be able to help.
My home router is an old IBM Thinkpad 600 notebook, with two 3Com
Megahertz 589E PCMCIA ethernet cards - 1 linking to the Internet, and
1 to an in-home 192.168.0/24 LAN. I believe this to be reliable,
battle-tested hardware, and everything, i.e., routing, NAT, DHCP,
IPFW, etc., had been running smoothly for months on FreeBSD-5.4R
A week ago I did a fresh install of FreeBSD-6.1R and the problem with
the network cards appeared. Both PCMCIA cards are detected as ep0 and
ep1 upon bootup, and can be assigned their static IP addresses.
However, the networking on one of them is _extremely_ slow.
Pinging a host at the 'other-end' of the ethernet link results in a
cycle of 10 packet coming in simultaneously in a burst, a pause for 10
seconds, followed by the next 10 packets simultaneously, a further
pause of 10 seconds, etc., etc.
I've determined that the problem is slot-dependent, as either card in
this slot exhibits this bursty/pause problem.
However, and this is the 'bizarre' bit, booting up with a FreeSBIE CD
(running FreeBSD-5.3R) on the same hardware results in no problems
with the networking - on _both_ PCMCIA slots.
Hence, the problem seems to be that a PCMCIA network card works with
5.XR but not 6.1R.
One difference I have noticed between the two RELEASEs is the card on
the 'dodgy' slot is detected as (from dmesg):
ep1: <3Com Megahertz 589E> at port 0x110-0x11f irq 9 function 0 config
1 on pccard1
when booted up with 6.1R, but 'irq 10' (instead of 9) when booted up
with 5.3R.
I'm now suspecting that perhaps the hardware for the good and bad
scenarios may not be 100% identical as different IRQs are assigned
with the different releases to the network card on the 'dodgy' slot.
'vmstat -i' doesn't show any IRQ collisions, but I'm suspecting that
perhaps there's some problem with the PC's IRQ 9 (?).
What I've been trying to do in the last 24-hrs is to get a different
IRQ (i.e., not 9) assigned to the card in the 'dodgy' slot to test
this hypothesis out, but haven't been able to figure out how PCMCIA
IRQ-assignments are done in 6.1R. In the good old (pre-6.1R) days, IRQ
assignments could be assigned at the start of /etc/pccard.conf, but
pccard.conf doesn't seem to do much with 6.1R.
Has anyone observed this behaviour before? Does the diagnosis sound
remotely plausible? If so, does anyone know how I can get a different
IRQ assigned to a PCMCIA card in a specific slot?
Alternatively, any other ideas/tips/suggestions/words of comfort would
be also greatly appreciated :-)
Regards,
vick
More information about the freebsd-hardware
mailing list