openauranb
openauranb copied to clipboard
Error with devices other than GL553VE
I'm trying to start your project to run the LEDs on my keyboard (ASUS TUF FX503GE) but I see the following error:
`./openauranb FF0000 Parsed arg values are R = FF G = 00 B = 00 Openauranb : Change backlight color for ASUS notebooks. Press any key to start.
Initializing libusb library... Successfully initialized libusb library. Number of usb devices found = 5 Successfully found all USB devices. Checking device with product_id = 0003 and device address = 1 Checking device with product_id = fa60 and device address = 2 Checking device with product_id = 0aaa and device address = 4 Checking device with product_id = 56a2 and device address = 3 Checking device with product_id = 0002 and device address = 1 Device address = 105 Errore di segmentazione (core dump creato)` Can you help me?
Sorry for the late response. Can you try running the program with sudo. Also this may only work for GL553 variants.
I've copy from console
sudo ./openauranb FF0000 [sudo] password di root: Parsed arg values are R = FF G = 00 B = 00 Openauranb : Change backlight color for ASUS notebooks. Press any key to start.
Initializing libusb library... Successfully initialized libusb library. Number of usb devices found = 5 Successfully found all USB devices. Checking device with product_id = 0003 and device address = 1 Checking device with product_id = fa60 and device address = 2 Checking device with product_id = 0aaa and device address = 4 Checking device with product_id = 56a2 and device address = 3 Checking device with product_id = 0002 and device address = 1 Device address = 105 Errore di segmentazione
I use openSUSE Tumbleweed with gcc (SUSE Linux) 9.1.1 20190520 [gcc-9-branch revision 271396] and kernel 5.1.5
The code I've written is to configure backlights on ROG GL553VE exclusively. There is no guarantee that the ASUS TUF FX503GE uses the same hardware configurations for the backlights. Also the hardware id's for the keyboard device will probably be different. The best course of action would be to use this code as a starting point and reverse engineer the backlight yourself. You will need to use a USB packet capture software such as wireshark to see how the aura software communicates with the LED hardware.
Can you help me do this? I'm new to linux. I don't think it should be difficult as ROG and TUF are very similar technologies.
I've install Wireshark but I don't see USB row
You should read this. I would suggest you dualboot windows and linux instead of using a windows VM on linux to reverse engineer the device. I couldn't get the driver and aura software to work within the VM. Perhaps it works only with actual USB external devices. You can go to device manager on windows and disable the HID devices one by one and see if you can change the lights with aura software. When you detect the device that when disabled halts the working of aura software, note the VID and PID from its properties. You should be able to change the first few lines of code with your VID and PID. If the communication is not different then you should be able to change the lights. Good luck.
I've dual boot with Windows 10. In Windows I go to device manager and I try to disable HID device and Controller USB, but the led non turn off or not controllable by ASUS software. :(
I would need access to the device to proceed further. My previous comment contains the method I used.
I have an Asus FX505 and i'm trying to do what you said. In device manager which device did you have to disable since i can't seem to find the proper one in mine? Also does your script have anything for making the keyboard brightness change or is it just limited to RGB?
Thank you
Hello,
In device manager I disabled devices in Human Interface Devices one by one making sure that I was able to change the keyboard backlight RGB using Aura software. When I was no longer able to change the RGB colour I concluded that the last device which I disabled was the one which dealt with the lighting.
Then I right clicked on the device and selected properties and selected Device Instance Path from the drop-down list. The parts highlighted in green are the VID and PID of the device.
You need to replace the rogAuraHID_PID and rogAuraHID_VID constants with the corresponding values of the earlier found PID and VID converted to decimal from hexa-decimal. You can use any online converter ( or perhaps your calculator ) for this. I used this.
My PID is 1854 therefore the value of the constant rogAuraHID_PID is 6228 (because 1854 converted from hexadecimal to decimal is 6228).
I hope @systemgvp will also benefit from this explanation.
And no the script does not change the brightness. However I am able to change the brightness on my Xubuntu setup by using the buttons on the keyboard ( F3 and F4 in my case ).
Thank You.
I tried checking mine but I don't have any such devices in my human interface devices and disabling the ones there didn't change anything for keyboard controlling.
Even using Wireshark to capture USB packets didn't help as no packets seemed to be transmitted through my TUF keyboard software. Probably uses a different method in Asus TUF Laptops is what I am wondering.
Thanks a lot for your help anyways!
Perhaps in your case the device drivers are in the keyboard section? Anyhow it should be possible to intercept the packets using wireshark. I can't imagine ASUS implementing the keyboard lighting in any other way. I am sure that one of the devices in your device manager corresponds to the keyboard LED. You are able to change the keyboard lighting in Windows, right?
I have an Asus TUF FX505DU and the keyboard is PS/2, not USB, as I posted in an issue here: https://github.com/wroberts/rogauracore/issues/11
I know reverse engineering is not an easy task. But I would like to support any effort to get it working on Linux.
I have an Asus TUF FX505DU and the keyboard is PS/2, not USB, as I posted in an issue here: wroberts/rogauracore#11
I know reverse engineering is not an easy task. But I would like to support any effort to get it working on Linux.
I think most new laptops use a logical USB connection for their internal keyboards. Perhaps ASUS wanted N-key roll over for their TUF gaming laptops. Regardless I think the LED driver must be a Human Interface Device. Did you try going through the steps in my previous comment ( here )?
Okay, I'll try to look into Windows's Device Manager. Hope to find a clue there.
There's a device named ASUS System Control Interface V2. I installed the driver from here: https://dlcdnets.asus.com/pub/ASUS/GamingNB/DriverforWin10/ASUSSystemControlInterfaceV2/ASUSSystemControlInterfaceV2_DCH_W10_64_V20120.zip?_ga=2.48796454.1697932573.1563622004-2137339910.1562366115
And here's the inf
file (renamed to txt
):
asussci2.txt
Some screenshots:
- Device Manager has ASUS SCI v2
- ASUS SCI v2 Driver
- Device instance path
- Hardware Ids
- Events
- My keyboard backlight changing colors when the driver is installed.
- "Disable driver + cold boot (from shut down)" didn't stop the changing colors.
- "Uninstall driver + confirm to remove the driver software + cold boot" stopped the changing colors.
So that's what I need to note, the device ACPI\ASUS2018\2&DABA3FF&0
enables the RGB backlight, not just static red.
I've been trying to compile your application (MidhunSureshR) for some time, but I can't find a compatible "libusb" library. How do you build your application? what commands do you use? I'm not an expert, but I want to try.
@systemgvp this answer is for Ubuntu: https://stackoverflow.com/a/32085379
So probably you have to install libusb-1_0-devel
on openSUSE Tumbleweed.
Something that I realize about my laptop keyboard is that not all the Fn hotkeys are functional on Linux, like the keyboard backlight brightness control and fan control. That same condition on Windows, I can only use the keyboard backlight brightness hotkey if I install the ASUS System Control Interface V2 driver.
Then I found this news: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.3-Platform-x86-Updates "Linux 5.3's ASUS WMI Driver Add ASUS TUF Gaming Laptop Support"
Hope that's a good sign.
@yaliv if the news is true, then we have to wait for Linux 5.3 and we can use asus-kbd-backlight package itself for controlling our tuf laptops.
Another option would be to try porting the asus control interface driver but I'm not sure how we could go about doing that since it's quite a large package.
Something that I realize about my laptop keyboard is that not all the Fn hotkeys are functional on Linux, like the keyboard backlight brightness control and fan control.
I can already control my keyboard backlight brightness with the Fn keys on kernel 4.15.0 I guess the ROG models have better linux support.
After switching to Linux kernel version 5.3, my keyboard backlight is automatically changing colors now. I can control its brightness using Fn hotkeys too.
yaliv, Can you attach a ZIP file with the compiled code? because I can not in any way compile even by installing the appropriate libraries
Yup, I installed Linux 5.3 kernel and keyboard fn keys started working in mine as well. Only problem is that since it's still an experimental kernel my system hung up and xorg stopped working so I had to downgrade again. So I would recommend to wait for the proper release.
Still happy that support has been added
@systemgvp actually I haven't tried anything that mention "USB", either using this project or rogauracore, because I believe that the RGB lighting in my keyboard doesn't use USB. I was trying to figure out whether the RGB lighting is controlled by an SMBus PIIX4 adapter. So I only did experiments with Borealis and OpenAuraSDK, but no luck.
Any similarities I mentioned about libusb
on Stack Overflow is just my guessing, based on the error messages. Sorry to confuse you.
My laptop is Asus TUF Gaming FX505DU and I figured out that the RGB lighting is controlled by ASUS SCI v2, not USB. I'm not sure whether ASUS TUF FX503GE has a similar device or not. But as I did, first you have to figure out yourself, what device or driver controls the RGB lighting in your laptop.
I myself did experiment with a fresh Windows installation on a free partition I created. I found the page to download drivers for my laptop: https://www.asus.com/Laptops/ASUS-TUF-Gaming-FX505DD-DT-DU/HelpDesk_download/ Then I tried to install the drivers one by one, any drivers which have impact to the motherboard based on my understanding, until I arrived at that "aha!" moment. Hope that helps :wink:
Hello guys! I have found this repository when typing "asus open source" to Google. The funny thing is that ASUS does not seem to care enough... and hence open source projects from end users are usually first ones in search engines.
When I briefly read posts of this issue, I have noticed that some of you have laptop models that may be supported by asus-fan-control, a simple fan control written in POSIX shell. I am writing that as I have noticed that @yaliv mentioned fan control in one of his posts and I find it quite relevant.
I do not know whether you are already using a fan control for your devices but if not and you need to (e.g., aggressive fan policy), please give asus-fan-control a try. I would really be more than happy to add support for new devices! :rocket: You would be publicly stated as the first tester of your laptop model of course. :+1:
Should you have any problems, feel free to create an issue. I am here to help. :smile:
I currently use faustus for my laptop and I found it the most convenient, because I just need one driver for controlling the RGB keyboard backlight and fan boost mode. The downside of faustus is you have to disable the original driver first. That's understandable because it integrates deeply with the hardware.
Speaking of fan control, faustus use modes (normal, overboost, silent), which can be switched by pressing Fn-F5
.
I see them as presets for the fan speed policy, while @dominiksalvet's asus-fan-control allows a more granular fan speed policy.
I think faustus is enough for me, but I'll give asus-fan-control a try when I have time.
@yaliv I completely understand your situation and thank you for your willingness. :heart: Certainly let me know. :smile: