akbl icon indicating copy to clipboard operation
akbl copied to clipboard

Add support to m15 R6

Open cagp-dev-mtl opened this issue 2 years ago • 6 comments

Hi @rsm-gh , thank you for developing this cool project for the Linux community.

Could you please add support for the model M15 R6, I tried to install akbl but my laptop is recognized as a M15 R4:

image

Then I am able to see the AKBL interface however when I apply any change, nothing happens and the "applying the configuration" status gets idle.

image

The error I see in the command line when applying a config change is:

ERROR from `/usr/lib/python3.8/AKBL/Bindings.py` on method `_command`:
Command=set_lights, arguments=[XXXXXXX,True]
Traceback (most recent call last):
  File "/usr/lib/python3.8/AKBL/Bindings.py", line 52, in _command
    response = getattr(self._pyro, command)(*args)
  File "/usr/lib/python3/dist-packages/Pyro4/core.py", line 185, in __call__
    return self.__send(self.__name, args, kwargs)
  File "/usr/lib/python3/dist-packages/Pyro4/core.py", line 453, in _pyroInvoke
    msg = message.Message.recv(self._pyroConnection, [message.MSG_RESULT], hmac_key=self._pyroHmacKey)
  File "/usr/lib/python3/dist-packages/Pyro4/message.py", line 168, in recv
    msg = cls.from_header(connection.recv(cls.header_size))
  File "/usr/lib/python3/dist-packages/Pyro4/socketutil.py", line 463, in recv
    return receiveData(self.sock, size)
  File "/usr/lib/python3/dist-packages/Pyro4/socketutil.py", line 181, in receiveData
    raise err
Pyro4.errors.ConnectionClosedError: receiving: not enough data

System information

  • Distribution name: Ubuntu (focal)
  • Distribution version: 20.04.4 LTS
  • Python3 version: 3.8.10
  • akbl version: 2019.05.26
  • Computer model: M15 R6 15.6" Full HD, Intel Core i7-11800H
  • Daemon status: True

Bug description

lsusb output lsusb -D /dev/bus/usb/003/006:

Device: ID 187c:0550 Alienware Corporation 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.10
  bDeviceClass            0 
  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       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 Descriptor: (length is 25)
            Item(Global): Usage Page, data= [ 0x00 0xff ] 65280
                            (null)
            Item(Local ): Usage, data= [ 0x01 ] 1
                            (null)
            Item(Main  ): Collection, data= [ 0x01 ] 1
                            Application
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Report Count, data= [ 0x21 ] 33
            Item(Local ): Usage, data= [ 0x01 ] 1
                            (null)
            Item(Main  ): Input, data= [ 0x00 ] 0
                            Data Array Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Local ): Usage, data= [ 0x01 ] 1
                            (null)
            Item(Main  ): Output, data= [ 0x00 ] 0
                            Data Array Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Main  ): End Collection, data=none
      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

cagp-dev-mtl avatar Apr 12 '22 03:04 cagp-dev-mtl

Hi @cagp-dev-mtl ,

Thanks for submitting the request.

I actually doubt that we will be able to make your computer model work, but at least to see what the real problem is, I need you to skip Pyro. You can do such thing by launching the Block testing window.

rsm~

rsm-gh avatar Apr 13 '22 01:04 rsm-gh

Thanks for the reply rsm, I am attaching the output of the bloc testing window:

block-testing command output.txt Device Connection Output.txt

cagp-dev-mtl avatar Apr 14 '22 19:04 cagp-dev-mtl

It's funny because I have that machine. If I know what to send, I'll fix my "driver" (little refactor I did)

Cheaterman avatar May 18 '22 12:05 Cheaterman

Crossing fingers!

cagp-dev-mtl avatar May 28 '22 01:05 cagp-dev-mtl

Hello @cagp-dev-mtl ,

I'm sorry but the logs of the block testing window that you provide me are not useful. You need to open the block testing window, make a connection, and then try to change the colors of your computer.

The software will write some info like the following:

  # Text File ##
  
  [Device found]: Vendor ID: 6268     Product ID: 1313
  
  
  # This test turned on my left speaker
  [Command]: Lights off
  [TEST]: block: 32     hex: 0x20     mode:blink     speed:1     color1:#00ff00     color2: #00ff00
  
  
  # This test turned on the akbl logo   
  [Command]: Lights off
  [TEST]: block: 256     hex: 0x100     mode:blink     speed:1     color1:#00ff00     color2: #00ff00

And you can also copy the text from the terminal. There are mode defatails here https://github.com/rsm-gh/akbl#how-to-use-the-block-testing-window

rsm-gh avatar Jul 23 '22 14:07 rsm-gh

Hi @rsm-gh , thanks for the follow, I recently upgraded my laptop to Ubuntu 22.04.1 LTS and when I try to run akbl I get the error report prompt. I'll spend some time checking the issue and once I manage to run the block testing window I will share the output on this issue.

cagp-dev-mtl avatar Sep 06 '22 03:09 cagp-dev-mtl