notnola / pyalienfx

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

Alienware 18 2013 not supported #32

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
I have an Alienware 18 that I believe is the only 2013 model, but not 100% 
sure.  I'm running Fedora 19 with the latest version of pyalienfx (1.2 I 
believe).  The USB identifier appears to be 187c:0523 (output from lsusb 
below).  I've tried to run using the MX18R2 as the computer configuration but 
using the 187c:0523 identifier, which allows me to start the daemon and GUI, 
but when I try to preview or save or anything of that nature, I get an 
exception thrown from the daemon that terminates it, and then an error on the 
GUI's output stating that it had an issue communicating with the daemon 
(presumably because it's dead now).  I imagine some of the device controls or 
something of the sort are different, but I don't know quite where to start for 
tweaking the computer configuration to get it up and running, so any help would 
be greatly appreciated.

The output from lsusb:
Bus 002 Device 003: ID 187c:0523 Alienware Corporation

And the output from the daemon:
Initializing Driver  ...
Comnputer M18XR3 found ! Loading the parameters ...
Initializing Controller ...
...listening
...connected:  ('127.0.0.1', 33158)
Set_Loop_Conf,False,1|Add_Speed_Conf,65280|Add_Loop_Conf,1,fixed,FFFFFF,0000FF|E
nd_Loop_Conf,|Add_Loop_Conf,2,fixed,FF00FF,0000FF|End_Loop_Conf,|Add_Loop_Conf,4
,fixed,000000,0000FF|End_Loop_Conf,|Add_Loop_Conf,8,fixed,FF00FF,0000FF|End_Loop
_Conf,|Add_Loop_Conf,20,fixed,FF00FF,0000FF|End_Loop_Conf,|Add_Loop_Conf,40,fixe
d,FF00FF,0000FF|End_Loop_Conf,|Add_Loop_Conf,80,fixed,FF00FF,0000FF|End_Loop_Con
f,|Add_Loop_Conf,100,fixed,FF00FF,0000FF|End_Loop_Conf,|Add_Loop_Conf,200,fixed,
FF00FF,0000FF|End_Loop_Conf,|Add_Loop_Conf,1c00,fixed,FF00FF,0000FF|End_Loop_Con
f,|Add_Loop_Conf,4000,fixed,FF00FF,0000FF|End_Loop_Conf,|End_Transfert_Conf,|Wri
te_Conf,
Sending : Get Status
Packet :  02 06 00 00 00 00 00 00 00
array('B', [16, 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 "/usr/local/pyalienfx/AlienFX/AlienFXEngine.py", line 161, in Write_Conf
    self.WaitForOk()
  File "/usr/local/pyalienfx/AlienFX/AlienFXEngine.py", line 269, in WaitForOk
    while not self.Get_State():
  File "/usr/local/pyalienfx/AlienFX/AlienFXEngine.py", line 277, in Get_State
    self.driver.Take_over()
  File "/usr/local/pyalienfx/AlienFX/AlienFXEngine.py", line 109, in Take_over
    self.dev.detach_kernel_driver(0)
  File "/usr/local/pyalienfx/usb/core.py", line 695, in detach_kernel_driver
    self._ctx.backend.detach_kernel_driver(self._ctx.handle, interface)
  File "/usr/local/pyalienfx/usb/_debug.py", line 52, in do_trace
    return f(*args, **named_args)
  File "/usr/local/pyalienfx/usb/backend/libusb10.py", line 565, in detach_kernel_driver
    _check(_lib.libusb_detach_kernel_driver(dev_handle, intf))
  File "/usr/local/pyalienfx/usb/backend/libusb10.py", line 357, in _check
    raise USBError(_str_error[retval.value])
usb.core.USBError: Entity not found

Thanks for any help.

Original issue reported on code.google.com by cypri...@gmail.com on 4 Dec 2013 at 2:28

GoogleCodeExporter commented 9 years ago
Hi you should reinstall without the daemon ! This may work ! But I am not sure.
If you want to get your computer working with it, you are more than welcome to. 

But I have a lot of other things to do, and thus I cannot continue investing 
time in pyAlienFX

Original comment by ledjfou125 on 4 Dec 2013 at 5:17

GoogleCodeExporter commented 9 years ago
Thanks, I'll try this out.  I'm happy to fiddle around with the control codes 
and such if that doesn't work, but I'll be blindly trying to change the values. 
 Do you have any suggestions as to how I might approach figuring it all out?

Original comment by cypri...@gmail.com on 4 Dec 2013 at 5:22

GoogleCodeExporter commented 9 years ago
Yes, you have to sniff the USB packets that are going out of Command Control to 
your light controler ! (using a virtual machine is the easiest way) 
Then you need to reverse engineer the numbers by looking at each packet. 

It really isn't that hard, it's like trying to find the piece of the puzzle, 
and I suggest you look at pyAlienFX driver code to have a grasp of the 
structure of the packets ! (that will help a lot)

Original comment by ledjfou125 on 4 Dec 2013 at 5:55

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
No, I barely messed with it.

Original comment by cypri...@gmail.com on 22 Dec 2014 at 7:26