Skip to contentSkip to conversation

Remove Prism II support from Orinoco

PATCH In review Faidon Liambotis 8 participants 18 messages Jun 10, 2006 – Jun 15, 2006

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Remove Prism II support from Orinoco

Remove Prism II IDs from the orinoco driver since now we have a separate driver for them (HostAP). Additionally, kill orinoco_{pci,plx,nortel} completely, since they only exist to support Prism cards.
No attempt was made to clean up the rest of the driver of the actual Prism II code, only the PCI IDs were removed.

--

 drivers/net/wireless/Kconfig          |   61 -----
 drivers/net/wireless/Makefile         |    4 
 drivers/net/wireless/orinoco_cs.c     |   24 --
 drivers/net/wireless/orinoco_nortel.c |  312 --------------------------
 drivers/net/wireless/orinoco_pci.c    |  399 ---------------------------------
 drivers/net/wireless/orinoco_plx.c    |  403 ----------------------------------
 drivers/net/wireless/orinoco_tmd.c    |  260 ---------------------
 7 files changed, 9 insertions(+), 1454 deletions(-)
drivers/net/wireless/Kconfig +9 -52
diff -Nur linux-2.6.17-rc6/drivers/net/wireless/Kconfig linux/drivers/net/wireless/Kconfig
@@ -285,18 +285,16 @@
 	depends on NET_RADIO && (PPC_PMAC || PCI || PCMCIA)
 	---help---
 	  A driver for 802.11b wireless cards based based on the "Hermes" or
-	  Intersil HFA384x (Prism 2) MAC controller.  This includes the vast
-	  majority of the PCMCIA 802.11b cards (which are nearly all rebadges)
-	  - except for the Cisco/Aironet cards.  Cards supported include the
-	  Apple Airport (not a PCMCIA card), WavelanIEEE/Orinoco,
-	  Cabletron/EnteraSys Roamabout, ELSA AirLancer, MELCO Buffalo, Avaya,
-	  IBM High Rate Wireless, Farralon Syyline, Samsung MagicLAN, Netgear
-	  MA401, LinkSys WPC-11, D-Link DWL-650, 3Com AirConnect, Intel
-	  PRO/Wireless, and Symbol Spectrum24 High Rate amongst others.
+	  MAC controller.  Cards supported include the Apple Airport (not a
+	  PCMCIA card), WavelanIEEE/Orinoco, Cabletron/EnteraSys Roamabout,
+	  ELSA AirLancer, MELCO Buffalo, Avaya, IBM High Rate Wireless,
+	  Farralon Syyline, Samsung MagicLAN, Netgear MA401, LinkSys WPC-11,
+	  D-Link DWL-650, 3Com AirConnect, Intel PRO/Wireless, and Symbol
+	  Spectrum24 High Rate amongst others.
 
 	  This option includes the guts of the driver, but in order to
 	  actually use a card you will also need to enable support for PCMCIA
-	  Hermes cards, PLX9052 based PCI adaptors or the Apple Airport below.
+	  Hermes cards or the Apple Airport below.
 
 	  You will also very likely also need the Wireless Tools in order to
 	  configure your card and that /etc/pcmcia/wireless.opts works :
@@ -314,46 +312,6 @@
 	  This driver does not support the Airport Extreme (802.11b/g). Use
 	  the BCM43xx driver for Airport Extreme cards.
 
-config PLX_HERMES
-	tristate "Hermes in PLX9052 based PCI adaptor support (Netgear MA301 etc.)"
-	depends on PCI && HERMES
-	help
-	  Enable support for PCMCIA cards supported by the "Hermes" (aka
-	  orinoco) driver when used in PLX9052 based PCI adaptors.  These
-	  adaptors are not a full PCMCIA controller but act as a more limited
-	  PCI <-> PCMCIA bridge.  Several vendors sell such adaptors so that
-	  802.11b PCMCIA cards can be used in desktop machines.  The Netgear
-	  MA301 is such an adaptor.
-
-config TMD_HERMES
-	tristate "Hermes in TMD7160 based PCI adaptor support"
-	depends on PCI && HERMES
-	help
-	  Enable support for PCMCIA cards supported by the "Hermes" (aka
-	  orinoco) driver when used in TMD7160 based PCI adaptors.  These
-	  adaptors are not a full PCMCIA controller but act as a more limited
-	  PCI <-> PCMCIA bridge.  Several vendors sell such adaptors so that
-	  802.11b PCMCIA cards can be used in desktop machines.
-
-config NORTEL_HERMES
-	tristate "Nortel emobility PCI adaptor support"
-	depends on PCI && HERMES
-	help
-	  Enable support for PCMCIA cards supported by the "Hermes" (aka
-	  orinoco) driver when used in Nortel emobility PCI adaptors.  These
-	  adaptors are not full PCMCIA controllers, but act as a more limited
-	  PCI <-> PCMCIA bridge.
-
-config PCI_HERMES
-	tristate "Prism 2.5 PCI 802.11b adaptor support"
-	depends on PCI && HERMES
-	help
-	  Enable support for PCI and mini-PCI 802.11b wireless NICs based on
-	  the Prism 2.5 chipset.  These are true PCI cards, not the 802.11b
-	  PCMCIA cards bundled with PCI<->PCMCIA adaptors which are also
-	  common.  Some of the built-in wireless adaptors in laptops are of
-	  this variety.
-
 config ATMEL
       tristate "Atmel at76c50x chipset  802.11b support"
       depends on NET_RADIO && (PCI || PCMCIA)
@@ -388,9 +346,8 @@
 	  A driver for "Hermes" chipset based PCMCIA wireless adaptors, such
 	  as the Lucent WavelanIEEE/Orinoco cards and their OEM (Cabletron/
 	  EnteraSys RoamAbout 802.11, ELSA Airlancer, Melco Buffalo and
-	  others).  It should also be usable on various Prism II based cards
-	  such as the Linksys, D-Link and Farallon Skyline.  It should also
-	  work on Symbol cards such as the 3Com AirConnect and Ericsson WLAN.
+	  others).  It should also work on Symbol cards such as the 3Com
+	  AirConnect and Ericsson WLAN.
 
 	  To use your PC-cards, you will need supporting software from David
 	  Hinds' pcmcia-cs package (see the file <file:Documentation/Changes>
drivers/net/wireless/Makefile +0 -4
diff -Nur linux-2.6.17-rc6/drivers/net/wireless/Makefile linux/drivers/net/wireless/Makefile
@@ -19,10 +19,6 @@
 obj-$(CONFIG_HERMES)		+= orinoco.o hermes.o
 obj-$(CONFIG_PCMCIA_HERMES)	+= orinoco_cs.o
 obj-$(CONFIG_APPLE_AIRPORT)	+= airport.o
-obj-$(CONFIG_PLX_HERMES)	+= orinoco_plx.o
-obj-$(CONFIG_PCI_HERMES)	+= orinoco_pci.o
-obj-$(CONFIG_TMD_HERMES)	+= orinoco_tmd.o
-obj-$(CONFIG_NORTEL_HERMES)	+= orinoco_nortel.o
 obj-$(CONFIG_PCMCIA_SPECTRUM)	+= spectrum_cs.o
 
 obj-$(CONFIG_AIRO)		+= airo.o
drivers/net/wireless/orinoco_cs.c +0 -24
diff -Nur linux-2.6.17-rc6/drivers/net/wireless/orinoco_cs.c linux/drivers/net/wireless/orinoco_cs.c
@@ -476,33 +476,19 @@
 	"Pavel Roskin <[email protected]>, et al)";
 
 static struct pcmcia_device_id orinoco_cs_ids[] = {
-	PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7100), /* SonicWALL Long Range Wireless Card */
-	PCMCIA_DEVICE_MANF_CARD(0x000b, 0x7300), /* Sohoware NCP110, Philips 802.11b */
 	PCMCIA_DEVICE_MANF_CARD(0x0089, 0x0002), /* AnyPoint(TM) Wireless II PC Card */
-	PCMCIA_DEVICE_MANF_CARD(0x0101, 0x0777), /* 3Com AirConnect PCI 777A */
-	PCMCIA_DEVICE_MANF_CARD(0x0126, 0x8000), /* PROXIM RangeLAN-DS/LAN PC CARD */
-	PCMCIA_DEVICE_MANF_CARD(0x0138, 0x0002), /* Compaq WL100 11 Mbps Wireless Adapter */
 	PCMCIA_DEVICE_MANF_CARD(0x0156, 0x0002), /* Lucent Orinoco and old Intersil */
 	PCMCIA_DEVICE_MANF_CARD(0x016b, 0x0001), /* Ericsson WLAN Card C11 */
 	PCMCIA_DEVICE_MANF_CARD(0x01eb, 0x080a), /* Nortel Networks eMobility 802.11 Wireless Adapter */
 	PCMCIA_DEVICE_MANF_CARD(0x01ff, 0x0008), /* Intermec MobileLAN 11Mbps 802.11b WLAN Card */
-	PCMCIA_DEVICE_MANF_CARD(0x0250, 0x0002), /* Samsung SWL2000-N 11Mb/s WLAN Card */
 	PCMCIA_DEVICE_MANF_CARD(0x0261, 0x0002), /* AirWay 802.11 Adapter (PCMCIA) */
 	PCMCIA_DEVICE_MANF_CARD(0x0268, 0x0001), /* ARtem Onair */
-	PCMCIA_DEVICE_MANF_CARD(0x026f, 0x0305), /* Buffalo WLI-PCM-S11 */
-	PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1612), /* Linksys WPC11 Version 2.5 */
-	PCMCIA_DEVICE_MANF_CARD(0x0274, 0x1613), /* Linksys WPC11 Version 3 */
-	PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0002), /* Compaq HNW-100 11 Mbps Wireless Adapter */
 	PCMCIA_DEVICE_MANF_CARD(0x028a, 0x0673), /* Linksys WCF12 Wireless CompactFlash Card */
-	PCMCIA_DEVICE_MANF_CARD(0x02aa, 0x0002), /* ASUS SpaceLink WL-100 */
 	PCMCIA_DEVICE_MANF_CARD(0x02ac, 0x0002), /* SpeedStream SS1021 Wireless Adapter */
 	PCMCIA_DEVICE_MANF_CARD(0x14ea, 0xb001), /* PLANEX RoadLannerWave GW-NS11H */
-	PCMCIA_DEVICE_MANF_CARD(0x50c2, 0x7300), /* Airvast WN-100 */
 	PCMCIA_DEVICE_MANF_CARD(0x9005, 0x0021), /* Adaptec Ultra Wireless ANW-8030 */
 	PCMCIA_DEVICE_MANF_CARD(0xc001, 0x0008), /* CONTEC FLEXSCAN/FX-DDS110-PCC */
 	PCMCIA_DEVICE_MANF_CARD(0xc250, 0x0002), /* Conceptronic CON11Cpro, EMTAC A2424i */
-	PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0002), /* Safeway 802.11b, ZCOMAX AirRunner/XI-300 */
-	PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0005), /* D-Link DCF660, Sandisk Connect SDWCFB-000 */
 	PCMCIA_DEVICE_PROD_ID12(" ", "IEEE 802.11 Wireless LAN/PC Card", 0x3b6e20c8, 0xefccafe9),
 	PCMCIA_DEVICE_PROD_ID12("3Com", "3CRWE737A AirConnect Wireless LAN PC Card", 0x41240e5b, 0x56010af3),
 	PCMCIA_DEVICE_PROD_ID12("ACTIONTEC", "PRISM Wireless LAN PC Card", 0x393089da, 0xa71e69d5),
@@ -514,9 +500,7 @@
 	PCMCIA_DEVICE_PROD_ID12("Avaya Communication", "Avaya Wireless PC Card", 0xd8a43b78, 0x0d341169),
 	PCMCIA_DEVICE_PROD_ID12("BENQ", "AWL100 PCMCIA ADAPTER", 0x35dadc74, 0x01f7fedb),
 	PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-PCM-L11G", 0x2decece3, 0xf57ca4b3),
-	PCMCIA_DEVICE_PROD_ID12("BUFFALO", "WLI-CF-S11G", 0x2decece3, 0x82067c18),
 	PCMCIA_DEVICE_PROD_ID12("Cabletron", "RoamAbout 802.11 DS", 0x32d445f5, 0xedeffd90),
-	PCMCIA_DEVICE_PROD_ID12("Compaq", "WL200_11Mbps_Wireless_PCI_Card", 0x54f7c49c, 0x15a75e5b),
 	PCMCIA_DEVICE_PROD_ID123("corega", "WL PCCL-11", "ISL37300P", 0x0a21501a, 0x59868926, 0xc9049a39),
 	PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCC-11", 0x5261440f, 0xa6405584),
 	PCMCIA_DEVICE_PROD_ID12("corega K.K.", "Wireless LAN PCCA-11", 0x5261440f, 0xdf6115f9),
@@ -527,14 +511,8 @@
 	PCMCIA_DEVICE_PROD_ID12("Digital Data Communications", "WPC-0100", 0xfdd73470, 0xe0b6f146),
 	PCMCIA_DEVICE_PROD_ID12("ELSA", "AirLancer MC-11", 0x4507a33a, 0xef54f0e3),
 	PCMCIA_DEVICE_PROD_ID12("HyperLink", "Wireless PC Card 11Mbps", 0x56cc3f1a, 0x0bcf220c),
-	PCMCIA_DEVICE_PROD_ID123("Instant Wireless ", " Network PC CARD", "Version 01.02", 0x11d901af, 0x6e9bd926, 0x4b74baa0),
 	PCMCIA_DEVICE_PROD_ID12("Intel", "PRO/Wireless 2011 LAN PC Card", 0x816cc815, 0x07f58077),
-	PCMCIA_DEVICE_PROD_ID12("INTERSIL", "HFA384x/IEEE", 0x74c5e40d, 0xdb472a18),
-	PCMCIA_DEVICE_PROD_ID12("INTERSIL", "I-GATE 11M PC Card / PC Card plus", 0x74c5e40d, 0x8304ff77),
-	PCMCIA_DEVICE_PROD_ID12("Intersil", "PRISM 2_5 PCMCIA ADAPTER", 0x4b801a17, 0x6345a0bf),
-	PCMCIA_DEVICE_PROD_ID123("Intersil", "PRISM Freedom PCMCIA Adapter", "ISL37100P", 0x4b801a17, 0xf222ec2d, 0x630d52b2),
 	PCMCIA_DEVICE_PROD_ID12("LeArtery", "SYNCBYAIR 11Mbps Wireless LAN PC Card", 0x7e3b326a, 0x49893e92),
-	PCMCIA_DEVICE_PROD_ID12("Linksys", "Wireless CompactFlash Card", 0x0733cc81, 0x0c52f395),
 	PCMCIA_DEVICE_PROD_ID12("Lucent Technologies", "WaveLAN/IEEE", 0x23eb9949, 0xc562e72a),
 	PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11", 0x481e0094, 0x7360e410),
 	PCMCIA_DEVICE_PROD_ID12("MELCO", "WLI-PCM-L11G", 0x481e0094, 0xf57ca4b3),
@@ -552,10 +530,8 @@
 	PCMCIA_DEVICE_PROD_ID12("PROXIM", "LAN PCI CARD HARMONY 80211B", 0xc6536a5e, 0x9f494e26),
 	PCMCIA_DEVICE_PROD_ID12("SAMSUNG", "11Mbps WLAN Card", 0x43d74cb4, 0x579bd91b),
 	PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2532W-B EliteConnect Wireless Adapter", 0xc4f8b18b, 0x196bd757),
-	PCMCIA_DEVICE_PROD_ID12("SMC", "SMC2632W", 0xc4f8b18b, 0x474a1f2a),
 	PCMCIA_DEVICE_PROD_ID12("Symbol Technologies", "LA4111 Spectrum24 Wireless LAN PC Card", 0x3f02b4d6, 0x3663cb0e),
 	PCMCIA_DEVICE_PROD_ID123("The Linksys Group, Inc.", "Instant Wireless Network PC Card", "ISL37300P", 0xa5f472c2, 0x590eb502, 0xc9049a39),
-	PCMCIA_DEVICE_PROD_ID12("ZoomAir 11Mbps High", "Rate wireless Networking", 0x273fe3db, 0x32a1eaee),
 	PCMCIA_DEVICE_NULL,
 };
 MODULE_DEVICE_TABLE(pcmcia, orinoco_cs_ids);
drivers/net/wireless/orinoco_nortel.c deleted +0 -312

312 lines not on this page · raw message

drivers/net/wireless/orinoco_pci.c deleted +0 -399

399 lines not on this page · raw message

drivers/net/wireless/orinoco_plx.c deleted +0 -403

403 lines not on this page · raw message

drivers/net/wireless/orinoco_tmd.c deleted +0 -260

260 lines not on this page · raw message

#1 lore raw
Quoted 5 lines · Faidon Liambotis

Remove Prism II IDs from the orinoco driver since now we have a separate driver for them (HostAP). Additionally, kill orinoco_{pci,plx,nortel} completely, since they only exist to support Prism cards.
No attempt was made to clean up the rest of the driver of the actual Prism II code, only the PCI IDs were removed.

I'm fairly certain I have a buffalo card that doesn't work with hostap that works just fine with orinoco. I'll dig it out and see if that has been improved.

Dave

Signature · 1 line
http://www.codemonkey.org.uk
#2 lore raw
Quoted 10 lines · Dave Jones
Quoted 5 lines · Faidon Liambotis

Remove Prism II IDs from the orinoco driver since now we have a separate driver for them (HostAP). Additionally, kill orinoco_{pci,plx,nortel} completely, since they only exist to support Prism cards.
No attempt was made to clean up the rest of the driver of the actual Prism II code, only the PCI IDs were removed.

I'm fairly certain I have a buffalo card that doesn't work with hostap that works just fine with orinoco. I'll dig it out and see if that has been improved.

Objection rescinded, I have a WLI-PCM-L11G, which this patch doesn't affect.

One question though. People who are currently using orinoco will have networking scripts set up by their distros autodetection mechanisms to set up an 'ethX' interface. Switching to hostap by default will change their interface to a wlanX interface, requiring them to either edit their networking interface scripts, or to add dev_template parameters to their /etc/modprobe.conf

Whichever is chosen, the upgrade process is going to blindside end-users into broken wireless. Maybe things would just transparently keep working if the default template was also ethX. Though that would cause breakage for anyone with a currently working 'wlanX' interface on upgrade.

Hmm, tricky.

Dave

Signature · 1 line
http://www.codemonkey.org.uk
#3 lore raw
Quoted 8 lines · Dave Jones
Quoted 7 lines · Dave Jones
Quoted 5 lines · Faidon Liambotis

Remove Prism II IDs from the orinoco driver since now we have a separate driver for them (HostAP). Additionally, kill orinoco_{pci,plx,nortel} completely, since they only exist to support Prism cards.
No attempt was made to clean up the rest of the driver of the actual Prism II code, only the PCI IDs were removed.

Quoted 5 lines
Quoted 3 lines

I'm fairly certain I have a buffalo card that doesn't work with hostap that works just fine with orinoco. I'll dig it out and see if that has been improved.

Objection rescinded, I have a WLI-PCM-L11G, which this patch doesn't affect.

Ah-ha, I had tested the wrong card.
I also have a Sitecom card, which matches this ident you remove in your patch..

PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0002), /* Safeway 802.11b, ZCOMAX AirRunner/XI-300 */

pccardctl ident shows it as:

Socket 0:
product info: " ", "IEEE 802.11 Wireless LAN/PC Card", "", ""
manfid: 0xd601, 0x0002
function: 6 (network)

Under hostap, it's a brick, it won't even report any scanning results.

pccard: PCMCIA card inserted into slot 0
pcmcia: registering new device pcmcia0.0
ieee80211_crypt: registered algorithm 'NULL'
hostap_cs: 0.4.4-kernel (Jouni Malinen <[email protected]>)
hostap_cs: setting Vcc=33 (constant)
Checking CFTABLE_ENTRY 0x01 (default 0x01)
IO window settings: cfg->io.nwin=1 dflt.io.nwin=1
io->flags = 0x0046, io.base=0x0000, len=64
hostap_cs: Registered netdevice wifi0
hostap_cs: index 0x01: , irq 4, io 0x0100-0x013f
prism2_hw_init: initialized in 108 ms
wifi0: NIC: id=0x8002 v1.0.0
wifi0: PRI: id=0x15 v0.3.0
wifi0: STA: id=0x1f v1.3.4
wifi0: defaulting to host-based encryption as a workaround for firmware bug in Host AP mode WEP
wifi0: defaulting to bogus WDS frame as a workaround for firmware bug in Host AP mode WDS
wifi0: registered netdevice wlan0
Scan result translation succeeded (length=0)

With orinoco however, it works just fine..
(Asides from the irritating feature of orinoco that the interface has to be 'up'
before an iwlist scanning works)

pccard: PCMCIA card inserted into slot 0
pcmcia: registering new device pcmcia0.0
eth1: Hardware identity 8002:0000:0001:0000
eth1: Station identity 001f:0004:0001:0003
eth1: Firmware determined as Intersil 1.3.4
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:B3:68:AE:9B
eth1: Station name "Prism I"
eth1: ready
eth1: index 0x01: , irq 4, io 0x0100-0x013f ADDRCONF(NETDEV_UP): eth1: link is not ready
eth1: New link status: Connected (0001) ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready

So with your patch, this card will become totally useless to me.

Dave

Signature · 1 line
http://www.codemonkey.org.uk
#4 lore raw
Quoted 2 lines · Dave Jones

Under hostap, it's a brick, it won't even report any scanning results.

Did you switch it into managed mode? The hostap driver, iirc, defaults to running in master (AP) mode.

Cheers,
Kyle

#5 lore raw
Quoted 6 lines · Kyle McMartin
Quoted 2 lines · Dave Jones

Under hostap, it's a brick, it won't even report any scanning results.

Did you switch it into managed mode? The hostap driver, iirc, defaults to running in master (AP) mode.

Ah, yes, that gets it able to scan again, thanks.
This is another gotcha that is going to prevent a smooth transition from orinoco->hostap for end users though.

Dave

Signature · 1 line
http://www.codemonkey.org.uk
#6 lore raw
In reply to Dave Jones
Quoted 5 lines · Dave Jones

Ah-ha, I had tested the wrong card.
I also have a Sitecom card, which matches this ident you remove in your patch..

PCMCIA_DEVICE_MANF_CARD(0xd601, 0x0002), /* Safeway 802.11b, ZCOMAX AirRunner/XI-300 */

<snip>

Quoted 2 lines

So with your patch, this card will become totally useless to me.

I think you should forward this bug to the HostAP maintainer. This should be either be fixed in the driver or the driver should stop claiming that it supports this card.

I merely found the duplicate IDs and removed them from Orinoco. I don't have neither the hardware or the time to test 30+ cards...

Having two drivers supporting the same set of hardware seems pretty pointless to me. Plus, it confuses hotplugging/automatic detection.

Regards,
Faidon

#7 lore raw
Quoted 2 lines · Faidon Liambotis

Having two drivers supporting the same set of hardware seems pretty pointless to me. Plus, it confuses hotplugging/automatic detection.

This subject comes-up from time to time. In fact, I'm pretty sure it came-up very recently w.r.t. orinoco and hostap.

The consensus seems to be that drivers should have IDs for all devices they support, even if that means that some devices are supported by multiple drivers. This leaves the choice of which driver to use in the hands of the user and/or distro.

If the Orinoco guys want this patch, I'll consider it. Otherwise, I'm not inclined to take it.

John

Signature · 2 lines
John W. Linville
[email protected]
#8 lore raw
Quoted 7 lines · John W. Linville
Quoted 2 lines · Faidon Liambotis

Having two drivers supporting the same set of hardware seems pretty pointless to me. Plus, it confuses hotplugging/automatic detection.

This subject comes-up from time to time. In fact, I'm pretty sure it came-up very recently w.r.t. orinoco and hostap.

I remember a patch that added all of Orinoco PCI IDs to HostAP. I'm not sure if you're referring to that, but that's pretty different (and obviously wrong).

Quoted 4 lines

The consensus seems to be that drivers should have IDs for all devices they support, even if that means that some devices are supported by multiple drivers. This leaves the choice of which driver to use in the hands of the user and/or distro.

I'd mostly agree to that if distributors had a way to enable/disable Prism2 support on the orinoco_cs driver based on a build-time configuration option.
Should I prepare such a patch?

FWIW, I think we've experienced a similar situation like this in the past in the networking land and the consensus was to completely remove the other driver. I'm referring to e100/eepro100, of course.

Regards,
Faidon

#9 lore raw
Quoted 3 lines · Faidon Liambotis

FWIW, I think we've experienced a similar situation like this in the past in the networking land and the consensus was to completely remove the other driver. I'm referring to e100/eepro100, of course.

The difference with e100/eepro100, was that there the interface name remained constant regardless of which driver you were using, which isn't the case with orinoco->hostap.

Dave

Signature · 1 line
http://www.codemonkey.org.uk
#10 lore raw
In reply to John W. Linville
Quoted 5 lines · John W. Linville
Quoted 2 lines · Faidon Liambotis

Having two drivers supporting the same set of hardware seems pretty pointless to me. Plus, it confuses hotplugging/automatic detection.

Quoted 7 lines

This subject comes-up from time to time. In fact, I'm pretty sure it came-up very recently w.r.t. orinoco and hostap.

The consensus seems to be that drivers should have IDs for all devices they support, even if that means that some devices are supported by multiple drivers. This leaves the choice of which driver to use in the hands of the user and/or distro.

my problem is that for my prism 2 adapter both drivers are loaded at which point neither of them works. I'm running FC5, and i have to keep removing the orinoco*.ko files to keep them from loading, so I'm all for this patch.

Jesse

#11 lore raw
Quoted 14 lines · Jesse Brandeburg
Quoted 5 lines · John W. Linville
Quoted 2 lines · Faidon Liambotis

Having two drivers supporting the same set of hardware seems pretty pointless to me. Plus, it confuses hotplugging/automatic detection.

Quoted 7 lines

This subject comes-up from time to time. In fact, I'm pretty sure it came-up very recently w.r.t. orinoco and hostap.

The consensus seems to be that drivers should have IDs for all devices they support, even if that means that some devices are supported by multiple drivers. This leaves the choice of which driver to use in the hands of the user and/or distro.

Quoted 5 lines

my problem is that for my prism 2 adapter both drivers are loaded at which point neither of them works. I'm running FC5, and i have to keep removing the orinoco*.ko files to keep them from loading, so I'm all for this patch.

use blacklist in module config to block one.
Just put in /etc/modprobe.conf

blacklist orinoco

#12 lore raw
Quoted 10 lines · Stephen Hemminger
Quoted 5 lines

my problem is that for my prism 2 adapter both drivers are loaded at which point neither of them works. I'm running FC5, and i have to keep removing the orinoco*.ko files to keep them from loading, so I'm all for this patch.

use blacklist in module config to block one.
Just put in /etc/modprobe.conf

blacklist orinoco

Unfortunately, that workaround doesn't work so well when you want to have the ability to plug real orinoco (hermes) cards to your computer... In other words and unless I'm missing something, there isn't currently a way to have a Hermes card and a Prism II card both plugged in and working.

Regards,
Faidon

#13 lore raw
Quoted 4 lines · Faidon Liambotis

Unfortunately, that workaround doesn't work so well when you want to have the ability to plug real orinoco (hermes) cards to your computer... In other words and unless I'm missing something, there isn't currently a way to have a Hermes card and a Prism II card both plugged in and working.

Do you know about /sys/bus/pci/drivers/*/bind and unbind?

http://lwn.net/Articles/143397/

Signature · 2 lines
Jiri Benc
SUSE Labs
#14 lore raw
In reply to Jesse Brandeburg
Quoted 4 lines · Jesse Brandeburg

my problem is that for my prism 2 adapter both drivers are loaded at which point neither of them works. I'm running FC5, and i have to keep removing the orinoco*.ko files to keep them from loading, so I'm all for this patch.

I believe the right solution would be to do it in userspace. The kernel should not be making decisions which driver is _better_ for the device. I'm yet to see any serious arguments why the kernel should be doing it.

As for non-working driver, this should be reported with sufficient details. I haven't seen any detailed reports of this problem.

Signature · 2 lines
Regards,
Pavel Roskin
#15 lore raw
In reply to John W. Linville

Hello, John!

Quoted 8 lines · John W. Linville
Quoted 2 lines · Faidon Liambotis

Having two drivers supporting the same set of hardware seems pretty pointless to me. Plus, it confuses hotplugging/automatic detection.

This subject comes-up from time to time. In fact, I'm pretty sure it came-up very recently w.r.t. orinoco and hostap.

Quoted 7 lines

The consensus seems to be that drivers should have IDs for all devices they support, even if that means that some devices are supported by multiple drivers. This leaves the choice of which driver to use in the hands of the user and/or distro.

If the Orinoco guys want this patch, I'll consider it. Otherwise, I'm not inclined to take it.

I really appreciate your position in this regard.

The patch in question was never submitted to the orinoco mailing list. I believe any such changes should be discussed by people using the driver and participating in its development. It's not some minor change or API update.

I'm ready to consider disabling some ID's conditionally, primarily for systems that cannot use udev. But it's far from the top of my TODO list. And I'm not sure it would actually help users of desktop distributions.

Signature · 2 lines
Regards,
Pavel Roskin
#16 lore raw

Hi,

Quoted 4 lines · Pavel Roskin

The patch in question was never submitted to the orinoco mailing list. I believe any such changes should be discussed by people using the driver and participating in its development. It's not some minor change or API update.

I'm sorry for not submitting/CCing this to the orinoco mailing list, I should have.

Quoted 4 lines

I'm ready to consider disabling some ID's conditionally, primarily for systems that cannot use udev. But it's far from the top of my TODO list. And I'm not sure it would actually help users of desktop distributions.

Well, that would be very nice, thanks!
But do you think that it will be enough? I mean, orinoco_{pci,plx,tdm} exist only to support Prism2 chipsets.
HostAP a rather big and complete driver for Prism2/2.5/3.0 chipsets; we're going to have another one based on the dscape stack too. Do you think that there's a point on having the orinoco driver supporting this chipset any more?
I don't mean to disrespect your work -- orinoco has served us for quite a few years, but HostAP seems like a better alternative for these cards.

Please don't get offended by this -- I'm sure you've spent quite some time on the particular code.

Regarding the disabling of IDs, I could prepare a patch for orinoco_cs that would disable Prism2 support via a configuration option. Would that be helpful/acceptable?

Best regards,
Faidon

#17 lore raw
Quoted 3 lines · Faidon Liambotis

Regarding the disabling of IDs, I could prepare a patch for orinoco_cs that would disable Prism2 support via a configuration option. Would that be helpful/acceptable?

I'm going to 'officially' drop this patch, while you and Pavel work-out this issue.

Thanks,

John

Signature · 2 lines
John W. Linville
[email protected]