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 Area51R5 #72

Open GiulioZhou opened 5 years ago

GiulioZhou commented 5 years ago
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
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 1c4f:0065 SiGma Micro 
Bus 001 Device 002: ID 04ca:0027 Lite-On Technology Corp. 
Bus 001 Device 006: ID 0cf3:e007 Atheros Communications, Inc. 
Bus 001 Device 005: ID 187c:0550 Alienware Corporation 
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

lsusb -D /dev/bus/usb/001/005
Device: ID 187c:0550 Alienware Corporation 
Couldn't open device, some information will be missing
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 
  iProduct                2 
  iSerial                 3 
  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
         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
rsm-gh commented 5 years ago

@GiulioZhou ,

Hello, I just added a configuration file for your computer and it will now be detected. I did not have any Area computer so I used a Aurora configuration.

You will probably have multiple zones that will not work correctly. Don't hesitate to give a feedback so I can correct it.

~rsm

GiulioZhou commented 5 years ago

Hi,

Thanks for that. I recloned the git and rerun the setup file with the correct configuration file. The graphical tool still doesn't do anything, but when I run akbl --on, --off --change it either keep waiting:

File "/usr/lib/python3/dist-packages/Pyro4/socketutil.py", line 151, in receiveData
    data = sock.recv(size, socket.MSG_WAITALL)

or receive one of these two errors from

"ERROR from `/usr/lib/python3.6/AKBL/Bindings.py` on method `_command`:
"/usr/lib/python3/dist-packages/Pyro4/util.py", line 394, in dict_to_class
raise errors.SerializeError("unsupported serialized class: " + classname)
Pyro4.errors.SerializeError: unsupported serialized class: usb.core.USBError
"/usr/lib/python3/dist-packages/Pyro4/socketutil.py", line 181, in receiveData
    raise err
Pyro4.errors.ConnectionClosedError: receiving: not enough data

EDIT: I have also tried the blocking test, but when clicking on "turn off" or "test" I get

"/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 16] Resource busy
rsm-gh commented 5 years ago

When having that kind of problems the only way of debugging it is by using the block testing window. Resource busy seems pretty weird. What distribution and version are you using?