Acer Aspire Launch Manager
Launch Manager is a utility allowing users to turn on and off their notebook’s wireless device (typically bluetooth and wifi) via software. Once turned off, the device is disabled and cannot be seen via Windows Device Manager. By default, if neither Launch Manager or Acer ePower Management is installed, wifi is on and bluetooth is off. The objective is to investigate what Launch Manager does in the back end in order to enable/disable Wifi.
Launch Manager installs itself into C:Program FilesLaunch Manager. By using IDA (The Interactive Disassembler), the following was observed.
HotkeyApp.exe is the main Launch Manager UI. It monitors the status of the Bluetooth and Wifi hardware button. If a button is pressed, HotKeyApp will post a message to Wbutton.exe (provided that Wbutton.exe is already running). Wbutton will then use DeviceIOControl to interact with the hardware and call OSD.EXE with the following command line parameters to display the device status on screen (e.g. Bluetooth is disabled):
- OSD.EXE 20: “Bluetooth Disabled” is displayed.
- OSD.EXE 19: “Bluetooth Enabled” is displayed.
- OSD.EXE 18: “Wireless LAN Disabled” is displayed.
- OSD.EXE 17: “Wireless LAN Enabled” is displayed.
OSD.EXE only displays the status and does not interact with the hardware layer.
To toggle Wifi/Bluetooth status, there are 2 approaches
1. Run Wbutton.exe, PostMessage to Wbutton.exe and rely on it to do the rest.
HWND hwndWButtion = FindWindow(L”Wireless class”, NULL);
if (hwndWButtion) PostMessage(hwndWButtion, 0x800A, 0, 1); //toggle bluetooth
if (hwndWButtion) PostMessage(hwndWButtion, 0x800A, 0, 0); //toggle wifi
2. Call DeviceIOControl directly using the following code. This approach does not need Wbutton.exe
//obtain a handle to the wireless driver
HANDLE hWireless = CreateFile(L”\\.\Hotkey”, 0x80000000, 1, NULL, 3, 0, NULL);
//tell the driver which device (bluetooth/wifi) to control
BYTE inBuffer[2];
BYTE outBuffer[2];
DWORD bytesRet;
//send control code. Notice the magic IOCTL number.
BOOL isOK = DeviceIoControl(hWireless, 0x2224C4, (void*) inBuffer, 2, (void*) outBuffer, 2, &bytesRet, NULL);
inBuffer defines which device to set status for. Use the following values:
- inBuffer[0]=inBuffer[1]=0 to turn off bluetooth
- inBuffer[0]=inBuffer[1]=1 to turn on wifi
- inBuffer[0]=0; inBuffer[1]=1 to turn on bluetooth
- inBuffer[0]=1; inBuffer[1]=0 to turn off wifi
There is no OEM API to retrieve the wireless device status. To synchronise the status, the Launch Manager simply turns on or turns off all wireless devices upon startup according to the settings.
Download source code here
Hi, i was scanning google for several days and was very deasapointed to have to do fn+f3 at each startup to enable bluetooth on my acer aspire 77454G, when i found your blog. i downloaded the program, compiled it, but unfortunatly i've tested both of your methods and they doesn't work for me because i think that the soft has changed. i have the LM_Dritek_4.0.5_Win7x64 with a small window which appears when you press Fn+F3 with bluetoth and wifi toggle switch on/off. Could you please do something for me (and update ? ) it would be very nice to you ! i'm searching for so long a solution (thinking about that night and days) I hate acer !
Thank you in advance
Jef
Hi Jeff,
You are right that it is possible that the mechanism to toggle wifi/bluetooth in later laptop model has changed. The article was written is 2008. If you can send me a copy of LM_Dritek_4.0.5_Win7x64 I may give it a try. Otherwise, you can try it yourself – decompile the .EXE with IDA Interactive Disassembler and see what you get.
Hi again,
Thank you very much for your help. Iv'e tried, but it's too hard for me . If you have time, even if it's in several weeks, it'll be ther glad to help me . I give you the adress of the package, because i didn't thind your email…
the package is here : http://www.station-drivers.com/page/dritek.htm the 4.08 seven for a 64 bits.
Thank you again .
Jeff
Hi jeff,
Thanks for giving the link. Let me download and give it a try.
Hi,
did you see something interresting ? I've tried with IDA again but i didn't find something intelligible.
thanks in advance !
Jeff
Hi Jeff,
Not yet will spend some time working on it later this month. Quite busy with something else. Meanwhile Try to see if the executable is packed – if it is you will need to unpack first before IDA will be helpful.
Hi,
nothing new for me .. and you ?
i'm still angry about my acer notebook. Every day Fn + F3 , it's boring .
if you have some time …
thanks !
Hi,
nothing new ? i didn't find anything. I don't think that the executable is packed. This Acer notebook is boring me every day ! It should exist a solution !
I know i don't help you very much, but i don't understand assmembler.
Thank's for your help
Jeff
hi,
nothiong new for me. i don't think it's packed. End you ?
This acer notebook is boring !
thank's for your help
Jeff
Sorry I still haven't had the time to research on it further yet. Will try to find some time to see if there's anything interesting.