Anyone with a Librem Mini v1/v2 that’s able to try preview firmware - I could use feedback on USB transmitter tunings. If you have ever had a USB device that didn’t work well on Mini v1/v2, or only worked in specific ports, this may improve it.
To flash, use the preview branch script to flash coreboot/SeaBIOS: (PureBoot hasn’t been changed yet in this preview)
mkdir ~/updates
cd ~/updates
wget https://source.puri.sm/firmware/utility/-/raw/4.21-Purism-4-Preview-Mini-USB2/coreboot_util.sh
sudo bash coreboot_util.sh
I’ve applied one set of tunings to the front-left ports and another to the rear ports. The front-right ports are unchanged to ensure you always have some working USB ports. In my tests, both alternatives were better than the current config though.
If you have a problematic USB device, it’d be a big help to know which tunings improve it. This can vary device-to-device, so it’s important for me to understand the impact on lots of devices and Minis. Even if you’ve never had this problem, it’d be a help just to know that the new tunings do not cause any problems for you.
Any feedback is helpful, even if it’s just to note that it was fine before and the preview is good too! If you did have a problematic device, the template below will help provide useful feedback.
What device did you have a problem with? [Type of device, specific model if you know it - details help if it’s not solved in the preview]
What was the problem with the device? [What went wrong - details help if it’s not solved in the preview]
Do you have a Librem Mini v1 or v2? [v1 / v2]
Are the front-left ports improved in the preview build? [Works perfectly / Better but not perfect / Same / Worse - if top/bottom differ, note them individually]
Are the rear ports improved in the preview build? [Works perfectly / Better but not perfect / Same / Worse - if top/bottom differ, note them individually]
I’ve prepared a new build for Mini v2. (The improvement will apply to v1 too, but for the moment I have only built it for v2.)
Based on the prior build, there was a little improvement, but it wasn’t quite enough to solve the issues with some devices. This build has more optimized tuning on the four blue ports (all blue ports are the same in this build). The black ports are again unchanged to ensure there is a fallback in case the tunings are worse for any reason.
mkdir ~/updates
cd ~/updates
wget https://source.puri.sm/firmware/utility/-/raw/4.22.01-Purism-1-Preview-Mini-USB2/coreboot_util.sh
sudo bash coreboot_util.sh
Just as before, any feedback is greatly appreciated! If you had a problem, it’d be great to know if the improved tunings help. If you didn’t have a problem, it’s still helpful just to know that the change did not cause any problems for your devices.
And as always, you can revert to the current release firmware with use the usual instructions: firmware / utility · GitLab
What device did you have a problem with?: Different USB-drives/drives do not work
only one is known to work - Verbatim 64GB USB3 (see image) - works on all ports USB2/3
relatively old Sony 8GB USB2?? stick is recognized sometimes (mostly after restart???) with gnome-disks when inserted but partitions are not recognized correctly?? when I tried to eject the device I got the message shown in the screenshot
8GB USB flash drive is not fully recognized in gnome-disks while inserted in any of the USB2/3 ports (interface of gnome-disk is changing the shown partitions as it would not be able to connect properly)
All three devices do work on e.g. a old intel nuc.
Today I also tested 4.22.01-Purism-1-Preview-Mini-USB2_coreboot_util.sh
Same devices as above plus
a USB-c hub with PD (Anker Power Expander USB-C PD Hub, no external supply) where the onboard led lights up but no devices (the one above were tested) are recognized (in gnome-disks and via lsusb)
Logitech webcam 720p is not recognized on any of the ports (lsusb)
Thanks for testing this @howil and I appreciate the detailed reports
It’s difficult to conclusively identify high speed signaling problems without specialized hardware. If we land on any firmware build that solves the issue, it would of course confirm that we could solve the problem with firmware. But until we’ve exhausted all possible avenues in firmware, we probably won’t be able to say for certain which it is.
If you do happen to have a friend with a 2GHz+ scope (very expensive), that’d be very helpful, but of course I would not ask you to go to those lengths unless you really want to
If you’d like to discuss options for your device, please contact support@puri.sm, and you can mention that we have already troubleshooted the issue to an extent on the forum (please link the thread, it’s not always clear how to associate email addresses with usernames).
I’m still investigating more possibilities for USB tuning improvements, but progress is pretty slow both due to the nature of the issue and other issues I have been working at the same time. I greatly appreciate your patience and feedback!
If you have extra stock of this mini PC that have not been flashed with Pureboot/Coreboot yet, you could test those to see if the proprietary OEM firmware has the same issues. That would be an easy way to rule out whether it is a hardware issue. There are multiple vendors that sell the same mini PC. I assume they all run the same proprietary firmware. [Alibaba link1] [Alibaba link2]
I noticed @MrChromebox mentioned Coreboot/SeaBIOS has issues detecting certain devices on warm boot versus cold boot in [this thread]. That sounds similar to the behavior I am seeing.
Hello. After additional testing, my post (Librem Mini , USB issues behind hub), I was able to determine the USB issues were limited to only USB 2.0 devices. USB 3.0 devices were not affected. I was issued an RMA and all issues were “fixed” upon receiving my mini back (apparently, a motherboard replacement).
Interestingly, just this week (actually!), I’ve been again noticing similar symptoms with USB. I’ll hold details until I’ve finished testing… would be a separate thread anyways.