rsm-gh / akbl

Control the lights of Alienware computers under GNU/Linux systems.
GNU General Public License v3.0
127 stars 24 forks source link

Add support to Alienware M15 R5 #101

Open Cblakslee opened 3 years ago

Cblakslee commented 3 years ago

System information

DISTRIB_ID=Pop DISTRIB_RELEASE=21.04 DISTRIB_CODENAME=hirsute DISTRIB_DESCRIPTION="Pop!_OS 21.04"

Device: ID 187c:0550 Alienware Corporation LED controller
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x187c Alienware Corporation
  idProduct          0x0550 LED controller
  bcdDevice            2.00
  iManufacturer           1 Alienware
  iProduct                2 AW-ELC
  iSerial                 3 00.01
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0029
    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 
      bInterfaceProtocol      0 
      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

Bug description

Does not support my computer model. Please make a config file for me! Thank you!

rsm-gh commented 3 years ago

Hello @Cblakslee ,

I just committed dbe5184fa3f36642dc19190eca237c9398684740 the configuration file. And I'm not quite sure if those computers are supported. Can you give me a feedback please? It is probably the same status for the R2,3 and 4.

Best regards, rsm

rsm-gh commented 3 years ago

Also I saw the message: Couldn't open device, some information will be missing, probably it will require some debugging.

RossComputerGuy commented 2 years ago

I have an Alienware M15 R5 and I get a message saying The computer is not supported.. I'm running Debian 11.

rsm-gh commented 2 years ago

Hello @RossComputerGuy,

That is strange, what is the output of the lsusb command executed as root? I also use Debian 11.

RossComputerGuy commented 2 years ago
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 0d62:3740 Darfon Electronics Corp.
Bus 003 Device 003: ID 187c:0550 Alienware Corporation LED controller
Bus 003 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0bda:5541 Realtek Semiconductor Corp. Integrated_Webcam_HD
Bus 001 Device 002: ID 8087:0029 Intel Corp. AX200 Bluetooth
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
rsm-gh commented 2 years ago

@RossComputerGuy and then lsusb -D /dev/bus/usb/003/003 ?

RossComputerGuy commented 2 years ago
Device: ID 0d62:3740 Darfon Electronics Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x0d62 Darfon Electronics Corp.
  idProduct          0x3740
  bcdDevice            1.00
  iManufacturer           0
  iProduct                0
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x002b
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower               16mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      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.11
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     134
         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     0x0020  1x 32 bytes
        bInterval               1
can't get device qualifier: Resource temporarily unavailable
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0000
  (Bus Powered)

(ran with doas/sudo)

rsm-gh commented 2 years ago

@RossComputerGuy Maybe you have some error in your system with the libusb library. lsusb -D /dev/bus/usb/003/003 should point to Bus 003 Device 003: ID 187c:0550 Alienware Corporation LED controller.

If I remember well, some user posted long time ago on the akbl bugs that the libusb library can be "refreshed", maybe they are not pointing to the right devices.

RossComputerGuy commented 2 years ago

This is a brand new install so I'm not sure what's wrong

rsm-gh commented 2 years ago

@RossComputerGuy did you already restart your computer? Normally after updating linux the system needs to reboot or the USB devices do not respond as they should

RossComputerGuy commented 2 years ago

Yes, I've rebooted like 5 times since the issue started

rsm-gh commented 2 years ago

@RossComputerGuy Well, if you manage to fix the libusb problem you will probably be able of using akbl. When executing the command lsusb -D /dev/bus/usb/<bus>/<device> you should print the Alienware Corporation LED controller.

RossComputerGuy commented 2 years ago

Ok, lsusb is working for some reason now. AKBL does not work.

Device: ID 187c:0550 Alienware Corporation LED controller
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            0
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x187c Alienware Corporation
  idProduct          0x0550 LED controller
  bcdDevice            2.00
  iManufacturer           1 Alienware
  iProduct                2 AW-ELC
  iSerial                 3 00.01
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0029
    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
      bInterfaceProtocol      0
      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
Binary Object Store Descriptor:
  bLength                 5
  bDescriptorType        15
  wTotalLength       0x0021
  bNumDeviceCaps          1
  Platform Device Capability:
    bLength                28
    bDescriptorType        16
    bDevCapabilityType      5
    bReserved               0
    PlatformCapabilityUUID    {d8dd60df-4589-4cc7-9cd2-659d9e648a9f}
    CapabilityData[0]    0x00
    CapabilityData[1]    0x00
    CapabilityData[2]    0x03
    CapabilityData[3]    0x06
    CapabilityData[4]    0x48
    CapabilityData[5]    0x00
    CapabilityData[6]    0x01
    CapabilityData[7]    0x00
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0001
  Self Powered

It is /dev/bus/usb/003/002.

rsm-gh commented 2 years ago

@RossComputerGuy ok but what about the output of lsusb is it alright and displaying 003/002 for the alienware Device? is there any error? Mayabe you should try to manually connect to the keyboard by using the
block testing window

RossComputerGuy commented 2 years ago

lsusb with no arguments works just fine. But the block testing window does not.

No protocol specified
Unable to init server: Could not connect: Connection refused
No protocol specified
Unable to init server: Could not connect: Connection refused

(block_testing.py:4388): Gtk-CRITICAL **: 09:08:39.890: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed

(block_testing.py:4388): Gtk-CRITICAL **: 09:08:39.890: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed

(block_testing.py:4388): Gtk-CRITICAL **: 09:08:39.890: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed
/usr/bin/akbl: line 26:  4388 Segmentation fault      python3 /usr/share/AKBL/launch/block_testing.py
rsm-gh commented 2 years ago

@RossComputerGuy It seems like settings / configuration problems on your computer, you may find some info on posts like this.

I've seen similar errors when the sh environment is not correctly configured, I think that you need to try by loggin on the root user with the following command su - and then launching the akbl block testing.

rsm~

RossComputerGuy commented 2 years ago

Block testing window works now, it can find the controller. I didn't know graphical programs didn't like Wayland through sudo. Changing the colors changes nothing, pushed the "lights off" button and the program froze.

(block_testing.py:18251): dconf-WARNING **: 19:54:27.377: failed to commit changes to dconf: Error spawning command line “dbus-launch --autolaunch=e9ff0cf81c55497fa23b6feff63d457b --binary-syntax --close-stderr”: Child process exited with code 1

(block_testing.py:18251): dconf-WARNING **: 19:54:27.377: failed to commit changes to dconf: Error spawning command line “dbus-launch --autolaunch=e9ff0cf81c55497fa23b6feff63d457b --binary-syntax --close-stderr”: Child process exited with code 1

(block_testing.py:18251): Gtk-WARNING **: 19:54:27.379: Unknown type < define a new column > specified in treemodel liststore_default_blocks

(block_testing.py:18251): Gtk-WARNING **: 19:54:27.379: ../gtk/gtk/gtkliststore.c:518: Invalid type (null)
lsusb: symbol lookup error: lsusb: undefined symbol: libusb_get_port_numbers

(block_testing.py:18251): dconf-WARNING **: 19:54:59.616: failed to commit changes to dconf: Error spawning command line “dbus-launch --autolaunch=e9ff0cf81c55497fa23b6feff63d457b --binary-syntax --close-stderr”: Child process exited with code 1

(block_testing.py:18251): dconf-WARNING **: 19:54:59.616: failed to commit changes to dconf: Error spawning command line “dbus-launch --autolaunch=e9ff0cf81c55497fa23b6feff63d457b --binary-syntax --close-stderr”: Child process exited with code 1

(block_testing.py:18251): dconf-WARNING **: 19:54:59.619: failed to commit changes to dconf: Error spawning command line “dbus-launch --autolaunch=e9ff0cf81c55497fa23b6feff63d457b --binary-syntax --close-stderr”: Child process exited with code 1

(block_testing.py:18251): dconf-WARNING **: 19:54:59.619: failed to commit changes to dconf: Error spawning command line “dbus-launch --autolaunch=e9ff0cf81c55497fa23b6feff63d457b --binary-syntax --close-stderr”: Child process exited with code 1

(block_testing.py:18251): dconf-WARNING **: 19:54:59.619: failed to commit changes to dconf: Error spawning command line “dbus-launch --autolaunch=e9ff0cf81c55497fa23b6feff63d457b --binary-syntax --close-stderr”: Child process exited with code 1

(block_testing.py:18251): dconf-WARNING **: 19:55:00.822: failed to commit changes to dconf: Error spawning command line “dbus-launch --autolaunch=e9ff0cf81c55497fa23b6feff63d457b --binary-syntax --close-stderr”: Child process exited with code 1