[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