Hello G73 users. I just got my G73SW last week and was pretty frustrated (if not unsurprised) to find that it was not supported in Linux via the asus-laptop kernel module.
I disassembled and examined my ACPI DSDT and found that the G73SW only exposes the hotkeys and other ACPI-related machine specifics (wifi led, keyboard backlight, etc) through the WMI interface. There is rudimentary WMI remapping in the linux kernel, but no clear support for ASUS laptops.
I'm going to write a kernel driver to support the hotkeys and initially I hope to target as many ASUS-WMI enabled G73s as I can.
If you're willing, please go here and download the iasl binary:
ACPICA
From there you can download the file, unzip it, and run a command prompt. cd to the directory of the unzipped iasl.exe and run:
iasl.exe -g
It should produce a few files, I'm mainly interested in DSDT_Notebook.dat and dsdt_notebook.dsl. If you would, zip those up and attach them to the thread. I should only need one dat/dsl file per model, but having a few from the same would never hurt. If you do post one up though, please specify which model you are using.
NOTE: You are at no risk of damaging your laptop by doing this and it will not expose any of your personal information. It is just dumping your ACPI DSDT for me to examine. For more info on ACPI see here. For more info on DSDTs see here. The ACPI4Asus project is here but I am not (yet?) affiliated with them... they are just inspiration.
Thanks, here's to hoping for complete linux support for these bad boys in the near future!
-Nate
(I've attached a zip of the files from my laptop so you know what they look like. This is from a G73SW-A1)
-
Attached Files:
-
-
I would do this for you but I have a G73JH and I'm 99.9% sure that the JH, JW, and SW have identical ACPI information. I'm 90% sure that the G53, G51, and G71 will also be identical. They all use the ATK package and the ATK for all of them are interchangable. I have an old first generation eePC but it has XUbuntu on it, not windows.
If a dump of a machine extremely similar to yours would be helpful, I can dump ACPI data for a JH? -
If you've got the time the data couldn't hurt. -
ALLurGroceries Vegan Vermin Super Moderator
Try booting with the acpi_osi=Linux boot parameter. That should expose the acpi hotkeys (hopefully) instead of using wmi.
I had to modify eeepc-wmi.c recently, you might be able to get away with some cheaphax on that. Here's what I did: [all variants] asus 1015pem - Page 2 - Ubuntu Forums
@Jody: the SW must be different, the other models use ACPI by default not WMI. -
I've been hacking away at the eeepc-wmi driver, actually. Added some printks to see what I could expose, but there is plenty of work to do.
acpi_osi=Linux (or acpi_osi=!Windows 2009) doesn't have an effect on the G73SW. -
ALLurGroceries Vegan Vermin Super Moderator
When you acpi_listen there's no difference at all with acpi_osi=Linux on any of the hotkeys? You don't get any events?
-
I will be getting a g53jw here shortly, and i use linux as my main os so I will dump those for you
for this model
-
ALLurGroceries Vegan Vermin Super Moderator
Another thought besides what I previously asked about acpi_listen (still waiting for your answer on that)...
Try toggling EFI/UEFI in the BIOS setup, if you can (previous models have the option). It may change the behavior of the hotkeys. -
I am currently locked into UEFI mode because I have my disks setup using GPTs and windows booting through UEFI.
I boot into linux under BIOS mode w/ grub2 installed on the GPT partition marked bios_grub. GRUB2/2.6.38-rc3 refuse to boot when loaded via UEFI. Not sure what's going wrong as I have no serial port to get early kernel panic messages from, but I just hang after initrd. :\
Thanks jamezelle. The maintainer of the current asus-laptop and eeepc-wmi kernel drivers has gotten in touch with me and is developing pretty heavily right now. Hopefully in a little while there will be nice WMI-backed hotkey support for general ASUS laptops as that seems to be the sole direction ASUS is heading with the newer models. -
ALLurGroceries Vegan Vermin Super Moderator
Are you getting anything from acpi_listen? If you don't even get Fn+F5 and F6, that's a new configuration for ASUS. If you have more details about this, or have posted anywhere else, please post links, since there isn't any mention of this that I can find elsewhere.
-
I've built a kernel with verbose acpi debug messaging but there's no clear problem... though there are a few different variables affecting things IME. If I'm correct I believe the nouveau driver is interfering with the screen brightness hotkeys.... but I have to investigate further later. I have also noticed when coming back into windows from linux, sometimes wifi is turned off. Pressing the hotkey to turn it back on does so, but then Bluetooth turns off... it takes toggling it once or twice to get the two back in sync. This leads me to believe linux is probing and interacting with things incorrectly in the WMI interface.
I posted a bug report to the acpi4asus bug tracker here:
acpi4asus - Feature #144: Asus G73SW-A1 support request - dev.iksaif.net
I've been corresponding with the developer via email as well. I've also been posting about the UEFI boot issues here:
https://bbs.archlinux.org/viewtopic.php?id=111327 -
ALLurGroceries Vegan Vermin Super Moderator
OK, thanks for posting the links, I'll take a look.
I was specifically asking about acpi_listen because the backlight brightness controls had (until now) usually been ACPI, even when WMI is used for the rest. -
Yeah, I switched back into linux... absolutely nothing emitted from acpi_listen.
Perhaps more telling, heres tree /proc/acpi:
Code:root@nate-G73SW:/# tree /proc/acpi/ /proc/acpi/ ├── ac_adapter │ └── AC0 │ └── state ├── battery │ └── BAT0 │ ├── alarm │ ├── info │ └── state ├── button │ ├── lid │ │ └── LID │ │ ├── info │ │ └── state │ ├── power │ │ └── PWRF │ │ └── info │ └── sleep │ └── SLPB │ └── info ├── event └── wakeup
-
ALLurGroceries Vegan Vermin Super Moderator
Actually mine looks mostly the same except for the processor:
Code:/proc/acpi ├── ac_adapter │ └── AC0 │ └── state ├── battery │ └── BAT0 │ ├── alarm │ ├── info │ └── state ├── button │ ├── lid │ │ └── LID │ │ ├── info │ │ └── state │ ├── power │ │ └── PWRF │ │ └── info │ └── sleep │ └── SLPB │ └── info ├── event ├── processor │ ├── CPU0 │ │ └── throttling │ └── CPU1 │ └── throttling └── wakeup
My 1015PEM which does use WMI shows ACPI scancodes on Fn + F1, F5 and F6.
If the hotkeys are exclusively via WMI, then it's going to definitely require a modified eeepc-wmi -- keep us posted here. -
Bit of a bump. I could still really use some DSDT dumps for users of other G series ASUS laptops.
Did a "live" session with Corentin ssh'd into my notebook at midnight (6am in France) and we were (really, he was) able to probe debugfs and get keyboard backlighting to respond, LCD backlighting to respond, as well as some cursory thermal management and state information.
There are some discrepancies between what my DSDT is reporting and what is actually available/happening on my notebook, so it would be beneficial to get a larger sample to inspect if ASUS is simply cloning DSDTs and leaving unused/dead paths in some notebooks.
It's only a matter of time now until an asus-wmi driver is finished, but some community help with DSDTs would be great.
Cheers!
-Nate -
ALLurGroceries Vegan Vermin Super Moderator
Here's the Jh DSDT.
Attached Files:
-
-
Thanks for the DSDT.
I have just submitted my patches to Corentin (the dev) for driver-based keyboard backlight control. No more bash scripts, it works just like in widows... out of the box.
Corentin has put a lot of work into this and I'm trying to get feedback and patches back to him as quickly as possible. The goal is to finish up before the 2.6.39 merge window closes. I'm currently very happy with the state of things: as far as I can tell every single hotkey is working and all functionality is there.
The last thing we're working on is synchronous rfkill. Currently bluetooth and wlan are flip/flopping when we need them to be in the same state. -
ALLurGroceries Vegan Vermin Super Moderator
Nice, I see a new asus-nb-wmi driver in git. I'll check that out later.
I wrote a small program that's a handler for the backlight, it got shot down pretty hard in favor of the acpid scripts. I hope you have better luck with your approach. -
Despite my best attempts acpid wasn't getting events from the WMI handler like I expected. I figured I would just forget that and make the calls directly. If accepted Corentin is probably going to want to add a module option to defeat that behavior.
I've been building against an up to date snapshot of Linus' tree, so you may wish to do the same. I've attached my patch, though it hasn't yet been accepted by Corentin and thus shouldn't be taken as official.Attached Files:
-
-
It'll be nice to have the option here!
I love linux (for school and work), but I can't see any reason to use it on my windows gaming laptop -
ALLurGroceries Vegan Vermin Super Moderator
Hey DCx, linux works great on the G73, it's all I used on mine.
This hotkey problem is specifically about the G73SW only, I guess they changed the BIOS up a bit for sandy bridge where hotkey handling is concerned.
NaterGator is doing GREAT work to get this taken care of, he's doing it exactly the right way, being in touch with the driver maintainer and making patches. I just wish I had a G73SW to test & help, but it doesn't seem to be needed at this point. -
natergator,
hey, i just wandered across your thread here and thought I'd give my input and also find out how to give you my info.
I have an Asus G73JW-3DE and have Arch linux installed on it after wiping it clean of any and all Windows partitions. As that said, there's no way that I can run an exe file to give the info that you're needing. You have any other way to get it with linux?
Also, as far as the keyboard lights go, I found another thread that dealt with this problem ALLurGroceries actually posted the fix that i use now). I rewrote the acpi scripts slightly in order to have them follow where I place them in my filesystem, but all in all, everything works great on that end.
My main issue are the brightness keys. I run KDE 4.6 and neither powerdevil nor the hotkeys actually do anything to turn up/down the screen brightness. After poking around a bit, I found that in the /sys/class/backlight/ I have both acpi_video0 and acpi_video1. now that to me is kinda odd in itself, but ok. Now when i use powerdevil to 'try' to turn down my brightness, I cat ..../acpi_video0/brightness and watch it go from 0 to 10. now when i cat ..../acpi_video1/brightness at the same time, it shows 10 of 10 at all times (and my screen never goes darker than full bright).
Now I'm in no way an expert at this, but it just doesn't sound right that the wrong /acpi_video*/ is being controlled or even exists since I only have one monitor (no external linked).
Also, the touchpad toggle hotkey doesn't seem to work... at all! The key throws a code with acpi_listen, but does nothing to turn touchpad on/off, which is serious since the touchpad is so very sensitive (not to mentio HUGE) in the first place. I had to go turn it off in the BIOS, but when the laptop comes out of suspend, it seems the BIOS forgets that it's supposed to be off. So very odd. Has asus finally crawled up M$ rear so far that everything must run through the OS or something? I don't remember ever having these problems with my trusty 1201N. A simple acpi_osi=linux worked wonders on that thing!
I wouldn't be posting my problem here, but after having this thing blaring in my eyes for the past 96 hours of working on it, i'm out of ideas and getting seriously aggrivated. Please let me know how and what kind of info I can get to you with Linux and I'll make sure to get it ASAP. I like thie look of this laptop but I hate the fact that it's not working right. -
ALLurGroceries Vegan Vermin Super Moderator
nicodarious, this really isn't the same topic as this thread. It sounds like you aren't having problems with the hotkeys at the kernel level like NaterGator, but instead with the backlight driver.
You can try passing the acpi_backlight=vendor boot parameter.
You haven't mentioned whether you are using the proprietary nvidia driver or nouveau. That's an important factor.
For the touchpad, on Debian-derived distros (not sure about Arch), the script is in /etc/acpi/asus-touchpad.sh
The important line looks like this:
Code:XINPUTNUM=$(xinput --list | sed -rne 's#^.*SynPS/2[[:blank:]]+Synaptics[[:blank:]]+TouchPad[[:blank:]]+id=([0-9]+)[[:blank:]]+.*$#\1#p') [ "$XINPUTNUM" ]
Code:XINPUTNUM=`xinput list | grep -i 'touchpad' | sed -n -e's/.*id=\([0-9]\+\).*/\1/p'`
-
Thank you. -
ALLurGroceries Vegan Vermin Super Moderator
The program I wrote is still available but I can't link to it here, due to the forum rules. It shouldn't be hard to find.However if the scripts don't work, neither will my program. If you're on a G73SW you'll likely need to either compile the new asus-wmi kernel module from NaterGator's patch linked a page or so back for hotkey support, or just tell the kernel directly through sysfs (as in the post with the scripts) after building asus-wmi.
-
ALLurGroceries,
Hmm. ok, well, i kind of feel pretty stupid now. I'll have to check out what you are talking about. I'm sure that I can figure out something with the info that you have given. As far as the video drivers go, I have always used the nvidia proprietary drivers in the Arch repository. Noveau just doesn't give the response that I'm needing just yet, but I do install it once in a while to play around and see how far ithas come (just nothing long term)
"You can try passing the acpi_backlight=vendor boot parameter." with this, do you mean the 'vendor' should be 'asus' or should I just keep it as 'vendor'? Never heard of that one before.
My apologies if I have turned this thread into a circus, but after so many days, I'm almost at wits end. Thank you for answering though. I'm sure that I will find this info most useful.
As far as Arch Linux goes, it's nothing like Debian. if you're interested, take a look at it at Arch Linux
cheers!
--John -
ALLurGroceries Vegan Vermin Super Moderator
nicodarious don't worry about posting in the wrong thread, it's fine as long as NatorGator doesn't mind his thread is derailing.
I am well aware of Arch, I just don't know how it handles acpi.
I was trying to give you everything I know about the touchpad enable/disable since I don't run Arch to know how it does things.
You don't need to replace vendor with asus or anything. The acpi_backlight=vendor option is exactly what you should try, just like that, the same way you'd put acpi_osi=Linux. It's just a step to try, since it sometimes fixes backlight problems. -
No problem, I'm happy to have this an "all things ACPI/ASUS/Linux" thread.
I used arch for a while, but I believe it would leave ACPI handling up to KDE. Can't speak for the touchpad enable on the the JW, but have you loaded the asus-laptop kernel module?
If you want to provide your DSDT (I do not have one for the JW yet) you can do so by opening a terminal and running:
Code:cat /sys/firmware/acpi/tables/DSDT > ~/dsdt.txt
I posted my patch a few posts back that will enable built in kernel level handling of the keyboard backlight, but it looks like that will probably be a module option at best as it kinda defies the conventions accepted for kernel drivers (frustratingly, as it seems obvious there is only one purpose for those hotkeys and it's simple and effective to handle it in the driver!)
Anyways, with some more info about your distro I'd be happy to help steer you on the right path towards getting the necessary kernel sources and drivers built, because I know how frustrating it can be to use this great laptop without a backlit keyboard in the dark!
-Nate -
pus
OK, so I have finished that up. I'm going to ry to upload it. This'll be my first time ever uploading anything to nbr.com, so if I screw up the first time, lemme get another crack at it before busting out laughing, heh.
hope that comes in handy for you, since it'll be your first JW. I'm fairly sure that it should be VERY much like the JH though.Attached Files:
-
-
Thanks to you and ALLurGroceries.
If nothing else it provides us with a more complete picture of the G-series BIOS/ACPI handling. It certainly seems like the ASUS trend is towards WMI, and it is important we cover all our bases so ASUS owners have a pleasing and seamless experience on Linux as well as Windows. -
NaterGator!
Thanks for the push I needed to flash the firmware in my Seagates!
I'm running Arch Linux, same as nicodarious. Have been for nearly six years now. Just got the g73Sw, it's an upgrade from my previous work issued laptop, a seven year old IBM A31.
My personal lappy is a Dell 1710 XPS, also running Arch.
I'm not a kernel building wizard by any means, but I've compiled a few kernels, and threw together a few patches. I've also lived with an unstable system (Arch was a bit rough six years ago.) So, I'm game for a run at 2.6.39 with a few patches.
Any advice you have is greatly appreciated. -
Nater, anything I can do, I'm happy to
Uber, glad to see you around! It's been a while since I have seen you in IRC, man! Seems we both have a similar laptop now. Maybe we can trade info in order to get them working?
Also, wanted to let ALLur know that the acpi_backlight=vendor did actually help, but not to the point of being able to change the brightness (yet). But at least now it's not glaring at me at full tilt! Thanks ALLur!
Cheers!Attached Files:
-
-
ALLurGroceries Vegan Vermin Super Moderator
nicodarious, do you have the asus_laptop module loaded? If you lsmod | grep asus does it show up?
It looks like arch uses acpid too, at least according to this: https://wiki.archlinux.org/index.php/ACPI_hotkeys
That means the scripts I was talking about earlier should probably work for you, as long as acpid is installed.
Edit: Just saw your post above... alright so maybe you need a newer NVIDIA driver, I'll take a look around nvnews.net for G73/53 threads in the linux forum. -
[nicodarious@Castalia ~]$ sudo lsmod | grep asus
asus_laptop 15308 0
sparse_keymap 2888 1 asus_laptop
rfkill 16122 4 bluetooth,cfg80211,asus_laptop
As far as the nvidia drivers, i have the latest one available for Linux (260.19.36). Arch repos are usually great about keeping up to date with the nvidia drivers. I don't really want to go and install an nvida binary unless I must, since it really screws with my install. -
ALLurGroceries Vegan Vermin Super Moderator
Yeah that's as it should be... I'm not finding any others with this problem. Just a post I remember before about clock settings making the screen flicker on the G73Jw.
What nvidia driver version are you using?
Hm.. I see your edit above. I've got nothing at the moment -- I'm going to have to dig around to find some clues.... sorry. -
no worries. I'm doing my own digging and experimenting. Hopefully before the weekend is up I can come up with something useful that wouldhelp othe out!
-
ALLurGroceries Vegan Vermin Super Moderator
All I've found so far is this (ASUS G53): [ubuntu] Laptop Display Brightness - Ubuntu Forums
The first post mentions Option "RegistryDwords" "EnableBrightnessControl=1"
You can probably try putting that in your xorg.conf (or xorg.conf.d directory) file under the Devices entry for the nvidia card and restart gdm/kdm or whatever display manager you're on.
It's been some time since I had an nvidia card so I may end up having really crappy advice... -
I just added in the Option into the 20-nvidia.conf. Going to restart X and find out if that did anything. Thanks for the link!
-
ALLurGroceries Vegan Vermin Super Moderator
Yeah, whatever you do, don't do the fix for the K60, that's for an intel card, that setpci command might do weird things (if it does anything) on an nvidia card.
edit: One more thing... try it without acpi_backlight=vendor now since that could interfere. -
*The reason for this post is for anyone else that might be running into problems with their G-series notebook so as to help with their problems. Nothing worse than trying to get help with an issue by searching just to find that no followup posts for fixes or posts for what the person has done with their notebooks. I am fully aware that this thread is not for this issue per se, but just like myself, someone might stumble across it several hundred times with the little bit of 'linux G73' googling. It's a PITA and I might irritate someone here, but I hope that anyone reading this understands that I have done this with the best intentions.*
So a little run-down on what it took to get my G73JW to working order (mind, that the base system is Arch Linux, but it shouldn't be too different for other distros)
1) install acpi acpid acpitools libacpi acpi4asus
2) modify /etc/rc.conf and added acpi_laptop to MODULES line
3) added /etc/acpi/ events for keyboard backlights (thanks ALLurGroceries for the zipped files to make this work!)
4) lots of time, patience, and lost hair
ok, so the things I have done as of the past hour or so:
1) installed kcm_touchpad (which I got that idea after booting into a live USB drive of Kubuntu) in order to get a UI for the touchpad.
2) modified my touchpad a bit with https://wiki.archlinux.org/index.php/Touchpad_Synaptics#Installation as a guideline
4) inserted Option "RegistryDwords" "EnableBrightnessControl=1" into my /etc/X11/xorg.conf.d/20-nvidia.conf file
5) removed acpi_osi=Linux (or acpi_backlight=vendor, whatever you're using) from boot commands (as i have found out before your last post, that the Option line and boot command line DO clash!)
As of right now, my hotkeys for brightness work astoundingly well! mouse hotkey is still not working, but at least I can turn it off via KDE touchpad settings now, so it's not as big of a deal as it was a few hours ago! Also reset the settings to it isn't as 'touchy' All I need to do now is figure out how to turn on the option to freeze the mouse whilst typing and everything will be perfect as for now.
TODO: (and this is my personal one mind you) figure out how KDE maps keys and to remap the extra hotkeys in order to use them. ie, Fn-arrows in order to use for media player, Fn-keypad_enter to bring up my Calculator. Sure these are small deals, but to me they just make life that much easier and linux that much better!
Big thanks to ALLurGroceries and NaterGator for all the info and help! I just hope that this info can be pieced together for anyone else that might need it on the G-series laptop!
Cheers! -
Hi,
I'm the happy owner of a G73SW but with no backlight on my keyboard (it's hard in the dark).
If it helps you, i provide my acpidump and dstd cat.
Pierre. -
Cycle the 1st of 3 buttons on top until it says "All Lights On" then use FN+F4 to raise the KB lights. If that doesn't work, update your ATK Package.
-
ALLurGroceries Vegan Vermin Super Moderator
@Chastity I think pci is talking about no keyboard lights in Linux.
I'm trying to figure this one out, another user in the G73 thread can't get the LEDs working on the SW, with 2.6.39-rc so I have to spend some time reading the source to see if the LEDs are even being enabled.
Either that or NaterGator needs to swoop in and clear this up.He's the one who got this ball rolling for the SW.
Edit: I looked at the asus-wmi.c source and posted here: http://forum.notebookreview.com/lin...451594-asus-rog-g73-ubuntu-8.html#post7374065 -
Hi,
in fact, yes i'm under linux and as the keyboard is grey on black, it's hard late at night.
I didn't even succeed to load the asus-laptop. A modprobe asus-laptop failed with a NODEV error
ALLurGroceries do you mean NaterGator succeed to switch on the light of the keyboard ?
PCI. -
ALLurGroceries Vegan Vermin Super Moderator
In the other thread, someone has just tried a patched asus-wmi but they said it doesn't work. You can try it for yourself if you'd like: http://forum.notebookreview.com/lin...451594-asus-rog-g73-ubuntu-9.html#post7376230
The kernel config I uploaded is a couple of pages back: http://forum.notebookreview.com/lin...451594-asus-rog-g73-ubuntu-7.html#post7353460 -
If you are having trouble with the keyboard backlight in Linux, try the following:
(note, you'll need to prefix these commands with sudo if you don't feel like su'ing or logging in as root)
Code:echo 0x00050021 > /sys/kernel/debug/asus-nb-wmi/dev_id echo 0x82 > /sys/kernel/debug/asus-nb-wmi/ctrl_param cat /sys/kernel/debug/asus-nb-wmi/devs
Let me know what you find (and if the above doesn't work please see what you get from dmesg | grep -i asus)
Edit: also, there was a problem with the default return value from an uninitialized keyboard backlight device... since the keyboard backlight is defaulted at mid-level on startup (even though it is inhibited) it matches against ASUS_WMI_DSTS_UNKNOWN_BIT and the init routine rejects it as ENODEV. I mentioned this to Corentin in my patch (that explicitly we need to call asus_wmi_get_devstate_bits(asus, ASUS_WMI_DEVID_KBD_BACKLIGHT, ASUS_WMI_DSTS_PRESENCE_BIT) instead of asus_wmi_get_devstate_simple() but that may have gotten lost in the shuffle. If so, the keyboard backlight will not get registered to the LED classdev. It would if you used the above code, set ctrl_param to 0x81 and called cat devs... then unloaded and reloaded the kernel module though. -
NaterGator you're GREAT. Many thanks too to all of you.
I see the light
Now it's time for me to provide a .deb patched
PCI.
The dev config remains accross "soft reboot" -
hi! is there an asus-wmi patch available for a 2.6.38 kernel? i don't want to give up the pf-kernel patchset which is only available for 2.6.38 at the moment.
attached you will find the dat and dsl file for a G73SW-TZ122V.Attached Files:
-
-
ALLurGroceries Vegan Vermin Super Moderator
@jehan I don't see any reason you couldn't pull in the asus-wmi stuff into 2.6.38 as long as you update the make/config files by hand.
-
The was some work on the WMI interface kernel code which I believe would have to be backported to work with 2.6.38 (but don't quote me on it).
Give it a shot, see if it works!
G73 and asus-wmi linux driver.... I need *your* help
Discussion in 'ASUS Gaming Notebook Forum' started by NaterGator, Feb 7, 2011.