Re: timing issues with udev and firmware loading

Karl Relton <[email protected]> Sun, 17 Feb 2008 13:48:36 +0000
Newsgroups gmane.linux.linux-wlan.user
Message-ID <[email protected]>
On Sat, 2008-02-16 at 23:36 +0100, Tormod Volden wrote:
> Hi,
> I have some trouble with the new (svn version 1851) wlan_wext_write
> auto-enabling and loading of firmware through udev scripts. I reported
> this in http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=465681 but I
> think it is not Debian-specific:
> 
> "The firmware loading fails because when /etc/wlan/wlan-udev.sh is
> run, the wlan0 interface is not available
> for wlanctl-ng:
> 
> wlanctl-ng: No such device
> wlanctl-ng: No such device
> prism2dl: No such device
> 
> Running it manually later works fine. I inserted a "sleep 2" on the
> top of wlan-udev.sh and then it works
> fine. It can seem like the udev rule 84-linux-wlan-ng runs the
> wlan-udev.sh script "too early". I also stopped
> network-manager to verify that it was not to blame.
> 
> However, if I echo 0 > /sys/module/p80211/parameters/wlan_wext_write,
> the firmware loading works. So this
> problem might be related to the new auto-enabling in the driver."
> 
> Does anyone else experience similar problems?

That seems odd. The udev rule shouldn't be triggered until the new 'net'
device is registered in the kernel. The sequence should be:

- driver registers new net device
- kernel sends notification to udev
- udev rule matches notification and causes wlan-udev.sh to be run
 
Karl