Compiling cardbus devices monolithic doesn't work?
I'm easing my way into the 2.6.0-test series, and everything I've done so far has been with monolithic kernels to minimize the number of fun new things I've been playing with, and I just can't get the monolithic orinoco_cs to find my new thinkpad's built-in wireless networking thingy.
I think it's because even though the sucker's built-in, the bus topology puts it behind its own cardbus bridge controller thingy (for no readily apparent reason). Cardbus needs hotplug, hotplug wants to load modules.
Currently I'm booting into 2.4 when I need to use the internet. I suppose it's time to actually fire up rusty's modutils, but before I do that I'm curious WHY the compiled-in orinoco_cs driver can't find the card. (Presumably because hotplug can't provide it with module arguments, or something like that?) If they DO only work as modules, why are they allowed to be compiled monolithic? (Did I miss a warning in the kconfig help text, or should I have read the relevant section of Documentation more closely?)
It's entirely possible there's some other reason my wireless card isn't working under 2.6, this is just a working hypothesis. I'm happy to debug it if anybody has suggestions...
Rob
(P.S. And while I'm at it, what's the relationship between orinoco_cs, orinoco, and hermes? The /proc/modules dependency tree thing says they're using each other in a chain. Probably true, just a bit odd, I thought. Couldn't figure out which driver I needed, compiled all three, and it loaded ALL of them. Can't complain, the card works under 2.4. This is just a random "huh?")
echo $subject | sed s/cardbus/pcmcia/i
Quoted 4 lines · Rob Landley
I'm easing my way into the 2.6.0-test series, and everything I've done so far has been with monolithic kernels to minimize the number of fun new things I've been playing with, and I just can't get the monolithic
orinoco_csto find my new thinkpad's built-in wireless networking thingy.
You still need to use cardmgr to bind the driver to the device. It seems to work for me here on SA11x0 platforms, and I'm not aware of it breaking at any point in the 2.5 series.
While it is true that Cardbus devices plugged into cardbus slots do not need cardmgr, PCMCIA devices still do.
Quoted 6 lines
(
P.S. And while I'm at it, what's the relationship betweenorinoco_cs, orinoco, and hermes? The/proc/modulesdependency tree thing says they're using each other in a chain. Probably true, just a bit odd, I thought. Couldn't figure out which driver I needed, compiled all three, and it loaded ALL of them. Can't complain, the card works under 2.4. This is just a random "huh?")
IIRC hermes provides the low level interface to the device, orinoco provides the interface between it and the network stack, and orinoco_cs provides a bridge between the PCMCIA subsystem and orinoco.
Signature · 2 lines
Russell King ([email protected]) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html
Quoted 1 line · Russell King
echo $subject | sed s/cardbus/pcmcia/i
I thought cardbus was just 32 bit pcmcia...
(I suppose I should go look it up.)
Rob
Ahem, second attempt:
Quoted 6 lines · Russell King
You still need to use cardmgr to bind the driver to the device. It seems to work for me here on SA11x0 platforms, and I'm not aware of it breaking at any point in the 2.5 series.
While it is true that Cardbus devices plugged into cardbus slots do not need cardmgr, PCMCIA devices still do.
The hotplug scripts from RH9 are there and seem happy, I thought cardmgr was called from them. (The same setup works in 2.4.21, albeit with modules enabled. I should compile a monolithic 2.4 kernel and see what it does...)
Quoted 10 lines
Quoted 6 lines
(
P.S. And while I'm at it, what's the relationship betweenorinoco_cs, orinoco, and hermes? The/proc/modulesdependency tree thing says they're using each other in a chain. Probably true, just a bit odd, I thought. Couldn't figure out which driver I needed, compiled all three, and it loaded ALL of them. Can't complain, the card works under 2.4. This is just a random "huh?")IIRC hermes provides the low level interface to the device, orinoco provides the interface between it and the network stack, and
orinoco_csprovides a bridge between the PCMCIA subsystem and orinoco.
Now I'm confused. I thought the _cs on the end was short for "cardbus"...
Rob
On Mon, 18 Aug 2003 15:34:37 -0400 Rob Landley <[email protected]> wrote:
| Ahem, second attempt: | | On Monday 18 August 2003 03:44, Russell King wrote: | | > You still need to use cardmgr to bind the driver to the device. | > It seems to work for me here on SA11x0 platforms, and I'm not aware | > of it breaking at any point in the 2.5 series. | > | > While it is true that Cardbus devices plugged into cardbus slots do | > not need cardmgr, PCMCIA devices still do. | | The hotplug scripts from RH9 are there and seem happy, I thought cardmgr was | called from them. (The same setup works in 2.4.21, albeit with modules | enabled. I should compile a monolithic 2.4 kernel and see what it does...) | | > > (P.S. And while I'm at it, what's the relationship between orinoco_cs, | > > orinoco, and hermes? The /proc/modules dependency tree thing says | > > they're using each other in a chain. Probably true, just a bit odd, I | > > thought. Couldn't figure out which driver I needed, compiled all three, | > > and it loaded ALL of them. Can't complain, the card works under 2.4. | > > This is just a random "huh?") | > | > IIRC hermes provides the low level interface to the device, orinoco | > provides the interface between it and the network stack, and orinoco_cs | > provides a bridge between the PCMCIA subsystem and orinoco. | | Now I'm confused. I thought the _cs on the end was short for "cardbus"...
I would have guess that it was for Card Services... (a PCMCIA software component, at least architecturally).
--
~Randy
"Everything is relative."