[Debian-eeepc-devel] Fix for 2.6.26 PCI hotplug error when enabling wireless

oz oz at bluemonk.de
Sat Aug 30 20:34:37 UTC 2008


On Sat, 30 Aug 2008 18:04:58 +0300
Damyan Ivanov <dmn at debian.org> wrote:

> At least on 901, if the whole wireless-on section is replaced solely 
> with the echo 1 > $wlan_control toggling wireless on works here (901, 
> bios 1101).

Ok, 901 and bios 1101 here also.

> Another point I want to make is that the script as it is now - with 
> all modprobe, ifconfig etc works for me. The only change I did is to 
> rt2860 -- I disabled  the "native" network maanger support as I use 
> wpa_cupplicant and with the "native" thing it didn't work.

Here, under network-manager, the original 1.0.5-script does *not* work.
Then the difference seems to be wpasupplicant <--> network-manager.
But as far as I know, network-manager uses wpasupplicant (?!). Wait a
minute - network-manager depends of wpasupplicant.

> >     on|enable)
> >         if [ $(cat $wlan_control) = 0 ]; then
> >             echo 1 > $wlan_control
> >         fi
> >         ;;
> >     off|disable)
> >         if [ $(cat $wlan_control) = 1 ]; then
> >             detect_wlan
> >             ifdown --force $WLAN_IF
> >             modprobe -r $WLAN_MOD
> >             echo 0 > $wlan_control
> >
> I guess the same approach can be taken here - stop fiddling with 
> modprobe and let pciehp handle the removal of the hardware via 
> $wlan_control.

Indeed, the following version works for me:

case $1 in
    on|enable)
        if [ $(cat $wlan_control) = 0 ]; then
            echo 1 > $wlan_control
        fi
        ;;
    off|disable)
        if [ $(cat $wlan_control) = 1 ]; then
            echo 0 > $wlan_control
        fi
        ;;


I toggled 10x without problems (between the states [Wireless-LED-ON, ra0
up] and [Wireless-LED-OFF, ra0 down]). It seems to be reliable.

But a little erratic behaviour remains. Once I did 
echo 0 > /sys/devices/platform/eeepc/wlan
direct on the shell (which means without coupling it with the
acpi-event), and afterwards my toggle-script didn't work any longer.

The LED stayed switchable, but ra0 disappeared. And even worse, it was
boot-persistent. I noticed, that the bios-setting changed in those
situations from onboard-wlan enabled to disabled.

Too much components are involved, which makes it a little difficult:
Bios, rt2860-kernel-module, udev, hal, interfaces-file, modprobe,
acpi, ifconfig/ifup/ifdown, network-manager. It seems to be a good
idea, to make the network-interface complete static or complete
dynamic, before the configuration of acpi.

I decided to give network-manager the full authority over my
netbook-interfaces (it's not a server ;-), which seems to be a good
decision so far.  

> Yes, network-manager-gnome is installed and running, but the wireless 
> is managed via an "allow-hotplug ra0" and a roaming wpa_supplicant 
> configuration. In fact, network-manager does not show the wireless 
> interface at all so I think it does not interfere.

I wonder, if it makes a difference to use 'allow-hotplug ra0'
or 'auto ra0'. Only auto is mentioned in the network-manager doku.
Interfaces with other, static user-configurations are ignored by
network-manager. You have some wpa-entries in
your /etc/network/interfaces, right?

Cheers



More information about the Debian-eeepc-devel mailing list