[GH-ISSUE #626] Help writing a program for keyboard backlit Asus N71JQ #561

Closed
opened 2026-02-26 00:32:59 +03:00 by kerem · 4 comments
Owner

Originally created by @PaddleStroke on GitHub (Jan 25, 2019).
Original GitHub issue: https://github.com/hirschmann/nbfc/issues/626

Hey guys!

I am using a asus N71JQ (came out ~2010) which do not came with backlit keyboard.

I found that some very similar laptops (asus G73JH and G60) have exactly the same keyboard but with backlit. Those keyboards have an additional FPC for the LED. I also found on a forum a guy who installed such backlit keyboard, but he made an external circuit to power the LED with a button that he added on the side of his laptop.

But I wanted to do something more clean. I would like to be able to use Fn+F3/Fn+F4 to increase decrease the brightness as you would on G73JH.

So I started to look for N71JQ and G73JH schematics, which unfortunatelly cannot be found anywhere on the web. However I could find N61J schematic. On this schematic I found out that the keyboard backlit is controller with a PWM from the IT8570E embedded controller (EC):
This PWM goes to a mosfet the mosfet enable/disable the connection of the FPC to ground (5V pin is always connected). By changing the PWM the CPU can vary the brightness of backlit LED.

Then I checked my motherboard (N71JA rev2.1) of which I don't have the schematic. However I found that it has same EC IT8570E. Also to my surprise I found that there is a FPC connector available for the LED backlight! I checked and there is same mosfet as on the schematic I saw. I also checked and the mosfet is connected to the pin 32 for IT8570E which is PWM6 (same as on N61J schematic).

I also checked that the 5V is correctly applied to the FPC.

So all the hardware is already ready to support the backlit keyboard! (Which is strange as no asus N71 serie never had backlit. And the motherboard is not used on other models. So they actually paid for components that never ever have been used.)

So I connected my new keyboard, the keyboard works, previous shortcut I had also worked (Fn+F5/Fn+F6 increase/decrease luminosity of LCD for example) but Fn-F3/F4 does nothing still.

There are several drivers related to keyboard shortcut (see this forum)

  • ATKDrv Utility: This is required because it is actually the ACPI driver. This is what tells your OS about the power state of your system and allows for power settings to be changed by the OS. It is also responsible for pulling battery information from the BIOS.
  • ATK Generic Function Utility: This is required as it allows for communication between the ACPI and all the shortcut keys.
  • ATK_Hotkey Utility: This is required to make use of all the function key shortcuts.

I checked on asus website for drivers, and found the first 2 are exactly the same between N71JQ and G73JH. The third the version is different so I tried uninstall it, then install the G60J version, Fn-F5/F6 still work OK, but Fn-F3/F4 still nothing happening. With G73JH ATK package (all those 3 in one) the logo appears when I press Fn-F3/F4 but nothing happens

Then I found this topic about backlit keyboard issue happening after bios update on G73JH..! So that brought me to understand that the problem might be in the Bios which probably include the EC code!

I have thought about 3 possibilities :

  • Flash the Asus G73JH bios on my N71JQ : this somehow sounds like a terrible idea...
  • Analyze the two bios (G73JH and N71JQ) and try to find the difference. But I have virtually no idea how to proceed...
  • Third : write a program/driver to write in the EC register directly to lit the keyboard when the Fn+F3/F4 buttons are pressed.

As you have been playing with EC register for some time I thought maybe you could help me making such a program to write in the EC reg?

Thanks!

Originally created by @PaddleStroke on GitHub (Jan 25, 2019). Original GitHub issue: https://github.com/hirschmann/nbfc/issues/626 Hey guys! I am using a asus N71JQ (came out ~2010) which do not came with backlit keyboard. I found that some very similar laptops (asus G73JH and G60) have exactly the same keyboard but with backlit. Those keyboards have an additional FPC for the LED. I also found on a forum a guy who installed such backlit keyboard, but he made an external circuit to power the LED with a button that he added on the side of his laptop. But I wanted to do something more clean. I would like to be able to use Fn+F3/Fn+F4 to increase decrease the brightness as you would on G73JH. So I started to look for N71JQ and G73JH schematics, which unfortunatelly cannot be found anywhere on the web. However I could find N61J schematic. On this schematic I found out that the keyboard backlit is controller with a PWM from the IT8570E embedded controller (EC): This PWM goes to a mosfet the mosfet enable/disable the connection of the FPC to ground (5V pin is always connected). By changing the PWM the CPU can vary the brightness of backlit LED. Then I checked my motherboard (N71JA rev2.1) of which I don't have the schematic. However I found that it has same EC IT8570E. Also to my surprise I found that there is a FPC connector available for the LED backlight! I checked and there is same mosfet as on the schematic I saw. I also checked and the mosfet is connected to the pin 32 for IT8570E which is PWM6 (same as on N61J schematic). I also checked that the 5V is correctly applied to the FPC. So all the hardware is already ready to support the backlit keyboard! (Which is strange as no asus N71 serie never had backlit. And the motherboard is not used on other models. So they actually paid for components that never ever have been used.) So I connected my new keyboard, the keyboard works, previous shortcut I had also worked (Fn+F5/Fn+F6 increase/decrease luminosity of LCD for example) but Fn-F3/F4 does nothing still. There are several drivers related to keyboard shortcut (see this forum) > - ATKDrv Utility: This is required because it is actually the ACPI driver. This is what tells your OS about the power state of your system and allows for power settings to be changed by the OS. It is also responsible for pulling battery information from the BIOS. > - ATK Generic Function Utility: This is required as it allows for communication between the ACPI and all the shortcut keys. > - ATK_Hotkey Utility: This is required to make use of all the function key shortcuts. I checked on asus website for drivers, and found the first 2 are exactly the same between N71JQ and G73JH. The third the version is different so I tried uninstall it, then install the G60J version, Fn-F5/F6 still work OK, but Fn-F3/F4 still nothing happening. With G73JH ATK package (all those 3 in one) the logo appears when I press Fn-F3/F4 but nothing happens Then I found this topic about backlit keyboard issue happening after bios update on G73JH..! So that brought me to understand that the problem might be in the Bios which probably include the EC code! I have thought about 3 possibilities : - Flash the Asus G73JH bios on my N71JQ : this somehow sounds like a terrible idea... - Analyze the two bios (G73JH and N71JQ) and try to find the difference. But I have virtually no idea how to proceed... - Third : write a program/driver to write in the EC register directly to lit the keyboard when the Fn+F3/F4 buttons are pressed. As you have been playing with EC register for some time I thought maybe you could help me making such a program to write in the EC reg? Thanks!
kerem 2026-02-26 00:32:59 +03:00
  • closed this issue
  • added the
    Stale
    label
Author
Owner

@PaddleStroke commented on GitHub (Jan 26, 2019):

I have been digging a little bit with EC-probe tool and IT8570E datasheet. Something I don't understand is that EC-probe dump only gives FFh addresses, each containing 8 bits.

However the EC register seem bigger than this, like 18C4h

Can you explain a little bit :

  • what EC-probe is reading exactly ? From reading the datasheet I think I understood that not all the registers are accessible by the host (windows).

I/O cycles are used to access PNPCFG and Logical Devices. Memory or FWH is used to access Flash content through SMFI module Host-Indirect memory cycles based on I/O cycles can also access Flash.

Could you please explain me what EC-probe is accessing and how it does it? If you could point the part of the code for EC probe? Thanks!

<!-- gh-comment-id:457808722 --> @PaddleStroke commented on GitHub (Jan 26, 2019): I have been digging a little bit with EC-probe tool and IT8570E datasheet. Something I don't understand is that EC-probe dump only gives FFh addresses, each containing 8 bits. However the EC register seem bigger than this, like 18C4h Can you explain a little bit : - what EC-probe is reading exactly ? From reading the datasheet I think I understood that not all the registers are accessible by the host (windows). > I/O cycles are used to access PNPCFG and Logical Devices. Memory or FWH is used to access Flash content through SMFI module Host-Indirect memory cycles based on I/O cycles can also access Flash. Could you please explain me what EC-probe is accessing and how it does it? If you could point the part of the code for EC probe? Thanks!
Author
Owner

@ghost commented on GitHub (Oct 7, 2019):

I am trying to do something similar on an ASUS X550Za, and I had the (probably completely stupid) idea to waste a USB port on connecting the smallest Arduino I can find to the backlight.
Arduinos use 5 volts and support PWM on some pins.
Is there a better way to do this?
Never mind, there definitely is a way... Is there anyone who can help me do this?

<!-- gh-comment-id:539008983 --> @ghost commented on GitHub (Oct 7, 2019): I am trying to do something similar on an ASUS X550Za, and I had the (probably completely stupid) idea to waste a USB port on connecting the smallest Arduino I can find to the backlight. Arduinos use 5 volts and support PWM on some pins. Is there a better way to do this? Never mind, there definitely is a way... Is there anyone who can help me do this?
Author
Owner

@PaddleStroke commented on GitHub (Oct 7, 2019):

If you'r going for a hardware mode you can check this one :
http://forum.notebookreview.com/threads/n71jq-backlight-keyboard-implementation.507561/

On my side I wanted to use the already existing FPC connector as it just needed to activate the PWM. But I never could find how to activate the PWM in windows. It's under-documented. I wasted so much time on this for nothing !

<!-- gh-comment-id:539063566 --> @PaddleStroke commented on GitHub (Oct 7, 2019): If you'r going for a hardware mode you can check this one : http://forum.notebookreview.com/threads/n71jq-backlight-keyboard-implementation.507561/ On my side I wanted to use the already existing FPC connector as it just needed to activate the PWM. But I never could find how to activate the PWM in windows. It's under-documented. I wasted so much time on this for nothing !
Author
Owner

@github-actions[bot] commented on GitHub (Apr 6, 2020):

This issue is stale because it has been open more than 180 days with no activity. If nobody comments within 7 days, this issue will be closed

<!-- gh-comment-id:609506964 --> @github-actions[bot] commented on GitHub (Apr 6, 2020): This issue is stale because it has been open more than 180 days with no activity. If nobody comments within 7 days, this issue will be closed
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/nbfc-hirschmann#561
No description provided.