paul-ridgway / aero-keyboard

Protocols and linux scripts for controlling the Gigabyte Aero 15 Keyboard backlight
39 stars 6 forks source link

Not compatible with Aero Classic 15 #1

Closed hugues31 closed 5 years ago

hugues31 commented 5 years ago

Hello ! I'm very grateful for your work.

I tried to run your program on my computer (Aero Classic 15), but it seems the keyboard is not the same :/

When I run :

$ ruby built_in_example.rb 
Traceback (most recent call last):
        1: from built_in_example.rb:7:in `<main>'
/home/hugues/Téléchargements/aero-keyboard-master/keyboard.rb:12:in `open': The keyboard could not be found (RuntimeError)

The lsusb output :

$ lsusb
Bus 002 Device 002: ID 0bda:0328 Realtek Semiconductor Corp. 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 13d3:56a2 IMC Networks 
Bus 001 Device 004: ID 8087:0aaa Intel Corp. 
Bus 001 Device 003: ID 1044:7a39 Chu Yuen Enterprise Co., Ltd 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Is there any chance for this to work on my laptop ? Thanks in advance

paul-ridgway commented 5 years ago

I wonder if you can try to identify which the keyboard is? Have you seen the article I wrote - https://blockdev.io/gigabyte-aero-w15-keyboard-and-linux-ubuntu/ it contains some details on using a Virtual Machine and Wireshark to inspect the USB traffic

hugues31 commented 5 years ago

Yes I read it but I do not have Windows on my machine anymore. I suppose I will have to set up a Windows VM then..

paul-ridgway commented 5 years ago

Yeh it would help - windows 10 has a trial iso you can download

hugues31 commented 5 years ago

Thanks, I will try that later. Do you think installing the gigabyte keyboard management software via Wine could work by any chance ?

paul-ridgway commented 5 years ago

If I had to make a prediction I'd say probably not, but its worth a try as I never tried that myself.

hugues31 commented 5 years ago

I try to install Fusion on my VM. The software is running but does not affect the keyboard. Did you make any ajustement/settings on the Virtual Box in order to control the light from the VM ? (I did not see Fusion for Aero Classic so I downloaded Fusion for an older model)

paul-ridgway commented 5 years ago

In Virtual Box at least you have to attach the USB device you believe to be the keyboard (or all of them) - you no longer have host access to USB but can shutdown the VM or reset to regain access

hugues31 commented 5 years ago

Thanks for your fast answer :) But VirtualBox says I don't have any USB device attached and the list of devices is empty

paul-ridgway commented 5 years ago

You need to both install the extensions pack and add yourself to vboxusers eg: sudo usermod -aG vboxusers paul

paul-ridgway commented 5 years ago

Then reboot ideally to apply

paul-ridgway commented 5 years ago

Or run virtualbox as sudo but I dont think thats a great idea considering

paul-ridgway commented 5 years ago

Another starting point might be to dual boot and let the Gigabyte updater utility install all the right s/w. I have 2 HDDs so I have a native install along with the virtualised one

hugues31 commented 5 years ago

Thanks man ! It was my user not in the vboxusers :) As soon as I have free time, I'll continue this driver thing

paul-ridgway commented 5 years ago

Sure - let me know, happy to try help - I'd love for others to get value out of this little project!

hugues31 commented 5 years ago

Thanks you so much. I would like to create a driver for this classic Aero in Rust soon :)

paul-ridgway commented 5 years ago

Happy to try help with that, I have a colleague who is keen on Rust but never tried it myself - like the concept though

paul-ridgway commented 5 years ago

Hi @hugues31,

Check this out: https://github.com/paul-ridgway/aero-keyboard/tree/1044_7a39_Chu_Yuen_Enterprise_Co_Ltd

My aero went for repairs and they replaced the keyboard, looks to be the same one you have...

hugues31 commented 5 years ago

Hi, thanks for this new branch. I tried it but I got the error :

`get_device_by_path': Path should be in BUS:ADDRESS:INTERFACE format with each value being in hexadecimal (ie - 0001:01A:00), not 1:e:3. (HIDAPI::DevicePathInvalid)
paul-ridgway commented 5 years ago

Can you provide more of a stack trace?

hugues31 commented 5 years ago

Oh I fixed it by just running the program with sudo. Thanks you, it works great now !

paul-ridgway commented 5 years ago

Great! Check out the udev rules on the blog that you can add to avoid the need for sudo.