Discussion:
[Orinoco-users] Orinoco cs driver vs. recent 2.6 kernels/distributions
Allen McIntosh
2008-02-05 19:46:50 UTC
Permalink
Summary: I have been unable to get a Lucent WaveLAN Gold card to work
with some recent kernels. I'm posting here to see if this looks
familiar to anyone else and/or if anyone else has had success getting
this card family to work with recent 2.6 kernels. I'm happy to provide
more details or to try a recent/patched driver.

Combinations I tried that worked with this card:

IBM T21, Windows XP
IBM T41, Windows XP (sorry but this checks the hardware)
IBM T41, Fedora Core 5 (kernel 2.6.18-1.2257.fc5)

Combinations I tried that did not work with this card:

IBM T21, Ubuntu 7.10 (kernel 2.6.22-14-generic)
IBM T21, Ubuntu 7.10 (kernel 2.6.20-16-generic)
IBM T41, Fedora Core 8 (kernel 2.6.23.14-107.fc8)

Symptoms: The card appears to find the base station. The link does not
show up as RUNNING, and DHCP doesn't work. Giving the card a static
address doesn't work either. (See below for details.)

Other things I tried to rule out possible problems:
- upgraded the firmware (after some e-mail from Pavel Roskin). Did not
make any difference.
- used a relatively new Orinoco card (T41, RH8) - did not work either
- used a 3Com 575 PCMCIA card on the T41 with RH8 (to see if PCMCIA
support was broken in some horrible way). Worked fine.

Details from unsuccessful attempt: IBM T41, Fedora Core 8, kernel
2.6.23.14-107.fc8. I was sitting about three feet from the base station.

iwconfig output: The ESSID and key are correct (the configuration file
is identical to the one that worked for Fedora Core 5). The MAC address
for the base station is also correct.

$ iwconfig eth1
eth1 IEEE 802.11b ESSID:"XXXXXXXXXXXXXXX" Nickname:"calvin"
Mode:Managed Frequency:2.412 GHz Access Point:
00:1D:7E:66:0D:F2
Bit Rate:11 Mb/s Sensitivity:1/3
Retry limit:4 RTS thr:off Fragment thr:off
Encryption key:XXXX-XXXX-XX Security mode:open
Power Management:off
Link Quality=55/92 Signal level=-35 dBm Noise level=-90 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

dmesg output:

pccard: PCMCIA card inserted into slot 0
cs: memory probe 0xe8000000-0xefffffff: excluding 0xe8000000-0xefffffff
cs: memory probe 0xc0200000-0xcfffffff: excluding 0xc0200000-0xc11fffff
0xc1a00000-0xc21fffff 0xc2a00000-0xc31fffff 0xc3a00000-0xcc1fffff
0xcca00000-0xcd1fffff 0xcda00000-0xce1fffff 0xcea00000-0xcf1fffff
0xcfa00000-0xd01fffff
pcmcia: registering new device pcmcia0.0
orinoco 0.15 (David Gibson <***@gibson.dropbear.id.au>, Pavel Roskin
<***@gnu.org>, et al)
orinoco_cs 0.15 (David Gibson <***@gibson.dropbear.id.au>, Pavel
Roskin <***@gnu.org>, et al)
eth1: Hardware identity 0001:0001:0004:0000
eth1: Station identity 001f:0001:0008:0048
eth1: Firmware determined as Lucent/Agere 8.72
eth1: Ad-hoc demo mode supported
eth1: IEEE standard IBSS ad-hoc mode supported
eth1: WEP supported, 104-bit key
eth1: MAC address 00:60:1D:F1:47:27
eth1: Station name "HERMES I"
eth1: ready
eth1: orinoco_cs at 0.0, irq 3, io 0x4100-0x413f
ADDRCONF(NETDEV_UP): eth1: link is not ready


Output from running ifup:

$ ifup eth1

Determining IP information for eth1... failed; no link present. Check
cable?

When I configure the card manually:
$ ifconfig eth1 up 192.168.1.120 netmask 255.255.255.0

I get no complaints, but the link only shows as
UP BROADCAST MULTICAST
(no RUNNING). At this point I tried ping just for fun, but that didn't
work.

Configuration file:

USERCTL=no
PEERDNS=yes
DEVICE=eth1
BOOTPROTO=dhcp
ONBOOT=no
TYPE=Wireless
MODE=Managed
ESSID='XXXXXXXXXXXXXXXX'
KEY=s:XXXXX
DHCP_HOSTNAME=
IPADDR=
NAME=
DOMAIN=
NETMASK=
HWADDR=
GATEWAY=
RATE=Auto
CHANNEL=1
IPV6INIT=no




************************************************************************************************


Details from a attempt that did work (Same T41, same card, Fedora Core
5, kernel 2.6.18-1.2257.fc5) The bit that jumps out at me is the "New
link status" message that does not appear under FC8.

iwconfig output:

$ iwconfig eth1
eth1 IEEE 802.11b ESSID:"XXXXXXXXXXXXXXXXX" Nickname:"calvin"
Mode:Managed Frequency:2.412 GHz Access Point:
00:1D:7E:66:0D:F2
Bit Rate:11 Mb/s Sensitivity:1/3
Retry limit:4 RTS thr:off Fragment thr:off
Encryption key:XXXX-XXXX-XX Security mode:open
Power Management:off
Link Quality=56/92 Signal level=-37 dBm Noise level=-93 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

dmesg output:

pccard: PCMCIA card inserted into slot 0
cs: memory probe 0xe8000000-0xefffffff: excluding 0xe8000000-0xefffffff
cs: memory probe 0xc0200000-0xcfffffff: excluding 0xc0200000-0xc11fffff
0xc1a00000-0xc61fffff 0xc6a00000-0xc71fffff 0xc7a00000-0xc81fffff
0xc8a00000-0xc91fffff 0xc9a00000-0xca1fffff 0xcaa00000-0xcb1fffff
0xcba00000-0xcc1fffff 0xcca00000-0xcd1fffff 0xcda00000-0xce1fffff
0xcea00000-0xcf1fffff 0xcfa00000-0xd01fffff
pcmcia: registering new device pcmcia0.0
orinoco 0.15 (David Gibson <***@gibson.dropbear.id.au>, Pavel Roskin
<***@gnu.org>, et al)
orinoco_cs 0.15 (David Gibson <***@gibson.dropbear.id.au>, Pavel
Roskin <***@gnu.org>, et al)
eth1: Hardware identity 0001:0001:0004:0000
eth1: Station identity 001f:0001:0008:0048
eth1: Firmware determined as Lucent/Agere 8.72
eth1: Ad-hoc demo mode supported
eth1: IEEE standard IBSS ad-hoc mode supported
eth1: WEP supported, 104-bit key
eth1: MAC address 00:60:1D:F1:47:27
eth1: Station name "HERMES I"
eth1: ready
eth1: orinoco_cs at 0.0, irq 3, io 0x4100-0x413f
ADDRCONF(NETDEV_UP): eth1: link is not ready
eth1: New link status: Connected (0001)
ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
eth1: no IPv6 routers present
Dave
2008-02-06 23:00:02 UTC
Permalink
Post by Allen McIntosh
Summary: I have been unable to get a Lucent WaveLAN Gold card to work
with some recent kernels. I'm posting here to see if this looks
familiar to anyone else and/or if anyone else has had success getting
this card family to work with recent 2.6 kernels.
FYI, I've been running a Dell Truemobile 1150 card since kernel 2.6.16ish (both Gentoo and vanilla) without problems. Currently running 2.6.24 vanilla. dmesg below.

Dave.
Post by Allen McIntosh
eth1: Hardware identity 0001:0001:0004:0000
eth1: Station identity 001f:0001:0008:0048
eth1: Firmware determined as Lucent/Agere 8.72
eth1: Ad-hoc demo mode supported
eth1: IEEE standard IBSS ad-hoc mode supported
eth1: WEP supported, 104-bit key
eth1: MAC address 00:60:1D:F1:47:27
eth1: Station name "HERMES I"
eth1: ready
eth1: orinoco_cs at 0.0, irq 3, io 0x4100-0x413f
ADDRCONF(NETDEV_UP): eth1: link is not ready
orinoco 0.15 (David Gibson <***@gibson.dropbear.id.au>, Pavel Roskin <***@gnu.org>, et al)
orinoco_cs 0.15 (David Gibson <***@gibson.dropbear.id.au>, Pavel Roskin <***@gnu.org>, et al)
pcmcia: request for exclusive IRQ could not be fulfilled.
pcmcia: the driver needs updating to supported shared IRQ lines.
eth1: Hardware identity 0001:0001:0004:0002
eth1: Station identity 001f:0001:0008:0048
eth1: Firmware determined as Lucent/Agere 8.72
eth1: Ad-hoc demo mode supported
eth1: IEEE standard IBSS ad-hoc mode supported
eth1: WEP supported, 104-bit key
eth1: MAC address 00:02:2D:2C:AC:2A
eth1: Station name "HERMES I"
eth1: ready
eth1: orinoco_cs at 0.0, irq 11, io 0x0100-0x013f
eth1: New link status: Connected (0001)
Allen McIntosh
2008-02-06 23:48:42 UTC
Permalink
Post by Dave
Post by Allen McIntosh
Summary: I have been unable to get a Lucent WaveLAN Gold card to work
with some recent kernels. I'm posting here to see if this looks
familiar to anyone else and/or if anyone else has had success getting
this card family to work with recent 2.6 kernels.
FYI, I've been running a Dell Truemobile 1150 card since kernel 2.6.16ish (both Gentoo and vanilla) without problems. Currently running 2.6.24 vanilla. dmesg below.
Hmmm. Looks like you get the "New link status: Connected" message that
I was getting in FC5 and I don't get in FC8.

What version of the driver are you using? I can come up with four
without even trying )-:

1) vanilla from sourceforge
2) vanilla 2.6.23
3) vanilla 2.6.24
4) FC8 source - 2.6.23 plus a large "wireless" patch (among other
things, but this would be my top pick for the cause of the problem.)

I think the answer is #3, but figured I'd ask just to be sure. Based
only on looking at orinoco.c, the two vanilla ones are similar, but the
FC8 one is pretty different. Diff of two orinoco.c files | wc -l
outputs 586.

Looks like I need to build a kernel if I want to get the card running.
Haven't done that since 2.4.20something, so it should be interesting...
Pavel Roskin
2008-02-07 03:25:09 UTC
Permalink
Post by Allen McIntosh
Hmmm. Looks like you get the "New link status: Connected" message that
I was getting in FC5 and I don't get in FC8.
You are not getting the status, but the firmware reports it's
associated. I suspect something may be wrong with the interrupt
delivery. That would be in the PCMCIA code.

By the way, try scanning:
iwlist eth1 scan
--
Regards,
Pavel Roskin
Allen McIntosh
2008-02-07 16:09:12 UTC
Permalink
I can finally reproduce and work around the problem.

Bottom line:
rmmod nsc_ircc
Makes the problem go away on both IBM T41/FC8/2.6.2[34] and IBM
T21/Ubuntu 7.10/2.6.whatever.
Conversely
modprobe nsc_ircc
triggers the problem on T41/FC5/2.6.17. I'm guessing Dave can do it too
if he has the right hardware.

Gory details:

Compiled/installed/booted vanilla 2.6.24 kernel under FC8. Interface
did not come up. Surprise!

Copied modules and images to FC5 and booted. All worked fine.
I suspect something may be wrong with the interrupt delivery.
Diffed lists of modules loaded. Found culprit after some experimentation.

I'll send e-mail and/or post a bug report when I have more time.

My thanks to both of you for your help.
Allen McIntosh
2008-02-07 19:49:19 UTC
Permalink
Post by Allen McIntosh
modprobe nsc_ircc
triggers the problem (missing interrupts?) on T41/FC5/2.6.17
rmmod nsc_ircc
makes the problem go away.
I sent e-mail to Jean Tourrilhes, who is now associated with the IRDA
drivers, but had some association in the past with the Orinoco driver.
He replied that in his experience, the Orinoco card/driver had problems
sharing an IRQ. He didn't know how to configure the latest PCMCIA stuff
to switch IRQ's. I checked, and indeed IRQ 11 on my T41 is heavily
loaded, while IRQ 10 is empty. Is it possible to switch PCMCIA (yenta,
I'm guessing) to use the other IRQ?

(I'm also thinking that this is getting a little off-topic for
orinoco-users?)
Pavel Roskin
2008-02-07 20:51:00 UTC
Permalink
Post by Allen McIntosh
Post by Allen McIntosh
modprobe nsc_ircc
triggers the problem (missing interrupts?) on T41/FC5/2.6.17
rmmod nsc_ircc
makes the problem go away.
I sent e-mail to Jean Tourrilhes, who is now associated with the IRDA
drivers, but had some association in the past with the Orinoco driver.
He replied that in his experience, the Orinoco card/driver had problems
sharing an IRQ. He didn't know how to configure the latest PCMCIA stuff
to switch IRQ's. I checked, and indeed IRQ 11 on my T41 is heavily
loaded, while IRQ 10 is empty. Is it possible to switch PCMCIA (yenta,
I'm guessing) to use the other IRQ?
I think you could try playing with parameters of the "yenta_socket"
module, in particular "isa_probe".
Post by Allen McIntosh
(I'm also thinking that this is getting a little off-topic for
orinoco-users?)
Perhaps you will find better help in the PCMCIA list when it comes to
the interrupts. It's quite possible that the interrupt registration in
orinoco_cs.c needs to be updated.
--
Regards,
Pavel Roskin
Allen McIntosh
2008-02-09 18:59:16 UTC
Permalink
[Summary: Problems getting Orinoco card to work with 2.6.24 (among
others). Looks like an IRQ problem.]
Post by Pavel Roskin
Perhaps you will find better help in the PCMCIA list when it comes to
the interrupts.
Please add
exclude irq 3
to /etc/pcmcia/config.opts.
The Orinoco card now gets IRQ4. I'm happy.
Thanks again for your help.

Loading...