New Headset has different vendor and product ids #63

sanedragon opened this Issue Jan 20, 2013 · 9 comments


None yet
6 participants
$ lsusb
Bus 005 Device 008: ID 1234:ed02 Unknown Emotiv EPOC Developer Headset Wireless Dongle

Changing the values of EMOKIT_VID and EMOKID_PID in emokit/emokit.h lets me get a little farther with the contact example, although hid_open_path() is still failing.

mimadapa commented Feb 1, 2013

My dongle has the same id's as sanedragon's, was bought in middle 2012:

Product ID: 0xed02
Vendor ID: 0x1234
Version: 0.03
Serial Number: SN20120305001583

Any updates on this issue? I also have those IDs, and can't get emokitd to work.


kanzure commented Apr 15, 2013

Have you tried the python version? As I recall, it might be a little less restrictive when trying to find the USB device.

I tried a Java implementation of Emokit and I believe that the problem is on the encryption, specifically on the cipher key generation.
My best bet is that since I have a recent device (also bought during mid 2012), Emotiv might have changed their encryption method. I was just trying to find someone with a device with the same IDs as mine to see if they could get Emokit working.

Thanks for the reply!

I have the same device showing up as Developer headset but it is a research edition. I'm developing and using my own Python library to access the device which does not rely on Vendor and Product ID's. Can you check out and run the script src/ under Linux (after copying the udev rule and replugging the dongle):

We can at least understand whether the encryption is changed or not as this should be working out of the box.

I didn't have much time to test your script today, but apparently it works! If this turns out to be true, you kinda saved my life.



qdot commented Apr 16, 2013

@ozancaglayan Wow, this looks great! I know the other emokit devs have been poking at the python lib, but it looks like you're well past what we've got now. I can put a link to yours in our project readme if you'd like.

I'm also hopefully going to start fleshing out cython-hidapi a bit more if you're interested in using it, though it looks like pyusb is working fine for you.

@qdot Thanks. I think it is very premature for now, the API is not really intuitive, the library is bloated within some BCI experiments. Soon I will be forking that into a new python-emotiv project.

Yes I'm using pyusb for now although reading directly from /dev/* node is more easier. The udev rule creates a /dev/emotiv symlink to the hidraw device. The library supports both pyusb and raw access.

But when I first initialize reading I got a couple of lost packets that I discard but I'm not quite sure why this happens.

Anyway, you can of course put a link to your repository. Note that the library is not aiming to be cross platform.


ghost commented Jun 20, 2016

Python version should work as well. Closing.

@ghost ghost closed this Jun 20, 2016

This issue was closed.

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