liquidctl / liquidctl

Cross-platform CLI and Python drivers for AIO liquid coolers and other devices
GNU General Public License v3.0
2.22k stars 220 forks source link

Tracking issue for release 1.4.0 #151

Closed jonasmalacofilho closed 4 years ago

jonasmalacofilho commented 4 years ago

During the next two weeks I'll be finalizing a new liquidctl release, version 1.4.0. If you can, please start to test the code in the main branch; you can use this issue to report any problems.

The most notable user-facing changes in this version will be the addition of drivers for fourth-generation Kraken X coolers (with limited support for Kraken Z coolers as well), Corsair Platinum coolers (with limited support for PRO XT coolers as well), and some Gigabyte motherboards with RGB Fusion 2.0 controllers.

I'll be updating the changelog during the next few days with all other significant changes, and there are some improvements I still hope to finish in time for the release.

Linux package maintainers may also want to follow any updates I make to the liquidctl-gitAUR PKGBUILD for ArchLinux.

Thank you Tom, Casey, Sean, and all other contributors. Thank you for contributing drivers or fixes, capturing or helping analyze USB traffic, reporting bugs, or simply getting in touch.


If you're working on a new feature or bug fix, please feel free to open pull requests normally during this two-week window. I'll evaluate on a case-by-case basis whether a particular change can safely get into this release...

And from now on I intend to do periodic releases every three months. The changes accepted into the main branch at the time will determinate whether it's a patch or minor release.

haringsrob commented 4 years ago
✘ rob@  ~  liquidctl list
Device ID 0: Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
 rob@  ~  liquidctl initialize all
ERROR: Unexpected error with Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
Traceback (most recent call last):
AssertionError

I receive this error on arch linux, not running as root. I have the Corsair Hydro Series H115i Pro RGB. Not sure if there is support for it.

jonasmalacofilho commented 4 years ago

@haringsrob

Can you post the output of liquidctl initialize all --debug?

haringsrob commented 4 years ago

Sure thing

[DEBUG] liquidctl.cli: running liquidctl v1.3.3 (EndeavourOS; liquidctl-git 1.3.3.r279.f44281d-1)
[DEBUG] liquidctl.driver.usb: searching HidapiBus (api=hid, drivers=[CommonSmartDeviceDriver, CoolitPlatinumDriver, CorsairHidPsuDriver, KrakenTwoDriver, KrakenX3Driver, KrakenZ3Driver, RGBFusion2Driver, SeasonicEDriver, SmartDeviceDriver, SmartDeviceV2Driver])
[DEBUG] liquidctl.driver.usb: probing drivers for device feed:1307
[DEBUG] liquidctl.driver.usb: probing drivers for device feed:1307
[DEBUG] liquidctl.driver.usb: probing drivers for device 048d:8297
[DEBUG] liquidctl.driver.usb: instanced driver for Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
[DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c539
[DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c539
[DEBUG] liquidctl.driver.usb: probing drivers for device 046d:407f
[DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c539
[DEBUG] liquidctl.driver.usb: probing drivers for device 0bda:4937
[DEBUG] liquidctl.driver.usb: searching PyUsbBus (drivers=[AsetekDriver, CommonAsetekDriver, CorsairAsetekDriver, LegacyAsetekDriver])
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0003
[DEBUG] liquidctl.driver.usb: probing drivers for device 046d:085c
[DEBUG] liquidctl.driver.usb: probing drivers for device 0bda:4937
[DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c539
[DEBUG] liquidctl.driver.usb: probing drivers for device 0a12:0001
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0002
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0003
[DEBUG] liquidctl.driver.usb: probing drivers for device 048d:8297
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0002
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0003
[DEBUG] liquidctl.driver.usb: probing drivers for device 1b1c:0c13
[DEBUG] liquidctl.driver.usb: probing drivers for device feed:1307
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0002
[DEBUG] liquidctl.cli: device: Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
[DEBUG] liquidctl.driver.usb: sending feature report 0xcc with 63 bytes: 60:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
[DEBUG] liquidctl.driver.usb: got feature report 0x00 with 63 bytes: 01:00:01:01:00:06:00:00:00:00:00:49:54:38:32:39:37:42:58:2d:47:42:58:35:37:30:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:02:00:01:00:02:00:01:00:00:01:02:00:00:01:97:82:00:00:00:00
[ERROR] liquidctl.cli: Unexpected error with Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
Traceback (most recent call last):
  File "/usr/lib/python3.8/site-packages/liquidctl/cli.py", line 301, in main
    _print_dev_status(dev, dev.initialize(**opts))
  File "/usr/lib/python3.8/site-packages/liquidctl/driver/rgb_fusion2.py", line 185, in initialize
    assert data[0] == _REPORT_ID and data[1] == 0x01
AssertionError
jonasmalacofilho commented 4 years ago

@haringsrob,

Does Endeavour use vanilla Arch Linux packages (for core and community, not AUR), or does it have its own repositories? Also, what python-hidapi, hidapi and libusb versions do you have?

Finally, can you please show me the output of the following command? It should (indirectly) tell me which backend is being used by python-hidapi.

$ find /usr/lib/python3.8 -iname 'hid*.so' -print -exec ldd {} \;

@CaseySJ,

Can you please take a look a this, since you're more familiar than me with this driver?

At first glance it seems like an invalid response (report ID should not be 0 if the device supports reports) from an older firmware version, but maybe you've seen this problem before.

On another front, can you please test the latest code in the main branch (as whole, not just this specific driver) and make sure everything still works for you?

haringsrob commented 4 years ago

Hey @jonasmalacofilho, afaik endeavour uses vanilla, but how can I check? I did install this using yay liquidctl-git.

As for the version checking, not quite sure how to do that.

Output of the command:

rob@  /  find /usr/lib/python3.8 -iname 'hid*.so' -print -exec ldd {} \;
/usr/lib/python3.8/site-packages/hid.cpython-38-x86_64-linux-gnu.so
    linux-vdso.so.1 (0x00007ffe2b54a000)
    libhidapi-hidraw.so.0 => /usr/lib/libhidapi-hidraw.so.0 (0x00007f5965010000)
    libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f5964fee000)
    libc.so.6 => /usr/lib/libc.so.6 (0x00007f5964e27000)
    libudev.so.1 => /usr/lib/libudev.so.1 (0x00007f5964e01000)
    /usr/lib64/ld-linux-x86-64.so.2 (0x00007f596505d000)
jonasmalacofilho commented 4 years ago

@haringsrob,

Hey @jonasmalacofilho, afaik endeavour uses vanilla, but how can I check?

I found a page in Endeavour's docs that appears to say that it's indeed vanilla/from Arch's repositories. But I honestly don't know how to check this either. I guess you could take a look at your /etc/pacman.d/mirrorlist, if it's indeed vanilla there should only be ArchLinux mirrors there.

As for the version checking, not quite sure how to do that.

$ pacman -Q python-hidapi hidapi libusb

Yay has the same option, if you use it for all your package management.

Output of the command:

Thanks!

CaseySJ commented 4 years ago

@jonasmalacofilho,

Just a heads-up...I'll boot into Kubuntu Linux shortly (on the Gigabyte Z490 Vision D) and check the latest code. This system has the 0x5702 controller, but I can still test Linux compatibility of the latest code.

On macOS, however, the latest code (main branch, Fusion 2 driver) works correctly. It was downloaded and tested a couple of hours ago.

I'll test the NZXT Smart Device V2 later in the day since that's on a different machine (ASRock X570 Taichi) that is in temporary storage.

@CaseySJ,

Can you please take a look a this, since you're more familiar than me with this driver?

At first glance it seems like an invalid response (report ID should not be 0 if the device supports reports) from an older firmware version, but maybe you've seen this problem before.

On another front, can you please test the latest code in the main branch (as whole, not just this specific driver) and make sure everything still works for you?

CaseySJ commented 4 years ago

Update

I am not seeing any problems running the latest master branch on Kubuntu Linux 20.04 on my Gigabyte Z490 Vision D. This board has the ITE Tech 0x5702. @sgtsixpack successfully tested an earlier Windows version on Gigabyte X570 with the 0x8297 controller.

casey@Z490-VISION-D:~/.local/lib/python3.8/site-packages/liquidctl/driver$ liquidctl --verbose initialize
Gigabyte RGB Fusion 2.0 5702 Controller (experimental)
├── Hardware name       IT5702-GIGABYTE V1.0.10.0  
├── Firmware version                     1.0.10.0  
└── LED channnels                               7  

casey@Z490-VISION-D:~/.local/lib/python3.8/site-packages/liquidctl/driver$ liquidctl --verbose list
Device ID 0: Gigabyte RGB Fusion 2.0 5702 Controller (experimental)
├── Vendor ID: 0x048d
├── Product ID: 0x5702
├── Release number: 0x0001
├── Bus: hid
├── Address: /dev/hidraw3
└── Driver: RGBFusion2Driver using module hidraw

casey@Z490-VISION-D:~/.local/lib/python3.8/site-packages/liquidctl/driver$ liquidctl -g initialize
[DEBUG] liquidctl.cli: running liquidctl v1.3.3
[DEBUG] liquidctl.driver.usb: searching HidapiBus (api=hidraw, drivers=[CommonSmartDeviceDriver, CoolitPlatinumDriver, CorsairHidPsuDriver, KrakenTwoDriver, KrakenX3Driver, KrakenZ3Driver, RGBFusion2Driver, SeasonicEDriver, SmartDeviceDriver, SmartDeviceV2Driver])
[DEBUG] liquidctl.driver.usb: probing drivers for device 048d:5702
[DEBUG] liquidctl.driver.usb: instanced driver for Gigabyte RGB Fusion 2.0 5702 Controller (experimental)
[DEBUG] liquidctl.driver.usb: probing drivers for device 046d:4051
[DEBUG] liquidctl.driver.usb: probing drivers for device 046d:405b
[DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c52b
[DEBUG] liquidctl.driver.usb: searching PyUsbBus (drivers=[AsetekDriver, CommonAsetekDriver, CorsairAsetekDriver, LegacyAsetekDriver])
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0003
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0002
[DEBUG] liquidctl.driver.usb: probing drivers for device 0bda:0411
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0003
[DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c52b
[DEBUG] liquidctl.driver.usb: probing drivers for device 046d:082d
[DEBUG] liquidctl.driver.usb: probing drivers for device 0bda:5411
[DEBUG] liquidctl.driver.usb: probing drivers for device 8087:0026
[DEBUG] liquidctl.driver.usb: probing drivers for device 048d:5702
[DEBUG] liquidctl.driver.usb: probing drivers for device 05ac:828d
[DEBUG] liquidctl.driver.usb: probing drivers for device 0a5c:4500
[DEBUG] liquidctl.driver.usb: probing drivers for device 05e3:0608
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0002
[DEBUG] liquidctl.cli: device: Gigabyte RGB Fusion 2.0 5702 Controller (experimental)
[DEBUG] liquidctl.driver.usb: sending feature report 0xcc with 63 bytes: 60:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
[DEBUG] liquidctl.driver.usb: got feature report 0xcc with 63 bytes: 01:00:07:01:00:0a:00:00:00:00:00:49:54:35:37:30:32:2d:47:49:47:41:42:59:54:45:20:56:31:2e:30:2e:31:30:2e:30:00:00:00:00:01:02:00:02:00:01:00:02:00:01:00:00:01:02:00:00:01:02:57:00:00:00:00
Gigabyte RGB Fusion 2.0 5702 Controller (experimental)
├── Hardware name       IT5702-GIGABYTE V1.0.10.0  
├── Firmware version                     1.0.10.0  
└── LED channnels                               7  
sgtsixpack commented 4 years ago

Is this a new version? Want me to test? Have u changed anything which could affect things on my end?

jonasmalacofilho commented 4 years ago

@sgtsixpack, I'm not sure what version you are running. Just in case, can you update to the build for f44281d659aa and test?

@CaseySJ, you had a earlier firmware version before? Do you remember whether it was before or after 1.0.6.0?

sgtsixpack commented 4 years ago

Some error here (working ok):

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp>liquidctl initialize all
ERROR: Unexpected error with Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
Traceback (most recent call last):
AssertionError

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp>liquidctl --version
liquidctl v1.3.3 (AppVeyor; liquidctl-f44281d659aa-bin-windows-x86_64)

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp>TIMEOUT 2

Waiting for 0 seconds, press a key to continue ...

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp>liquidctl -m Kraken set fan speed 23 40  24 49  25 55  26 58  27 60  28 66  29 82  30 92  31 98  32 100

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp>liquidctl -m Kraken set pump speed 25 90  26 100

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp>liquidctl -m Kraken set ring color fading FF2608 0B03FF F35B10 --speed fastest

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp>liquidctl -m Kraken set logo color fading F35B10 0B03FF FF2608 --speed fastest

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp>liquidctl -m Gigabyte set sync color static 0052FF

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp>liquidctl status
NZXT Kraken X (X42, X52, X62 or X72)
├── Liquid temperature     28.1  °C
├── Fan speed              1473  rpm
├── Pump speed             2703  rpm
└── Firmware version      6.0.2
CaseySJ commented 4 years ago

@jonasmalacofilho,

My Vision D has always had 1.0.10.0. As you can see from https://github.com/jonasmalacofilho/liquidctl/issues/127#issue-630419203, the original USB captures had 1.0.10.0. Perhaps @sgtsixpack reported 1.0.6.0 on the 0x8297?

@CaseySJ, you had a earlier firmware version before? Do you remember whether it was before or after 1.0.6.0?

jonasmalacofilho commented 4 years ago

@sgtsixpack can you also post the output of liquidctl initialize --debug?

sgtsixpack commented 4 years ago
``` > liquidctl initialize --debug [DEBUG] __main__: running liquidctl v1.3.3 (AppVeyor; liquidctl-f44281d659aa-bin-windows-x86_64) [DEBUG] liquidctl.driver.usb: searching HidapiBus (api=hid, drivers=[CommonSmartDeviceDriver, CoolitPlatinumDriver, CorsairHidPsuDriver, KrakenTwoDriver, KrakenX3Driver, KrakenZ3Driver, RGBFusion2Driver, SeasonicEDriver, SmartDeviceDriver, SmartDeviceV2Driver]) [DEBUG] liquidctl.driver.usb: probing drivers for device 1532:0084 [DEBUG] liquidctl.driver.usb: probing drivers for device 1532:0084 [DEBUG] liquidctl.driver.usb: probing drivers for device 1532:0084 [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c226 [DEBUG] liquidctl.driver.usb: probing drivers for device 1e71:170e [DEBUG] liquidctl.driver.usb: instanced driver for NZXT Kraken X (X42, X52, X62 or X72) [DEBUG] liquidctl.driver.usb: probing drivers for device 1241:1503 [DEBUG] liquidctl.driver.usb: probing drivers for device 1241:1503 [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c232 [DEBUG] liquidctl.driver.usb: probing drivers for device 048d:8297 [DEBUG] liquidctl.driver.usb: probing drivers for device 1532:0084 [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c231 [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c227 [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c227 [DEBUG] liquidctl.driver.usb: probing drivers for device 1241:1503 [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c226 [DEBUG] liquidctl.driver.usb: probing drivers for device 048d:8297 [DEBUG] liquidctl.driver.usb: instanced driver for Gigabyte RGB Fusion 2.0 8297 Controller (experimental) [DEBUG] liquidctl.driver.usb: probing drivers for device 1532:0084 [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c226 [DEBUG] liquidctl.driver.usb: probing drivers for device 1532:0084 [DEBUG] liquidctl.driver.usb: probing drivers for device 1532:0084 [DEBUG] liquidctl.driver.usb: probing drivers for device 1532:0084 [DEBUG] liquidctl.driver.usb: searching PyUsbBus (drivers=[AsetekDriver, CommonAsetekDriver, CorsairAsetekDriver, LegacyAsetekDriver]) [DEBUG] liquidctl.driver.usb: probing drivers for device 1022:149c [DEBUG] liquidctl.driver.usb: probing drivers for device 1e71:170e [DEBUG] liquidctl.driver.usb: probing drivers for device 048d:8297 [DEBUG] liquidctl.driver.usb: probing drivers for device 1058:25a3 [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c227 [DEBUG] liquidctl.driver.usb: probing drivers for device 1058:25a3 [DEBUG] liquidctl.driver.usb: probing drivers for device 05e3:0608 [DEBUG] liquidctl.driver.usb: probing drivers for device 1058:25a3 [DEBUG] liquidctl.driver.usb: probing drivers for device 09a6:8001 [DEBUG] liquidctl.driver.usb: probing drivers for device 1241:1503 [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c223 [DEBUG] liquidctl.driver.usb: probing drivers for device 1022:149c [DEBUG] liquidctl.driver.usb: probing drivers for device 1058:25a3 [DEBUG] liquidctl.driver.usb: probing drivers for device 1058:25a3 [DEBUG] liquidctl.driver.usb: probing drivers for device 152d:2338 [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c226 [DEBUG] liquidctl.driver.usb: probing drivers for device 1022:149c [DEBUG] liquidctl.driver.usb: probing drivers for device 1532:0084 [DEBUG] liquidctl.driver.usb: probing drivers for device 05e3:0608 Too many devices, filter or select one (see: liquidctl --help) ```
jonasmalacofilho commented 4 years ago

Sorry, my bad: liquidctl initialize -m fusion --debug.

sgtsixpack commented 4 years ago
> liquidctl initialize -m fusion --debug
[DEBUG] __main__: running liquidctl v1.3.3 (AppVeyor; liquidctl-f44281d659aa-bin-windows-x86_64)
[DEBUG] liquidctl.driver.usb: searching HidapiBus (api=hid, drivers=[CommonSmartDeviceDriver, CoolitPlatinumDriver, CorsairHidPsuDriver, KrakenTwoDriver, KrakenX3Driver, KrakenZ3Driver, RGBFusion2Driver, SeasonicEDriver, SmartDeviceDriver, SmartDeviceV2Driver])
[...]
[DEBUG] liquidctl.driver.usb: probing drivers for device 048d:8297
[DEBUG] liquidctl.driver.usb: instanced driver for Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
[...]
[DEBUG] liquidctl.driver.usb: searching PyUsbBus (drivers=[AsetekDriver, CommonAsetekDriver, CorsairAsetekDriver, LegacyAsetekDriver])
[...]
[DEBUG] __main__: device: Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
[DEBUG] liquidctl.driver.usb: sending feature report 0xcc with 63 bytes: 60:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
[DEBUG] liquidctl.driver.usb: got feature report 0x00 with 64 bytes: 01:00:01:01:00:06:00:00:00:00:00:49:54:38:32:39:37:42:58:2d:47:42:58:35:37:30:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:02:00:01:00:02:00:01:00:00:01:02:00:00:01:97:82:00:00:00:00:61
[ERROR] __main__: Unexpected error with Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
Traceback (most recent call last):
  File "liquidctl\cli.py", line 301, in main
  File "liquidctl\driver\rgb_fusion2.py", line 185, in initialize
AssertionError
CaseySJ commented 4 years ago

I'll check my installation of Windows with the 0x5702.

CaseySJ commented 4 years ago

No errors on Windows 10 with 0x5702 device:

C:\Users\Casey\Downloads\liquidctl-f44281d659aa-bin-windows-x86_64\liquidctl-f44281d659aa-bin-windows-x86_64>.\liquidctl.exe --verbose initialize
Gigabyte RGB Fusion 2.0 5702 Controller (experimental)
├── Hardware name       IT5702-GIGABYTE V1.0.10.0
├── Firmware version                     1.0.10.0
└── LED channnels                               7
``` C:\Users\Casey\Downloads\liquidctl-f44281d659aa-bin-windows-x86_64\liquidctl-f44281d659aa-bin-windows-x86_64>.\liquidctl.exe -g initialize [DEBUG] __main__: running liquidctl v1.3.3 (AppVeyor; liquidctl-f44281d659aa-bin-windows-x86_64) [DEBUG] liquidctl.driver.usb: searching HidapiBus (api=hid, drivers=[CommonSmartDeviceDriver, CoolitPlatinumDriver, CorsairHidPsuDriver, KrakenTwoDriver, KrakenX3Driver, KrakenZ3Driver, RGBFusion2Driver, SeasonicEDriver, SmartDeviceDriver, SmartDeviceV2Driver]) [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c52b [DEBUG] liquidctl.driver.usb: probing drivers for device 048d:5702 [DEBUG] liquidctl.driver.usb: probing drivers for device 05ac:820a [DEBUG] liquidctl.driver.usb: probing drivers for device 048d:5702 [DEBUG] liquidctl.driver.usb: instanced driver for Gigabyte RGB Fusion 2.0 5702 Controller (experimental) [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c52b [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c52b [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c52b [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c52b [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c52b [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c52b [DEBUG] liquidctl.driver.usb: probing drivers for device 05ac:820b [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c52b [DEBUG] liquidctl.driver.usb: searching PyUsbBus (drivers=[AsetekDriver, CommonAsetekDriver, CorsairAsetekDriver, LegacyAsetekDriver]) [DEBUG] liquidctl.driver.usb: probing drivers for device 8086:15ec [DEBUG] liquidctl.driver.usb: probing drivers for device 8086:15ec [DEBUG] liquidctl.driver.usb: probing drivers for device 0bda:0411 [DEBUG] liquidctl.driver.usb: probing drivers for device 05e3:0608 [DEBUG] liquidctl.driver.usb: probing drivers for device 05ac:820a [DEBUG] liquidctl.driver.usb: probing drivers for device 048d:5702 [DEBUG] liquidctl.driver.usb: probing drivers for device 05ac:828d [DEBUG] liquidctl.driver.usb: probing drivers for device 0bda:5411 [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c52b [DEBUG] liquidctl.driver.usb: probing drivers for device 0a5c:4500 [DEBUG] liquidctl.driver.usb: probing drivers for device 046d:082d [DEBUG] liquidctl.driver.usb: probing drivers for device 05ac:820b [DEBUG] liquidctl.driver.usb: probing drivers for device 8087:0026 [DEBUG] liquidctl.driver.usb: probing drivers for device 8086:06ed [DEBUG] __main__: device: Gigabyte RGB Fusion 2.0 5702 Controller (experimental) [DEBUG] liquidctl.driver.usb: sending feature report 0xcc with 63 bytes: 60:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 [DEBUG] liquidctl.driver.usb: got feature report 0xcc with 64 bytes: 01:00:07:01:00:0a:00:00:00:00:00:49:54:35:37:30:32:2d:47:49:47:41:42:59:54:45:20:56:31:2e:30:2e:31:30:2e:30:00:00:00:00:01:02:00:02:00:01:00:02:00:01:00:00:01:02:00:00:01:02:57:00:00:00:00:00 Gigabyte RGB Fusion 2.0 5702 Controller (experimental) ├── Hardware name IT5702-GIGABYTE V1.0.10.0 ├── Firmware version 1.0.10.0 └── LED channnels 7 ```
sgtsixpack commented 4 years ago

The previous version liquidctl-7c6afd0b01a2-bin-windows-x86_64 had no errors for me.

This one is the one I just tested: liquidctl-f44281d659aa-bin-windows-x86_64

CaseySJ commented 4 years ago

The previous version liquidctl-7c6afd0b01a2-bin-windows-x86_64 had no errors for me.

This one is the one I just tested: liquidctl-f44281d659aa-bin-windows-x86_64

The 0x8297 device does not seem to be placing REPORT_ID 0xcc into the first byte of the reply. The latest driver sends REPORT_ID 0xcc and checks the first byte of the reply for 0xcc. If it receives anything other than 0xcc it raises an assertion that you're seeing.

The 0x5702 device returns REPORT_ID 0xcc so no assertion is raised.

sgtsixpack commented 4 years ago

U think a restart could fix it? Maybe you could write a bit of code to save what it replies with? Would that help?

jonasmalacofilho commented 4 years ago

@sgtsixpack

The previous version liquidctl-7c6afd0b01a2-bin-windows-x86_64 had no errors for me.

That's unexpected, as I can't sse any functional changes to that the assertion or the lower level code that could explain this difference.

Regardless, please test 8cc5c788307d.


@haringsrob

Please test 8cc5c788307d too.

I would also like to see the HID descriptor, can you please post the output of sudo usbhid-dump -d 048d:8297?

sgtsixpack commented 4 years ago

So I tested the one I thought was working and got the same output:

> liquidctl initialize -m fusion --debug
[DEBUG] __main__: running liquidctl v1.3.3 (AppVeyor; liquidctl-7c6afd0b01a2-bin-windows-x86_64)
[DEBUG] liquidctl.driver.usb: searching HidapiBus (api=hid, drivers=[CommonSmartDeviceDriver, CoolitPlatinumDriver, CorsairHidPsuDriver, KrakenTwoDriver, KrakenX3Driver, KrakenZ3Driver, RGBFusion2Driver, SeasonicEDriver, SmartDeviceDriver, SmartDeviceV2Driver])
[...]
[DEBUG] __main__: device: Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
[DEBUG] liquidctl.driver.gigabyte_rgb_fusion: write cc 60 (and 62 padding bytes)
[DEBUG] liquidctl.driver.gigabyte_rgb_fusion: received 00 01 00 01 01 00 06 00 00 00 00 00 49 54 38 32 39 37 42 58 2d 47 42 58 35 37 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 01 00 02 00 01 00 00 01 02 00 00 01 97 82 00 00 00 00 64
[ERROR] __main__: Unexpected error with Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
Traceback (most recent call last):
  File "liquidctl\cli.py", line 303, in main
  File "liquidctl\driver\gigabyte_rgb_fusion.py", line 188, in initialize
AssertionError
sgtsixpack commented 4 years ago

Latest version (8cc5c788307d):

> liquidctl initialize -m fusion --debug
[DEBUG] __main__: running liquidctl v1.3.3 (AppVeyor; liquidctl-8cc5c788307d-bin-windows-x86_64)
[DEBUG] liquidctl.driver.usb: searching HidapiBus (api=hid, drivers=[CommonSmartDeviceDriver, CoolitPlatinumDriver, CorsairHidPsuDriver, KrakenTwoDriver, KrakenX3Driver, KrakenZ3Driver, RGBFusion2Driver, SeasonicEDriver, SmartDeviceDriver, SmartDeviceV2Driver])
[...]
[DEBUG] __main__: device: Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
[DEBUG] liquidctl.driver.usb: sending feature report 0xcc with 63 bytes: 60:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
[DEBUG] liquidctl.driver.usb: got feature report 0x00 with 64 bytes: 01:00:01:01:00:06:00:00:00:00:00:49:54:38:32:39:37:42:58:2d:47:42:58:35:37:30:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:02:00:01:00:02:00:01:00:00:01:02:00:00:01:97:82:00:00:00:00:30
Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
├── Hardware name       IT8297BX-GBX570
├── Firmware version            1.0.6.0
└── LED channels                      1
jonasmalacofilho commented 4 years ago

Does this number of channels (1) makes sense?

sgtsixpack commented 4 years ago

Manual says:

8) LED_C1/LED_C2 (RGB LED strip Headers) 12v/G/R/B

9) D_LED1/D_LED2 (Addressable LED Strip Headers) 5v/D/nc/G

10) LED_CPU (CPU Cooler LED Strip/RGB LED Strip Header) 12v/G/R/B

but 8 & 9 are duplicated on different corners of the board.

https://www.gigabyte.com/Motherboard/X570-AORUS-ELITE-rev-10/support#support-manual

So my board has at three channels for plugable strips (5 plugables in total). It has lighting on the motherboard itself. I believe on the IO port and near the onboard audio. So that is five channels. I need to check though, and I do not have RGB fusion installed.

sgtsixpack commented 4 years ago

I need to test the channels individually, I've been using sync and I can't find the commands in the manual. Maybe its in the repository.

LED1: IOports LED2: no effect/ not plugged in LED3: no effect/ not plugged in LED4: HD audio LED5: no effect/ not plugged in LED6: My O11 dynamic case strip is plugged into this (exact location on board needs to be checked) LED7: no effect/ not plugged in

" Channel names

As much as we would like to use descriptive channel names, currently it is not practical to do so, since the correspondence between the hardware channels and the corresponding features on the motherboard is not stable. Hence, lighting channels are given generic names: led1, led2, etc. At this time, 7 lighting channels are defined; a 'sync' channel is also provided, which applies the specified setting to all lighting channels. Each user may need to create a table that associates generic channel names to specific areas or headers on their motherboard. For example, a map for the Gigabyte Z490 Vision D might look like this:

CaseySJ commented 4 years ago

@sgtsixpack, your board certainly has more than 1 LED channel.

@jonasmalacofilho, I just took a glance at the OpenRGB project on GitHub, in which it appears that the same assumption is made. Namely, the 4th byte (3rd after REPORT_ID) is thought to be "total LEDs". (This is my first time looking at that code.)

If this field is unreliable, we can remove it. Because we don't enforce number of channels, it's of no consequence. In other words, all seven channels that are currently defined, led1, led2, ..., led7, are available at all times, whether the board reports having 1 channel or N channels.


I misinterpreted the code; that's a struct and not a decode of the byte stream. The byte stream does not contain led count if we use this as an example.

jonasmalacofilho commented 4 years ago

@CaseySJ, I agree.

sgtsixpack commented 4 years ago

Just incase u missed it:

"LED1: IOports LED2: no effect/ not plugged in LED3: no effect/ not plugged in LED4: HD audio LED5: no effect/ not plugged in LED6: My O11 dynamic case strip is plugged into this (exact location on board needs to be checked) LED7: no effect/ not plugged in"

My case strip is plugged in at the bottom either 8 or 9.
https://imgur.com/a/LUOK7rF

I used to have RGB ram, I'm wondering is this one of the LED channels? I still have it but I have Patriot Viper 4400 which even @ 3600 c16 is better than Corsair Vengence Pro RGB M2Z3600C18.

CaseySJ commented 4 years ago

Okay, we can try enabling LED8. We would need to change this code to this:

_COLOR_CHANNELS = {
    'led1': (0x20, 0x01),
    'led2': (0x21, 0x02),
    'led3': (0x22, 0x04),
    'led4': (0x23, 0x08),
    'led5': (0x24, 0x10),
    'led6': (0x25, 0x20),
    'led7': (0x26, 0x40),
    'led8': (0x27, 0x80),
}

I used to have RGB ram, I'm wondering is this one of the LED channels? I still have it but I have Patriot Viper 4400 which even @ 3600 c16 is better than Corsair Vengence Pro RGB M2Z3600C18.

jonasmalacofilho commented 4 years ago

Notice: this release may be affected by #157. Fixed already.

I'm also expecting a similar issue to be opened for Fedora, since it too has updated to the broken hidapi modules. Actually, Fedora appears to have held off on updating to the broken python-hidapi version.

haringsrob commented 4 years ago

Hey, seems like all is good now.

 rob@harings  /  liquidctl list
Device ID 0: Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
 rob@harings  /  liquidctl initialize all --debug
[DEBUG] liquidctl.cli: running liquidctl v1.3.3 (EndeavourOS; liquidctl-git 1.3.3.r284.2c24b02-1)
[DEBUG] liquidctl.driver.usb: searching HidapiBus (api=hid, drivers=[CommonSmartDeviceDriver, CoolitPlatinumDriver, CorsairHidPsuDriver, KrakenTwoDriver, KrakenX3Driver, KrakenZ3Driver, RGBFusion2Driver, SeasonicEDriver, SmartDeviceDriver, SmartDeviceV2Driver])
[DEBUG] liquidctl.driver.usb: probing drivers for device feed:1307
[DEBUG] liquidctl.driver.usb: probing drivers for device feed:1307
[DEBUG] liquidctl.driver.usb: probing drivers for device 048d:8297
[DEBUG] liquidctl.driver.usb: instanced driver for Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
[DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c539
[DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c539
[DEBUG] liquidctl.driver.usb: probing drivers for device 046d:407f
[DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c539
[DEBUG] liquidctl.driver.usb: probing drivers for device 0bda:4937
[DEBUG] liquidctl.driver.usb: searching PyUsbBus (drivers=[AsetekDriver, CommonAsetekDriver, CorsairAsetekDriver, LegacyAsetekDriver])
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0003
[DEBUG] liquidctl.driver.usb: probing drivers for device 046d:085c
[DEBUG] liquidctl.driver.usb: probing drivers for device 0bda:4937
[DEBUG] liquidctl.driver.usb: probing drivers for device 046d:c539
[DEBUG] liquidctl.driver.usb: probing drivers for device 0a12:0001
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0002
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0003
[DEBUG] liquidctl.driver.usb: probing drivers for device 048d:8297
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0002
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0003
[DEBUG] liquidctl.driver.usb: probing drivers for device 1b1c:0c13
[DEBUG] liquidctl.driver.usb: probing drivers for device feed:1307
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0002
[DEBUG] liquidctl.cli: device: Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
[DEBUG] liquidctl.driver.usb: sending feature report 0xcc with 63 bytes: 60:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
[DEBUG] liquidctl.driver.usb: got feature report 0x00 with 63 bytes: 01:00:01:01:00:06:00:00:00:00:00:49:54:38:32:39:37:42:58:2d:47:42:58:35:37:30:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:02:00:01:00:02:00:01:00:00:01:02:00:00:01:97:82:00:00:00:00
Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
├── Hardware name       IT8297BX-GBX570
└── Firmware version            1.0.6.0

However commands seem to take no effect.

rob@harings  /  liquidctl set fan speed 100
ERROR: Unexpected error with Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
Traceback (most recent call last):
NotImplementedError

status also comes up empty, maybe I have to set something? Anyway if you want me to take this to a new issue let me know.

jonasmalacofilho commented 4 years ago

@haringsrob,

This controller doesn't support fan control or report any (variable) status information. So those are expected, although I agree that the error message could be improved.

But can you show me the HID descriptor of this device? You can get it by installing usbutils and running sudo usbhid-dump -d 048d:8297.

haringsrob commented 4 years ago

Sure:

003:002:000:DESCRIPTOR         1595619527.478157
 06 89 FF 09 10 A1 01 85 5A 09 01 15 00 26 FF 00
 75 08 95 10 B1 00 C0 06 89 FF 09 CC A1 01 85 CC
 09 01 15 00 26 FF 00 75 08 95 3F B1 00 C0
jonasmalacofilho commented 4 years ago

@haringsrob Thank you!


@CaseySJ,

Decoding this (using a convenient online tool) we get...

0x06, 0x89, 0xFF,  // Usage Page (Vendor Defined 0xFF89)
0x09, 0x10,        // Usage (0x10)
0xA1, 0x01,        // Collection (Application)
0x85, 0x5A,        //   Report ID (90)
0x09, 0x01,        //   Usage (0x01)
0x15, 0x00,        //   Logical Minimum (0)
0x26, 0xFF, 0x00,  //   Logical Maximum (255)
0x75, 0x08,        //   Report Size (8)
0x95, 0x10,        //   Report Count (16)
0xB1, 0x00,        //   Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0,              // End Collection
0x06, 0x89, 0xFF,  // Usage Page (Vendor Defined 0xFF89)
0x09, 0xCC,        // Usage (0xCC)
0xA1, 0x01,        // Collection (Application)
0x85, 0xCC,        //   Report ID (-52)
0x09, 0x01,        //   Usage (0x01)
0x15, 0x00,        //   Logical Minimum (0)
0x26, 0xFF, 0x00,  //   Logical Maximum (255)
0x75, 0x08,        //   Report Size (8)
0x95, 0x3F,        //   Report Count (63)
0xB1, 0x00,        //   Feature (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0,              // End Collection

// 46 bytes

This is all pretty much in line with our driver, and (according to the spec) the 8297 devices should respond with the report ID too.

I'll add some notes in the code indicating that this has been checked and that it is indeed a bug in the device, not our code.

CaseySJ commented 4 years ago

@jonasmalacofilho,

Let's also add led8 per this comment above.

mburgholte commented 4 years ago

Hi, I've a problem under Linux Mint 19 and kernel 5.4.0-42-generic. Initialization throws an error. Everything else works like a charm. By the way, I don't need RGB Fusion. Is there a way to ignore this device?


[DEBUG] liquidctl.cli: running liquidctl v1.3.3 (4028c26e1b05)
[DEBUG] liquidctl.driver.usb: searching HidapiBus (api=hidraw, drivers=[CorsairHidPsu, HydroPlatinum, Kraken2, KrakenX3, KrakenZ3, NzxtEPsu, RGBFusion2Driver, SmartDevice, SmartDevice2, _CommonSmartDeviceDriver])
[DEBUG] liquidctl.driver.usb: probing drivers for device 048d:8297
[DEBUG] liquidctl.driver.usb: instanced driver for Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
[DEBUG] liquidctl.driver.usb: probing drivers for device 1e71:2007
[DEBUG] liquidctl.driver.usb: instanced driver for NZXT Kraken X (X53, X63 or X73) (experimental)
[DEBUG] liquidctl.driver.usb: probing drivers for device 1e71:2006
[DEBUG] liquidctl.driver.usb: instanced driver for NZXT Smart Device V2
[DEBUG] liquidctl.driver.usb: probing drivers for device 1e71:1711
[DEBUG] liquidctl.driver.usb: instanced driver for NZXT Grid+ V3
[DEBUG] liquidctl.driver.usb: probing drivers for device 1e71:2001
[DEBUG] liquidctl.driver.usb: instanced driver for NZXT HUE 2
[DEBUG] liquidctl.driver.usb: probing drivers for device 1e71:2002
[DEBUG] liquidctl.driver.usb: instanced driver for NZXT HUE 2 Ambient
[DEBUG] liquidctl.driver.usb: probing drivers for device 1038:1610
[DEBUG] liquidctl.driver.usb: probing drivers for device 1038:1610
[DEBUG] liquidctl.driver.usb: probing drivers for device 1038:1610
[DEBUG] liquidctl.driver.usb: probing drivers for device 1038:1610
[DEBUG] liquidctl.driver.usb: probing drivers for device 1038:1610
[DEBUG] liquidctl.driver.usb: probing drivers for device 1038:1726
[DEBUG] liquidctl.driver.usb: probing drivers for device 1038:1726
[DEBUG] liquidctl.driver.usb: probing drivers for device 1038:1726
[DEBUG] liquidctl.driver.usb: probing drivers for device 1038:1726
[DEBUG] liquidctl.driver.usb: probing drivers for device 0424:274c
[DEBUG] liquidctl.driver.usb: searching PyUsbBus (drivers=[Hydro690Lc, Legacy690Lc, Modern690Lc, _CommonAsetekDriver])
[DEBUG] liquidctl.driver.usb: probing drivers for device 0424:5734
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0003
[DEBUG] liquidctl.driver.usb: probing drivers for device 0424:274c
[DEBUG] liquidctl.driver.usb: probing drivers for device 1038:1726
[DEBUG] liquidctl.driver.usb: probing drivers for device 1038:1610
[DEBUG] liquidctl.driver.usb: probing drivers for device 0424:2734
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0002
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0003
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0002
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0003
[DEBUG] liquidctl.driver.usb: probing drivers for device 1e71:2002
[DEBUG] liquidctl.driver.usb: probing drivers for device 05e3:0608
[DEBUG] liquidctl.driver.usb: probing drivers for device 8087:0029
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0002
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0003
[DEBUG] liquidctl.driver.usb: probing drivers for device 1e71:2001
[DEBUG] liquidctl.driver.usb: probing drivers for device 05e3:0608
[DEBUG] liquidctl.driver.usb: probing drivers for device 1e71:1711
[DEBUG] liquidctl.driver.usb: probing drivers for device 1e71:2006
[DEBUG] liquidctl.driver.usb: probing drivers for device 05e3:0608
[DEBUG] liquidctl.driver.usb: probing drivers for device 1e71:2007
[DEBUG] liquidctl.driver.usb: probing drivers for device 05e3:0608
[DEBUG] liquidctl.driver.usb: probing drivers for device 048d:8297
[DEBUG] liquidctl.driver.usb: probing drivers for device 1d6b:0002
[DEBUG] liquidctl.cli: device: Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
[DEBUG] liquidctl.driver.usb: sending feature report 0xcc with 63 bytes: 60:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
ioctl (GFEATURE): Value too large for defined data type
[ERROR] liquidctl.cli: Unexpected error with Gigabyte RGB Fusion 2.0 8297 Controller (experimental)
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/liquidctl-1.3.3-py3.6.egg/liquidctl/cli.py", line 300, in main
    _print_dev_status(dev, dev.initialize(**opts))
  File "/usr/local/lib/python3.6/dist-packages/liquidctl-1.3.3-py3.6.egg/liquidctl/driver/rgb_fusion2.py", line 184, in initialize
    data = self._get_feature_report(_REPORT_ID)
  File "/usr/local/lib/python3.6/dist-packages/liquidctl-1.3.3-py3.6.egg/liquidctl/driver/rgb_fusion2.py", line 288, in _get_feature_report
    return self.device.get_feature_report(report_id, _REPORT_BYTE_LENGTH)
  File "/usr/local/lib/python3.6/dist-packages/liquidctl-1.3.3-py3.6.egg/liquidctl/driver/usb.py", line 433, in get_feature_report
    LOGGER.debug('got feature report 0x%02x with %d bytes: %r', data[0],
IndexError: list index out of range
jonasmalacofilho commented 4 years ago

@mburgholte, can you show me your complete lsusb output and HID descriptor for your RGB Fusion?

You can get the latter by installing usbutils and running sudo usbhid-dump -d 048d:8297, and the former with lsusb -v -d 048d:8297.

mburgholte commented 4 years ago

Hi @jonasmalacofilho, for sure. Please find below the requested informations.


usbhid-dump -d 048d:8297
001:002:000:DESCRIPTOR         1595957044.011398
 06 89 FF 09 10 A1 01 85 5A 09 01 15 00 26 FF 00
 75 08 95 10 B1 00 C0 06 89 FF 09 CC A1 01 85 CC
 09 01 15 00 26 FF 00 75 08 95 3F B1 00 C0

lsusb -v -d 048d:8297

Bus 001 Device 002: ID 048d:8297 Integrated Technology Express, Inc. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x048d Integrated Technology Express, Inc.
  idProduct          0x8297 
  bcdDevice            0.03
  iManufacturer           1 ITE Tech. Inc.
  iProduct                2 ITE Device(8595)
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      46
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
Device Status:     0x0001
  Self Powered
jonasmalacofilho commented 4 years ago

@haringsrob,

Due to this new issue with the 8297 controllers, can I also ask you for the output of lsusb -v -d 048d:8297?

jonasmalacofilho commented 4 years ago

@mburgholte

In the meantime, you can also use the filter options (of which -m <case insensitive substring of the description> is generally the most convenient) to restrict which devices you want status and initialize to work on.

It's an inclusive filter, and I honestly don't plan to add an exclusive one. But, luckily, all of your other devices will match -m nzxt, so you can use that to "ignore" the problematic motherboard controller.


When you said that "Everything else works like a charm", did you mean the other devices or other commands on the same RGB Fusion controller?

sgtsixpack commented 4 years ago

Can you troubleshoot my path again plz? I just reinstalled with a 56GB Raid 10 (4 x 14TB £170 WD140EMFZ, R/N US7SAP140).

Powershell told me to use the command .\liquidctl and that worked but I don't know why my path isn't. Under environmental variables/ User variables for SgtSixpack Path %USERPROFILE%\AppData\Local\Microsoft\WindowsApps; %USERPROFILE%\SgtSixpack\Documents

Going to reboot 1 more time, and see if I fixed it.

https://imgur.com/a/CRwUow9

PS C:\users\sgtsixpack\documents> liquidctl -h liquidctl : The term 'liquidctl' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1

Suggestion [3,General]: The command liquidctl was not found, but does exist in the current location. Windows PowerShell does not load commands from the current location by default. If you trust this command, instead type: ".\liquidctl". See "get-help about_Command_Precedence" for more details. PS C:\users\sgtsixpack\documents> .\liquidctl -h liquidctl – monitor and control liquid coolers and other devices.

Usage: liquidctl [options] list liquidctl [options] initialize [all] liquidctl [options] status liquidctl [options] set speed ( ) ... liquidctl [options] set speed liquidctl [options] set color [] ... liquidctl --help liquidctl --version

Device selection options (see: list -v): -m, --match Filter devices by description substring -n, --pick Pick among many results for a given filter --vendor Filter devices by vendor id --product Filter devices by product id --release Filter devices by release number --serial Filter devices by serial number --bus Filter devices by bus --address

Filter devices by address in bus --usb-port Filter devices by USB port in bus -d, --device Select device by listing id

Animation options (devices/modes can support zero or more): --speed Abstract animation speed (device/mode specific) --time-per-color Time to wait on each color (seconds) --time-off Time to wait with the LED turned off (seconds) --alert-threshold Threshold temperature for a visual alert (°C) --alert-color Color used by the visual high temperature alert

Other device options: --single-12v-ocp Enable single rail +12V OCP --pump-mode Set the pump mode (certain Corsair coolers) --legacy-690lc Use Asetek 690LC in legacy mode (old Krakens) --unsafe Comma-separated bleeding-edge features to enable

Other interface options: -v, --verbose Output additional information -g, --debug Show debug information on stderr --version Display the version number --help Show this message

Deprecated: --hid Deprecated

Examples: liquidctl list --verbose liquidctl initialize all liquidctl --match kraken set pump speed 90 liquidctl --product 0x170e set led color fading 350017 ff2608 liquidctl status

Copyright (C) 2018–2020 Jonas Malaco, CaseySJ, Tom Frey and contributors

liquidctl incorporates work by leaty, Ksenija Stanojevic, Alexander Tong, Jens Neumaier, Kristóf Jakab, Sean Nelson, Chris Griffith, notaz, realies and Thomas Pircher.

SPDX-License-Identifier: GPL-3.0-or-later

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. PS C:\users\sgtsixpack\documents>

jonasmalacofilho commented 4 years ago

@sgtsixpack,

This was off-topic; in the future, please try reach me through email, twitter or discord for general help. That said, I think your problem is that you meant to use %USERPROFILE%\Documents, since %USERPROFILE% should already point to C:\Users\SgtSixpack\.

haringsrob commented 4 years ago

Hey @jonasmalacofilho here it is:

❯ lsusb -v -d 048d:8297

Bus 003 Device 003: ID 048d:8297 Integrated Technology Express, Inc. ITE Device(8595)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x048d Integrated Technology Express, Inc.
  idProduct          0x8297
  bcdDevice            0.03
  iManufacturer           1 ITE Tech. Inc.
  iProduct                2 ITE Device(8595)
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0022
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      46
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0001
  Self Powered
mburgholte commented 4 years ago

@mburgholte

In the meantime, you can also use the filter options (of which -m <case insensitive substring of the description> is generally the most convenient) to restrict which devices you want status and initialize to work on.

It's an inclusive filter, and I honestly don't plan to add an exclusive one. But, luckily, all of your other devices will match -m nzxt, so you can use that to "ignore" the problematic motherboard controller.

When you said that "Everything else works like a charm", did you mean the other devices or other commands on the same RGB Fusion controller?

Hi @jonasmalacofilho, I don't use this rgb controller. My NZXT devices are working very well.

jonasmalacofilho commented 4 years ago

@mburgholte,

Got it, thanks!

Can you test if you're again able to initialize all devices with 0c8f1bdbcd4a or later?

mburgholte commented 4 years ago

@mburgholte,

Got it, thanks!

Can you test if you're again able to initialize all devices with 0c8f1bd or later?

Hi @jonasmalacofilho, it works! Thanks a lot.

jonasmalacofilho commented 4 years ago

@mburgholte, great! And once again, thanks!

jonasmalacofilho commented 4 years ago

Done, liquidctl v1.4.0 is out! : )