Teesnsy 4 USB Host not working

pr8x

Member
Hey, I am trying to get the "ListFiles.ino" example from the USBHost_t36 library to work. However, it seems to get stuck somehow:

USB2 PLL running
reset waited 6
USBHS_ASYNCLISTADDR = 0
USBHS_PERIODICLISTBASE = 2001E000
periodictable = 2001E000
port change: 11001803
connect
begin reset
port change: 11001005
port enabled
end recovery
new_Device: 12 Mbit/sec
new_Pipe
enumeration:
enumeration:

Tried both 480MBit and 12MBit mode (by modifying ehci.cpp) but no luck. I basically just soldered pin header to D+/D- and connected jumpers to a usb breakout board. 5V is supplied by external power supply. GND is shared.

Am I missing something? I read that the thickness of the usb cable is important, but could this really be the problem here?
 
What device is being Hosted?

T_4.0 has worked since early T_4.0 Beta boards from PJRC and after Release when properly wired. Putting Powered Hub on T_4.0 is great for power hungry devices where it supplies power properly - but power/GND is sent to HUB.

Have not used T_4.0 for this lately as the T_4.1 makes it easier. Perhaps something got broken - but standard sources previously worked without change/edit.

If the wiring there allows for use of a powered hub - perhaps even unpowered given external power to device - that might be worth a try. That might show wiring issues.
 
Sorry, off topic, but the ?? was actually an emoji that selected on the IPAD that did not translate (A happy face)
 
@pr8x - post if there is any more info from there. Note another USBHost thread answered yesterday. Turned out to have problems and it was a short in the USB connector soldering. The output was different than p#1 here so may not be the issue there. That board was a custom PCB - which is not all that different perhaps than pulling the signals off the bottom of the T_4.0 pads.

Sorry, off topic, but the ?? was actually an emoji that selected on the IPAD that did not translate (A happy face)

:cool: Emoji's are such a mixed bag - either in transmitting custom ones it seems - or having the intended meaning on send come through when observed on receive.
 
I double-checked the USB connector board. No shorts, solder bridges or anything. Important to note that this did actually work at some point (with only 12Mbit/s though), but somehow stopped working. I didn't change any wiring. Paul Stoffregen mentioned in some thread:

Use a proper USB cable and keep the length of wires broken out the cable short, like under 1 inch or ~2.5 cm. Keep the white and green signal wires and a ground wire as close to each other as reasonably possible.

Could this be the problem here? What is so special about usb cables?
 
Picture of setup might help. Might show if wires look wrong, plus show which breakout you are using.

Things I would try including:
a) Plug your USB stick into a pc and make sure it can see the contents. Maybe run a scan disk or the like from the PC to make sure.
b) Try to plug a simpler USB device into your connector. Like a keyboard or mouse and see if it works with example: HIDDeviceInfo
c) Use a meter to check to see if you have continuity of the different signals (D+, D-, GND, VCC). And not obvious shorts.
 
Update: It works now! I was refactoring my code and thought it was OK to put the usb objects in fields (i.e. not static). Making them static again resolved the issue. Thanks for your help though :)
 
Back
Top