Since many month I have problems with the USB ports. Basically I can not use any USB data storage device or camera.
What does not work:
different usb-devices USB1, USB2 and USB3 devices; USB-data-drives externally powered WD-HDs
an USB-C usb-hub which is powered externally connected via the USB-C on the back
I also tried a different power-supply with same specs for supplying the mini, without any change.
I tried all ports on the front and on the back.
What works:
USB-powered speaker (only powers the speakers uses the headphone-output for audio-input) on one of the ports on the back
logitech USB-tongle for keyboard and mouse on ports on the front
I currently have Ubuntu installed to test a USB powered camera but it looks like that I can not install/test pureOS via the USB-Stick because of the mentioned problem. The USB-Stick is recognize from bios at power up and pureOS screen is shown but I does not start up.
For me it is a hardware problem around the USB ports.
Did I overlook something.?
Any hints what I can test before contacting the purism support?
BR
HoWil
Do you think these problems occurred on your Mini since you received it, or did they begin later? Do you think you updated the firmware at any point?
Could you try the USB port tuning preview build I posted? Librem Mini v1/v2: Feedback request for USB tuning preview build Please read the description, as I’ve applied different tunings to different ports in order to get feedback on multiple tunings in one build.
Simple USB port alignment and photography of the internals.
No, disassembly is fine. You can take the time to clean the fan grilles and other typically neglected tasks. If you have not upgraded the internal components since your purchase, this is an opportunity to consider it.
@howil Did you have a chance to try that firmware?
Based on some feedback, I’ve prepared another build with different tunings. This is only for USB 2.0 for the moment, USB 3.0 likely has room for improvement too but it is a different set of tunings.
Just as before there are no permanent changes to the Mini v2, you can revert to the release firmware at any time. Only the blue ports are changed in this build, so try your USB 2.0 devices in those to see if they are improved.
@howil Thanks for the photos - I don’t see anything obvious on the visible side of the board, like a tombstoned component / short / etc., but high speed issues can be much more subtle.
Re-reading the thread, you mentioned that you’ve had the device for about a year, but the problem has occurred for many months. Did these USB devices work when you first received the Mini?
If so, we may want to back up to firmware from the time you received the device and see if this could possibly be a regression. For that, if you could provide the approximate date when you received the device, I can provide specific instructions to go back to that firmware release and see if there is any difference. (PM is fine if you prefer.)
Dear @jonathon.hall, I received the mini on the 17 Apr 2023. We can try resetting the firmware.
Can you please explain what the firmware does exactly, because I currently do not see any progress.
If for instance the powerconsumption of the USB-chips is tuned why do not try to set it to max (I guess you already did??)? If this does not work and you have no more ideas then I will contact support.
Thanks for the additional context @howil and for your patience while I was away.
Could you please try downgrading to coreboot/SeaBIOS 4.18-Purism-1 to see if the USB behavior is any different? To do that, use an old version of coreboot_util.sh:
mkdir ~/updates
cd ~/updates
wget https://source.puri.sm/firmware/utility/raw/8d90c9d06ad909030313a9b516a9b44a40e48cfe/coreboot_util.sh
sudo bash coreboot_util.sh
This will reintroduce the suspend/resume issues that were fixed in later releases, but if your USB devices work better with this release, then we can determine what changed.
Of course So far, I have been adjusting the transmitter tuning. High speed signal transmission, including USB 2.0, is sensitive to signal loss or noise. There is a specification for the voltages and timings that the device must see. If the signaling is outside of this specification, some devices may still tolerate it, but some may not.
It’s not simply a matter of cranking the power up to the max - the result seen by the device needs to be in the specified range. Some of the tuning parameters “compete” to properly balance high-frequency and low-frequency loss when tuned correctly (pre-emphasis and de-emphasis, etc.)
I did try the common coreboot presets for the “shortest” and “longest” port lengths in one of the prior builds - I didn’t think “longest” was likely to be best, but I put it in to be sure. Both variations helped a bit but did not solve the issue, which to me suggests that a more subtle optimization is needed. But it could also be related to a regression, and if so that will give us another direction to investigate.
I received a Librem Mini V2 in December 2023 and have the same issues as @howil with USB devices. If I plug in USB flash drives or harddrives when the system is running they are usually not recognized, or they are recognized and not accessible. Sometimes they are accessible, but attempting to read or write to them will throw various I/O errors. Others will show as repeatedly disconnecting/reconnecting to the system. Two of my USB harddrives actually crash the entire system to black screen/power off when I plug them in. When this happens the system will not boot again until I unplug the power supply and replug it. I also get this same behavior if I shutdown the system normally through the OS and leave the power supply connected and drives plugged in. When I go to start the system the next day it will not boot. The white power LED comes on but the display just stays on a black screen. I have to unplug and replug the power supply to boot.
I have been able to work around this issue by doing a cold boot: plugging in my USB drives first, then plugging in the power supply, then starting the system. The drives are recognized and operate normally as long as they were plugged in before connecting power and booting. So the issue seems to be exclusively with hotplugging and “warm boot”.
My system came with Pureboot. I forgot to check which version, but I assume Release 25. Today I updated to Release 29 successfully, but I still had the same USB issues. I then did a downgrade to SeaBIOS 4.18-Purism-1 per your post. However, I still have the same USB issues with this version. I then attempted to flash your second preview build from [this thread] but flashrom gave me an error “Unable to access firmware flash. Add iomem=relaxed to kernel command line and try again.”. I tried again with your first build, but that one got stuck on “Initializing internal programmer” for over an hour, so I stopped it. Luckily it did not brick my system, but I am afraid to attempt any more flashes now.
I am running Qubes 4.2.1 currently (which uses fedora-39 for sys-usb), but have also tested Fedora 34 live, and Fedora 39 and Windows 10 22H2 installed directly to NVME. All four OS have the same issues. They all crash to black screen when I plug in the USB harddrives. Windows device manager show the drives disconnecting/reconnecting for the Kingston, and the others are listed in disk management, but throw I/O errors. I was flashing coreboot updates using Fedora 39.
Non-working Devices:
Kingston Datatraveler USB 2.0 8GB flash drive - repeated disconnect/reconnects in all ports
ADATA S102 USB 3.0 32GB flash drive - inaccessible or throws I/O errors
Sandisk Cruzer Glide USB 3.0 32GB flash drive - inaccessible or throws I/O errors
Seagate Backup Plus Slim 1TB USB 3.0 2.5" Harddrive (bus powered) - crashes entire system to power off when plugged into any USB port (haven’t tested Type-C)
IOCrest 2.5" USB 3.0 to SATA hard drive external enclosure (bus powered) - same as Seagate. Currently has a 1TB Toshiba 7200 RPM drive in it.
IcyDock 4 bay USB 3.0 to SATA external drive enclosure w/UASP - inaccessible or throws I/O errors
USB audio DAC amp combo Nuforce icon (has external power supply) - crackling and popping noises through headphones. Seems to operate normally on cold boots.
All these devices operate normally on my other computers running Qubes, Fedora or Windows.
Working Devices:
USB mice - Zowie ZA11
USB keyboard - generic Sonix. Usually works ok, but sometimes will activate sticky keys for no reason or a key gets stuck as activated (i.e. down arrow which will scroll web pages indefinitely). This is a new keyboard so keys shouldn’t be sticking.
Ports:
all ports have the same issues. The front two USB 2.0 (black) seem to be the worst.
I also found [this thread] where a user reports the same issue with USB audio crackling, Sticky keys being activated on the keyboard and flash drives not being recognized. And [another one] on sticky keys.