[driverloader] automatic configuration (cardmgr or hotplug)?
Roman Maeder
maeder at mathconsult.ch
Wed Feb 11 10:14:33 EST 2004
I need help setting up automatic configuration of a wireless card under
RedHat 7.1. Configuring it manually works fine, using
- install driverloader (once). The card is a Linksys WPC54g, OS is RedHat
7.1, kernel 2.4.20-something.
- insert the card. Kernel will load the module and "eth1" shows up
- use iwconfig to configure the wireless extensions
- use ifconfig to set IP parameters
I am trying automate the last two steps. The RedHat 7.1 "ifup" script does
not support configuring wireless extensions, so I cannot simply edit
ifcfg-eth1 and then do a "ifup eth1".
I can see two ways to configure it automatically upon insertion, but neither
works out of the box:
1. use the pcmcia-cs tools
This works fine for another card using wlan-ng
I tried to define the card in /etc/pcmcia/wireless.conf
device "linuxant"
class "wireless" module "driverloader"
card "Linksys WPC54G"
manfid 0x02d0, 0x0406
bind "linuxant"
When I insert the card, log messages show
kernel: PCI: Enabling device 06:00.0 (0000 -> 0002)
kernel: 06:00.0: cache line size not set; forcing 32
kernel: eth1: New link status: Disconnected (0002)
cardmgr[3471]: initializing socket 1
cardmgr[3471]: socket 1: Linksys WPC54G
cardmgr[3471]: executing: './wireless start driverloader'
The problem is cardmgr doesn't figure out the correct device name (eth1,
rather than "driverloader"), so the wireless script fails.
Is there a way to prevent the kernel from initializing the PCI device by
itself, and give cardmgr a chance to do its job (load the module)?
Perhaps this would help it get the name right.
Or else I could hack the script to hardcode the name.
2. using the PCI hotplug system
Apparently RedHat had changed the pcmcia scripts so that when I network
card is inserted, the "ifup ethX" is triggered through a PCI hotplug
event, not through pcmcia-cs. The scripts in the /etc/hotplug directory
are difficult to understand. It seems however, that if the card is
recognized, it will then invoke the /etc/pcmcia/wireless script, so
I can see a chance to get this to work. What is needed for the scripts to
recognize and handle the card?
There is an entry for the card in /etc/modules/VERSION/modules.pcimap:
driverloader 0xffffffff 0xffffffff 0xffffffff 0xffffffff 0x00000000 0x00000000 0x00000000
does this need the specific vendor id in columns 2 and 3 to work? Anything
else?
Any help is greatly appreciated.
Roman Maeder
PS: for those members of the "driverloader" list that are on vacation:
enjoy (and configure your autoreply correctly)!
More information about the driverloader
mailing list