alienfx icon indicating copy to clipboard operation
alienfx copied to clipboard

Support for LEDs on 15 R4

Open skandragon opened this issue 6 years ago • 7 comments

Bus 001 Device 002: ID 187c:0550 Alienware Corporation 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x187c Alienware Corporation
  idProduct          0x0550 
  bcdDevice            2.00
  iManufacturer           1 Alienware
  iProduct                2 AW-ELC
  iSerial                 3 00.01
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           41
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      25
         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     0x0021  1x 33 bytes
        bInterval              10
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0021  1x 33 bytes
        bInterval             100
Device Status:     0x0001
  Self Powered

skandragon avatar Jun 03 '18 20:06 skandragon

Do you have a patch? Most contributors only submit a patch for the alienfx hardware variants they have direct access to, since they can test those, so you might be waiting a while otherwise.

erlkonig avatar Jun 03 '18 21:06 erlkonig

I don't (yet) have a patch. I started with the 15R3 variant, but it doesn't seem to be changing anything yet. I'll see if I can get something working.

skandragon avatar Jun 03 '18 21:06 skandragon

This would be really useful for me as well - @skandragon do you have currently a repo where you are working on this?

axsaucedo avatar Oct 10 '18 07:10 axsaucedo

The new models since 13R3 needs 12 byte instruction to send to HID instead of the original 9. I have made the SDK which supports all alienware laptops. You can take it as reference.

https://github.com/Gurjot95/AlienFX-SDK/tree/master/AlienFX_SDK

Gurjot95 avatar Oct 30 '18 12:10 Gurjot95

Thanks for the info Gurjot95

erlkonig avatar Nov 06 '18 02:11 erlkonig

I have the same controller in a Dell G5 SE 5505 (same USB product and vendor IDs). Turns out the protocol for this device is very different than both of the older ones. Someone managed to figure out a lot of the protocol, although there might be a typo or two: https://github.com/trackmastersteve/alienfx/issues/41#issuecomment-465388185

I've been working on getting it working for OpenRGB here: https://gitlab.com/CalcProgrammer1/OpenRGB/-/merge_requests/461

Basic gist, the new protocol uses 33 bytes. The first byte is always 0x03, the second one is a command byte, and anything after that depends on the command. There's supposed to be a status command, but I haven't been able to figure out the meaning of the subcommands for that command. I have successfully been able to reprogram the keyboard to dim and brighten, and to change colors and mode.

gemarcano avatar Apr 30 '21 05:04 gemarcano

I no longer use this hardware, so won't be making a patch. :/. Sorry everyone!

skandragon avatar Apr 30 '21 15:04 skandragon