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 the Alienware 15 R4 #52

Open AbsyntheSyne opened 5 years ago

AbsyntheSyne commented 5 years ago

Hi, I have an Alienware 15 R4 running KDE Neon 18.04 and I'm hoping this might help.

Read in another bug that running akbl --block-testing spits out useful info so, here goes. After I click connect:

DEVICE ID 187c:0550 on Bus 001 Address 003 =================
 bLength                :   0x12 (18 bytes)
 bDescriptorType        :    0x1 Device
 bcdUSB                 :  0x200 USB 2.0
 bDeviceClass           :    0x0 Specified at interface
 bDeviceSubClass        :    0x0
 bDeviceProtocol        :    0x0
 bMaxPacketSize0        :   0x40 (64 bytes)
 idVendor               : 0x187c
 idProduct              : 0x0550
 bcdDevice              :  0x200 Device 2.0
 iManufacturer          :    0x1 Alienware
 iProduct               :    0x2 AW-ELC
 iSerialNumber          :    0x3 00.01
 bNumConfigurations     :    0x1
  CONFIGURATION 1: 0 mA ====================================
   bLength              :    0x9 (9 bytes)
   bDescriptorType      :    0x2 Configuration
   wTotalLength         :   0x29 (41 bytes)
   bNumInterfaces       :    0x1
   bConfigurationValue  :    0x1
   iConfiguration       :    0x0 
   bmAttributes         :   0xe0 Self Powered, Remote Wakeup
   bMaxPower            :    0x0 (0 mA)
    INTERFACE 0: Human Interface Device ====================
     bLength            :    0x9 (9 bytes)
     bDescriptorType    :    0x4 Interface
     bInterfaceNumber   :    0x0
     bAlternateSetting  :    0x0
     bNumEndpoints      :    0x2
     bInterfaceClass    :    0x3 Human Interface Device
     bInterfaceSubClass :    0x0
     bInterfaceProtocol :    0x0
     iInterface         :    0x0 
      ENDPOINT 0x81: Interrupt IN ==========================
       bLength          :    0x7 (7 bytes)
       bDescriptorType  :    0x5 Endpoint
       bEndpointAddress :   0x81 IN
       bmAttributes     :    0x3 Interrupt
       wMaxPacketSize   :   0x21 (33 bytes)
       bInterval        :    0xa
      ENDPOINT 0x1: Interrupt OUT ==========================
       bLength          :    0x7 (7 bytes)
       bDescriptorType  :    0x5 Endpoint
       bEndpointAddress :    0x1 OUT
       bmAttributes     :    0x3 Interrupt
       wMaxPacketSize   :   0x21 (33 bytes)
       bInterval        :   0x64

Hope this info helps. Thanks!

rsm-gh commented 5 years ago

@AbsyntheSyne

Thanks for your feedback. For the moment I don't really think that your computer will totally work, but it may partially since I added a configuration file.

It seems that the id of your computer is duplicated, so for the moment, after doing the installation of akbl you must do the following hack.

Also, the Alienware 15 R3 has some problems with the colors and you computer may have the same since its an R4. you will find more about that here.

For the moment, the best that you can do is to download and re-install akbl, and check if the configuration that I added works or kinda works.

Don't hesitate to write me your feedback and to continue experimenting with the block testing window. I added a full tutorial at the F.A.Q. > How to use the block testing window.

Regards, -rsm

AbsyntheSyne commented 5 years ago

Hi, I switched distros. I'm using Kubuntu 18.10 now.

It still isn't working. I start akbl and I see the gui but nothing works.

If there's anything I can run to help with this please let me know. I really want this working so I can ditch Windows.

edit: I ran block testing. I press connect and it works! But.. I press "lights off" or "test" and it just.. freezes. Forever.

waspper commented 5 years ago

I confirm bug, tooo. After executing:

akbl --block-testing

And clicking on the "Connect" button, I'm getting following error:

(block_testing.py:5066): dconf-WARNING **: failed to commit changes to dconf: The connection is closed

(block_testing.py:5066): dconf-WARNING **: failed to commit changes to dconf: The connection is closed

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

(block_testing.py:5066): Gtk-WARNING *: /build/gtk+3.0-NmdvYo/gtk+3.0-3.22.11/./gtk/gtkliststore.c:516: Invalid type (null) Traceback (most recent call last): File "/usr/lib/python3.5/AKBL/Engine/Driver.py", line 143, in take_over self._device.set_configuration() File "/usr/lib/python3/dist-packages/usb/core.py", line 869, in set_configuration self._ctx.managed_set_configuration(self, configuration) File "/usr/lib/python3/dist-packages/usb/core.py", line 102, in wrapper return f(self, args, **kwargs) File "/usr/lib/python3/dist-packages/usb/core.py", line 148, in managed_set_configuration self.backend.set_configuration(self.handle, cfg.bConfigurationValue) File "/usr/lib/python3/dist-packages/usb/backend/libusb1.py", line 794, in set_configuration _check(self.lib.libusb_set_configuration(dev_handle.handle, config_value)) File "/usr/lib/python3/dist-packages/usb/backend/libusb1.py", line 595, in _check raise USBError(_strerror(ret), ret, _libusb_errno[ret]) usb.core.USBError: [Errno None] Unknown error

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib/python3.5/AKBL/Addons/BlockTesting/BlockTesting.py", line 202, in on_togglebutton_find_device_clicked self._testing_driver.load_device(id_vendor=vendor, id_product=product, empty_computer=True) File "/usr/lib/python3.5/AKBL/Engine/Driver.py", line 92, in load_device self.take_over() File "/usr/lib/python3.5/AKBL/Engine/Driver.py", line 145, in take_over self._device.detach_kernel_driver(0) File "/usr/lib/python3/dist-packages/usb/core.py", line 1077, in detach_kernel_driver interface) File "/usr/lib/python3/dist-packages/usb/backend/libusb1.py", line 902, in detach_kernel_driver _check(self.lib.libusb_detach_kernel_driver(dev_handle.handle, intf)) File "/usr/lib/python3/dist-packages/usb/backend/libusb1.py", line 595, in _check raise USBError(_strerror(ret), ret, _libusb_errno[ret]) usb.core.USBError: [Errno 2] Entity not found

waspper commented 5 years ago

I forgot: The test window is showing following device information:

Device: 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 (error) iProduct 2 (error) iSerial 3 (error) 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 Warning: incomplete report descriptor Report Descriptor: (length is 9) Item(Main ): (null), data= [ 0x06 0x00 ] 6 Item(Main ): (null), data=none Item(Main ): (null), data=none Item(Main ): (null), data=none Item(Main ): (null), data=none Item(Main ): (null), data=none Item(Main ): (null), 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 Device Status: 0xed90 (Bus Powered)

waspper commented 5 years ago

Also, trying to change model (if it works with another configuration), as root:

akbl --model-chooser false

Traceback (most recent call last): File "/usr/lib/python3.5/AKBL/Engine/Driver.py", line 143, in take_over self._device.set_configuration() File "/usr/lib/python3/dist-packages/usb/core.py", line 869, in set_configuration self._ctx.managed_set_configuration(self, configuration) File "/usr/lib/python3/dist-packages/usb/core.py", line 102, in wrapper return f(self, *args, **kwargs) File "/usr/lib/python3/dist-packages/usb/core.py", line 148, in managed_set_configuration self.backend.set_configuration(self.handle, cfg.bConfigurationValue) File "/usr/lib/python3/dist-packages/usb/backend/libusb1.py", line 794, in set_configuration _check(self.lib.libusb_set_configuration(dev_handle.handle, config_value)) File "/usr/lib/python3/dist-packages/usb/backend/libusb1.py", line 595, in _check raise USBError(_strerror(ret), ret, _libusb_errno[ret]) usb.core.USBError: [Errno None] Unknown error

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/share/AKBL/launch/model_chooser.py", line 21, in main() File "/usr/lib/python3.5/AKBL/Addons/ModelChooser/ModelChooser.py", line 207, in main ModelChooser() File "/usr/lib/python3.5/AKBL/Addons/ModelChooser/ModelChooser.py", line 94, in init self.upadte_detected_as() File "/usr/lib/python3.5/AKBL/Addons/ModelChooser/ModelChooser.py", line 125, in upadte_detected_as driver.find_device() File "/usr/lib/python3.5/AKBL/Engine/Driver.py", line 70, in find_device self.take_over() File "/usr/lib/python3.5/AKBL/Engine/Driver.py", line 145, in take_over self._device.detach_kernel_driver(0) File "/usr/lib/python3/dist-packages/usb/core.py", line 1077, in detach_kernel_driver interface) File "/usr/lib/python3/dist-packages/usb/backend/libusb1.py", line 902, in detach_kernel_driver _check(self.lib.libusb_detach_kernel_driver(dev_handle.handle, intf)) File "/usr/lib/python3/dist-packages/usb/backend/libusb1.py", line 595, in _check raise USBError(_strerror(ret), ret, _libusb_errno[ret]) usb.core.USBError: [Errno 2] Entity not found

waspper commented 5 years ago

And output of:

lsusb | grep Alienware

Bus 001 Device 002: ID 187c:0550 Alienware Corporation

lsusb -D /dev/bus/usb/001/002

Device: 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 (error) iProduct 2 (error) iSerial 3 (error) 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 Warning: incomplete report descriptor Report Descriptor: (length is 9) Item(Main ): (null), data= [ 0x06 0x00 ] 6 Item(Main ): (null), data=none Item(Main ): (null), data=none Item(Main ): (null), data=none Item(Main ): (null), data=none Item(Main ): (null), data=none Item(Main ): (null), 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 Device Status: 0x0001 Self Powered

ferasodh commented 5 years ago

I have the same issue on my alienware

AbsyntheSyne commented 4 years ago

The developer of this software appears to have no interest in adding support for the Alienware 15 R4 so I'm closing this.

rsm-gh commented 4 years ago

@AbsyntheSyne is not because I can not help you that you should hide the information to all the other users. You should learn more about the GNU/Linux community and the free software.

rsm~

AbsyntheSyne commented 4 years ago

What information? We've provided all the info(probably, I'm not sure) to implement support for this device into the software. There's been no response from you or anyone else that codes this software(which I believe is just you) for almost 2 years now.