USB OTG is not working

I was hoping to use a USB WiFi dongle on the board but currently I am unable to access any USB devices using an OTG cable.

I am accessing the board’s console using the UART on AD2 and AD3 and plugging the USB devices in to an OTG cable, and that is then plugged in to the USB port. Everything is powered by a lipo battery. When running lsusb I get two root hubs (one 1.1 and 2.0) but no other USB devices. I have tried with a wifi dongle and a couple of flash drives.

Is there anything obvious that I am not doing? I have not done any other setup changed any configuration for this. Has anyone managed to use a wifi dongle yet?

Seems eerily similar to Multiple ethernet connections

Yeah, might try steps in that thread. I got a USB power/ethernet adapter working and lachlanp just got all sorts including a WiFi dongle and flash drive.

I have been watching that but my problem is different. I am not seeing any USB devices what so ever. One difference could be that I have not rebuild the kernel. Something I was hoping to avoid doing unless is really is necessary. I will have to give it a try I guess.

Did you try disabling the USB gadget (at the end of the thread)? Having that service active definitely seemed to be interfering with USB enumeration across the board. The WiFi dongle will likely need the kernel rebuild and possibly out-of-tree firmware in addition. Some other simple devices like a flash drive may work without the rebuild. Also, dmesg should provide some useful data that lsusb won’t.

But yeah, if this is one of those boards that boot loops with USB power only (no battery), there might be an additional interaction going on there. I didn’t do much additional experimenting with that board.

Yes I did disable the usbgadget-serial-eth-ms but it made no difference. The thing that is getting me is that lsusb should list all devices even if they are not recognised should they not? Things are just not adding up and I wonder if I am missing something. Visually the board looks fine so I feel it unlikely it is a hardware failure. That said yes the reboot loop (mentioned in another topic if anyone is looking back) could be relevant.

Probably a stretch

You see the hubs, so there is no USB activity in dmesg when you plug something in? If so, that usually indicates a power (or bus/cable) problem. dmesg will show the device detection and enumeration activity before any peripheral drivers and such are activated.

I’m leaning that there is a fair chance whatever is causing the power supply issues through USB would be able to affect peripherals also, but that is just a guess. That problem definitely did seem to be isolated to a particular board for me, though. I have two boards using USB peripherals with no issues now. Only had one with the boot loop problem, and unfortunately it is now out-of-service, otherwise I would try to replicate your issues.

I don’t think you are missing anything obvious. It should be easier than you are getting.

Nothing relevant from dmesg. I also tailed the syslog nothing appears when I connect a USB device. For completeness I did test the OTG lead on the tablet with a keyboard (it works), and the keyboard on the Giantboard.

One final thought. I have tested, double checked and switched everything I can. The one thing I can not check on another machine is the SD image. I am going to try the kernel rebuild next to check that.

Okay, I have had a few more issues while trying to rebuild the kernel. I believe they are power related so I will continue over on Power issues by USB.

Seems like i am having the same issue.
I didn’t try the second USB port so far, but no activity in dmesg whatsoever when i plug something in.

I did disable the gadgetstuff, and my board doesn’t bootloop and works just fine.
i re-enabled the gadget things and it is recognized by the computer immediately.

I hacked my own USB OTG cable, i don’t have the “official” one.
None the less i should be able to at least see something in dmesg… i guess?

edit : i notice when i call lsusb command the reply is quite slow…
my raspberry pi first generation replies that command much much quicker.
Could this be a lead to some issue?

Hi Alistair, my usb OTG is still not working…
Dit you get yours to work eventually?
Where can i find how to rebuild the kernel?
I’ll give it a go.

Cheers

Wim

Sadly not. My problem appears to be related to a hardware fault affecting a small number of the boards. You might be having the same problem, but equally it might be something else.

It is documented on the web site at https://groboards.com/docs/custom-giant-board-images/ . If you have any luck then do report back. It might help others, or me later for that matter.

I hacked a new USB OTG Cable today and it is working on my phone with a regular USB-stick.
However on the battery-powered Giantboard i have no luck and i managed to capture this in Dmesg…
Is this proof that there is a hardware failure?
Can this be solved?
Can i expect the same behavior on the second USB port?
Because i would need desolder the Wifi Wing for that and … it’s a pain…

cheers

Wim

If you are just running from a battery with no additional power then you will probably need to inject 5V to power the USB device. I think you need to use a resistor to ground on the sense pin of the USB instead of shorting it to, but I am using a commercially made on so I don’t know what that value should be.

ok, let’s try with 5V on Vbus…

Hold fire! Is VBus 3.3V or 5V? Is that not after the regulator? Best double check before feeding 5V in anywhere.

Tried it, no luck, still can’t detect USB stick, I tried one with a built in LED and does light up, but is not showing when LSUSB…

Too late man,…
It didn’t blow up :laughing:

pretty sure it is the 5V line because when powering 3.3V the board just didnt work at all

i’ll order the cable, it’s the only thing i havent done yet, but i don’t feel very hopeful…
And i’ll have to wait again, i hate waiting damnit, i’m a millenial!! :grin: :laughing:

The Vbus is 5v. You’ll need to provide 5V for USB devices that need external power. The USB data lines don’t require it though.