GithubHelp home page GithubHelp logo

rsm-gh / akbl Goto Github PK

View Code? Open in Web Editor NEW
125.0 125.0 24.0 4.73 MB

Control the lights of Alienware computers under GNU/Linux systems.

License: GNU General Public License v3.0

Shell 4.59% Python 95.41%
alienware gtk3 linux python3

akbl's People

Contributors

rsm-gh avatar soulsuke avatar tuxkernel avatar zeecka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

akbl's Issues

Add support to Alienware 17 R5

System information

  • Distribution name: Linux Mint - Cinnamon Edition
  • Distribution version: 19.1
  • Python3 version: 3.6.7
  • akbl version: 2019.01.13
  • Computer model: Alienware 17 R5
  • Daemon status: True

Bug description

On this file is the output of running the lsusb -D command, and when I run the block testing I get the following error.

Pyro4 backward-incompatible issue

(originally posted by noobusdeer)

Hi!
I install alienware-kbl and all dependencies.
From GUI all work. But when trying something like alienware-kbl --change:

If the daemon is off ignore the following error:
remote object doesn't expose any methods or attributes. Did you forget setting @expose on them?
The daemon is off or the connection couldn't be stablished.

Daemon start. On boot all lights become blue by the daemon.
Pyro4 and Serpent installed.

Add support for MacOS

Alienware 17 R4(Windows10+MacOS High Sierra 10.13+PhoenixOS) CPU:i7-7700hq-RAM:16g-GFX:HD630/Nv 1060-SAT:m.2 128G/1T-AU:ALC298-NET:KILLER E2500

HID aw1517 DEVICE ID 187c:0530

Keyboard backlight working good but conld not change colors on MacOS 10.13.3

Does it support Alienware 17 R3?

System information

  • Distribution name: Manjaro KDE 64bit
  • Distribution version: rolling-release, unstable branch so packages are the same as on Arch stable
  • Python version: 3.7.0-3
  • Computer model: Alienware 17 R3
  • Output of the command alienware-kbl --daemon-is-on:

Haven't installed it yet and I hoped to get info first since there is no clean install way on Arch based systems (no AUR package). Pip install is kinda risky and sometimes problematic on Arch. It's nice to have it but any package outside pacman database usually can run into issues with time.

Also, there is no gksu (probably replaced with gksu-polkit?) package anymore so I assume the Arch install info on the site is outdated and that also raises questions.

Bug description

Add support to the Area51 R2 computer

System information

  • Distribution name:
    Ubuntu
  • Distribution version:
    17.10
  • Python version:
    Not sure, only ran stated installs on KBL site from fresh install; Successfully installed pyro4-4.63
  • Computer model:
    Case is Area51 R2, all other components are custom
  • Output of the command alienware-kbl --daemon-is-on:
    False

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.

Staying off...

i used this program on m17x r3 running arch, i just got this thing, and now no matter what i do the backlight is just off.

Bug with the configuration file

When the configuration file does not exists, it seems that the GUI is creating a directory:

/home/<usr>/.config/alienware-kbl.ini

instead of a file. This makes crash python-ccparser because it can not write the settings of the user. I'll fix this pretty soon!

A fast fix for this is to create the file: touch /home/<usr>/.config/alienware-kbl.ini

battery saver script and dim lights?

hi i want to know if there is a script to use in combination with tlp for save battery for example to off all light except left and right zones of keyboards and turn off all others? and there is a possible to dim the light like windows in battery mode?

thanks a lot!!

Add support to the Aurora R4 computer

I'm using Linux Mint 18.1 Cinnamon 64-bit, Cinnamon version 3.2.7, Linux-Kernel 4.4.0-78-generic.

Device: ID 187c:0513 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 0x0513
bcdDevice 0.00
iManufacturer 1 Alienware
iProduct 2 Gaming Desktop
iSerial 3 2.2.0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 41
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 2mA
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.01
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 54
Report Descriptor: (length is 54)
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): Usage Page, data= [ 0x08 ] 8
LEDs
Item(Local ): Usage, data= [ 0x52 ] 82
(null)
Item(Main ): Collection, data= [ 0x02 ] 2
Logical
Item(Local ): Usage Minimum, data= [ 0x01 ] 1
NumLock
Item(Local ): Usage Maximum, data= [ 0x14 ] 20
CAV
Item(Global): Logical Minimum, data= [ 0x00 ] 0
Item(Global): Logical Maximum, data= [ 0x01 ] 1
Item(Global): Report ID, data= [ 0x01 ] 1
Item(Global): Report Size, data= [ 0x08 ] 8
Item(Global): Report Count, data= [ 0x08 ] 8
Item(Main ): Input, data= [ 0x02 ] 2
Data Variable Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Main ): End Collection, data=none
Item(Global): Usage Page, data= [ 0x08 ] 8
LEDs
Item(Local ): Usage, data= [ 0x52 ] 82
(null)
Item(Main ): Collection, data= [ 0x02 ] 2
Logical
Item(Local ): Usage Minimum, data= [ 0x01 ] 1
NumLock
Item(Local ): Usage Maximum, data= [ 0x14 ] 20
CAV
Item(Global): Logical Minimum, data= [ 0x00 ] 0
Item(Global): Logical Maximum, data= [ 0x01 ] 1
Item(Global): Report ID, data= [ 0x02 ] 2
Item(Global): Report Size, data= [ 0x08 ] 8
Item(Global): Report Count, data= [ 0x08 ] 8
Item(Main ): Output, data= [ 0x02 ] 2
Data Variable Absolute No_Wrap Linear

No module named 'AKBL'

Hi,

I have an AlienWare 17" R4 with openSUSE Leap 42.2.

I followed your installations instructions and when I start alienware-kbl --on I get the following:

alienware-kbl --on
Traceback (most recent call last):
  File "/usr/share/AlienwareKBL/DefaultArguments.py", line 23, in <module>
    from AKBL import AKBL
ImportError: No module named 'AKBL'

Make the computer modes work

This is one of the un-finished parts of the program. The computer modes (on battery, chargin, etc..) are not working...

Usage problem when using the Default profile

When no theme has been created and the user uses the Default profile it seems to be some problems. For example, if the user modifies the theme and then it try to apply the changes they are not being applied to the computer lights.

This seems to be a bug of the configuration file:

Traceback (most recent call last):
  File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/share/alienware-kbl/GUI.py", line 689, in ILUMINATE_keyboard
    os.utime(self.configuration.path, None)
PermissionError: [Errno 13] Permission denied

Alienware 15 R3 Fixes

Distribution name: Arch Linux
Distribution version: 4.18.16-arch1-1-ARCH
Python version: Python 3.7.1
akbl version: v2018.11.03
Computer model: Alienware 15 R3

Application runs and can turn lights on and off and zones are correct,
but colors are not, blue color in akbl displays green in leds..
white in akbl displays orange in leds, etc..

Add support to the Alienware 17 R5 computer

After running akbl --block-testing this is what I get under Arch Linux 4.18.9-arch1-1. After clicking connect, I get the following:

device loaded:
DEVICE ID 187c:0550 on Bus 001 Address 004 =================
 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

When clicking TEST BLOCK I get an endless stream of:

DEBUG from `/usr/lib/python3.7/AKBL/Engine/Core/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.7/AKBL/Engine/Core/Driver.py` on method `read_device`:
msg=array('B', [2, 6, 0, 0, 0, 0, 0, 0, 0])


DEBUG from `/usr/lib/python3.7/AKBL/Engine/Core/Driver.py` on method `write_constructor`:
packet=[  2|  6|  0|  0|  0|  0|  0|  0|  0]	 legend=set_get_status
packet=[  2|  7|  3|  0|  0|  0|  0|  0|  0]	 legend=reset, command=RESET_ALL_LIGHTS_OFF

and I have to kill the process.

Hope you can guide me to get this working. I can do USB capture from Windows if needed.

usb.core.USBError: [Errno 75] Overflow

Installed Ubuntu 18.04 on my Alienware 15 R3, but cannot make this to work.
Device information:

Device: ID 187c:0530 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 0x0530
bcdDevice 0.00
iManufacturer 1 Alienware
iProduct 2 AW1517
iSerial 3 03.00
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 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 Descriptor: (length is 56)
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): Usage Page, data= [ 0x0c ] 12
Consumer
Item(Local ): Usage, data= [ 0x06 ] 6
(null)
Item(Main ): Collection, data= [ 0x02 ] 2
Logical
Item(Local ): Usage Minimum, data= [ 0x00 ] 0
Unassigned
Item(Local ): Usage Maximum, data= [ 0x66 ] 102
Still
Item(Global): Logical Minimum, data= [ 0x00 ] 0
Item(Global): Logical Maximum, data= [ 0x01 ] 1
Item(Global): Report ID, data= [ 0x01 ] 1
Item(Global): Report Size, data= [ 0x08 ] 8
Item(Global): Report Count, data= [ 0x0b ] 11
Item(Main ): Input, data= [ 0x02 ] 2
Data Variable Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Main ): End Collection, data=none
Item(Global): Usage Page, data= [ 0x14 ] 20
Alphanumeric Display
Item(Local ): Usage, data= [ 0x2b ] 43
Character Report
Item(Main ): Collection, data= [ 0x02 ] 2
Logical
Item(Local ): Usage Minimum, data= [ 0x01 ] 1
Alphanumeric Display
Item(Local ): Usage Maximum, data= [ 0x66 ] 102
(null)
Item(Global): Logical Minimum, data= [ 0x00 ] 0
Item(Global): Logical Maximum, data= [ 0x01 ] 1
Item(Global): Report ID, data= [ 0x02 ] 2
Item(Global): Report Size, data= [ 0x08 ] 8
Item(Global): Report Count, data= [ 0x0b ] 11
Item(Local ): Usage, data= [ 0x2c ] 44
Display Data
Item(Main ): Output, data= [ 0x02 ] 2
Data Variable Absolute No_Wrap Linear
Preferred_State No_Null_Position Non_Volatile Bitfield
Item(Main ): End Collection, data=none
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 0x000a 1x 10 bytes
bInterval 10================================
Device Status: 0x0000
(Bus Powered)

Log during the block testing:

[Device found]: Vendor ID: 6268 Product ID: 1328

Traceback (most recent call last):
File "/usr/share/AlienwareKBL/ADDONS/BlockTesting/BlockTesting.py", line 335, in on_button_block_testing_lights_off_clicked
self._testing_controller.add_reset_line(self._computer.RESET_ALL_LIGHTS_OFF)
File "/usr/share/AlienwareKBL/Engine/Core/Controller.py", line 77, in add_reset_line
while not self._device_is_ready():
File "/usr/share/AlienwareKBL/Engine/Core/Controller.py", line 48, in _device_is_ready
msg = self._driver.read_device(constructor)
File "/usr/share/AlienwareKBL/Engine/Core/Driver.py", line 107, in read_device
msg = self._device.ctrl_transfer(self.READ_REQUEST_TYPE, self.READ_REQUEST, self.READ_VALUE, self.READ_INDEX, len(msg[0].packet))
File "/usr/lib/python3/dist-packages/usb/core.py", line 1043, in ctrl_transfer
self.__get_timeout(timeout))
File "/usr/lib/python3/dist-packages/usb/backend/libusb1.py", line 883, in ctrl_transfer
timeout))
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 75] Overflow
[TEST]: block: 1 hex: 0x1 mode:blink speed:1 color1:#204a87 color2: #204a87

Traceback (most recent call last):
File "/usr/share/AlienwareKBL/ADDONS/BlockTesting/BlockTesting.py", line 316, in on_button_block_make_test_clicked
self._testing_controller.add_reset_line(self._computer.RESET_ALL_LIGHTS_ON)
File "/usr/share/AlienwareKBL/Engine/Core/Controller.py", line 77, in add_reset_line
while not self._device_is_ready():
File "/usr/share/AlienwareKBL/Engine/Core/Controller.py", line 48, in _device_is_ready
msg = self._driver.read_device(constructor)
File "/usr/share/AlienwareKBL/Engine/Core/Driver.py", line 107, in read_device
msg = self._device.ctrl_transfer(self.READ_REQUEST_TYPE, self.READ_REQUEST, self.READ_VALUE, self.READ_INDEX, len(msg[0].packet))
File "/usr/lib/python3/dist-packages/usb/core.py", line 1043, in ctrl_transfer
self.__get_timeout(timeout))
File "/usr/lib/python3/dist-packages/usb/backend/libusb1.py", line 883, in ctrl_transfer
timeout))
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 75] Overflow

Anyone can help with this?

setup script messes up system permissions

The setup script overwrites the /usr/bin/, /usr/share/, /usr/share/doc, /usr/lib/, /usr/lib/systemd/, /usr/lib/systemd/system/ folders, leaving them with the wrong owner, group and permissions.
If you extract the zip archive with 7-zip the system can't boot anymore because the default directory permissions are 0700 instead of 0755.

Please use the "install" command instead of "cp -ar" and "chmod".

Add support to the Alienware 17 R4 computer

Running Arch Linux 4.11.9-1

 Dected As: Alienware15R3
 Vendor ID: 6268
 Product ID: 1328

DEVICE ID 187c:0530 on Bus 001 Address 004 =================
 bLength                :   0x12 (18 bytes)
 bDescriptorType        :    0x1 Device
 bcdUSB                 :    0x2 USB 0.02
 bDeviceClass           :    0x0 Specified at interface
 bDeviceSubClass        :    0x0
 bDeviceProtocol        :    0x0
 bMaxPacketSize0        :   0x40 (64 bytes)
 idVendor               : 0x187c
 idProduct              : 0x0530
 bcdDevice              :    0x0 Device 0.0
 iManufacturer          :    0x1 Alienware
 iProduct               :    0x2 AW1517
 iSerialNumber          :    0x3 02.90
 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      :    0x1
     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   :    0xa (10 bytes)
       bInterval        :    0xa

When attempting to Apply changes, the following stack trace results:

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

(GUI.py:22865): Gtk-WARNING **: gtkliststore.c:516: Invalid type (null)

(GUI.py:22865): dconf-WARNING **: failed to commit changes to dconf: Error spawning command line “dbus-launch --autolaunch=c48c0bf41a1443f9977435d5e18c4e25 --binary-syntax --close-stderr”: Child process exited with code 1

(GUI.py:22865): dconf-WARNING **: failed to commit changes to dconf: Error spawning command line “dbus-launch --autolaunch=c48c0bf41a1443f9977435d5e18c4e25 --binary-syntax --close-stderr”: Child process exited with code 1

(GUI.py:22865): dconf-WARNING **: failed to commit changes to dconf: Error spawning command line “dbus-launch --autolaunch=c48c0bf41a1443f9977435d5e18c4e25 --binary-syntax --close-stderr”: Child process exited with code 1

(GUI.py:22865): dconf-WARNING **: failed to commit changes to dconf: Error spawning command line “dbus-launch --autolaunch=c48c0bf41a1443f9977435d5e18c4e25 --binary-syntax --close-stderr”: Child process exited with code 1
Exception in thread Thread-2:
Traceback (most recent call last):
  File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/share/alienware-kbl/GUI.py", line 808, in ILUMINATE_keyboard
    self.controller.Write_Conf()
  File "/usr/share/alienware-kbl/Engine.py", line 195, in Write_Conf
    self.WaitForOk()
  File "/usr/share/alienware-kbl/Engine.py", line 282, in WaitForOk
    self.Get_State()
  File "/usr/share/alienware-kbl/Engine.py", line 298, in Get_State
    msg = self.driver.ReadDevice(request)
  File "/usr/share/alienware-kbl/Engine.py", line 135, in ReadDevice
    msg[0].packet))
  File "/usr/lib/python3.6/site-packages/usb/core.py", line 1043, in ctrl_transfer
    self.__get_timeout(timeout))
  File "/usr/lib/python3.6/site-packages/usb/backend/libusb1.py", line 883, in ctrl_transfer
    timeout))
  File "/usr/lib/python3.6/site-packages/usb/backend/libusb1.py", line 595, in _check
    raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 75] Overflow

"Model selector feature" for computers with common vendor id and product id

AKBL uses the "idProduct" to detect the computer model and apply the defined configuration. The problem is that some computer models share the same id:

COMPUTER                idVendor        idProduct
------------------------------------------------------------------
Aurora R4               6268            1299
M17X R1                 6268            1299

M14X R1                 6268            1313
M14X R2                 6268            1313

Alienware15 R3          6268            1328
M17X R4                 6268            1328

M17X R5                 6268            1360
Alienware15 R4          6268            1360

Some feature must be developed to make the user choose the right model.

As a momentary solution, the best way of fixing this is to delete the non-used profile from the folder /usr/share/doc/AKBL/computers/. This must be done every time that the software is installed.

Unable to use because of Pyro4 is unavailable

System information

  • Distribution name: Debian 0
  • Distribution version: Current Stable
  • Python version: 3
  • Computer model: Alienware 17 R2
  • Output of the command alienware-kbl --daemon-is-on:
    root@alienware:/home/diveyez# alienware-kbl --daemon-is-on
    Traceback (most recent call last):
    File "/usr/share/AlienwareKBL/ADDONS/DefaultArguments.py", line 26, in
    from Bindings import Bindings
    File "/usr/share/AlienwareKBL/Bindings.py", line 22, in
    import Pyro4
    ImportError: No module named 'Pyro4'

Bug description

root@alienware:/home/diveyez# alienware-kbl --start-indicator
Traceback (most recent call last):
File "/usr/share/AlienwareKBL/ADDONS/Indicator/Indicator.py", line 28, in
import Pyro4
ImportError: No module named 'Pyro4'

AttributeError: module 'Computers' has no attribute 'Alienware 15'

I'm able to access alienware-kbl from the terminal and through python scripts. But when I try to run it from the terminal by entering "alienware-kbl". It shows the following error:

(GUI.py:2630): Gtk-WARNING **: Theme parsing error: gtk.css:68:35: The style property GtkButton:child-displacement-x is deprecated and shouldn't be used anymore. It will be removed in a future version

(GUI.py:2630): Gtk-WARNING **: Theme parsing error: gtk.css:69:35: The style property GtkButton:child-displacement-y is deprecated and shouldn't be used anymore. It will be removed in a future version

(GUI.py:2630): Gtk-WARNING **: Theme parsing error: gtk.css:73:46: The style property GtkScrolledWindow:scrollbars-within-bevel is deprecated and shouldn't be used anymore. It will be removed in a future version

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

(GUI.py:2630): Gtk-WARNING **: gtkliststore.c:516: Invalid type (null)
Traceback (most recent call last):
  File "/usr/share/alienware-kbl/GUI.py", line 1080, in <module>
    gui = GUI()
  File "/usr/share/alienware-kbl/GUI.py", line 306, in __init__
    self.computer = getattr(Computers, computer_name)()
AttributeError: module 'Computers' has no attribute 'Alienware 15'

I'm using Alienware 15 (A06) and running KDE Plasma 5.9.4 (Qt 5.8.0) on Manjaro Linux(Kernel: 4.9.24-1-MANJARO x86_64)

Starting the daemon trough the terminal

System information

  • Distribution name: Manjaro
  • Distribution version: 4.19.45
  • Python3 version: 3.7.3
  • akbl version: 2019.04.14
  • Computer model: AW 15R1

Bug description

Reported by @e-leclercq here.

When I attempt to start the daemon via the command sudo akbl --start-daemon, the process hangs in the terminal without ending and unlike your case, no output is given (even when I stop the process).

However, when I reboot and run akbl, without the start daemon flag, it works just fine. So I think there might be some issue starting the daemon with that command, but not necessarily the support for the 15R1.

Permission Problem, Default theme update Problem

By using a non-root account I got the following error:

profile added Default
Exception in thread Thread-3:
Traceback (most recent call last):
  File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.5/threading.py", line 862, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/share/alienware-kbl/GUI.py", line 700, in ILUMINATE_keyboard
    os.utime(self.configuration.path, None)
PermissionError: [Errno 13] Permission denied

Add support to the Alienware 15 R4

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!

Alienware 13 R1 Fixes

System information

  • Distribution name: Antegros
  • Distribution version: 5.1.15
  • Python3 version: python3 --3.7.3-2
  • akbl version: akbl-v2019.05.26
  • Computer model: Alienware 13 (r1)
  • Daemon status: akbl --daemon-is-on

Bug description

good day.
recently replaced the battery and ssd drive on my alienware 13 (r1)
installed windows10, program drivers, respectively, installed antegros + kde.
after all the installations I decided, of course, to adjust the backlight, I was immediately upset by the blue color of the logo.
The keyboard highlights normally with all colors. but the blue backlight is on the outer lid, alienware logo, shining at half the power.
From this, when choosing a white color, the logo shines yellow. When choosing a blue color - the logo shines green.
help please understand.
Is this a controller problem, or can it be programmatically adjusted?
Is it possible to somehow raise the voltage to blue in a software way?

Alienware 15R3 fixes

I'm trying to clean up the configuration file for 15R3, but there are two issues.

First off, an easy thing I need an advice for:

[REGION RIGHT_SPEAKER]
ID=RS
DESCRIPTION=Side: Top Left
BLOCK=4096
SUPPORTED_COMMANDS=15
CAN_BLINK=True
CAN_MORPH=True
CAN_LIGHT=True

[REGION TACTX]
ID=TX
DESCRIPTION=Side: Top Right
BLOCK=8192
SUPPORTED_COMMANDS=15
CAN_BLINK=True
CAN_MORPH=True
CAN_LIGHT=True

[REGION TOUCH_PAD]
ID=TP
DESCRIPTION=Side: Bottom Left
BLOCK=1024
SUPPORTED_COMMANDS=15
CAN_BLINK=True
CAN_MORPH=True
CAN_LIGHT=True

[REGION LEFT_SPEAKER]
ID=LS
DESCRIPTION=Side: Bottom Right
BLOCK=2048
SUPPORTED_COMMANDS=15
CAN_BLINK=True
CAN_MORPH=True
CAN_LIGHT=True

These 4 regions correspond to different areas of the 15R3, specifically to the side lights on the case. Should the REGION identifiers/IDs change accordingly, or should I simply leave it as is (with only the description changed)?

Then there's the Tact-X issue:

[REGION POWER_BUTON_EYES]
ID=PBE
DESCRIPTION=Tact-X
BLOCK=16384
SUPPORTED_COMMANDS=1
CAN_BLINK=True
CAN_MORPH=True
CAN_LIGHT=True

It corresponds to the power button eyes REGION which cannot be changed anymore. How should such thing be addressed?

swapped zones on m14xr2

System information

  • Distribution name: ARCHLINUX
  • Distribution version:
  • Python version: Python 3.7.1
  • Computer model: m14xr2
  • Output of the command alienware-kbl --daemon-is-on:

DEBUG from/usr/lib/python3.7/AKBL/Data/Theme/Theme.pyon methodload`:
#############################################

Alienware-KBL configuration theme

#############################################

name=gamming
speed=1


area=AH

mode=fixed
left_color=#ffffff
right_color=#0000ff


area=AL

mode=fixed
left_color=#40ff00
right_color=#0000ff


area=LCK

mode=fixed
left_color=#ffffff
right_color=#0000ff


area=LK

mode=fixed
left_color=#ffffff
right_color=#0000ff


area=LS

mode=fixed
left_color=#ffffff
right_color=#0000ff


area=MB

mode=fixed
left_color=#ffffff
right_color=#0000ff


area=PB

mode=fixed
left_color=#ffffff
right_color=#0000ff


area=PBE

mode=fixed
left_color=#ff8000
right_color=#0000ff


area=RCK

mode=morph
left_color=#00ffff
right_color=#00ffff


area=RK

mode=fixed
left_color=#00ffff
right_color=#40ff00


area=RS

mode=fixed
left_color=#ffffff
right_color=#0000ff


area=TP

mode=fixed
left_color=#ffffff
right_color=#0000ff

WARNING from /usr/lib/python3.7/AKBL/Daemon.py on method set_lights:
samuel

DEBUG from /usr/lib/python3.7/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.7/AKBL/Engine/Driver.py on method read_device:
msg=array('B', [17, 0, 0, 0, 0, 0, 0, 0])

DEBUG from /usr/lib/python3.7/AKBL/Engine/Driver.py on method write_constructor:
packet=[ 2| 6| 0| 0| 0| 0| 0| 0| 0] legend=set_get_status
packet=[ 2| 7| 4| 0| 0| 0| 0| 0| 0] legend=reset, command=RESET_ALL_LIGHTS_ON

DEBUG from /usr/lib/python3.7/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.7/AKBL/Engine/Driver.py on method read_device:
msg=array('B', [16, 0, 0, 0, 0, 0, 0, 0])

DEBUG from /usr/lib/python3.7/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.7/AKBL/Engine/Driver.py on method read_device:
msg=array('B', [16, 0, 0, 0, 0, 0, 0, 0])

DEBUG from /usr/lib/python3.7/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.7/AKBL/Engine/Driver.py on method read_device:
msg=array('B', [16, 0, 0, 0, 0, 0, 0, 0])

DEBUG from /usr/lib/python3.7/AKBL/Engine/Driver.py on method write_constructor:
packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 14| 0| 1| 0| 0| 0| 0| 0] legend=set_speed, speed=1

packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 3| 1| 0| 0|128|255|240| 0] legend=add_light_zone: left_color=#ffffff, hex_id=128
packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 3| 2| 0| 1| 0| 79| 0| 0] legend=add_light_zone: left_color=#40ff00, hex_id=256
packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 3| 3| 0| 0| 2|255|240| 0] legend=add_light_zone: left_color=#ffffff, hex_id=2
packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 3| 4| 0| 0| 1|255|240| 0] legend=add_light_zone: left_color=#ffffff, hex_id=1
packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 3| 5| 0| 0| 32|255|240| 0] legend=add_light_zone: left_color=#ffffff, hex_id=32
packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 3| 6| 0| 28| 0|255|240| 0] legend=add_light_zone: left_color=#ffffff, hex_id=7168
packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 3| 7| 0| 32| 0|255|240| 0] legend=add_light_zone: left_color=#ffffff, hex_id=8192
packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 3| 8| 0| 63|220|248| 0| 0] legend=add_light_zone: left_color=#ff8000, hex_id=16348
packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 1| 9| 0| 0| 4| 15|240|255] legend=add_morph_zone: left_color=#00ffff, right_color=#00ffff, hex_id=4
packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 3| 10| 0| 0| 8| 15|240| 0] legend=add_light_zone: left_color=#00ffff, hex_id=8
packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 3| 11| 0| 0| 64|255|240| 0] legend=add_light_zone: left_color=#ffffff, hex_id=64
packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 3| 12| 0| 2| 0|255|240| 0] legend=add_light_zone: left_color=#ffffff, hex_id=512
packet=[ 2| 8| 1| 0| 0| 0| 0| 0| 0] legend=__save_block, block=1
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 9| 0| 0| 0| 0| 0| 0| 0] legend=__save_block
packet=[ 2| 5| 0| 0| 0| 0| 0| 0| 0] legend=end_block_line

packet=[ 2| 14| 0| 1| 0| 0| 0| 0| 0] legend=set_speed, speed=1

packet=[ 2| 3| 1| 0| 0|128|255|240| 0] legend=add_light_zone: left_color=#ffffff, hex_id=128
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 3| 2| 0| 1| 0| 79| 0| 0] legend=add_light_zone: left_color=#40ff00, hex_id=256
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 3| 3| 0| 0| 2|255|240| 0] legend=add_light_zone: left_color=#ffffff, hex_id=2
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 3| 4| 0| 0| 1|255|240| 0] legend=add_light_zone: left_color=#ffffff, hex_id=1
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 3| 5| 0| 0| 32|255|240| 0] legend=add_light_zone: left_color=#ffffff, hex_id=32
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 3| 6| 0| 28| 0|255|240| 0] legend=add_light_zone: left_color=#ffffff, hex_id=7168
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 3| 7| 0| 32| 0|255|240| 0] legend=add_light_zone: left_color=#ffffff, hex_id=8192
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 3| 8| 0| 63|220|248| 0| 0] legend=add_light_zone: left_color=#ff8000, hex_id=16348
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 1| 9| 0| 0| 4| 15|240|255] legend=add_morph_zone: left_color=#00ffff, right_color=#00ffff, hex_id=4
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 3| 10| 0| 0| 8| 15|240| 0] legend=add_light_zone: left_color=#00ffff, hex_id=8
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 3| 11| 0| 0| 64|255|240| 0] legend=add_light_zone: left_color=#ffffff, hex_id=64
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 3| 12| 0| 2| 0|255|240| 0] legend=add_light_zone: left_color=#ffffff, hex_id=512
packet=[ 2| 4| 0| 0| 0| 0| 0| 0| 0] legend=end_colors_line

packet=[ 2| 5| 0| 0| 0| 0| 0| 0| 0] legend=end_block_line

`

Bug description

some zones are like bad mapping for example the color of the power button eyes are apply to the alienware logo.

other settings like keep media lights on are not working

also there is a some problem with the right keyboard zone, if i set the color of the power button eyes, also apply a second color to the keyboard if you have red in the right keyboard zone and apply yellow to the powerbutton eyes... you get a orange right keyboard zone.

Theme Module not found

On running alienware-kbl from the terminal, I get an error message saying cannot import Theme module.

Add support to the Alienware 17 R2 computer

(originally reported by Zhen)

Ubuntu 16.10

Dected As: Alienware 15
 Vendor ID: 6268
 Product ID: 1320

DEVICE ID 187c:0528 on Bus 003 Address 003 =================
 bLength                :   0x12 (18 bytes)
 bDescriptorType        :    0x1 Device
 bcdUSB                 :    0x2 USB 0.02
 bDeviceClass           :    0x0 Specified at interface
 bDeviceSubClass        :    0x0
 bDeviceProtocol        :    0x0
 bMaxPacketSize0        :   0x40 (64 bytes)
 idVendor               : 0x187c
 idProduct              : 0x0528
 bcdDevice              :    0x0 Device 0.0
 iManufacturer          :    0x1 Alienware
 iProduct               :    0x2 AW1517
 iSerialNumber          :    0x3 16.0
 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      :    0x1
     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   :    0xa (10 bytes)
       bInterval        :    0xa

Unable to start the GUI due to Pyro

System information

bassim@me-inside:~$ sudo  setsid alienware-kbl --start-daemon
   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      :    0x1
     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   :    0xa (10 bytes)
       bInterval        :    0xa


    can_light=True
    can_blink=True
    can_morph=True
    max_comands=15


    name=TX
    description=Tact-X
    hex_id=8192
    can_light=True
    can_blink=True
    can_morph=True
    max_comands=15


    name=TP
    description=Touchpad
    hex_id=1024
    can_light=True
    can_blink=True
    can_morph=True
    max_comands=15


DEBUG from `/usr/share/AlienwareKBL/Configuration/Theme.py` on method `load`:
path=`/root/.local/share/alienware-kbl/Default.cfg`


area=RS


mode=fixed
left_color=#0000FF
right_color=#0000FF

********************************************   
area=TP                


mode=fixed             
left_color=#0000FF     
right_color=#0000FF    

********************************************   
area=TX                


mode=fixed             
left_color=#0000FF     
right_color=#0000FF    


+ Distribution name: Ubuntu
+ Distribution version: Ubuntu 17.10
+ Python version: 3.6.6
+ Computer model: AW 15R3
+ Output of the command `alienware-kbl --daemon-is-on`: TRUE

Bug description

Dears,
I'm unable to start the GUI after installing the packages. Also the pyro package can't be installed on the system and the below error is thrown each time I start Ubuntu

selection_007

selection_007

bassim@me-inside:~$ pip3 install pyro
Collecting pyro
  Using cached Pyro-3.16.tar.gz
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/tmp/pip-build-6fyolzqa/pyro/setup.py", line 23
        exec code in constants
                ^
    SyntaxError: Missing parentheses in call to 'exec'
    
    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-6fyolzqa/pyro/
bassim@me-inside:~$  `

Alienware 13 (r1)

Выставил белый цвет везде! (правый центр клавиатуры слабо подсвечен или вообще не подсвечен)

начинаю тестировать и выбираю изменяющийся режим подсветки. Белый + красный

Центр-право - (изменяющийся справа) изменяется зарядка на кнопке включения. Когда включаю мигающий слева - хаотичность из красного синего и белого, но когда меняю справа налево синего цвета незаметно.

Head - при выборе крассного цвета полного или изменяющего (белый + крассный) - ничего не происходит.
Logo - при выборе белого + крассного цвета - меняются (но самого красного насыщщеного цвета нет)
Caps lock - на моем ноутбуке alienware 13 - hdd, bluetooth/(wlan), caps lock изменяют цвет одновременно по схеме microsoft. По вашей схеме capslock-bluetooth/(wlan) вместе! Hdd не меняется
Hard Disk Drive - при выборе белого + крассного цвета все работатет как и Logo - без крассного насыщщенного
Keyboard left centr - при выборе белого + крассного цвета все работатет как и Logo - без крассного насыщщенного
Keyboard left - при выборе белого + крассного цвета все работатет как и Logo - без крассного насыщщенного
Outer lid - при выборе белого + крассного цвета все работатет как и Logo - без крассного насыщщенного
Keyboard right centr - (изменяющийся справа) изменяется зарядка на кнопке включения. Когда включаю мигающий слева - хаотичность из красного синего и белого, но когда меняю справа налево синего цвета незаметно.
Keyboard ight - при выборе белого + крассного цвета все работатет как и Logo - без крассного насыщщенного

Замеченные мною отклонения в калибровке цветов и управлении логтипом под дисплеем.
Я выбрал белый цвет подсветки всех элементов. Элементы logo hdd capslock wlan head - имеют желтый оттенок. (возможно это имеет другой тип led в заводской конструкции, в официальной версии под microsoft - нет выбора белого цвета вовсе)

Лого в виде надписи alienware которое находится под дисплеем буду назывть LOGO

Дальше я начал искать HEAD, ведь я зменил все цвета изначально.
Устанавливал белый+крассный, крассный+белый, крассный+крассный : ничего не менялось! Поставил на нем Черный! Возможно гдето чтото потухнет

Ищу дальше и перехожу к Logo - выставляю крассный + белый - начинает изменяться цвет LOGO под дисплеем! (примерно так : белый + голубой + красный)
выставляю крассный + крассный - Logo светится крассным цветом, стабильно! (но не насыщщено - ярко морковный)

Преешел к outer lid - выставил зеленый + желтый - изменяется! К этому времени ноут полностью заряжен! И при отключении зарядного, кнопка включения в виде головы загорелась зеленым!, при подключении зарядного - кнопка мигает зеленым + желтым, как и наружный логотип на крышке экрана. Аккумулятор зарядился - head светится белым.

Keyboard right centre выставил крассный + белый! На клавиатуре не изменилось ничего, но Head начал менять цвета (красный-белый-голубой и подмигивает желтым) изменил вариант: белый+крассный (меняет цвета нормально - не подмигивает желтым) но все же должен управлять правым центром, а не head.
Выставил везде черный цвет. Все потухло.!
Keyboard right centre выставил крассный + белый. Погулялся ползунком скорости изменения цветов.
Когда на минимум - крассный, желтый мигает, голубой, белый.
Когда на максимум, все очень плавно - но слишком много ненужных цветов от крассного до белого (хотя я допускаю конструктивную особенность невозможности переключения цветов от крассного к розовому и к белому.)

Выставил все крассное - Head оставил черным.
Но кнопка включения\выключения в виде головы светится крассным и подмигивает желтым.

Вот такой хаос происходит.
Новую стабильную версию не получилось запустить. Пришлось скачать старую, запустить старую, потом сверху установить новую. Но ничего стабильного для моего Alienware 13 не получилось.

Add support to the ASM100 (Alienware Alpha R1) computer

System information

  • Distribution name: Linux Mint
  • Distribution version: 19.1 Tessa x64
  • Python3 version: Python 3.6.7
  • akbl version: 2018.11.25
  • Computer model: ASM100 (Alienware Alpha R1)
  • Daemon status: False

Bug description

Was going to try and add a new computer to the configuration and send that to you as stated on the faq section on your site but I'm Unable to start up the daemon which makes it to where I cannot start up the program so I receive this error:

ERROR from `/usr/lib/python3.6/AKBL/Engine/Controller.py` on method `__init__`:
The computer is not supported.

The information provided above isn't much however I'm unable to open the program to get all the required info as told. Perhaps there's a work around?

Problems under ubuntu & derivates

i recently switch from manjaro to kde-neon that is ubuntu based and i have this problem when i try to start with the indicator or setsid alienware-kbl --start-daemon:

module 'Pyro4' has no attribute 'expose'

thanks for your work!

Alienware 15 r3 detected as alienware 15

I have an alienware 15-R3 and it is detected as an alienware 15 so it got the wrong things i can edit and it dont work

(sorry for my bad english)

Dected As: Alienware 15
 Vendor ID: 6268
 Product ID: 1328

DEVICE ID 187c:0530 on Bus 001 Address 002 =================
 bLength                :   0x12 (18 bytes)
 bDescriptorType        :    0x1 Device
 bcdUSB                 :    0x2 USB 0.02
 bDeviceClass           :    0x0 Specified at interface
 bDeviceSubClass        :    0x0
 bDeviceProtocol        :    0x0
 bMaxPacketSize0        :   0x40 (64 bytes)
 idVendor               : 0x187c
 idProduct              : 0x0530
 bcdDevice              :    0x0 Device 0.0
 iManufacturer          :    0x1 Alienware
 iProduct               :    0x2 AW1517
 iSerialNumber          :    0x3 03.00
 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      :    0x1
     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   :    0xa (10 bytes)
       bInterval        :    0xa

`

[Ubuntu] usb connection error, Resource busy, Entity not found

(originally posted by razvan)

Version: alienware-kbl 1.4.8~4
linux: ubuntu 16.04

I'm not sure if it's after an update of this software or an update of drivers or other related libraries, but after I restarted today I started getting this error:

13:44:razvan@alienware:~$
🙰  alienware-kbl
If the daemon is off ignore the following error:
cannot connect: [Errno 111] Connection refused
Runing without daemon.
Fixing bug 84!!
profile added Default
profile added Răzvan
Exception in thread Thread-2:
Traceback (most recent call last):
 File "/usr/share/alienware-kbl/Engine.py", line 130, in Take_over
   self.dev.set_configuration()
 File "/usr/share/alienware-kbl/usb/core.py", line 799, in set_configuration
   self._ctx.managed_set_configuration(self, configuration)
 File "/usr/share/alienware-kbl/usb/core.py", line 128, in managed_set_configuration
   self.backend.set_configuration(self.handle, cfg.bConfigurationValue)
 File "/usr/share/alienware-kbl/usb/backend/libusb1.py", line 730, in set_configuration
   _check(self.lib.libusb_set_configuration(dev_handle.handle, config_value))
 File "/usr/share/alienware-kbl/usb/backend/libusb1.py", line 552, in _check
   raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 16] Resource busy

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
 File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
   self.run()
 File "/usr/lib/python3.5/threading.py", line 862, in run
   self._target(*self._args, **self._kwargs)
 File "/usr/share/alienware-kbl/AlienwareKBLGUI", line 732, in ILUMINATE_keyboard
   self.controller.Write_Conf()
 File "/usr/share/alienware-kbl/Engine.py", line 182, in Write_Conf
   self.WaitForOk()
 File "/usr/share/alienware-kbl/Engine.py", line 262, in WaitForOk
   while not self.Get_State():
 File "/usr/share/alienware-kbl/Engine.py", line 270, in Get_State
   self.driver.Take_over()
 File "/usr/share/alienware-kbl/Engine.py", line 132, in Take_over
   self.dev.detach_kernel_driver(0)
 File "/usr/share/alienware-kbl/usb/core.py", line 1005, in detach_kernel_driver
   interface)
 File "/usr/share/alienware-kbl/usb/backend/libusb1.py", line 838, in detach_kernel_driver
   _check(self.lib.libusb_detach_kernel_driver(dev_handle.handle, intf))
 File "/usr/share/alienware-kbl/usb/backend/libusb1.py", line 552, in _check
   raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 2] Entity not found

I don't have any steps to reproduce the bug... it jus started happening. Thanks!

Python-Pyro @expose

Python bindings giving the following error, Alienware 17 R3.

File "/usr/share/alienware-kbl/Daemon.py", line 47, in <module>
    class Daemon:
  File "/usr/share/alienware-kbl/Daemon.py", line 130, in Daemon
    @Pyro4.expose
AttributeError: module 'Pyro4' has no attribute 'expose'

Add support to the Alienware 13 R3 computer

Device: ID 187c:0529 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          0x0529 
  bcdDevice            0.00
  iManufacturer           1 Alienware
  iProduct                2 AW13
  iSerial                 3 03.00
  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           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 Descriptor: (length is 56)
            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): Usage Page, data= [ 0x0c ] 12
                            Consumer
            Item(Local ): Usage, data= [ 0x06 ] 6
                            (null)
            Item(Main  ): Collection, data= [ 0x02 ] 2
                            Logical
            Item(Local ): Usage Minimum, data= [ 0x00 ] 0
                            Unassigned
            Item(Local ): Usage Maximum, data= [ 0x66 ] 102
                            Still
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0x01 ] 1
            Item(Global): Report ID, data= [ 0x01 ] 1
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Report Count, data= [ 0x0b ] 11
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Main  ): End Collection, data=none
            Item(Global): Usage Page, data= [ 0x14 ] 20
                            Alphanumeric Display
            Item(Local ): Usage, data= [ 0x2b ] 43
                            Character Report
            Item(Main  ): Collection, data= [ 0x02 ] 2
                            Logical
            Item(Local ): Usage Minimum, data= [ 0x01 ] 1
                            Alphanumeric Display
            Item(Local ): Usage Maximum, data= [ 0x66 ] 102
                            (null)
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0x01 ] 1
            Item(Global): Report ID, data= [ 0x02 ] 2
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Report Count, data= [ 0x0b ] 11
            Item(Local ): Usage, data= [ 0x2c ] 44
                            Display Data
            Item(Main  ): Output, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Main  ): End Collection, data=none
            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     0x000a  1x 10 bytes
        bInterval              10
Device Status:     0x0000
  (Bus Powered)

Arch / Manjaro Alien 15 R3 total malfunction

System information

  • Distribution name: Manjaro rolling release
  • Distribution version: 17.11 (last)
  • Python version: 3.7.0
  • Computer model: Alienware 15 R3
  • Output of the command alienware-kbl --daemon-is-on:
sudo akbl --daemon-is-on         
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/Pyro4/core.py", line 515, in connect_and_handshake
    sslContext=sslContext)
  File "/usr/lib/python3.7/site-packages/Pyro4/socketutil.py", line 307, in createSocket
    sock.connect(connect)
ConnectionRefusedError: [Errno 111] Connection refused

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.7/AKBL/Bindings.py", line 95, in reload_address
    pyro.ping()
  File "/usr/lib/python3.7/site-packages/Pyro4/core.py", line 275, in __getattr__
    self._pyroGetMetadata()
  File "/usr/lib/python3.7/site-packages/Pyro4/core.py", line 615, in _pyroGetMetadata
    self.__pyroCreateConnection()
  File "/usr/lib/python3.7/site-packages/Pyro4/core.py", line 596, in __pyroCreateConnection
    connect_and_handshake(conn)
  File "/usr/lib/python3.7/site-packages/Pyro4/core.py", line 549, in connect_and_handshake
    raise ce
Pyro4.errors.CommunicationError: cannot connect to ('localhost', 44421): [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/share/AKBL/launch/default_arguments.py", line 29, in <module>
    AKBLConnection = Bindings()
  File "/usr/lib/python3.7/AKBL/Bindings.py", line 35, in __init__
    self.reload_address()
  File "/usr/lib/python3.7/AKBL/Bindings.py", line 104, in reload_address
    print_error(format_exc())
TypeError: 'bool' object is not callable
  • Output of sudo akbl --off
Traceback (most recent call last):
  File "/usr/lib/python3.7/site-packages/Pyro4/core.py", line 515, in connect_and_handshake
    sslContext=sslContext)
  File "/usr/lib/python3.7/site-packages/Pyro4/socketutil.py", line 307, in createSocket
    sock.connect(connect)
ConnectionRefusedError: [Errno 111] Connection refused

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.7/AKBL/Bindings.py", line 95, in reload_address
    pyro.ping()
  File "/usr/lib/python3.7/site-packages/Pyro4/core.py", line 275, in __getattr__
    self._pyroGetMetadata()
  File "/usr/lib/python3.7/site-packages/Pyro4/core.py", line 615, in _pyroGetMetadata
    self.__pyroCreateConnection()
  File "/usr/lib/python3.7/site-packages/Pyro4/core.py", line 596, in __pyroCreateConnection
    connect_and_handshake(conn)
  File "/usr/lib/python3.7/site-packages/Pyro4/core.py", line 549, in connect_and_handshake
    raise ce
Pyro4.errors.CommunicationError: cannot connect to ('localhost', 44421): [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/share/AKBL/launch/default_arguments.py", line 29, in <module>
    AKBLConnection = Bindings()
  File "/usr/lib/python3.7/AKBL/Bindings.py", line 35, in __init__
    self.reload_address()
  File "/usr/lib/python3.7/AKBL/Bindings.py", line 104, in reload_address
    print_error(format_exc())
TypeError: 'bool' object is not callable

Bug description

No cli command does anything to the lights, and the graphical interface can't apply any changes.
Either with sudo or not. Arch linux community utility 'alienfx' works to some extent (not for the screen side lights).

interface 0 claimed by usbfs while 'python3' sets config #1

System information

  • Distribution name: Ubuntu
  • Distribution version: 19.04
  • Python3 version: Python 3.7.3
  • akbl version: 2019.05.26
  • Computer model: Alienware 17 R5
  • Daemon status: True

Bug description

The daemon of akbl starts and seems to work, but when I issue any command from the GUI or the TUI, I get the following (infinite) lines on dmesg:

[1205715.557252] usb 1-4: usbfs: interface 0 claimed by usbfs while 'python3' sets config #1
[1205715.558377] usb 1-4: usbfs: process 21883 (python3) did not claim interface 0 before use
[1205715.559109] usb 1-4: usbfs: interface 0 claimed by usbfs while 'python3' sets config #1
[1205715.560457] usb 1-4: usbfs: process 21883 (python3) did not claim interface 0 before use
[1205715.561230] usb 1-4: usbfs: interface 0 claimed by usbfs while 'python3' sets config #1
[1205715.562408] usb 1-4: usbfs: process 21883 (python3) did not claim interface 0 before use
[1205715.563346] usb 1-4: usbfs: interface 0 claimed by usbfs while 'python3' sets config #1
[1205715.564738] usb 1-4: usbfs: process 21883 (python3) did not claim interface 0 before use
[1205715.565656] usb 1-4: usbfs: interface 0 claimed by usbfs while 'python3' sets config #1
[1205715.566967] usb 1-4: usbfs: process 21883 (python3) did not claim interface 0 before use
[1205715.567701] usb 1-4: usbfs: interface 0 claimed by usbfs while 'python3' sets config #1
[1205715.568815] usb 1-4: usbfs: process 21883 (python3) did not claim interface 0 before use
[1205715.569777] usb 1-4: usbfs: interface 0 claimed by usbfs while 'python3' sets config #1
[1205715.570914] usb 1-4: usbfs: process 21883 (python3) did not claim interface 0 before use
[1205715.571591] usb 1-4: usbfs: interface 0 claimed by usbfs while 'python3' sets config #1
[1205715.572736] usb 1-4: usbfs: process 21883 (python3) did not claim interface 0 before use
[1205715.573610] usb 1-4: usbfs: interface 0 claimed by usbfs while 'python3' sets config #1
[1205715.574720] usb 1-4: usbfs: process 21883 (python3) did not claim interface 0 before use
[1205715.575589] usb 1-4: usbfs: interface 0 claimed by usbfs while 'python3' sets config #1
[1205715.576836] usb 1-4: usbfs: process 21883 (python3) did not claim interface 0 before use
[1205715.577660] usb 1-4: usbfs: interface 0 claimed by usbfs while 'python3' sets config #1
[1205715.578863] usb 1-4: usbfs: process 21883 (python3) did not claim interface 0 before use
[1205715.579622] usb 1-4: usbfs: interface 0 claimed by usbfs while 'python3' sets config #1
[1205715.580784] usb 1-4: usbfs: process 21883 (python3) did not claim interface 0 before use

It never stops. The only way to stop it is to restart the daemon.

Add support to Alienware 15 R1

System Information

  • Distribution name: Arch Linux
  • Distribution version: 5.0.11
  • Python3 version: 3.7.3
  • akbl version: 2019.01.13
  • Computer model: Alienware 15 Early 2015 (R1)
  • Daemon status: False

Bug Description

  • Running command akbl gives a GTK dialog-box showing the error The GUI can not start because the daemon is off.
  • Running akbl --start-daemon gives the following error,
ERROR from `/usr/lib/python3.7/AKBL/Engine/Controller.py` on method `__init__`:
The computer is not supported.

Log Dumps

[tgl@thegeekylad ~]$ lsusb
...
Bus 002 Device 002: ID 187c:0528 Alienware Corporation
...
[tgl@thegeekylad ~]$ 
[tgl@thegeekylad ~]$ sudo lsusb -D /dev/bus/usb/002/002
Device: ID 187c:0528 Alienware Corporation 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               0.02
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x187c Alienware Corporation
  idProduct          0x0528 
  bcdDevice            0.00
  iManufacturer           1 Alienware
  iProduct                2 AW1517
  iSerial                 3 16.0
  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           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 Descriptor: (length is 56)
            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): Usage Page, data= [ 0x0c ] 12
                            Consumer
            Item(Local ): Usage, data= [ 0x06 ] 6
                            (null)
            Item(Main  ): Collection, data= [ 0x02 ] 2
                            Logical
            Item(Local ): Usage Minimum, data= [ 0x00 ] 0
                            Unassigned
            Item(Local ): Usage Maximum, data= [ 0x66 ] 102
                            Still
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0x01 ] 1
            Item(Global): Report ID, data= [ 0x01 ] 1
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Report Count, data= [ 0x08 ] 8
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Main  ): End Collection, data=none
            Item(Global): Usage Page, data= [ 0x14 ] 20
                            Alphanumeric Display
            Item(Local ): Usage, data= [ 0x2b ] 43
                            Character Report
            Item(Main  ): Collection, data= [ 0x02 ] 2
                            Logical
            Item(Local ): Usage Minimum, data= [ 0x01 ] 1
                            Alphanumeric Display
            Item(Local ): Usage Maximum, data= [ 0x66 ] 102
                            (null)
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0x01 ] 1
            Item(Global): Report ID, data= [ 0x02 ] 2
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Report Count, data= [ 0x08 ] 8
            Item(Local ): Usage, data= [ 0x2c ] 44
                            Display Data
            Item(Main  ): Output, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Main  ): End Collection, data=none
            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     0x000a  1x 10 bytes
        bInterval              10
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0000
  (Bus Powered)
[tgl@thegeekylad ~]$ 

Thanks in advance!

ModuleNotFoundError: No module named 'AKBL' on Alienware 15 Manjaro Linux(Arch Based)

System information

  • Distribution name: Manjaro Linux
  • Distribution version: 17.1.12
  • Python version: 3.7.0
  • Computer model: Alienware 15
  • Output of the command alienware-kbl --daemon-is-on: alienware-kbl: command not found
  • Output of the command akbl --daemon-is-on:
Traceback (most recent call last):
  File "/usr/share/AKBL/launch/default_arguments.py", line 22, in <module>
    from AKBL.Bindings import Bindings
ModuleNotFoundError: No module named 'AKBL'

Bug description

This package used to work fine but recently I upgraded my system and also upgraded this package but when I try to run this, I get this error:

  File "/usr/share/AKBL/launch/gui.py", line 19, in <module>
    from AKBL.ADDONS.GUI.GUI import main
ModuleNotFoundError: No module named 'AKBL'

Problem with Alienware 13 R1

System information

  • Distribution name: Manjaro
  • Distribution version: 18.0.2
  • Python3 version: 3.7.2
  • akbl version: 2019.01.13
  • Computer model: Alienware 13 R1
  • Daemon status: False

Bug description

Daemon won't start, systemctl status akbl returns

akbl.service - AKBL Daemon
   Loaded: loaded (/usr/lib/systemd/system/akbl.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2019-01-18 13:49:26 NST; 27s ago
  Process: 28809 ExecStart=/bin/bash -c /usr/bin/akbl --start-daemon (code=exited, status=1/FAILURE)
 Main PID: 28809 (code=exited, status=1/FAILURE)

Jan 18 13:49:26 Jadoo systemd[1]: Started AKBL Daemon.
Jan 18 13:49:26 Jadoo bash[28809]: ERROR from `/usr/lib/python3.7/AKBL/Engine/Controller.py` on method `__init__`:
Jan 18 13:49:26 Jadoo bash[28809]: The computer is not supported.
Jan 18 13:49:26 Jadoo systemd[1]: akbl.service: Main process exited, code=exited, status=1/FAILURE
Jan 18 13:49:26 Jadoo systemd[1]: akbl.service: Failed with result 'exit-code'.

I made sure to install all the latest dependencies

Add support to the Alienware 15 R3 computer

alienware-kbl responds with "Your Computer is not yet supported" The window is blank (with the exception of the message) and menus are not active (except "Help"). I am running Ubuntu 16.10 (64 bit). "Computer Data" output is below.

Device: ID 187c:0530 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          0x0530 
  bcdDevice            0.00
  iManufacturer           1 Alienware
  iProduct                2 AW1517
  iSerial                 3 02.90
  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           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)

USB error 75 Overflow on Kubuntu 17.10, Alienware 15 R3

System information

  • Distribution name: Kubuntu
  • Distribution version: 17.10
  • Python version: 3.6.3
  • Computer model: Alienware 15 R3
  • Output of the command alienware-kbl --daemon-is-on: True

Bug description

I see the below error in the application's output when trying to perform actions:

ERROR from `/usr/share/AlienwareKBL/Bindings.py` on method `_command`:
Command=set_lights, arguments=[root,True]
Traceback (most recent call last):
  File "/usr/share/AlienwareKBL/Bindings.py", line 54, in _command
    response = getattr(self._pyro, command)(*args)
  File "/usr/lib/python3/dist-packages/Pyro4/core.py", line 186, in __call__
    return self.__send(self.__name, args, kwargs)
  File "/usr/lib/python3/dist-packages/Pyro4/core.py", line 461, in _pyroInvoke
    data = serializer.deserializeData(msg.data, compressed=msg.flags & message.FLAGS_COMPRESSED)
  File "/usr/lib/python3/dist-packages/Pyro4/util.py", line 170, in deserializeData
    return self.loads(data)
  File "/usr/lib/python3/dist-packages/Pyro4/util.py", line 558, in loads
    return self.recreate_classes(serpent.loads(data))
  File "/usr/lib/python3/dist-packages/Pyro4/util.py", line 411, in recreate_classes
    return self.dict_to_class(literal)
  File "/usr/lib/python3/dist-packages/Pyro4/util.py", line 575, in dict_to_class
    return super(SerpentSerializer, cls).dict_to_class(data)
  File "/usr/lib/python3/dist-packages/Pyro4/util.py", line 390, in dict_to_class
    raise errors.SerializeError("unsupported serialized class: " + classname)
Pyro4.errors.SerializeError: unsupported serialized class: usb.core.USBError

Of course, nothing happens with the lights.

From the above error I deducted that the problem is because of an inner problem with USB.

I ran block-testing, clicked connect (a lot of output appeared in the application's output in the terminal, but they didn't seem like errors), then I pressed "lights off" and saw this stacktrace in the application's GUI window:

[Device found]: Vendor ID: 6268	 Product ID: 1328

Traceback (most recent call last):
  File "/usr/share/AlienwareKBL/ADDONS/BlockTesting/BlockTesting.py", line 335, in on_button_block_testing_lights_off_clicked
    self._testing_controller.add_reset_line(self._computer.RESET_ALL_LIGHTS_OFF)
  File "/usr/share/AlienwareKBL/Engine/Core/Controller.py", line 77, in add_reset_line
    while not self._device_is_ready():
  File "/usr/share/AlienwareKBL/Engine/Core/Controller.py", line 48, in _device_is_ready
    msg = self._driver.read_device(constructor)
  File "/usr/share/AlienwareKBL/Engine/Core/Driver.py", line 107, in read_device
    msg = self._device.ctrl_transfer(self.READ_REQUEST_TYPE, self.READ_REQUEST, self.READ_VALUE, self.READ_INDEX, len(msg[0].packet))
  File "/usr/lib/python3/dist-packages/usb/core.py", line 1043, in ctrl_transfer
    self.__get_timeout(timeout))
  File "/usr/lib/python3/dist-packages/usb/backend/libusb1.py", line 883, in ctrl_transfer
    timeout))
  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 75] Overflow

I'd be happy to provide more info and do debugging.

Problems with the areas "Power Button" and "Power Button Eyes"

The "Power Button" and "Power Button Eyes" areas are kinda problematic and they have never totally worked.

In some cases using this areas event affect other blocks like the touch pad or the left keyboard zone.

This is post is not to report that those areas have problems on X and X computers, but to report any improvement or research concerning the issue!

I hope this can be fixed soon.

-- EDIT 18.11.24

I deactivated the power button eyes from all the configurations since they also seem to turn the middle left keyboard zone.

unsupported serialized class: usb.core.USBError, usb.core.USBError: [Errno 75] Overflow

This bug is affecting many people and I'm not able of fixing it because I can not reproduce it. If you live in the E.U. and you would agree to lend me your computer, contact me! We may organize something so this bug can be closed.


Many people is having the following error:

ERROR from `/usr/share/AlienwareKBL/Bindings.py` on method `_command`:
Command=set_lights, arguments=[root,False]
Traceback (most recent call last):
  File "/usr/share/AlienwareKBL/Bindings.py", line 54, in _command
    response = getattr(self._pyro, command)(*args)
  File "/home/bassim/.local/lib/python3.6/site-packages/Pyro4/core.py", line 187, in __call__
    return self.__send(self.__name, args, kwargs)
  File "/home/bassim/.local/lib/python3.6/site-packages/Pyro4/core.py", line 463, in _pyroInvoke
    data = serializer.deserializeData(msg.data, compressed=msg.flags & message.FLAGS_COMPRESSED)
  File "/home/bassim/.local/lib/python3.6/site-packages/Pyro4/util.py", line 170, in deserializeData
    return self.loads(data)
  File "/home/bassim/.local/lib/python3.6/site-packages/Pyro4/util.py", line 598, in loads
    return self.recreate_classes(serpent.loads(data))
  File "/home/bassim/.local/lib/python3.6/site-packages/Pyro4/util.py", line 415, in recreate_classes
    return self.dict_to_class(literal)
  File "/home/bassim/.local/lib/python3.6/site-packages/Pyro4/util.py", line 617, in dict_to_class
    return super(SerpentSerializer, cls).dict_to_class(data)
  File "/home/bassim/.local/lib/python3.6/site-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

and even if Pyro seems to be the problem, the real problem is coming from usb.core.

By using the block testing window (akbl --block-testing as root), it is possible to track it since the window doesn't use Pyro:

Traceback (most recent call last):
  File "/usr/share/AlienwareKBL/ADDONS/BlockTesting/BlockTesting.py", line 335, in on_button_block_testing_lights_off_clicked
    self._testing_controller.add_reset_line(self._computer.RESET_ALL_LIGHTS_OFF)
  File "/usr/share/AlienwareKBL/Engine/Core/Controller.py", line 77, in add_reset_line
    while not self._device_is_ready():
  File "/usr/share/AlienwareKBL/Engine/Core/Controller.py", line 48, in _device_is_ready
    msg = self._driver.read_device(constructor)
  File "/usr/share/AlienwareKBL/Engine/Core/Driver.py", line 107, in read_device
    msg = self._device.ctrl_transfer(self.READ_REQUEST_TYPE, self.READ_REQUEST, self.READ_VALUE, self.READ_INDEX, len(msg[0].packet))
  File "/usr/lib/python3.6/site-packages/usb/core.py", line 1043, in ctrl_transfer
    self.__get_timeout(timeout))
  File "/usr/lib/python3.6/site-packages/usb/backend/libusb1.py", line 883, in ctrl_transfer
    timeout))
  File "/usr/lib/python3.6/site-packages/usb/backend/libusb1.py", line 595, in _check
    raise USBError(_strerror(ret), ret, _libusb_errno[ret])
usb.core.USBError: [Errno 75] Overflow

The real problem is then an [Errno 75] Overflow coming by usb.core and it only happens with some computer models. Sadly we haven't been able of finding a solution.

The following bug reports are the ones containing related information:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.