Bugzilla – Bug 297671
several conflicting kernel modules for wlan device get loaded
Last modified: 2007-08-10 17:50:50 UTC
This is on a Thinkpad R32 (2658 BQG). Built-in wireless device is a prism2 based mini PCI card. Will attach hwinfo later. According to hwinfo, three different kernel modules can be chosen for this card: hostap_pci prism2_pci orinoco_pci Unfortunately all three kernel modules will be loaded on boot. With the result that wlan isn't working: r32:~ # lsmod | grep _pci hostap_pci 56208 0 hostap 106372 1 hostap_pci orinoco_pci 10880 0 orinoco 41748 1 orinoco_pci hermes 11136 2 orinoco_pci,orinoco prism2_pci 68608 0 p80211 32780 1 prism2_pci I have to manually unload these modules and pick the only one that is working on this paticular mini PCI card at this moment (orinoco_pci) r32:~ # rmmod hostap_pci orinoco_pci orinoco prism2_pci r32:~ # modprobe orinoco_pci r32:~ # iwconfig lo no wireless extensions. irda0 no wireless extensions. eth0 no wireless extensions. eth1 IEEE 802.11b ESSID:"" Nickname:"Prism I" Mode:Managed Frequency:2.412 GHz Access Point: None Bit Rate:2 Mb/s Sensitivity:1/3 Retry short limit:8 RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=0/92 Signal level=-68 dBm Noise level=-122 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 It isn't the network script that causes the laoding of all these modules (rcnetwork restart after I manually unloaded the unwanted modules does not bring them back) - and YaST2 has configured the wireless device to use the orinoco_pci driver (prism2_pci was preselected but manually overridden). Even then, networkmanager does not work and I have to set essid and call ifup-dhcp for the device manually. But I guess that is another bug.
Created attachment 155675 [details] hwinfo --wlan
Demonstrating how 1) how all modules loaded at the same time do not yield a working wlan interface 2) prism2_pci obviously isn't working 3) hostap_pci appears to be working (but is not) 4) orinoco_pci is working 1) how all modules loaded at the same time do not yield a working wlan interface r32:~ # lsmod | grep _pci hostap_pci 56208 0 hostap 106372 1 hostap_pci orinoco_pci 10880 0 orinoco 41748 1 orinoco_pci hermes 11136 2 orinoco_pci,orinoco prism2_pci 68608 0 p80211 32780 1 prism2_pci r32:~ # iwconfig lo no wireless extensions. eth0 no wireless extensions. wlan0 no wireless extensions. irda0 no wireless extensions. 2) prism2_pci obviously isn't working r32:~ # rmmod hostap_pci orinoco_pci orinoco prism2_pci r32:~ # iwconfig lo no wireless extensions. eth0 no wireless extensions. irda0 no wireless extensions. r32:~ # modprobe prism2_pci r32:~ # lsmod | grep _pci prism2_pci 68608 0 p80211 32780 1 prism2_pci r32:~ # iwconfig lo no wireless extensions. eth0 no wireless extensions. irda0 no wireless extensions. wlan0 no wireless extensions. 3) hostap_pci appears to be working (but is not) r32:~ # rmmod hostap_pci orinoco_pci orinoco prism2_pci ERROR: Module hostap_pci does not exist in /proc/modules ERROR: Module orinoco_pci does not exist in /proc/modules ERROR: Module orinoco does not exist in /proc/modules r32:~ # modprobe hostap_pci r32:~ # lsmod | grep _pci hostap_pci 56208 2 hostap 106372 1 hostap_pci r32:~ # iwconfig lo no wireless extensions. eth0 no wireless extensions. irda0 no wireless extensions. wifi0 IEEE 802.11b ESSID:"" Nickname:"" Mode:Managed Frequency:2.452 GHz Access Point: None Bit Rate:2 Mb/s Sensitivity=1/3 Retry short limit:8 RTS thr:off Fragment thr:off Encryption key:off Power Management:off eth1 IEEE 802.11b ESSID:"" Nickname:"" Mode:Managed Frequency:2.452 GHz Access Point: None Bit Rate:2 Mb/s Sensitivity=1/3 Retry short limit:8 RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=0/70 Signal level=-73 dBm Noise level=-73 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:8 Missed beacon:0 r32:~ # iwconfig eth1 essid johann-eilers-weg_24 r32:~ # ifup-dhcp eth1 Starting DHCP Client Daemon on eth1... . IP/Netmask: 192.168.1.103 / 255.255.255.0 ('r32') r32:~ # ping www.heise.de ping: unknown host www.heise.de r32:~ # ifconfig eth0 Link encap:Ethernet HWaddr 00:00:E2:8B:A3:92 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 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:52 errors:0 dropped:0 overruns:0 frame:0 TX packets:52 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:3612 (3.5 Kb) TX bytes:3612 (3.5 Kb) 4) orinoco_pci is working r32:~ # rmmod hostap_pci r32:~ # lsmod | grep _pci r32:~ # modprobe orinoco_pci r32:~ # iwconfig lo no wireless extensions. eth0 no wireless extensions. irda0 no wireless extensions. eth1 IEEE 802.11b ESSID:"" Nickname:"Prism I" Mode:Managed Frequency:2.412 GHz Access Point: None Bit Rate:2 Mb/s Sensitivity:1/3 Retry short limit:8 RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality=0/92 Signal level=-68 dBm Noise level=-122 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 r32:~ # lsmod | grep _pci orinoco_pci 10880 0 orinoco 41748 1 orinoco_pci hermes 11136 2 orinoco_pci,orinoco r32:~ # iwconfig eth1 essid johann-eilers-weg_24 r32:~ # ifup-dhcp eth1 Starting DHCP Client Daemon on eth1... . . . . . IP/Netmask: 192.168.1.103 / 255.255.255.0 ('r32') r32:~ # ping www.heise.de PING www.heise.de (193.99.144.85) 56(84) bytes of data. 64 bytes from www.heise.de (193.99.144.85): icmp_seq=1 ttl=247 time=23.1 ms 64 bytes from www.heise.de (193.99.144.85): icmp_seq=2 ttl=247 time=20.8 ms 64 bytes from www.heise.de (193.99.144.85): icmp_seq=3 ttl=247 time=25.2 ms --- www.heise.de ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 1998ms rtt min/avg/max/mdev = 20.889/23.109/25.266/1.796 ms
Correction: hostap_pci is working as well. At least to the point that it will successfully ping a host on the internet. But the connection isn't stable and only lasts a few seconds. orinoco_pci also looses the connection easily but lasts a bit longer than hostap_pci
fixed in beta1 hwinfo --wlan now only lists two available drivers: orinoco_pci and hostap_pci. And unlike with Alpha 7 the system no longer loads both/all available moduls. Instead just orinoco_pci gets loaded. And works fine (stable - so far).
i just noticed a very odd thing! In comment #4 I stated that the problem was gone in Beta 1. Well, that's true if you use the KDE CD (I tried both update and fresh install - both showed the problematic behaviour gone). I then tried an installation with the Gnome CD and there the problem is still there (both hostap_pci and orinoco_pci are loaded together)!
You should be able to work around this with "echo blacklist orinoco_pci > /etc/modprobe.d/prism2" (or blacklist hostap_pci if you wish). A general solution is not available yet. *** This bug has been marked as a duplicate of bug 173647 ***