Bug Description
A very common setup fails: plug a Play+ and a Tracker+ into the same powered USB hub (to receive MIDI clock/transport over USB) and only one of them receives MIDI at a time — specifically the most recently connected device. Connecting the second Polyend silently stops MIDI reception on the first. The root cause looks like a firmware USB-descriptor bug: both devices declare an illegal 64-byte wMaxPacketSize on their High-Speed bulk MIDI endpoints, which the USB 2.0 spec requires to be 512 bytes. Two such devices collide on a single USB host controller; a spec-compliant (non-Polyend) MIDI source is unaffected.
Steps to Reproduce
- Plug two devices into a powered usb hub, then a computer
- Send MIDI clock to both devices
- Only one will receive the clock signal
Occurrence / Frequency
Always
Found in Firmware
- Version: Tracker+ 1.2.0, Play+ 1.3.0
- Build: Tracker+ 1504, Play+ 2097
Attachments
–
This is very interesting. Perhaps it is something with the T+ or possibly the hub
I have a mini, synth, and Play+ (I’m not with Polyend, just a user) hooked into a mac, or linux based dell, that I can successfully transmit midi clock and messages between all three simultaneously through a powered hub. Obviously, what youre going through is pretty odd. Can you tell us what kind of computer your using and maybe some info on that hub? Are you using a DAW to send the midi data? I’d be willing to poke around with my gear in the next few days and see if I can’t trip something
Thanks for testing! That’s a helpful data point, and I think it explains the difference.
The collision only seems to happen when both Polyends end up on the same USB host controller. A powered hub doesn’t guarantee that — a lot of machines spread their ports across separate controllers, so depending on which ports you used, your two may never have been sharing one. On your Linux Dell you can check with lsusb -t and see which “Bus” each one lands under. If they’re on different buses, that’d be the working case.
If you can get them both onto the same controller, I’d expect the most-recently-connected one to take the clock.
(For what it’s worth, that’s also what fixed it for me — splitting the two Polyends across separate controllers. My setup is a Raspberry Pi 5 running Linux, no DAW, MIDI via ALSA.)
No problem! Always glad to help
I’ll check tomorrow when i get some free time and get back to ya. I’m glad to hear you figured out a fix!
That’s a dope setup btw! I’ve never played with ALSA, so thats gonna be a new rabbithole for me
Hi there! I just finished doing some tests and it’s comig back on separate busses for me. I was able to send and recieve both midi and audio form both devices using Bitwig. I did some looking and my hub is rated usb 3.2 for the ports, which might play into the issue but I’m not 100% sure. That is a pretty unique set up, and it sounds like you’ve figured out how to overcome the issue. But here’s some extra info in case it ever is relevant. All the best!