Closed

Backlit keyboard driver writing, windows, PWM, embedded controller (IT8570)

This is a small project to write a driver to enable backlit support on Asus N71JQ using Windows7.

Originally this model did not included a backlit keyboard. However some very similar laptops (asus G73JH and G60) have exactly the same keyboard but with backlit.

I would like to be able to use Fn+F3/Fn+F4 combinaisons 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 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. It only needs to implement a driver.

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

I tried to install g73jh ATK driver, now when pressing Fn+F3/F4 I have the OSD appearing, but the keyboard still don't lit.

I think the function to drive the PWM is on the bios (on the EC code) as it's probably managed directly by the EC (even without the atk driver installed Fn+F5/F6 works to dim brightness of LCD, but logo do no show on OSD.)

I have thought about 2 possibilities :

- Analyze the two bios (G73JH and N71JQ available on asus website) and try to find the difference. But I have virtually no idea how to proceed... Also it sounds bit risky to modify the bios.

- Write a separate driver which will modify directly IT8570E register in order to turn on/off and vary the cycle% of the PWM. Datasheet of IT8570E here : [login to view URL]

This is a bounty project, milestone will be released if driver works as expected without side effects or intense cpu use:

pressing Fn+F3 should decrease the keyboard brightness

pressing Fn+F3 should increase the keyboard brightness

With 4 brightness steps : 0% 33% 66% 100%

Note 1 : according to N61J schematic the max intensity is 200mA. PWM cycles should be set accordingly.

Notre 2 : this is a small project, it can't be more expensive than a new laptop..

Skills: Electrical Engineering, Embedded Software, Microcontroller, Programming, Windows Desktop

See more: java windows media player controller, windows 2000 domain controller user group minutes, windows obtain domain controller name sbs 2003, embedded controller, embedded controller hardware design, keyboard driver keylogger code, keylogger winxp keyboard driver kernel, pic embedded controller, driver fax windows vista, writing windows media plug background, embedded controller development contract, writing windows media player plugin visual basic, windows keyboard driver, windows fake keyboard driver, fake keyboard driver windows

About the Employer:
( 3 reviews ) paris, France

Project ID: #18598537

3 freelancers are bidding on average €209 for this job

eddieborg

Hi, software and embedded electronics engineer with experience in driver writing and reverse engineering of hardware and software. I can help you out with your project.

€222 EUR in 15 days
(1 Review)
3.6
adeelpirzada

if you are looking for low cost and high quality developer than my friend you are at right one I am a Senior Software with more than 10 years of experience in .Net-stack development. I have developed dozens on Deskto More

€250 EUR in 3 days
(1 Review)
3.0
€155 EUR in 3 days
(0 Reviews)
0.0