Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Add support to Alienware Area51 R1 #100

Open
kylrth opened this issue Aug 26, 2021 · 7 comments
Open

Add support to Alienware Area51 R1 #100

kylrth opened this issue Aug 26, 2021 · 7 comments

Comments

@kylrth
Copy link

kylrth commented Aug 26, 2021

System information

  • Distribution name: Ubuntu
  • Distribution version: 20.04.3 LTS
  • Python3 version: 3.8.10
  • akbl version: 2019.05.26
  • Computer model: Alienware Area 51 (not sure of further detail)
  • Daemon status: False

Bug description

$ sudo lsusb -D /dev/bus/usb/003/003
Device: ID 187c:0526 Alienware Corporation 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               0.02
  bDeviceClass            0 
  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       0x0029
    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 
      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)
@rsm-gh rsm-gh changed the title Add support to Alienware Area 51 Add support to Alienware Area51 R1 Oct 2, 2021
@rsm-gh
Copy link
Owner

rsm-gh commented Oct 2, 2021

Hello @kylrth ,

I just added your configuration file 2131e93, and looking similar models I think that it will not work but I have some doubts. Can you test it and make me return?

Best regards,
rsm

@kylrth
Copy link
Author

kylrth commented Oct 9, 2021

Ok I checked out that commit, ran the setup script, and got the following output:

kyle@computer:~/akbl$ sudo ./setup 

 *********************************** 
 *** Installing AKBL v2019.05.26 *** 
 *********************************** 


[1/5] Removing previous versions..

Disabling the systemd daemon...
Removed /etc/systemd/system/basic.target.wants/akbl.service.

Removing the software links..
python3.8 AKBL removed
python3.9 AKBL removed

Removing the software files and directories..
removed.f: /usr/bin/akbl
removed.f: /usr/share/applications/AKBL.desktop
removed.d: /usr/share/AKBL
removed.d: /usr/share/doc/AKBL
removed.d: /usr/lib/python3/AKBL

[2/5] Installing the software files...
 Copying the software files...
installing: /usr/bin
installing: /usr/share/applications
installing: /usr/share/AKBL
install: omitting directory '/home/kyle/akbl/usr/share/AKBL/computers'
install: omitting directory '/home/kyle/akbl/usr/share/AKBL/launch'
install: omitting directory '/home/kyle/akbl/usr/share/AKBL/test'
installing: /usr/share/AKBL/computers
installing: /usr/share/AKBL/launch
installing: /usr/share/AKBL/test
installing: /usr/share/doc/AKBL
install: omitting directory '/home/kyle/akbl/usr/share/doc/AKBL/BusData'
install: omitting directory '/home/kyle/akbl/usr/share/doc/AKBL/ImagesPreview'
install: omitting directory '/home/kyle/akbl/usr/share/doc/AKBL/Licenses'
install: omitting directory '/home/kyle/akbl/usr/share/doc/AKBL/Programming'
installing: /usr/share/doc/AKBL/BusData
install: omitting directory '/home/kyle/akbl/usr/share/doc/AKBL/BusData/Data'
installing: /usr/share/doc/AKBL/BusData/Data
installing: /usr/share/doc/AKBL/ImagesPreview
installing: /usr/share/doc/AKBL/Licenses
installing: /usr/share/doc/AKBL/Programming
install: omitting directory '/home/kyle/akbl/usr/share/doc/AKBL/Programming/class_diagrams'
installing: /usr/share/doc/AKBL/Programming/class_diagrams
installing: /usr/lib/systemd/system
installing: /usr/lib/python3/AKBL
install: omitting directory '/home/kyle/akbl/usr/lib/python3/AKBL/Addons'
install: omitting directory '/home/kyle/akbl/usr/lib/python3/AKBL/Data'
install: omitting directory '/home/kyle/akbl/usr/lib/python3/AKBL/Engine'
installing: /usr/lib/python3/AKBL/Data
install: omitting directory '/home/kyle/akbl/usr/lib/python3/AKBL/Data/Computer'
install: omitting directory '/home/kyle/akbl/usr/lib/python3/AKBL/Data/Theme'
installing: /usr/lib/python3/AKBL/Data/Computer
installing: /usr/lib/python3/AKBL/Data/Theme
installing: /usr/lib/python3/AKBL/Engine
installing: /usr/lib/python3/AKBL/Addons
install: omitting directory '/home/kyle/akbl/usr/lib/python3/AKBL/Addons/BlockTesting'
install: omitting directory '/home/kyle/akbl/usr/lib/python3/AKBL/Addons/GUI'
install: omitting directory '/home/kyle/akbl/usr/lib/python3/AKBL/Addons/Indicator'
install: omitting directory '/home/kyle/akbl/usr/lib/python3/AKBL/Addons/ModelChooser'
installing: /usr/lib/python3/AKBL/Addons/GUI
install: omitting directory '/home/kyle/akbl/usr/lib/python3/AKBL/Addons/GUI/ColorChooserToolbar'
install: omitting directory '/home/kyle/akbl/usr/lib/python3/AKBL/Addons/GUI/images'
installing: /usr/lib/python3/AKBL/Addons/GUI/ColorChooserToolbar
installing: /usr/lib/python3/AKBL/Addons/GUI/images
installing: /usr/lib/python3/AKBL/Addons/BlockTesting
installing: /usr/lib/python3/AKBL/Addons/Indicator
install: omitting directory '/home/kyle/akbl/usr/lib/python3/AKBL/Addons/Indicator/images'
installing: /usr/lib/python3/AKBL/Addons/Indicator/images
installing: /usr/lib/python3/AKBL/Addons/ModelChooser
 Replacing variables...

[3/5] Creating the python links...
python3   linked (default location)
python3.8 linked
python3.9 linked


[4/5] Choosing the computer model...
Choose the configuration file from the GTK window that will appear..
Unable to init server: Could not connect: Connection refused
Unable to init server: Could not connect: Connection refused

(model_chooser.py:1571158): Gtk-CRITICAL **: 18:31:07.921: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed

(model_chooser.py:1571158): Gtk-CRITICAL **: 18:31:07.921: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed

(model_chooser.py:1571158): Gtk-CRITICAL **: 18:31:07.921: _gtk_style_provider_private_get_settings: assertion 'GTK_IS_STYLE_PROVIDER_PRIVATE (provider)' failed
/usr/bin/akbl: line 58: 1571158 Segmentation fault      (core dumped) python3 /usr/share/AKBL/launch/model_chooser.py

[5/5] Enabling the daemon...
Created symlink /etc/systemd/system/basic.target.wants/akbl.service → /lib/systemd/system/akbl.service.

 ************************************* 
 *** AKBL v2019.05.26 is installed *** 
 ************************************* 

This is a headless machine. How can I set it up without a display?

@rsm-gh
Copy link
Owner

rsm-gh commented Oct 12, 2021

@kylrth, well, I guess that I need to code a feature for the installation without a display... can you open a new bug for that? I'll tag it as enhacement and I'll try to find some time to provide a fix or a work-around

Best regards

@kylrth
Copy link
Author

kylrth commented Jan 11, 2024

Thanks for making the install script work without a GUI. Here is the new output; it looks like my hardware is not supported:

kyle@computer:akbl$ sudo ./setup 
[1/5] Removing previous versions..

 Disabling the systemd daemon...
Removed /etc/systemd/system/basic.target.wants/akbl.service.

 Removing the python links..
/usr/lib/python3.8/AKBL link removed
/usr/lib/python3.9/AKBL link removed

 Removing the software files and directories..
removed.f: /usr/share/applications/AKBL.desktop
removed.f: /usr/bin/akbl
removed.d: /usr/share/AKBL
removed.d: /usr/share/doc/AKBL
removed.d: /usr/lib/python3/AKBL

[2/5] Installing the software files...
installing: /usr/bin
installing: /usr/share/applications
installing: /usr/share/AKBL
install: omitting directory '/home/kyle/akbl/usr/share/AKBL/BlockTesting'
install: omitting directory '/home/kyle/akbl/usr/share/AKBL/GUI'
install: omitting directory '/home/kyle/akbl/usr/share/AKBL/Indicator'
install: omitting directory '/home/kyle/akbl/usr/share/AKBL/ModelChooser'
install: omitting directory '/home/kyle/akbl/usr/share/AKBL/computers'
install: omitting directory '/home/kyle/akbl/usr/share/AKBL/test'
installing: /usr/share/AKBL/test
installing: /usr/share/AKBL/launch
install: cannot stat '/home/kyle/akbl/usr/share/AKBL/launch/*': No such file or directory
installing: /usr/share/AKBL/computers
installing: /usr/share/AKBL/GUI
install: omitting directory '/home/kyle/akbl/usr/share/AKBL/GUI/ColorChooserToolbar'
install: omitting directory '/home/kyle/akbl/usr/share/AKBL/GUI/img'
installing: /usr/share/AKBL/GUI/ColorChooserToolbar
installing: /usr/share/AKBL/GUI/img
installing: /usr/share/AKBL/BlockTesting
installing: /usr/share/AKBL/Indicator
install: omitting directory '/home/kyle/akbl/usr/share/AKBL/Indicator/img'
installing: /usr/share/AKBL/Indicator/img
installing: /usr/share/AKBL/ModelChooser
installing: /usr/share/doc/AKBL
install: omitting directory '/home/kyle/akbl/usr/share/doc/AKBL/BusData'
install: omitting directory '/home/kyle/akbl/usr/share/doc/AKBL/ImagesPreview'
install: omitting directory '/home/kyle/akbl/usr/share/doc/AKBL/Licenses'
install: omitting directory '/home/kyle/akbl/usr/share/doc/AKBL/Programming'
installing: /usr/share/doc/AKBL/BusData
install: omitting directory '/home/kyle/akbl/usr/share/doc/AKBL/BusData/Data'
installing: /usr/share/doc/AKBL/BusData/Data
installing: /usr/share/doc/AKBL/ImagesPreview
installing: /usr/share/doc/AKBL/Licenses
installing: /usr/share/doc/AKBL/Programming
install: omitting directory '/home/kyle/akbl/usr/share/doc/AKBL/Programming/class_diagrams'
installing: /usr/share/doc/AKBL/Programming/class_diagrams
installing: /usr/lib/python3/AKBL
install: omitting directory '/home/kyle/akbl/usr/lib/python3/AKBL/Computer'
install: omitting directory '/home/kyle/akbl/usr/lib/python3/AKBL/Engine'
install: omitting directory '/home/kyle/akbl/usr/lib/python3/AKBL/Theme'
installing: /usr/lib/python3/AKBL/Engine
installing: /usr/lib/python3/AKBL/Computer
installing: /usr/lib/python3/AKBL/Theme
installing: /usr/lib/systemd/system

[3/5] Creating the python links...
linked python3.8
linked python3.9

[4/5] Choosing the computer model...
Error: No configuration is available for this hardware.

[5/5] Enabling the daemon...
Created symlink /etc/systemd/system/basic.target.wants/akbl.service → /lib/systemd/system/akbl.service.

@rsm-gh
Copy link
Owner

rsm-gh commented Jan 19, 2024

@kylrth ,

There was a mistake on the computers configuration, it should work now,

rsm~

@kylrth
Copy link
Author

kylrth commented Jan 27, 2024

Thank you! The ./setup script works now. Now when I try to run sudo akbl --off I get the following output:


[ERROR]: "/usr/lib/python3.8/AKBL/Bindings.py" __command:
Command=set_lights, arguments=[root,False]
Traceback (most recent call last):
  File "/usr/lib/python3.8/AKBL/Bindings.py", line 52, in __command
    return getattr(self.__pyro, command)(*args)
  File "/usr/lib/python3/dist-packages/Pyro4/core.py", line 185, in __call__
    return self.__send(self.__name, args, kwargs)
  File "/usr/lib/python3/dist-packages/Pyro4/core.py", line 467, in _pyroInvoke
    data = serializer.deserializeData(msg.data, compressed=msg.flags & message.FLAGS_COMPRESSED)
  File "/usr/lib/python3/dist-packages/Pyro4/util.py", line 171, in deserializeData
    return self.loads(data)
  File "/usr/lib/python3/dist-packages/Pyro4/util.py", line 614, in loads
    return self.recreate_classes(serpent.loads(data))
  File "/usr/lib/python3/dist-packages/Pyro4/util.py", line 416, in recreate_classes
    return self.dict_to_class(literal)
  File "/usr/lib/python3/dist-packages/Pyro4/util.py", line 633, in dict_to_class
    return super(SerpentSerializer, cls).dict_to_class(data)
  File "/usr/lib/python3/dist-packages/Pyro4/util.py", line 395, in dict_to_class
    raise errors.SerializeError("unsupported serialized class: " + classname)
Pyro4.errors.SerializeError: unsupported serialized class: usb.core.USBError

The same occurs when I try to use the Python bindings.

A while ago I placed some tape between the contacts for some of the lights, in order to cut the power to them completely. Could this be the cause of the USBError?

@rsm-gh
Copy link
Owner

rsm-gh commented Jan 28, 2024

Hello @kylrth ,

To debug the software use the block testing window. It will tell you if there is any USBError,

rsm~

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

No branches or pull requests

2 participants