Bug 297671

Summary: several conflicting kernel modules for wlan device get loaded
Product: [openSUSE] openSUSE 10.3 Reporter: Hartmut Meyer <hartmut.meyer>
Component: NetworkAssignee: Joachim Gleissner <joachim.gleissner>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Alpha 7   
Target Milestone: ---   
Hardware: i386   
OS: openSUSE 10.3   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: hwinfo --wlan

Description Hartmut Meyer 2007-08-06 08:09:32 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.
Comment 1 Hartmut Meyer 2007-08-06 08:12:36 UTC
Created attachment 155675 [details]
hwinfo --wlan
Comment 2 Hartmut Meyer 2007-08-06 08:42:36 UTC
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

Comment 3 Hartmut Meyer 2007-08-06 09:20:59 UTC
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
Comment 4 Hartmut Meyer 2007-08-10 07:22:29 UTC
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).
Comment 5 Hartmut Meyer 2007-08-10 15:57:07 UTC
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)!
Comment 6 Joachim Gleissner 2007-08-10 17:50:50 UTC
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 ***