USING SEVERAL MDI/USB audio peripherals : TEENSY 3.1 takes all the bandwidth

Status
Not open for further replies.

LERAY

Well-known member
Hi all !

I'm using 2 MIDI/USB peripherals connected to 2 USB ports directly on the motherboard :
TEENSY 3.1 (used as as an expression pedal), and a separate MIDI->USB interface.
When I connect first the MIDI->USB interface, then after the TEENSY, all is OK.
But when I re-boot the system, (OpenSuse 13.1), TEENSY only is recognized by the system.
Similar problem occurs under WINDOWS XP SP3.
Hardware : Mini-Itx board, 4GO Ram, Intel D525MW.
It seems that TEENSY takes all the USB bandwidth, and the other USB peripheral is forgotten ?

Thanks for your help !

Pascal Leray
 
USB always reserves some bandwidth for control transfers, which are used to detect and enumerate new devices. It's impossible for any USB device to consume all the bandwidth in any way that could prevent the host controller from detecting new devices.

That doesn't necessarily mean some other type of problem is happening, but you can rest assured it isn't excessive bandwidth. USB is fundamentally designed for the host controller chip to manage all bandwidth, so no device can ever prevent the USB system from working by trying to communicate too much.
 
TEENSY large bandwidth is OK but other MIDI peripherals are not recognized.

USB always reserves some bandwidth for control transfers, which are used to detect and enumerate new devices. It's impossible for any USB device to consume all the bandwidth in any way that could prevent the host controller from detecting new devices.

That doesn't necessarily mean some other type of problem is happening, but you can rest assured it isn't excessive bandwidth. USB is fundamentally designed for the host controller chip to manage all bandwidth, so no device can ever prevent the USB system from working by trying to communicate too much.

The probleme is not the TEENSY bandwidth, (I highly appreciate the TEENSY speed with USB) but only the fact that the other MIDI Peripheral is ignored by the system.
Thanks a lot for your reply. i'm planning to purchase lots of TEENSY 3.1 !
By the way, maybe could you be interested by my R&D :
http://pascal.leray.free.fr/web_org/org_en.html
Kind regards,

Pascal
 
TEENSY DEVICE NAME detection under WIN XP ? GetRawInoutDevceList missing under VISUAL

Hi all,

Teensy Device name detection is running fine under WINDOWS 10 but not under XP and VISUAL C++6
it always replies : Périphérique Audio USB
in the device name provided by :
lpmidiincaps[midi_canalin].szPname

I tried to use the
GetRawInoutDevceList() function, but this function is missing in the include MSVC .h files.
I am sure it's possible to read the device name under XP. Because some software such as
USBDeview can do it under XP. What function does it uses ?
It's very important when one use several Teensy simultaneously.

Thanks for your help !

Pascal Leray
 
Get rid of XP! Microsoft stopped supporting it many years ago and people using it still nowadays put themselves and others to risk because of the many not patched security problems.
 
It is possible you are 'flooding' your usb channel with garbage midi from your foot controller. Many naive coltrollers have no smoothing (filtering, hysteresis, ...) and so pump nearly identical CC messages as fast as Teensy can run... which is very fast.
 
It is possible you are 'flooding' your usb channel with garbage midi from your foot controller. Many naive coltrollers have no smoothing (filtering, hysteresis, ...) and so pump nearly identical CC messages as fast as Teensy can run... which is very fast.
Nevermind this nonsense. ..

Sounds like usb ID issue.
 
I tried to use the
GetRawInoutDevceList() function, but this function is missing in the include MSVC .h files.
I am sure it's possible to read the device name under XP. Because some software such as
USBDeview can do it under XP. What function does it uses ?

Maybe SetupDiEnumDeviceInterfaces & SetupDiGetInterfaceDeviceDetail & SetupDiGetDeviceRegistryProperty?

Just a blind guess, since I don't have the USBDeview source code, nor have I ever even used that program. In fact, I pretty much never use Windows at all, other than to test code I wrote for it... by cross compiling from Linux! I don't actually use Windows to program for Windows.
 
But I can tell you those SetupDiBlahBlahBlah functions work on all versions of Windows, at least as far back as Windows 2000.

They're also very difficult to use and the finer details can vary quite a bit between modern versions of Windows and old stuff like XP, so the result is pretty much always messy code. But if you *really* want to write code that works all the way back to XP (as teensy_ports & teensy_serialmon hopefully do), you're probably stuck with having to figure out those horrible Setup API functions. Vista and Windows 8 brought a lot of new & much nicer stuff (like finally a high res time function in version 8 - something Mac & Linux had ages ago), but of course if you use it you're not compatible with older Windows. I'm pretty sure Microsoft is happy with that. ;)
 
Status
Not open for further replies.
Back
Top