Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error with devices other than GL553VE #1

Open
systemgvp opened this issue May 19, 2019 · 31 comments
Open

Error with devices other than GL553VE #1

systemgvp opened this issue May 19, 2019 · 31 comments

Comments

@systemgvp
Copy link

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?

@MidhunSureshR
Copy link
Owner

MidhunSureshR commented Jun 2, 2019

Sorry for the late response. Can you try running the program with sudo.
Also this may only work for GL553 variants.

@systemgvp
Copy link
Author

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

@systemgvp
Copy link
Author

I use openSUSE Tumbleweed with gcc (SUSE Linux) 9.1.1 20190520 [gcc-9-branch revision 271396] and kernel 5.1.5

@MidhunSureshR
Copy link
Owner

MidhunSureshR commented Jun 4, 2019

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.

@MidhunSureshR MidhunSureshR changed the title bug Error with devices other than GL553VE Jun 4, 2019
@MidhunSureshR MidhunSureshR pinned this issue Jun 4, 2019
@systemgvp
Copy link
Author

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.

@systemgvp
Copy link
Author

I've install Wireshark but I don't see USB row

@MidhunSureshR
Copy link
Owner

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.

@systemgvp
Copy link
Author

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. :(

@MidhunSureshR
Copy link
Owner

I would need access to the device to proceed further. My previous comment contains the method I used.

@bhatshravan
Copy link

bhatshravan commented Jun 25, 2019

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

@MidhunSureshR
Copy link
Owner

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.
1
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.
2
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.

@bhatshravan
Copy link

bhatshravan commented Jun 26, 2019

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.

Capture

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!

@MidhunSureshR
Copy link
Owner

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?

@hieplpvip
Copy link

Product ID for FX503VD is 0x1869, as shown here.

May work for FX503GE

@yaliv
Copy link

yaliv commented Jul 15, 2019

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.

@MidhunSureshR
Copy link
Owner

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 )?

@yaliv
Copy link

yaliv commented Jul 16, 2019

Okay, I'll try to look into Windows's Device Manager. Hope to find a clue there.

@yaliv
Copy link

yaliv commented Jul 20, 2019

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:

  1. Device Manager has ASUS SCI v2

1  Device Manager has ASUS SCI v2

  1. ASUS SCI v2 Driver

2  ASUS SCI v2 Driver

  1. Device instance path

3  Device instance path

  1. Hardware Ids

4  Hardware Ids

  1. Events

5  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.

@systemgvp
Copy link
Author

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.
Screenshot_20190720_215112

@yaliv
Copy link

yaliv commented Jul 20, 2019

@systemgvp this answer is for Ubuntu:
https://stackoverflow.com/a/32085379

So probably you have to install libusb-1_0-devel on openSUSE Tumbleweed.

@yaliv
Copy link

yaliv commented Jul 20, 2019

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.

@bhatshravan
Copy link

@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.

@MidhunSureshR
Copy link
Owner

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.

@yaliv
Copy link

yaliv commented Aug 4, 2019

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.

@systemgvp
Copy link
Author

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

@bhatshravan
Copy link

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

@yaliv
Copy link

yaliv commented Aug 5, 2019

@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 😉

@dominiksalvet
Copy link

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! 🚀 You would be publicly stated as the first tester of your laptop model of course. 👍

Should you have any problems, feel free to create an issue. I am here to help. 😄

@yaliv
Copy link

yaliv commented Feb 25, 2020

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.

@dominiksalvet
Copy link

@yaliv I completely understand your situation and thank you for your willingness. ❤️ Certainly let me know. 😄

@dominiksalvet
Copy link

dominiksalvet commented Feb 25, 2020

@yaliv BTW, please hold on. There is a little nasty bug affecting new asus-fan-control users. I should get to it by tomorrow or maybe a bit later. I will let you know. 😄

EDIT: Fixed... 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants