Page 1 of 1

Ubuntu: WLAN problems on Thinkpad X30

Posted: Sat Dec 02, 2006 9:51 pm
by ^rooker
[PROBLEM]
I've installed Ubuntu 6.10 (Edgy Eft) on an IBM Thinkpad X30 which has an integrated WLAN card (Cisco Aironet 802).

WiFi doesn't work out of the box, because of a conflict:
"dmesg | grep eth" gives me:
[17179594.988000] e100: eth0: e100_probe: addr 0xd0204000, irq 11, MAC addr 00:09:6B:CD:4F:55
[17179594.988000] airo(eth1): Found an MPI350 card
[17179596.024000] airo(eth1): Couldn't register_netdev
[17179734.824000] ADDRCONF(NETDEV_UP): eth1: link is not ready
Seems fine, but running "ifconfig eth1 up" reveals the conflict:
eth1 Protokoll:Ethernet Hardware Adresse 00:09:6B:CD:4F:55
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
As you can see at the MAC address, eth1 is actually the wired interface.

[SOLUTION]
I'm currently still reading myself into "how the network's configured during boot process" under Debian/Ubuntu in order to find a permanent fix for this.

My current workaround is this one:

Code: Select all

modprobe -r airo
moprobe airo
Afterwards, you get the Airo WiFi card as "eth0" (But seriously: THIS is not a solution...)

almost.... almost solved.

Posted: Sat Dec 02, 2006 10:32 pm
by ^rooker
I hate it when this happens, but the problem disappeared.

The only things I've changed were:
1) Added the wired interface to /etc/network/interfaces (but NO auto flag)
2) Installed "ifplugd" package.

But BOTH things should not be able to change things that go wrong on a kernel-module level.

Additionally strange and puzzling is the dmesg output of a -working- system after boot:
[17179593.284000] e100: eth0: e100_probe: addr 0xd0204000, irq 11, MAC addr 00:09:6B:CD:4F:55
[17179593.320000] airo(eth0): Found an MPI350 card
[17179594.316000] airo(eth0): MAC enabled 0:2:8a:78:98:29
[17179610.652000] eth0: no IPv6 routers present
According to dmesg output, "e100"(wired) AND "airo"(wifi) both claim to be eth0 - AND now things are working... WTF?? :shock:
...but both end up finally as they should:
e100: eth1
airo: eth0

hm....

Strangeness: eth0 & wifi0

Posted: Sat Dec 02, 2006 10:54 pm
by ^rooker
Additional strangeness with this Cisco Aironet card:

it's registering itself as 2 devices:
eth0 AND wifi0.

Now what's even stranger is, that the system thinks that eth1 (wired) and wifi0 are somehow related to each other. When doing "ifup eth1" I get some hellos from wifi0 between the DHCP client's output:
...For info, please visit http://www.isc.org/sw/dhcp/

wifi0: unknown hardware address type 801
wifi0: unknown hardware address type 801Listening on LPF/eth1/00:09:6b:cd:4f:55
Sending on LPF/eth1/00:09:6b:cd:4f:55
Sending on Socket/fallback
wifi0 is DEFINITELY related to the airo card, because looking at "ifconfig wifi0" reveals that their mac's first digits match:
wifi0 Protokoll:UNSPEC Hardware Adresse
00-02-8A-78-98-29-D0-E3-00-00-00-00-00-00-00-00
BROADCAST MULTICAST MTU:2312 Metric:1
RX packets:375 errors:23081 dropped:0 overruns:0 frame:23081
TX packets:288 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:25 Sendewarteschlangenlänge:100
RX bytes:154864 (151.2 KiB) TX bytes:34979 (34.1 KiB)
Interrupt:11 Basisadresse:0x7000
See that supersize MAC? I've seen something similar on virtual interfaces used for VPNs, but am not sure right now where exactly.

I'm actually sorry that it's working now, because I probably won't spend much time on solving all those issues here properly now.

wlan/eth conflict Not solved!

Posted: Fri Jan 12, 2007 5:12 pm
by ^rooker
It seems that I haven't solved anything.

Something within the hardware detection during boot is randomly initializing devices in an arbitrary order (I suspect "discover"). So every now and then the network doesn't work - until I remove and re-insert the modules manually.

I'm having similar problems on another computer with multiple sound devices. Almost after every reboot the sound cards are detected in a different order - so, sometimes you hear things over "hw:0,1" - and the other day it's "hw:2,0"....

Haven't found enough docs about the hardware detection in Debian/Ubuntu to sort things out properly.