trollsid / pyalienfx

Automatically exported from code.google.com/p/pyalienfx
GNU General Public License v3.0
0 stars 0 forks source link

Alienware m14 (2013) is not supported (+ basic support patch) #30

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Get alienware M14 R3 (2013 edition)
2. Install linux and pyalienfx
3. Run pyalienfx

What is the expected output? What do you see instead?
Pyalienfx refuses to start because:

No AlienFX USB controler found ! Go see the list of supported computer on : 
https://code.google.com/p/pyalienfx/wiki/SupportedComputer 

What version of the product are you using? On what operating system?

1.0.2

Please provide any additional information below (Python Error Message if
possible).
New alienware has slightly modified system, namely left and right sides 
addresses are swapped from previous generation, power button is changed and 
there are lights on the back that are not present in previous generations.
The new USB id is:

Bus 004 Device 004: ID 187c:0525 Alienware Corporation 

I have provided basic support that provides the following:
Keyboard, touchpad, speakers, logo control.

Power button lights and the lights on the back side of the laptop (including 
the Alien logo there) do not work. 

I will investigate when I get a bit more time (probably over Christmas). In the 
meantime rejoice (:

Original issue reported on code.google.com by nhe...@gmail.com on 10 Oct 2013 at 9:55

Attachments:

GoogleCodeExporter commented 9 years ago
I can confirm that the patch works well on my M14 R3, just in case you
wanted a feedback.

Original comment by jacopo.c...@gmail.com on 12 Oct 2013 at 4:46

GoogleCodeExporter commented 9 years ago
Slight bugfix to my previous patch.

Also power button can be controlled by selecting the right part of the power 
button (right part only)

Original comment by nhe...@gmail.com on 17 Oct 2013 at 5:10

Attachments:

GoogleCodeExporter commented 9 years ago
Hello, Just tested your patch and I can confirm power button doesn't work, but 
alien head and the other backside lights do work. If you need some help with 
the development I could help you by testing or whatever you need.

Original comment by JeMaCh...@gmail.com on 19 Oct 2013 at 2:49

GoogleCodeExporter commented 9 years ago
Hi, could you please provide instructions for applying the patch? Thank you in 
advance.

Original comment by danielen...@gmail.com on 9 Jan 2014 at 2:19

GoogleCodeExporter commented 9 years ago
#4, do the following:

Download the latest version from here:
http://code.google.com/p/pyalienfx/downloads/list

The do the following:
tar -xvf pyAlienFX-v1.0.2.tar.gz
cd the_resulting_dir
download the patch into the_resulting_dir
apply the patch with git:
git apply m14R3.patch

Now you are ready to run it.

Original comment by nhe...@gmail.com on 9 Jan 2014 at 7:20

GoogleCodeExporter commented 9 years ago
Thank you for your input, just wanted to let you know that the program now 
works, the GUI opens correctly, nevertheless I can only Turn off the Lights not 
only of the keyboard but everything, only thing I can't turn them on again, any 
help / advice would be kindly appreciated it. I'm using Debian Jessie, tried in 
Ubuntu 13.10 and same result, perhaps it's me doing something wrong with the 
patch. Thank you in advance.

Original comment by danielen...@gmail.com on 13 Jan 2014 at 1:05

GoogleCodeExporter commented 9 years ago
@#6

My patch is very simple, akin to a stub. It just remaps stuff that worked for 
m14r2 and swaps left and right parts. If anything doesn't work (Such as power 
button), it needs to be investigated and fixed.

In other words, sorry, the reason for not working is probably some difference 
between the AlienFX device in this model and the one used in M14R2 and I have 
not had the time to properly add support, sorry (:

Original comment by nhe...@gmail.com on 13 Jan 2014 at 6:47

GoogleCodeExporter commented 9 years ago
Thank you, I appreciate your support and the time you have taken in the 
subject. Will keep trying to troubleshoot if any changes will post back.

Original comment by danielen...@gmail.com on 19 Jan 2014 at 10:09

GoogleCodeExporter commented 9 years ago
Hi
I have an M14x built Jan 2014 running Mint 17 KDE.
The M14R3 patch fixed the USB error. The program shut off the existing lights 
but does nothing else. here is the output from the terminal. Hope this helps.

Initializing Driver  ...
Comnputer M14 found ! Loading the parameters ...
Initializing Controller ...
the Deamon is disconnected ... 
Trying to load the driver manually
Initializing Interface ...

(pyAlienFX.py:5958): Gtk-WARNING **: Can't pass in construct-only parameters to 
cancel_button

(pyAlienFX.py:5958): Gtk-WARNING **: Can't pass in construct-only parameters to 
ok_button
Sending : Get Status
Packet :  02 06 00 00 00 00 00 00 00
array('B', [17, 0, 0, 0, 0, 0, 0, 0])
Sending : Get Status
Packet :  02 06 00 00 00 00 00 00 00
Sending : Reset All Lights On
Packet :  02 07 03 00 00 00 00 00 00
array('B', [17, 0, 0, 0, 0, 0, 0, 0])
Sending : Get Status
Packet :  02 06 00 00 00 00 00 00 00
Sending : Reset All Lights On
Packet :  02 07 03 00 00 00 00 00 00
Sending : Get Status
Packet :  02 06 00 00 00 00 00 00 00
array('B', [16, 0, 0, 0, 0, 0, 0, 0])
Traceback (most recent call last):
  File "pyAlienFX.py", line 1106, in on_AlienFX_Menu_Light_Off
    self.controller.Send_Packet()
AttributeError: AlienFX_Controller instance has no attribute 'Send_Packet'
Traceback (most recent call last):
  File "pyAlienFX.py", line 951, in on_AlienFX_Color_Panel_Clicked
    self.configuration.area[self.selected_area.name].update_line(self.selected_Id,color1 = self.selected_color1)
AttributeError: 'NoneType' object has no attribute 'name'
Traceback (most recent call last):
  File "pyAlienFX.py", line 951, in on_AlienFX_Color_Panel_Clicked
    self.configuration.area[self.selected_area.name].update_line(self.selected_Id,color1 = self.selected_color1)
AttributeError: 'NoneType' object has no attribute 'name'
Traceback (most recent call last):
  File "pyAlienFX.py", line 937, in on_Apply_pressed
    self.Set_Conf()
  File "pyAlienFX.py", line 710, in Set_Conf
    self.controller.Write_Conf()
  File "/home/rick/pyalienfx/AlienFX/AlienFXEngine.py", line 161, in Write_Conf
    self.WaitForOk()
  File "/home/rick/pyalienfx/AlienFX/AlienFXEngine.py", line 264, in WaitForOk
    self.driver.Take_over()
  File "/home/rick/pyalienfx/AlienFX/AlienFXEngine.py", line 109, in Take_over
    self.dev.detach_kernel_driver(0)
  File "/home/rick/pyalienfx/usb/core.py", line 695, in detach_kernel_driver
    self._ctx.backend.detach_kernel_driver(self._ctx.handle, interface)
  File "/home/rick/pyalienfx/usb/_debug.py", line 52, in do_trace
    return f(*args, **named_args)
  File "/home/rick/pyalienfx/usb/backend/libusb10.py", line 565, in detach_kernel_driver
    _check(_lib.libusb_detach_kernel_driver(dev_handle, intf))
  File "/home/rick/pyalienfx/usb/backend/libusb10.py", line 357, in _check
    raise USBError(_str_error[retval.value])
usb.core.USBError: Entity not found

Original comment by rick0...@gmail.com on 22 Aug 2014 at 2:25

GoogleCodeExporter commented 9 years ago
Seems to crash after you tell it to power off lights. Restart the program and 
set any other light color and it's going to power lights back on. I don't have 
the time to debug it now, I might take a look over the weekend, but if it takes 
more than an hour, count it out...

Original comment by nhe...@gmail.com on 22 Aug 2014 at 3:05

GoogleCodeExporter commented 9 years ago
Some added info:

Shut down then started my laptop again.

Ran the launcher and got this when I tried to set all lights to green:

rick@rick-Alienware-14:~/pyalienfx > sudo ./pyAlienFX_Launcher.sh 
[sudo] password for rick: 
Initializing Driver  ...
Comnputer M14 found ! Loading the parameters ...
Initializing Controller ...
...listening
rick@rick-Alienware-14:~/pyalienfx > Initializing Driver  ...
Comnputer M14 found ! Loading the parameters ...
Initializing Controller ...
...connected:  ('127.0.0.1', 33911)
Loading : ./Profiles/Default.cfg
SPEED =  70174
Check Deamon
Sending Ping
Sent ...
PING
Received Ping => Sending PONG
sent
Server Answer :  PONG
Check Deamon
Sending Ping
Sent ...
PING
Received Ping => Sending PONG
sent
Server Answer :  PONG
Set_Loop_Conf,True,1|Add_Speed_Conf,65280|Add_Loop_Conf,1,fixed,00FF00,00FF00|En
d_Loop_Conf,|Add_Loop_Conf,2,fixed,00FF00,00FF00|End_Loop_Conf,|Add_Loop_Conf,4,
fixed,00FF00,00FF00|End_Loop_Conf,|Add_Loop_Conf,8,fixed,00FF00,00FF00|End_Loop_
Conf,|Add_Loop_Conf,20,fixed,00FF00,00FF00|End_Loop_Conf,|Add_Loop_Conf,40,fixed
,00FF00,00FF00|End_Loop_Conf,|Add_Loop_Conf,80,fixed,00FF00,00FF00|End_Loop_Conf
,|Add_Loop_Conf,100,fixed,00FF00,00FF00|End_Loop_Conf,|Add_Loop_Conf,200,fixed,0
0FF00,00FF00|End_Loop_Conf,|Add_Loop_Conf,1c00,fixed,00FF00,00FF00|End_Loop_Conf
,|Add_Loop_Conf,4000,fixed,00FF00,00FF00|End_Loop_Conf,|End_Transfert_Conf,|Writ
e_Conf,
Sending : Get Status
Packet :  02 06 00 00 00 00 00 00 00
array('B', [17, 0, 0, 0, 0, 0, 0, 0])
Sending : Reset All Lights On
Packet :  02 07 04 00 00 00 00 00 00
Traceback (most recent call last):
  File "./pyAlienFX_daemon.py", line 304, in <module>
    Daemon = ServCmd()
  File "./pyAlienFX_daemon.py", line 81, in __init__
    s.__run()
  File "./pyAlienFX_daemon.py", line 93, in __run
    s.__procCmd()
  File "./pyAlienFX_daemon.py", line 163, in __procCmd
    s.controller.Write_Conf()
  File "/home/rick/pyalienfx/AlienFX/AlienFXEngine.py", line 161, in Write_Conf
    self.WaitForOk()
  File "/home/rick/pyalienfx/AlienFX/AlienFXEngine.py", line 269, in WaitForOk
    while not self.Get_State():
  File "/home/rick/pyalienfx/AlienFX/AlienFXEngine.py", line 277, in Get_State
    self.driver.Take_over()
  File "/home/rick/pyalienfx/AlienFX/AlienFXEngine.py", line 109, in Take_over
    self.dev.detach_kernel_driver(0)
  File "/home/rick/pyalienfx/usb/core.py", line 695, in detach_kernel_driver
    self._ctx.backend.detach_kernel_driver(self._ctx.handle, interface)
  File "/home/rick/pyalienfx/usb/_debug.py", line 52, in do_trace
    return f(*args, **named_args)
  File "/home/rick/pyalienfx/usb/backend/libusb10.py", line 565, in detach_kernel_driver
    _check(_lib.libusb_detach_kernel_driver(dev_handle, intf))
  File "/home/rick/pyalienfx/usb/backend/libusb10.py", line 357, in _check
    raise USBError(_str_error[retval.value])
usb.core.USBError: Entity not found

Traceback (most recent call last):
  File "./pyAlienFX_Indicator.py", line 89, in on_AlienFX_Color_Clicked
    self.gui.Set_Conf(Save=True)
  File "/home/rick/pyalienfx/pyAlienFX.py", line 710, in Set_Conf
    self.controller.Write_Conf()
  File "/home/rick/pyalienfx/pyAlienFX.py", line 1224, in Write_Conf
    self.Send_Packet()
  File "/home/rick/pyalienfx/pyAlienFX.py", line 1263, in Send_Packet
    raise ValueError("Error while communicating with the daemon !")
ValueError: Error while communicating with the daemon !

Original comment by rick0...@gmail.com on 22 Aug 2014 at 4:12