Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support to M15 R3 Laptop #89

Open
cbrngrz opened this issue May 1, 2021 · 3 comments
Open

Add support to M15 R3 Laptop #89

cbrngrz opened this issue May 1, 2021 · 3 comments

Comments

@cbrngrz
Copy link

cbrngrz commented May 1, 2021

System information

  • Distribution name: Ubuntu
  • Distribution version: 20.04.2 LTS
  • Python3 version python3 --version: Python 3.8.5
  • akbl version akbl -v: 2019.05.26
  • Computer model: Alienware M15 R3
  • Daemon status: akbl --daemon-is-on: True

BUS DATA:

Device: ID 187c:0550 Alienware Corporation 
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 
  bcdDevice            2.00
  iManufacturer           1 
  iProduct                2 
  iSerial                 3 
  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

Add support to M15 R3 Laptop?

Side note- I'm really only looking to be able to turn on/off/dim my lights. If there's another machine setting I could use that would work for that, I'd be happy to use that.

@rsm-gh
Copy link
Owner

rsm-gh commented May 1, 2021

Hello @cbrngrz ,

I just added your configuration in the following commit 769ebd2 but I actually don't understand your problem.

I see that the daemon is ON and that your computer uses the same configuration that the already existent R2. Are you having any trouble?

Please re-download and install AKBL for using your new configuration and make a feedback,
rsm~

@Gadgetoid
Copy link

I have an Alienware m15 r3 dual booting between Windows 10 and Pop! OS.

The akbl config for m15 r3 does not work at all- it just stalls and I can't get any further useful information other than what's been reported in various issues here.

I can use Wireshark to USB packet capture the commands sent by Alienware Command Center to - for instance - toggle Alien FX On/Off to give some insight into why that might be the case.

For example roughly 12 request/response pairs run for On/Off but the only notable difference is in a 69 byte packet that looks something like this:

off:

0000   09 00 02 00 00 21 00 03 26 64 00 0a 00 01 03 04   .....!..&d......
0010   05 06 07 08 09 0a 00 00 00 00 00 00 00 00 00 00   ................
0020   00 00 00 00 00 00 00 00                           ........

on:

0000   09 00 02 00 00 21 00 03 26 00 00 0b 00 01 02 03   .....!..&.......
0010   04 05 06 07 08 09 0a 00 00 00 00 00 00 00 00 00   ................
0020   00 00 00 00 00 00 00 00                           ........

Given a bit more time I might be able to packet capture some more traffic, try to make sense of it and try to replay it against the device in Linux to see if I can get basic on/off toggling and go from there.

Let me know if this is useful, or if I'm barking up the wrong tree going to the fundamentals here.

@rsm-gh
Copy link
Owner

rsm-gh commented Jan 24, 2022

Hello @Gadgetoid ,

It is very interesting and I kinda wonder why your pacakges seem very different from the ones of akbl, saddly I dont think that I'll be able to spend time on this and debug it. Just to let you know, if you active the debug mode of akbl, you can see the packages that the software is sending.

For turning off the keyboard, akbl sends:

_DEBUG from `/usr/lib/python3.9/AKBL/Engine/Driver.py` on method `read_device`:
msg=array('B', [16, 0, 0, 0, 0, 0, 0, 0])


_DEBUG from `/usr/lib/python3.9/AKBL/Engine/Driver.py` on method `write_constructor`:
packet=2:6:0:0:0:0:0:0:0	 legend=set_get_status


_DEBUG from `/usr/lib/python3.9/AKBL/Engine/Driver.py` on method `write_constructor`:
command output=9


_DEBUG from `/usr/lib/python3.9/AKBL/Engine/Driver.py` on method `read_device`:
msg=array('B', [16, 0, 0, 0, 0, 0, 0, 0])


_DEBUG from `/usr/lib/python3.9/AKBL/Engine/Driver.py` on method `write_constructor`:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants