Bug 106003

Summary: three modules loaded for the same wireless device
Product: [openSUSE] SUSE LINUX 10.0 Reporter: Hartmut Meyer <hartmut.meyer>
Component: HotplugAssignee: Joachim Gleissner <joachim.gleissner>
Status: VERIFIED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: behlert, lgrimmer
Version: Beta 2   
Target Milestone: ---   
Hardware: i586   
OS: All   
Whiteboard:
Found By: Other Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Hartmut Meyer 2005-08-20 13:35:06 UTC
orinoco_pci, hostap_pci and prism2_pci are loaded all at the same time 
(without my interaction): 
 
linux:~ # hwinfo --wlan 
13: PCI 207.0: 0282 WLAN controller 
  [Created at pci.271] 
  UDI: /org/freedesktop/Hal/devices/pci_1260_3873 
  Unique ID: rBUF.C8c3fNzHQTA 
  Parent ID: 6NW+.Wc+DHj8LOy0 
  SysFS ID: /devices/pci0000:00/0000:00:1e.0/0000:02:07.0 
  SysFS BusID: 0000:02:07.0 
  Hardware Class: network 
  Model: "Actiontec Electronics Prism 2.5 Wavelan chipset" 
  Vendor: pci 0x1260 "Intersil Corporation" 
  Device: pci 0x3873 "Prism 2.5 Wavelan chipset" 
  SubVendor: pci 0x1668 "Actiontec Electronics Inc" 
  SubDevice: pci 0x0406 
  Revision: 0x01 
  Driver: "orinoco_pci" 
  Device File: eth0 
  Features: WLAN 
  Memory Range: 0xf8000000-0xf8000fff (rw,prefetchable) 
  IRQ: 11 (no events) 
  HW Address: 00:20:e0:8e:1c:9c 
  Link detected: no 
  WLAN channels: 1 2 3 4 5 6 7 8 9 10 11 
  WLAN frequencies: 2.412 2.417 2.422 2.427 2.432 2.437 2.442 2.447 2.452 
2.457 2.462 
  WLAN bitrates: 1 2 5.5 11 
  WLAN encryption modes: WEP40 WEP104 
  WLAN authentication modes: open sharedkey 
  Driver Info #0: 
    Driver Status: orinoco_pci is active 
    Driver Activation Cmd: "modprobe orinoco_pci" 
  Driver Info #1: 
    Driver Status: hostap_pci is active 
    Driver Activation Cmd: "modprobe hostap_pci" 
  Driver Info #2: 
    Driver Status: prism2_pci is active 
    Driver Activation Cmd: "modprobe prism2_pci" 
  Config Status: cfg=no, avail=yes, need=no, active=unknown 
  Attached to: #6 (PCI bridge) 
linux:~ #  
 
Also confirmed by 
 
linux:~ # lsmod | grep _pci 
prism2_pci             67328  0 
p80211                 33808  1 prism2_pci 
hostap_pci             53264  0 
hostap                117256  1 hostap_pci 
orinoco_pci             7040  0 
orinoco                38548  1 orinoco_pci 
hermes                  7296  2 orinoco_pci,orinoco 
 
Looks wrong to me. 
 
Note that I haven't been able to test if wireless actually works or not.
Comment 1 Stefan Behlert 2005-08-22 09:48:08 UTC
Joe, can you please look at this? 
Comment 2 Joachim Gleissner 2005-08-22 10:37:23 UTC
All three are valid drivers for that device, although only one should be 
loaded, preferably hostap_pci. Christian?  
Comment 3 Christian Zoz 2005-08-22 11:34:56 UTC
Yes, modprobe now loads all modules that match. You can
 - create a hwcfg-* file (aka configure device with YaST)
 - write the unwanted drivers to /etc/hotplug/blacklist
 - add "blacklist <module>" to modprobe.conf. That will disable this module only 
   if it were loaded via an alias in /lib/modules/.../module.aliases

Joe, either we put some modules in blacklist by default or we have to make the
device id tables of these drivers disjoint.
Comment 4 Joachim Gleissner 2005-08-23 11:24:40 UTC
Blacklisting is no option. We could blacklist prism2_pci, but orinoco_pci  
supports orinoco cards besides prism2 ones (if those cards exist). And how  
should YaST know which driver it has to prefer?  
Comment 5 Christian Zoz 2005-08-23 16:13:22 UTC
See comment 3
Make device id tables dijoint. No id should be in more then one drivers table.

Iirc we had a pci.handmap up to now. Maybe we can get something like that with
modprobe aliases. Lets try that tomorrow.

If that is not possible, we have to live with that. If hwlib (or whatever it is
now) reports more then one driver, then YaST has to show that to the user. And
the user can choose one.
Comment 6 Hartmut Meyer 2005-08-23 17:07:44 UTC
What would be the effect of several drivers (loaded) all claiming for the same 
device? 
 
I haven't been able to test WLAN, so I don't know if it would work with all 
three drievers loaded. 
Comment 7 Christian Zoz 2005-08-24 19:55:20 UTC
*** Bug 105598 has been marked as a duplicate of this bug. ***
Comment 8 Joachim Gleissner 2005-08-28 11:13:39 UTC
Should be fixed in Beta4, but I don't have a Prism2 PCI card, so please test 
it again if possible. 
Comment 9 Ihno Krumreich 2005-12-18 18:47:16 UTC
Closed.