r/ambx•
blankemp

Issue with Cyborg AMBX light and Windows 10.

So I followed these steps listed at https://www.reddit.com/r/ambx/comments/5fc80b/cyborg_lights_windows_10/

which worked perfecectly last night. I downloaded glow and everything was working like it was supposed to. I shut down my pc and today when I started it I noticed one of the lights were off. I rechecked everything in those steps but for some reason one light just won't come on. I've tried the problem light by itself and with different cables and nothing. Reinstalled drivers and nothing. When I connected and reconnect it it turns on for a second but turns itself back off. I'm pretty sure it isn't an issue with the registry settings because it doesn't even turn on for a second when booting up windows. Anyone have any ideas?

Posted Jul 23, 2017, 2:45 AM UTC · edited

21
heoconxz•

I have the same issue with both of my lights. The light doesn't show up in amBX control panel.

1
sprint113•

I had the same issue with my lights. One by one, they began to die.

After two months of unnecessary distress, I think I found the issue with my lights. Turns out, the location of each lights (N, NW, W, Center etc.) are stored in the light's memory and is read and updated by the control panel. Through some fault, the lights got set to [None] as its location. Since this isn't recognized by the amBX control panel, it ignores the light.

I discovered this when I ran into a project where someone had reverse engineered the USB communication protocol for the Cyborg lights and wrote some python scripts to drive the lights. By using what they established, I modified one of their scripts to go through each light and give it a location (e.g. North). Then after loading the Madcatz drivers again, they showed up again in the amBX control panel.

1
1d-_-b1•

Greetings! God damn I was looking for an explanation like this for a loooooooong time! I changed EVERYTHING (USB power settings, environment variables etc....) Yet I couldn't manage to make AMBX Control panel discover the madcatz lights after moving them... Could you please explain me / send me the python script you modified? Thank you very much in advance

1
sprint113•

I was writing a long post detailing about how I did it, but got sidetracked.

Essentially, I used pycyborg. It was originally authored by gryphius, but I used the Overboard fork since he fixed the install script for Windows.

Basically follow their install procedure. This is much easier if you have a second computer since you need to replace the drivers with a generic libusb driver and switching between the two is a pain.

  1. Install Python

  2. Download and extract the pycyborg files.

  3. Install the AMBX cyborg lights w/libusb-win32 drivers. Download Zadig and open it. Options -> List all devices. Then from the main dropdown menu, I found the Cyborg lights, and to the right of the green arrow, I selected libusb-win32 and installed that driver.

  4. Install pyusb. This is done by opening a command prompt and entering

     pip install pyusb
    

Test if the lights work, in a command prompt, change directory to where you extracted the pycyborg files and enter the line

python setup.py install

Some text will show up. Keep an eye out for any error messages. Next run the command:

python identify.py

This runs the identification script. Your connected light(s) will one by one cycle through some colors. Some text will be shown, and you will likely see a light with Location: [None]. This is good because this is the problem we expect to encounter.

We now need to manually change the location. I ended up doing a hack job of a modification to one of the existing scripts in the folder. In a text editor (IDLE will be installed by default), open the setcolor.py file. Save it as a new file, e.g. setlocation.py.

At the end of the file, you will have the lines of code:

    for cy in cyborgs:
    if options.verbose:
        print("Changing : %s"%cy)
    if options.intensity!=None:
        cy.set_intensity(options.intensity)
    cy.set_rgb_color(r,g,b,force=True)

which I changed to:

    for cy in cyborgs:
    if options.verbose:
        print("Changing : %s"%cy)
    cy.set_position("N")
    cy.set_intensity(100)

If you know which position you want the light to be, use that instead of cy.set_position. Valid entries are N, NE, NW, E, W, SE, SW, S, CENTER (case sensitive). You may want to change the intensity value if you normally use something that isn't 100. Save the file.

In the command prompt, run

   python setlocation.py 255 255 255

or whatever new file name you used. In this case, I was lazy and didn't change anything else, so the script is still expecting 3 numbers, but won't do anything with them. This should write the location you specified to the light.

Now if you either go back to your computer with the ambx lights, or uninstall the libusb-32 drivers and reinstall the cyborg drivers, you the lights should now show up in the ambx control panel.

Unfortunately, I found that messing around with ambx control panel some more bugged 2 of my lights again almost immediately. I suspect that this is because amid all the fresh reinstalls of the lights, I hadn't yet disabled the power management stuff. My guess is that the power management stuff interferes with the ambx control panel's ability to properly and completely communicate and write information to the ambx lights, causing the location data to be corrupted and invalid. If you set the correct light position manually, you can pretty much skip having to use the AMBX control panel to position the light and set intensity.

Hope this was understandable, and that it fixes your light issue.

1
Codex1983•

sorry my friend could you do a tutorial simpler or better a video tutorial I'm not really understanding: 1 I uninstalled the old system. 2 I have to download what from the site madcatz ?? 3 as an example the drivers with libusb as it tells me: error installing driver system policy has been modified to reject unsigned drivers 4 zadig? 5 I have to throw everything from the window

1
Blasfemon•

Sprint113 thinks you're probably somewhat familiar with coding/using cmd prompt or win powershell etc.. Any time he says command prompt, use windows Powershell if on windows 10. The normal command prompt might give different results. At the same time, have windows explorer open on the install map of python to make it somewhat easier to look to which path you have to change.

To install pyusb, you need to go to the /Scripts folder in win powershell using cd C:\Users"yourusername"\AppData\Local\Programs\Python\Python36\Scripts or something similar (python36 is the latest version of python program language). Use the commands he tells you BUT put .\ in front of it or win powershell will do nothing 'to protect you'.

For the next command extract the pycyborg files directly in the python folder which contains the python.py file (C:\Users"yourusername"\AppData\Local\Programs\Python\Python36 or something like that). Go to that folder in powershell and run the python command like sprint113 stated, again with the .\ in front of it.

Then just follow his explanation BUT when changing the setlocation file, be wary that python is EXTREMELY sensitive to indentation, so tabs and spaces need to be exactly like sprint113 typed or you get an error.

Now I personally have the problem that my 1 light that set up wrong, does not change if I run the "python identify.py". Still states location at "None".

If you really want I could change his post to +- the exact thing you need to do, but I rather do that in my boss's time :P

EDIT: It seems partially my mistake for connecting both the good AND the faulty light, if you have lights which function perfectly, DO NOT connect them and do the troubleshooting above.

EDIT2: Got the lights working perfectly. First checked which one the faulty was, and only used the script on that one. Adjusted indentation etc till the changes stuck. Used -v option after the command so the change was "printed" visually. At a certain moment it stuck, even after checking with the identify script. I DID HOWEVER CHECKED ALL USB HUB DEVICES IN DEVICE MANAGER TO HAVE THE AUTOSUSPEND TO CONSERVE ENERGY BY WINDOWS OFF + IN ADVANCED ENERGY SETTINGS THE USB SUSPEND TOO. Lights don't change anymore! Second problem is the reversal of the drivers when you doing this on the same pc. Just keep on uninstalling the lights through device manager and be sure to disconnect and reconnect it every time until the lights show up as HID device. Then install the official drivers.

1
Codex1983•

Good morning confirm that with the script of sprint 113 the ambilight are back to work thanks hero you are number 1

1