Comment 19 for bug 204378

Revision history for this message
Linus Harling (linus-ussarna) wrote :

Nope, it's partially resovled in 180598, the wireless card gets turned on and off with 108 installed (kind of), but there remains three issues:

- The LED doesn't show the status, it's always lit
- Bluetooth is turned off on the first press of Fn+F2, but is not turned on by the second
- The wireless comes right back on again, it doesn't stay off.

Here's my guess as to why:
The U1F triggers the following keycodes on Fn+F2:
First press:
hotkey ATKD 0000005d 00000021
hotkey ATKD 0000007d 0000000b
Second press:
hotkey ATKD 0000005d 00000022
hotkey ATKD 0000007e 0000001f

5d triggers the asus-wireless.sh script
7e triggers the asus-wireless-2.sh script

As long as bluetooth is OFF Fn+F2 always triggers 7e, while forcing it on (by using the physical kill-switch or the sys interface) causes the next keypress to trigger a 7d.

As the keypress starts both scripts you get a nice little conflict of interests. The interesting thing is that commenting out the events for asus-wireless-2 gives you this little cycle (with everything on to begin with):

First Press:
Bluetooth LED goes off, WLAN LED still on. Bluetooth turns off, so does WLAN.

Second Press:
Bluetooth LED still off, WLAN LED turns off, BT & WLAN still OFF

Third Press:
Both LEDs turn on, BT & WLAN turns on

One problem is that toggleAllWirelessStates() in state-funcs tries to control the wireless by using rf_state, which _doesn't work_ on the U1F at least. setLEDAsusWireless() in state-funcs on the other hand uses /sys/devices/platform/asus-laptop/wlan, which _can_ be used to turn the WLAN on and off.