guillaumezin / nvidiabl

/!\ Please note that I don't maintain this repository anymore, please have a look at forked projects. /!\
82 stars 82 forks source link

Not working on G75VW #52

Open ambdeep opened 12 years ago

ambdeep commented 12 years ago

The brightness control is not working on my G75VW with a G660m card.Please help.

Here is the output for: lspci -nn

00:00.0 Host bridge [0600]: Intel Corporation Ivy Bridge DRAM Controller [8086:0154](rev 09) 00:01.0 PCI bridge [0604]: Intel Corporation Ivy Bridge PCI Express Root Port [8086:0151](rev 09) 00:14.0 USB controller [0c03]: Intel Corporation Panther Point USB xHCI Host Controller [8086:1e31](rev 04) 00:16.0 Communication controller [0780]: Intel Corporation Panther Point MEI Controller #1 [8086:1e3a](rev 04) 00:1a.0 USB controller [0c03]: Intel Corporation Panther Point USB Enhanced Host Controller #2 [8086:1e2d](rev 04) 00:1b.0 Audio device [0403]: Intel Corporation Panther Point High Definition Audio Controller [8086:1e20](rev 04) 00:1c.0 PCI bridge [0604]: Intel Corporation Panther Point PCI Express Root Port 1 [8086:1e10](rev c4) 00:1c.1 PCI bridge [0604]: Intel Corporation Panther Point PCI Express Root Port 2 [8086:1e12](rev c4) 00:1c.3 PCI bridge [0604]: Intel Corporation Panther Point PCI Express Root Port 4 [8086:1e16](rev c4) 00:1c.4 PCI bridge [0604]: Intel Corporation Panther Point PCI Express Root Port 5 [8086:1e18](rev c4) 00:1d.0 USB controller [0c03]: Intel Corporation Panther Point USB Enhanced Host Controller #1 [8086:1e26](rev 04) 00:1f.0 ISA bridge [0601]: Intel Corporation Panther Point LPC Controller [8086:1e57](rev 04) 00:1f.2 SATA controller [0106]: Intel Corporation Panther Point 6 port SATA Controller [AHCI mode] [8086:1e03](rev 04) 00:1f.3 SMBus [0c05]: Intel Corporation Panther Point SMBus Controller [8086:1e22](rev 04) 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:0fd4](rev a1) 01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:0e1b](rev a1) 03:00.0 Network controller [0280]: Atheros Communications Inc. AR9485 Wireless Network Adapter [168c:0032](rev 01) 04:00.0 Ethernet controller [0200]: Atheros Communications Inc. AR8151 v2.0 Gigabit Ethernet [1969:1083](rev c0)

cat /sys/class/dmi/id/sys_vendor

ASUSTeK COMPUTER INC.

cat /sys/class/dmi/id/product_name

G75VW

rccypher commented 11 years ago

This issue is effecting me as well. I had this working but the recent kernel update broke things again. I have the same machine.

JamesChristie commented 11 years ago

I have the same computer and problem. The module is built for my kernels but I do not show it at all in lsmod or dmesg logs.

guillaumezin commented 11 years ago

Could you give me the output of the command

cat /var/lib/dkms/nvidiabl/0.79/build/make.log

and

dmesg | grep nvidiabl

rccypher commented 11 years ago

I'm getting a file not found when I try to cat the log file.

jesse@JohnGault:/var/lib/dkms/nvidiabl/0.79/build$ sudo make make -C /lib/modules/3.2.0-30-generic/build M=/var/lib/dkms/nvidiabl/0.79/build modules make[1]: Entering directory /usr/src/linux-headers-3.2.0-30-generic' CC [M] /var/lib/dkms/nvidiabl/0.79/build/nvidiabl-module.o /var/lib/dkms/nvidiabl/0.79/build/nvidiabl-module.c:37:3: warning: #warning USE_BACKLIGHT_SUSPEND [-Wcpp] CC [M] /var/lib/dkms/nvidiabl/0.79/build/nvidiabl-models.o LD [M] /var/lib/dkms/nvidiabl/0.79/build/nvidiabl.o Building modules, stage 2. MODPOST 1 modules CC /var/lib/dkms/nvidiabl/0.79/build/nvidiabl.mod.o LD [M] /var/lib/dkms/nvidiabl/0.79/build/nvidiabl.ko make[1]: Leaving directory/usr/src/linux-headers-3.2.0-30-generic' jesse@JohnGault:/var/lib/dkms/nvidiabl/0.79/build$ sudo make install install -d /lib/modules/3.2.0-30-generic/kernel/drivers/video/backlight install -m 644 -c nvidiabl.ko /lib/modules/3.2.0-30-generic/kernel/drivers/video/backlight /sbin/depmod -a jesse@JohnGault:/var/lib/dkms/nvidiabl/0.79/build$ cat /var/lib/dkms/nvidiabl/0.79/build/ cat: /var/lib/dkms/nvidiabl/0.79/build/: Is a directory jesse@JohnGault:/var/lib/dkms/nvidiabl/0.79/build$ cat /var/lib/dkms/nvidiabl/0.79/build/make.log cat: /var/lib/dkms/nvidiabl/0.79/build/make.log: No such file or directory

jesse@JohnGault:~/Downloads/guillaumezin-nvidiabl-7bb1768$ dmesg | grep nvidiabl [ 21.740332] nvidiabl: loading driver version 0.79 [ 21.740340] nvidiabl: Supported Nvidia graphics adapter 10de:0fd4:1043:2115 detected [ 21.740351] nvidiabl: smartdimmer register at address 0xf661c084 mapped at address 0xffffc90000054084 [ 21.740362] Modules linked in: nvidiabl(O+) lp parport atl1c video [ 21.740382] [] nvidiabl_init+0x1e8/0x1000 [nvidiabl] [ 21.740416] nvidiabl: backup register value 0x4001d09e [ 21.740417] nvidiabl: autodetecting maximum [ 21.740418] nvidiabl: using value 0x1d09e as maximum [ 21.740418] nvidiabl: autodetecting off [ 21.740419] nvidiabl: using value 0x0 as off [ 21.740420] nvidiabl: autodetecting minimum [ 21.740421] nvidiabl: minimum is 5% of maximum [ 21.740422] nvidiabl: using value 0x173b as minimum [ 26.592688] Modules linked in: bnep rfcomm pci_stub vboxpci(O) vboxnetadp(O) vboxnetflt(O) vboxdrv(O) parport_pc ppdev binfmt_misc nls_iso8859_1 nls_cp437 vfat fat dm_crypt nvidia(P) arc4 ath9k mac80211 joydev ath9k_common ath9k_hw uvcvideo ath snd_hda_codec_hdmi cfg80211 asus_nb_wmi asus_wmi mei(C) videodev snd_hda_codec_via v4l2_compat_ioctl32 snd_hda_intel sparse_keymap ath3k snd_hda_codec btusb snd_hwdep bluetooth snd_pcm snd_seq_midi snd_rawmidi snd_seq_midi_event snd_seq snd_timer snd_seq_device snd psmouse serio_raw soundcore snd_page_alloc wmi mac_hid nvidiabl(O) lp parport atl1c video

On Tue, Sep 18, 2012 at 9:48 AM, Guillaume Zin notifications@github.comwrote:

Could you give me the output of the command

cat /var/lib/dkms/nvidiabl/0.79/build/make.log

and

dmesg | grep nvidiabl

— Reply to this email directly or view it on GitHubhttps://github.com/guillaumezin/nvidiabl/issues/52#issuecomment-8657311.

ambdeep commented 11 years ago

I recently installed the latest version of nvidiabl and the brightness control seems to be working with the command : “echo | sudo tee -a /sys/class/backlight/nvidia_backlight/brightness” But my fn keys dont seem to be recognized still. All other fn keys are responding apart from the ones that control the backlight.

JamesChristie commented 11 years ago

I have the same thing, echoing to /sys/class/backlight/nvidia_backlight/brightness works happily, but the fn keys and the brightness/lock settings menu have no effect. Anything we can provide to help diagnose this one?

ambdeep commented 11 years ago

The slider in the brightness/lock settings work perfectly in my laptop after installing the latest version of nvidiabl.

DavidEGrayson commented 11 years ago

ambdeep, I have an ASUS G75VW too. You should check out the pull request I just made:

https://github.com/guillaumezin/nvidiabl/pull/65

For me, the nvidiablctl script works (and therefore /sys/class/backlight/nvidia_backlight/brightness works), but the hotkeys do not work and the "Brightness & Lock" settings in Gnome do not work. So you are one step ahead of me, getting your Brightness & Lock to work! Maybe we can work together to get everything working.

I was able to make my backlight function keys work back when I was running the nvidia proprietary driver, but now I have switched back to nouveau to avoid flickering on the HDMI and VGA outputs. I had to provide the apporiate settings: "acpi_osi=Linux acpi_backlight=vendor" for the kernel and "EnableBrightnessControl=1" in the X settings.

Currently on my laptop I see two backlight devices:

[david@tantalum local]$ ls /sys/class/backlight/ asus-nb-wmi nvidia_backlight

I suspect this is a problem.

Also, both function keys produce the same output in acpi_listen; both produce the following line:

PNP0C14:00 000000ff 00000000

Since they both produce the same output, I don't think I can use acpi events to get the hotkeys working.

DavidEGrayson commented 11 years ago

I have gotten the backlight hotkeys to mostly work on my G75VW-DH72, but I had to make two modifications to the asus-wmi module to do it!

A summary of my steps are: 1) Use acpi_osi=Linux acpi_backlight=vendor boot parameters. 2) Install nvidiabl and make sure it gets loaded when you boot up (run lsmod). 3) git clone https://github.com/DavidEGrayson/acpi4asus-dkms At the time of writing the commit that works for me is https://github.com/DavidEGrayson/acpi4asus-dkms/commit/06a70f4a8e1ab98ad8ef92f7760e801d96b5babc 4) In the nvidiabl acpi4asus-dkms directory, run make. 5) To just deploy the new module as a test without permanently modifying your system, run the following commands as root: modprobe -r asus_nb_wmi asus_wmi modprobe pci_hotplug modprobe sparse_keymap insmod drivers/platform/x86/asus-wmi.ko insmod drivers/platform/x86/asus-nb-wmi.ko 6) Your backlight hotkeys should work now. NOTE: I still have a problem where I have to press each hotkey twice to get any effect. 7) Ideally you would somehow install the new module with dkms so the backlight keys always work when you boot up. Maybe "sudo make install" or something like that would work.

The following resources were very useful to figure this out: http://lwn.net/Articles/391230/ http://lxr.linux.no/

I will continue to investigate this and hopefully get my changes integrated into the upstream asus-wmi module in some good way.

ambdeep commented 11 years ago

@DavidEGrayson I followed all your steps but I get the following errors while inserting the modules: ambdeep@CurcuitBug:~/acpi4asus-dkms$ sudo insmod drivers/platform/x86/asus-wmi.ko insmod: error inserting 'drivers/platform/x86/asus-wmi.ko': -1 Unknown symbol in module ambdeep@CurcuitBug:~/acpi4asus-dkms$ sudo insmod drivers/platform/x86/asus-nb-wmi.ko insmod: error inserting 'drivers/platform/x86/asus-nb-wmi.ko': -1 Unknown symbol in module could you help me out with this?

DavidEGrayson commented 11 years ago

Hello. Could you run dmesg and see if there is a more detailed message about why the module didn't load? It will probably tell you which symbol was unknown, which should give you a clue about which dependency of the module is missing.

ambdeep commented 11 years ago

Here is the output of dmesg: [98927.008954] asus_wmi: ASUS WMI generic driver unloaded [98927.013054] wmi: Mapper unloaded [98956.574616] asus_wmi: Unknown symbol wmi_get_event_data (err 0) [98956.574668] asus_wmi: Unknown symbol wmi_remove_notify_handler (err 0) [98956.574709] asus_wmi: Unknown symbol wmi_evaluate_method (err 0) [98956.574764] asus_wmi: Unknown symbol wmi_has_guid (err 0) [98956.574790] asus_wmi: Unknown symbol wmi_install_notify_handler (err 0) [98971.023741] asus_nb_wmi: Unknown symbol asus_wmi_register_driver (err 0) [98971.023755] asus_nb_wmi: Unknown symbol asus_wmi_unregister_driver (err 0) [108538.819026] asus_nb_wmi: Unknown symbol asus_wmi_register_driver (err 0) [108538.819041] asus_nb_wmi: Unknown symbol asus_wmi_unregister_driver (err 0) [108540.772655] asus_wmi: Unknown symbol wmi_get_event_data (err 0) [108540.772708] asus_wmi: Unknown symbol wmi_remove_notify_handler (err 0) [108540.772754] asus_wmi: Unknown symbol wmi_evaluate_method (err 0) [108540.772811] asus_wmi: Unknown symbol wmi_has_guid (err 0) [108540.772838] asus_wmi: Unknown symbol wmi_install_notify_handler (err 0)

I dont see anything. Could this be because I use a 64bit os?

DavidEGrayson commented 11 years ago

Those symbols are part of the wmi module so you will need to do "modprobe wmi".

ambdeep commented 11 years ago

I'm still getting the following errors: ambdeep@CurcuitBug:~/acpi4asus-dkms$ sudo insmod drivers/platform/x86/asus-nb-wmi.ko insmod: error inserting 'drivers/platform/x86/asus-nb-wmi.ko': -1 Invalid parameters ambdeep@CurcuitBug:~/acpi4asus-dkms$ sudo insmod drivers/platform/x86/asus-wmi.ko insmod: error inserting 'drivers/platform/x86/asus-wmi.ko': -1 File exists

Here is thedmesg output: [48198.851967] asus_wmi: ASUS WMI generic driver unloaded [48198.876222] wmi: Mapper unloaded [48221.029219] wmi: Mapper loaded [48221.034458] asus_wmi: ASUS WMI generic driver loaded [48221.035607] asus_wmi: Initialization: 0x1asus_wmi: BIOS WMI version: 7.9 [48221.035724] asus_wmi: SFUN value: 0x2a0877<6>[48221.036886] input: Asus WMI hotkeys as /devices/platform/asus-nb-wmi/input/input13 [48221.116646] Registered led device: asus::kbd_backlight [48252.304572] asus_nb_wmi: disagrees about version of symbol asus_wmi_register_driver [48252.304579] asus_nb_wmi: Unknown symbol asus_wmi_register_driver (err -22) [48252.304587] asus_nb_wmi: disagrees about version of symbol asus_wmi_unregister_driver [48252.304590] asus_nb_wmi: Unknown symbol asus_wmi_unregister_driver (err -22)

DavidEGrayson commented 11 years ago

Aren't you inserting them in the wrong order? You need to insert asus-wmi first as I wrote in my original directions, because it defines some symbols that asus-nb-wmi depends on. Your dmesg output seems to have a different order than your shell commands.

acimmarusti commented 11 years ago

I have a G55VW, which is a very similar machine to the G75VW. It has a GeForce GTX 660M video card. DavidEGrayson, did you ever get your changes integrated upstream? I tried with the latest kernel 3.8.5 from the Debian repositories and backlight brightness keys in gnome (3.4) still don't work (I'm using Debian wheezy here). I would prefer not to touch the asus_nb_wmi kernel module. It's interesting to know that in Kubuntu 12.10, running KDE 4.9.x, with kernel 3.5.x the backlight keys do work (after installing nvidiabl and adding the kernel boot parameters as well as the enablebrightnesscontrol in xorg).

You said you got this running fine before using the proprietary nvidia driver without too much trouble. That's what I'm using now. Do you remember what you had to do?

THanks

DavidEGrayson commented 11 years ago

Hello, acimmarusti. My changes were never integrated upstream into the Linux kernel as far as I know.

It's been a while so I forget how I got the proprietary driver working. Please have a look at my postings to see if you find anything useful. I think I posted some good instructions on this page: http://www.linlap.com/asus_g75vw

I'll copy that post over here for posterity:


David Grayson, 2012/12/02 22:15 Thanks Robert! Your instructions basically worked for me except that I am using the nvidia driver (downloaded from nvidia.com) so I don't have a Section “Device” that looks like yours. Instead, I just added the EnableBrightnessControl line to the appropriate existing section.

Here is what I did to get the backlight working:

1) Add the line Option “registryDwords” “EnableBrightnessControl=1” in the appropriate Device section of the /etc/X11/xorg.conf file. 2) Do sudo pico /etc/default/grub and add acpi_osi=Linux and acpi_backlight=vendor to the GRUB_CMDLINE_LINUX_DEFAULT variable. Press Ctrl+O to save. 3) Run sudo update-grub to rebuild grub.cfg. 4) Reboot.

I still have two issues: I have to press the brightness hotkey twice before it registers; every other keypress is ignored. When the key does have an effect, it adjusts the brightness in increments of 2 unless a menu happens to be open, in which case it adjusts it by 1.


And here is my pull request to acpi4asus-dkms, but it's probably not useful to you: https://github.com/iksaif/acpi4asus-dkms/pull/1

--David

acimmarusti commented 11 years ago

I finally got this to work with the nvidia proprietary drivers without nvidiabl.

They trick I had to do was to pass acpi_backlight=legacy instead of vendor (on top of acpi_osi=Linux and Option “registryDwords” “EnableBrightnessControl=1" in xorg).

I've written all of it up here: http://www.linlap.com/asus_g55vw