liquidctl icon indicating copy to clipboard operation
liquidctl copied to clipboard

New device: AORUS WATERFORCE 280

Open wllianwd opened this issue 2 years ago • 5 comments

Device type

AIO Liquid Cooler

Product page

https://www.gigabyte.com/es/CPU-Cooler/AORUS-WATERFORCE-280#kf

First-party software

AORUS ENGINE (RGB Fusion 2.0)

What monitoring functionality does the device support?

  • Fan speed
  • HPump speed

What configuration functionality does the device support?

  • Fan speed
  • HPump speed
  • RGB for HPump head and fans

Physical connection

USB Header

Connection protocol

USB

Additional information about the device

$ lsusb -v -d 1044:7a51
Bus 004 Device 004: ID 1044:7a51 Chu Yuen Enterprise Co., Ltd GIGABYTE CPU Cooler
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1044 Chu Yuen Enterprise Co., Ltd
  idProduct          0x7a51 
  bcdDevice            1.00
  iManufacturer           1 ROCCAT
  iProduct                2 GIGABYTE CPU Cooler
  iSerial                 3 000000000000
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0062
    bNumInterfaces          3
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus 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      2 Mouse
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      24
         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
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      34
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Warning: Descriptor too short
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         2
          bDescriptorType        34 Report
          wDescriptorLength      47
          bDescriptorType         0 (null)
          wDescriptorLength       0
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               4
Device Status:     0x0000
  (Bus Powered)

Can you help with implementing or testing the changes needed for liquidctl to support this device?

testing changes on Linux, attempting to capture USB/HID traffic

USB Traffic: https://drive.google.com/file/d/1zvEveQITOFvpo4OHm7PXVbnTpxbN2DjV/view?usp=sharing

wllianwd avatar Apr 14 '23 17:04 wllianwd

I owned a Waterforce x240, maybe this thread would give you some idea https://github.com/liquidctl/liquidctl/issues/167 Seems Waterforce x240 is different from Waterforce 280 though.

amazonparrot avatar Apr 29 '23 14:04 amazonparrot

what kind of procedure does follow in order to be able to control the aorus waterforce via liquidctl

joaortizro avatar May 01 '23 05:05 joaortizro

According to my findings, for the non-X variants of the AORUS Waterforce, the official software flashes the firmware on every boot. Implementing support is impossible without redistributing the firmware files. IMO, this is how Gigabyte achieved the reduction in price compared to the X models.

aleksamagicka avatar Nov 24 '23 17:11 aleksamagicka

(Somewhat tangential to this issue but...)

@aleksamagicka, do you known if anyone has tried to take a look at the firmware from GitHub, and/or create a custom firmware for these devices?

jonasmalacofilho avatar Nov 26 '23 12:11 jonasmalacofilho

Interesting idea, but no one did that AFAIK. In case anyone's interested, I zipped up the firmware and executables (most seem to be in C#): AIO_waterforce_software.zip

Unfortunately I'm not going to be of much help for RE-ing the firmware, but I just opened up the cover and the processor seems to be Holtek ht32f52352.

aleksamagicka avatar Nov 26 '23 13:11 aleksamagicka