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 Area51 R2 computer #38

Open TheOmegaPope opened 6 years ago

TheOmegaPope commented 6 years ago

System information

Bug description

I get this when attempting to run the program via gui/term:

ubuntu@ubuntu:~/Downloads/alienware-kbl-stable$ sudo alienware-kbl --start-daemon ERROR from /usr/share/AlienwareKBL/Engine/Core/Controller.py on method __init__: The computer is not supported

Traceback (most recent call last): File "/usr/share/AlienwareKBL/Daemon.py", line 394, in ConnectDaemon() File "/usr/share/AlienwareKBL/Daemon.py", line 42, in init uri = self.daemon.register(Daemon(self)) File "/usr/share/AlienwareKBL/Daemon.py", line 55, in init computer = self._controller.get_computer() File "/usr/share/AlienwareKBL/Engine/Core/Controller.py", line 53, in get_computer if self._driver.has_device(): AttributeError: 'Controller' object has no attribute '_driver'

I am a linux noob, or more accurately I haven't worked in in in over 15 years and I just want to control the lights on my case. Please help me.

rsm-gh commented 6 years ago

Hi @TheOmegaPope don't think that I have forget you. Currently I started working in the last part of alienware-kbl that I need to upgrade in to stable, which is the block testing window. This window will allow you to provide me with the necessary information to add your computer settings in to the main software.

I'll come back to you once it be finished.

Regards

rsm-gh commented 6 years ago

@TheOmegaPope it was faster than I thought. To continue the support, please re-install the stable branch and launch as root "alienware-kbl --block-testing". That new command will display you a window, and I'll need that you past me here all the Device Information

TheOmegaPope commented 6 years ago

Thank you so much for your efforts thus far, I have done as you have said and here you go:

Bus 001 Device 009: ID 0764:0501 Cyber Power System, Inc. CP1500 AVR UPS Bus 001 Device 004: ID 1a40:0101 Terminus Technology Inc. Hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 002: ID 05dc:a205 Lexar Media, Inc. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 011: ID 046d:c048 Logitech, Inc. G9 Laser Mouse Bus 001 Device 005: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller Bus 001 Device 002: ID 174c:2074 ASMedia Technology Inc. ASM1074 High-Speed hub Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 003: ID 1038:1260 SteelSeries ApS Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 008: ID 045e:00db Microsoft Corp. Natural Ergonomic Keyboard 4000 V1.0 Bus 002 Device 003: ID 174c:3074 ASMedia Technology Inc. ASM1074 SuperSpeed hub Bus 001 Device 006: ID 2109:2812 VIA Labs, Inc. VL812 Hub

TheOmegaPope commented 6 years ago

I will also mention that these warnings appeared when running the command in the term, if they are expected please ignore this comment:

ubuntu@ubuntu:~$ sudo alienware-kbl --block-testing

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

(BlockTesting.py:3808): Gtk-WARNING **: /build/gtk+3.0-wTY3BU/gtk+3.0-3.22.25/./gtk/gtkliststore.c:516: Invalid type (null)

rsm-gh commented 6 years ago

Uhh, the BUS devices doesn't seem good :/ , normally you should have some device called "Alienware" ex:

Bus 001 Device 004: ID 187c:0521 Alienware Corporation 
Bus 001 Device 003: ID 413c:8187 Dell Computer Corp. DW375 Bluetooth Module
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 045e:07fd Microsoft Corp. Nano Transceiver 1.1
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

The software may not support your computer. The only thing that could be its that the device has a different name. To see if some of your devices work with the software, try printing the information of each device with the command lsusb -D, ex (for my alienware device) lsusb -D /dev/bus/usb/001/004. An then check if the info of some device similar to this one:

[root@matrice rsm]# lsusb -D /dev/bus/usb/001/004
Device: ID 187c:0521 Alienware Corporation 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x187c Alienware Corporation
  idProduct          0x0521 
  bcdDevice            0.00
  iManufacturer           1 Alienware
  iProduct                2 M14x
  iSerial                 3 1.0.8
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           41
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0x80
      (Bus Powered)
    MaxPower               64mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.01
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      56
         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     0x000a  1x 10 bytes
        bInterval              10
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0000
  (Bus Powered)

If you find some device with that kind of info maybe we will be able to support your computer. I'll probably start by checking the Bus 001 Device 008: ID 045e:00db Microsoft Corp. Natural Ergonomic Keyboard 4000 V1.0 device.

Regards ! rsm

TheOmegaPope commented 6 years ago

Ok so browsing all of what you said revealed nothing similar or of use that i could not define or explain with other existing devices. However cracking the case yet again and wiggling and reseating of wires seems to have produced some result that i could see in the USB tree view.

I re-ran the block-testing window, the output is below:

Device: ID 187c:0526 Alienware Corporation Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 0.02 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x187c Alienware Corporation idProduct 0x0526 bcdDevice 0.00 iManufacturer 1 Alienware iProduct 2 A-51 iSerial 3 9.0.0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 41 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 0mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 No Subclass bInterfaceProtocol 0 None iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.01 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 56 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 0x000a 1x 10 bytes bInterval 10 Device Status: 0x0000 (Bus Powered)

TheOmegaPope commented 6 years ago

Thanks again for your time, I haven't had much time on the computer lately so I made an effort to get on here today before I go back in the field for ~3 days.

rsm-gh commented 6 years ago

hi @TheOmegaPope that's seems really great, it's exactly what we needed. Can you tell me how did you find it? it wasn't clear for me in your previous message and it could be precious information for further computers.

Coming back to the support, you can now start playing with the block testing window and create a log file. If you take a look at the F.A.Q there is a thread to describe how to use it :)

If you have questions or problems don't hesitate to write me, Regards

idVendor=0x187c
idProduct=0x0526
flauted commented 6 years ago

@TheOmegaPope I'm trying to use software for the lights on my Aurora R6. I haven't found anything that natively supports it. My lsusb also doesn't list the Alienware device and running software for the other devices don't seem to have the desired effect. Could you explain how you solved the problem?

rsm-gh commented 5 years ago

@flauted I recently learned that some keyboards are listed as Dell, that was the case for the Aurora R7, it may help you.

tuxkernel commented 5 years ago

@rsm-gh and @TheOmegaPope

Remember. Sometimes usb-ids database is not updated. That's the reason why alienware device is not recognized by Linux. In that case, we need install usbutils:

sudo apt-get install usbutils

Then update the usb-ids:

sudo update-usbids

And rerun lsusb again.

Alienware device should be or not recognized.