ddiakopoulos/hiduino

How to use multiple HIDUINO devices in windows 7 with Ableton live?

tshone opened this issue · 6 comments

Hello,
I have successfully been using the HIDUINO setup now and have 3 devices all with different names that all show up in device manager with that new name. The problem is, in Windows 7, in Ableton Live, the devices are not different, they all have the name of one of the devices with #1, #2, etc. appended on the end. Is there a way to have each device have a unique identifier embedded somehow?
Thanks
Tristan

Let me see if I can drum up 2-3 devices and replicate it -- that will help me debug. I develop/test primarily with OSX so I'm not particularly surprised there might be an issue or two with Windows. If I had to guess, Windows is caching the VID/PID of the device. What do they show up as in the Device Manager?

Thx for reply! In device manager, they show up exactly as I compile them: INST1_HIDUINO and INST2_HIDUINO, which seems correct. Also, in Ableton, if I plug them in individually and not at the same time, they show up correctly, although sometimes they are INST1_HIDUINO#2. I assume some of this has to do with windows handling of USB ports, as it does not like when you use different ports than the one you installed on. I have uninstalled ports and reinstalled and I still see the problem.

It looks as if they have the same Hardware Ids from what I see in the device manager.

Since it's clear you are able to compile (hence your difference device names!), here's something you can try before I have a real chance to look at it. If you look at Descriptors.c, play with the USE_INTERNAL_SERIAL val. Change it to 0x01, 0x02, 0x03 for the different devices. Failing that, you can also try playing with the PID. I think the root cause is something related to the Windows USB stack so this is just an effort at trying to isolate a workaround.

.ManufacturerStrIndex = 0x01,
.ProductStrIndex = 0x02,
.SerialNumStrIndex = USE_INTERNAL_SERIAL <== change?

Thank you, I will try.
On Jun 26, 2014 9:54 PM, "Dimitri Diakopoulos" notifications@github.com
wrote:

Since it's clear you are able to compile (hence your difference device
names!), here's something you can try before I have a real chance to look
at it. If you look look at Descriptors.c, play with the USE_INTERNAL_SERIAL
val. Change it to 0x01, 0x02, 0x03 for the different devices. Failing that,
you can also try playing with the PID. I think the root cause is something
related to the Windows USB stack so this is just an effort at trying to
isolate a workaround.

.ManufacturerStrIndex = 0x01,
.ProductStrIndex = 0x02,
.SerialNumStrIndex = USE_INTERNAL_SERIAL <== change?


Reply to this email directly or view it on GitHub
#14 (comment).

Success. I tried the USE_INTERNAL_SERIAL, but that did not make a
difference. The PID however, made the difference. I changed my PID from
0x2048 to other arbitrary values: 0x2049 and 0x2041 and both now show up as
separate MIDI Port entities in Ableton. Thank you.

On Thu, Jun 26, 2014 at 10:13 PM, Tristan Shone tristan.shone@gmail.com
wrote:

Thank you, I will try.
On Jun 26, 2014 9:54 PM, "Dimitri Diakopoulos" notifications@github.com
wrote:

Since it's clear you are able to compile (hence your difference device
names!), here's something you can try before I have a real chance to look
at it. If you look look at Descriptors.c, play with the USE_INTERNAL_SERIAL
val. Change it to 0x01, 0x02, 0x03 for the different devices. Failing that,
you can also try playing with the PID. I think the root cause is something
related to the Windows USB stack so this is just an effort at trying to
isolate a workaround.

.ManufacturerStrIndex = 0x01,
.ProductStrIndex = 0x02,
.SerialNumStrIndex = USE_INTERNAL_SERIAL <== change?


Reply to this email directly or view it on GitHub
#14 (comment)
.