xircom cbem56g-100 support
hi,
i'm very confused. today i decided to test the in-kernel pcmcia support.
after a few hours of fiddling, i got my wavelan card to work, no problem there.
then i tried to get my xircom cbem56g-100 to work.
the pcmcia-cs documentation says:
"Xircom CardBus cards are supported by a separate driver ('Xircom
Tulip-like CardBus', xircom_tulip_cb, CONFIG_PCMCIA_XIRTULIP). Hot plug PCI drivers are not managed by cardmgr; they are managed by the "hotplug" subsystem."
and i've even seen david hinds post that "cardmgr recognized that this is a hot plug PCI driver, so it is the responsibility of the Linux hotplug subsystem to load the driver."
so, i download and install the latest hotplug stuff. and, here is what i find in the /etc/hotplug/blacklist:
# tulip ... de4x5, xircom_tulip_cb, dmfe (...) handle same devices de4x5 xircom_tulip_cb dmfe
so, can somebody please help me before i just give up (again) and go back to the pcmcia-cs stuff?
one last question: how do the two interoperate? because now i have some cardbus cards and some not.
- brett
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
http://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 11 lines · On Fri, Aug 17, 2001 at 01:30:53PM -0700, [email protected] wrote:
so, i download and install the latest hotplug stuff. and, here is what i find in the
/etc/hotplug/blacklist:# tulip ... de4x5, xircom_tulip_cb, dmfe (...) handle same devices de4x5 xircom_tulip_cb dmfeso, can somebody please help me before i just give up (again) and go back to the pcmcia-cs stuff?
I am not really familiar with things under hotplug, but I think that this has got to be a bug.
Quoted 2 lines
one last question: how do the two interoperate? because now i have some cardbus cards and some not.
The answer is "basically, they don't". Cards are either hotplug or not; hotplug cards use the hotplug subsystem, and non-hotplug ones use the PCMCIA configuration system.
-- Dave
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
http://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 8 lines
Quoted 8 lines
so, i download and install the latest hotplug stuff. and, here is what i find in the
/etc/hotplug/blacklist:# tulip ... de4x5, xircom_tulip_cb, dmfe (...) handle same devices de4x5 xircom_tulip_cb dmfe
Quoted 5 lines
Quoted 2 lines
so, can somebody please help me before i just give up (again) and go back to the pcmcia-cs stuff?
I am not really familiar with things under hotplug, but I think that this has got to be a bug.
Seems like the xircom_tulip_cb driver got updated sometime after it got added to the blacklist ... I see a big "#if 0...#endif" in the device table to get rid of the overlap with other drivers.
Workaround: comment it out of that blacklist. Anyone know how long that "#if 0" has been there? I'll putback a fix to the blacklist, but that's the sort of fix that can benefit from a kernel version number.
Quoted 9 lines
Quoted 2 lines
one last question: how do the two interoperate? because now i have some cardbus cards and some not.
The answer is "basically, they don't". Cards are either hotplug or not; hotplug cards use the hotplug subsystem, and non-hotplug ones use the PCMCIA configuration system.
-- Dave
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
http://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 3 lines · David Brownell
Workaround: comment it out of that blacklist. Anyone know how long that "#if 0" has been there? I'll putback a fix to the blacklist, but that's the sort of fix that can benefit from a kernel version number.
interesting, that was actually the first thing i tried and it didn't help and i thought i did a stop/start of hotplug, but apparently not.
it now works.
another quick question:
this is a multifuntion card and hotplug loads the network driver, but is hotplug or cardmgr responsible for loading the serial driver (esp. since i'm testing the in-kernel pcmcia drivers and that means just loading the regular serial.o module)?
if it is cardmgr, how would it be configured? something like:
device "kernel_serial"
class "serial" module "kernel/drivers/char/serial.o"
card "Xircom CBEM56G-100 CardBus 10/100 Ethernet + 56K Modem"
version "Xircom", "*", "CBEM56G", "*"
# bind "tulip_cb" to 0, "serial_cb" to 1
bind "kernel_serial" to 1
(also i guess remove the network binding now that hotplug does it)?
and finally, there seems to be a disadvantage of hotplug at this point:
with pcmcia-cs, if you tried to do a cardctl eject when the interface was still UP it would return a "ioctl(): Device or resource busy." with hotplug, since cardmgr doesn't do the configuration, you can eject a card that still has a live interface. i know people should know better. does hotplug have functionality similar to "unconfigure and remove?"
-
brett
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
http://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 3 lines
Quoted 1 line
Workaround: comment it out of that blacklist.
it now works.
As should be ... :)
Quoted 6 lines
another quick question:
this is a multifuntion card and hotplug loads the network driver, but is hotplug or cardmgr responsible for loading the serial driver (esp. since i'm testing the in-kernel pcmcia drivers and that means just loading the regular serial.o module)?
If this is done with multiple PCI functions, then I'd expect normal PCI hotplugging to trigger loading the right module.
If the serial function isn't exposed using a PCI function (that is, if "lspci" doesn't show it) then hotplugging could load "serial.o" by adding a /etc/modules/pci.handmap functionality ... assuming that cardmgr is really trying to be ignorant of this card. That's quite possibly a gap in the current cardbus hotplug support. (Want to implement such support?)
Quoted 7 lines
and finally, there seems to be a disadvantage of hotplug at this point:
with pcmcia-cs, if you tried to do a cardctl eject when the interface was still UP it would return a "
ioctl(): Device or resource busy." with hotplug, since cardmgr doesn't do the configuration, you can eject a card that still has a live interface. i know people should know better. does hotplug have functionality similar to "unconfigure and remove?"
I don't know of a good solution for such problems. As I recall, "cardmgr" and "cardctl" interact through some sort of state that records driver/hardware bindings. Using just "modutils", that sort of functionality doesn't exist. The lack shows up in other places; it's why hotplugging doesn't have an automated way to "rmmod".
What's needed is IMO a generic mechanism that can work for USB, PCI/Cardbus, and other kinds of hotpluggable drivers. It should happen automatically when the hardware is removed. Presumably there should be a software-driven version like "cardctl eject", to support cleaner device shutdown protocols.
And when power management suspends the host, the clean shutdown should kick in (devices get removed then). I know that USB needs some new kernel driver hooks to handle that, we know roughly what they need to be, but I suspect those new APIs won't get added till the 2.5 work starts. (Backport should be easy, but every HC driver needs updating.)
- Dave
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
http://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
Quoted 5 lines · On Sat, Aug 18, 2001 at 08:36:03AM -0700, [email protected] wrote:
this is a multifuntion card and hotplug loads the network driver, but is hotplug or cardmgr responsible for loading the serial driver (esp. since i'm testing the in-kernel pcmcia drivers and that means just loading the regular serial.o module)?
hotplug should do this, and I thought I had seen reports from people saying they had gotten it to work. cardmgr should not do anything at all with a card once it is identified as hotplug.
-- Dave
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
[email protected]
http://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel