Aura control for asus laptops

I'm interested in looking into controlling the RGB keyboard on an Asus ROG GL503VD laptop. I figured I would open an issue on this project, in case anyone has any suggestions for how to proceed. I am using Ubuntu and don't have a dual-boot Windows, which might complicate reverse engineering, but perhaps I'll be able to find other folks with the same hardware who can help me out.

Asus says that the laptop supports "Aura Core" and also "Aura Sync", but it probably doesn't implement the full Aura encapsulated by the Aura SDK. Nevertheless, the mention of Aura Sync made me think that perhaps the hardware is controlled using the same sort of interface as Asus motherboards and graphics cards.

lspci shows an Intel SMBus controller:

00:1f.4 SMBus: Intel Corporation 100 Series/C230 Series Chipset Family SMBus (rev 31)

Not AMD, so I don't need the kernel patch. Doing sudo modprobe i2c-i801, I can get the smbus adapter to show up:

$ sudo i2cdetect -l
i2c-3	i2c       	i915 gmbus dpd                  	I2C adapter
i2c-1	i2c       	i915 gmbus dpc                  	I2C adapter
i2c-6	smbus     	SMBus I801 adapter at f040      	SMBus adapter
i2c-4	i2c       	DPDDC-A                         	I2C adapter
i2c-2	i2c       	i915 gmbus dpb                  	I2C adapter
i2c-0	i2c       	Synopsys DesignWare I2C adapter 	I2C adapter
i2c-5	i2c       	DPDDC-D                         	I2C adapter

i2c-0 is the interface for the laptop's touchpad. i2c-6 looks like the right endpoint.

$ sudo i2cdetect 6
I will probe file /dev/i2c-6.
I will probe address range 0x03-0x77.
Continue? [Y/n] 
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- 08 -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: 30 -- -- -- -- 35 36 -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- -- 
50: 50 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --

This seems different to the output from other devices reported on this project, and the 0xf040 base address for the smbus is also different. Does this output mean that the RGB control is not being done over the smbus? I have one RAM stick in slot 0 on my mobo, if that helps with reading the tea leaves here.

I suppose it's possible that smbus isn't the right place to look for this particular machine. The (related) GL553 laptop also has a 4-zone RGB keyboard, and I've found a nascent project called openauranb to control keyboard colors for that model, by speaking to the keyboard over the USB interface. That project is tailored to talk to a USB keyboard device called 0b05:1854; I don't have that, but rather 0b05:1869, but maybe the two devices work similarly (after all, they both call themselves ITE Device(8910)). @CalcProgrammer1, I know you've done some reverse engineering on USB keyboards in the past. Can you suggest a next move here?

Edited Mar 09, 2019 by Will Roberts
Assignee Loading
Time tracking Loading