USB ports not working on my Pyra


Hhhendrik

Still Fresh
Joined
Jun 7, 2025
Messages
2
Hi fellow Pyra hackers, I got my Pyra last month (yippie!), am quite happy trying different things with it, but only lately, I've noticed that the USB ports don't seem to work.

Both USB-A Ports and the OTG port seem to do nothing. `journalctl -kf` shows zero activity when I plug in a device (e.g. USB stick). In detail:
- With or without the µUSB cable being connected, the USB-A ports deliver power, but are otherwise dead (no kernel log output).
- lsusb -v shows one 2.0 root hub, with 3 ports, that's all. I'm running the 5.6.19-pyradef kernel. Also tried getting usb to work in u-boot, when I do `start usb` there, it does not detect any connected storage / eth device either.
- The OTG port reacts to me connecting an OTG cable (ie. Adapter from male µUSB to female USB-A), adding 2 new root hubs (1xUSB2.0, 1xUSB3.0) to `lsusb` output, which disappear when I disconnect the OTG cable.
- The LTE modem works, but not every time, sometimes it is not detected on bootup. If it is detected, more root hubs show up in lsusb.
- Charging works, with both the µUSB/serial tty port and the "wide" OTG port. It weidly turns the Pyra on whenever I connect/disconnect power to the OTG port, but other than that, it works well.
- I also tried accessing USB from u-boot (using the serial connection over the µUSB port). `u-boot start` shows 2 devices, but the ports do not deliver power, nor is anything (storage or ethernet adapter) ever detected.

I'm using the 5.6.19-pyradef kernel. As I said, the modem sometimes is not detected either, this looks like a hardware problem to me. Could it be lack of power / brownout? I've had the Pyra on a >90% full battery, plus a USB connection via µUSB to my PC (for the serial tty), and yet the USB ports had this problem.

Any idea how I could try to fix this? I'm not above kernel-level debugging, opening the device or even a bit of (non-SMD) soldering, but not sure how to proceed.
 
For me: With battery at 39% it still provides power and connects to USB, and obviously shows up in journalctl (I did run with sudo, else I don't anything) on both ports. No external power supply connected, so all on the internal battery.

Maybe you can try a safe and simple device, like a USB mouse or keyboard, as USB sticks might be somehow a newer USB version (who knows, it might cause issues).
I assume the hardware is fine and you're encountering some software issue.

I would wait for a better responses from forum members, if not: I wouldn't know much else to check the software part. If it's a hardware issue the and the USB port does have power, you could open the Pyra and check if the ports are properly connected. Usually power connections are larger while signal pins are smaller and might easier detach. Moving the USB socker with the USB device might also yield different results as power/signal might be temporarily connected.
 
Greeting new device owner!
I am surprised more people don't talk about this.
Whilst working on memory timings, I decided to get a 4 port usb switch so that I could swap storage between a working machine and the Pyra. I had much frustration trying to work out why it was there sometimes for the Pyra, and not there others.
I found that someone had flipped a pin regarding USB in uboot. I tried asking if anyone was confident with that change. Didn't get much response. So I flipped it back and got better results.
My kernel is 5.6.19-daveiii-pyradef-aufs. I was concerned that that pin had changed because something in the kernel treated the device differently.

The issue with booting when power is detected was a talked about issue. Newer uboot solve this.

The modem not always being detected might have an issue with the high battery level. I seem to recall it was more reliable when you turned the device on at 60-70% battery charge.
There was a brief thought that the letux kernel does a better job of always loading the modem but I'm not sure anyone has got around to thorough investigation.

I was excited to work on these issues then life threw me a huge curve ball. I'm currently looking for a house so I can unbury myself from my projects and get back to it.
Thanks for the excuse to turn the pyra back on though :)
 
I never had issue with USB ports, the sticks can be read from both type-A ports and charge is working from both micro ports.
The device boot without problems while in charge, but I don't have a SIM to try the modem.

my kernel is this:
Code:
Linux username-pyra 5.6.19-daveiii-pyradef-aufs #5 SMP PREEMPT Sun Mar 24 06:40:39 CET 2024 armv7l GNU/Linux
 
Last edited:
Any idea how I could try to fix this?
When I leave my device on for a while, it tends to go into suspend mode, which does not work, but disables a lot of things in preparation for suspension (the obvious thing is the WiFi turning off and not wanting to turn on again). But if you touch the keyboard or screen, you don't see any difference.

To get out of that mode you need to issue a:
Bash:
sudo systemctl cancel
After a few seconds, WiFi comes back up, just as the other periphericals.

I have been able to "detect" this mode using the commandline:
"runlevel" just reports 5, "systemctl is-system-running" says "running", however "systemctl list-jobs suspend.target" shows that it's in "waiting" state (instead of "no jobs running"). Try checking that next time.
 
Last edited:
Just something to note if it's not understood by everyone, the blue USB port is not USB 3.0, it's ironically USB 2.0 only with SATA lines where the USB 3.0 data lines would be, there is a breakout adapter that will give you a SATA port for sale on HNS page. I've observed USB 3.0 devices getting confused by this bizzare port and basically freezing the USB system to the point you either have to reboot or figure out how restart the system. so I've only used that port if I know it's truly a USB 2.0 or older device.

The Pyra does have USB 3.0 via the micro OTG port, I can some devices to work well like keyboards and mice with an OTG adapter and anything that draws a bit more current I can use a powered USB hub. I however can't seem to get things like my USB 3 HDMI capture card to work. But it does work if using the black USB 2.0 port with a powered hub, just not at USB 3.0 speeds. I'm not sure if the port needs to be switched from a OTG to another operating mode, it's beyond my understanding at the moment.
 
Thank you for the help!
I've since tried a few things, and indeed, it seems to be a problem of drivers mostly, with some added timing/voltage problems (which will be "fun" to debug).
Anyway, yesterday evening I tried connecting a mouse, and it worked, and I could even connect an old USB drive successfully. That was with the 6.1 generic ARM kernel, IIRC.
Since my original goal was to boot the Pyra over ethernet using TFTP, I'm still trying to get that to work, hopefully not bricking my Pyra ...
 
Back
Top