Why not? I don’t understand.
Because the root file system (the eMMC drive) is not quiesced. Files on it are changing in a manner that is uncoordinated with the process that is copying files onto the external drive. You will probably get lucky anyway but …
The right way to do this is either
- to use a root file system type that supports snapshots (may or may not be possible currently but not the case for me), or
- to boot from another disk so that the eMMC drive is not mounted (not currently possible? although you can probably go close if you are an extra advanced user), or
- to use JumpDrive to expose the local drives via USB (and hence do the backup on your PC, maybe the only option currently).
Maybe I overlooked some options. Let’s see if anyone jumps in.
I’ve reconnected the dock but without the external drive and it is charging satisfactorily and the temperature is normal.
Edit: No. Gone crazy again.
FYI - there’s only one microphone at the bottom of the phone, the second thing you marked as a mic is actually a speaker. The second microphone is at the top near the headphone jack. Also, there’s proximity and ambient light sensor next to the selfie cam and you’re missing the smartcard slot as well.
Today I tested … upgrading the firmware on the USB-C PD controller. (emoji indicates scary concern about bricking the device)
The command to check the firmware version is
sudo cat /sys/kernel/debug/tps6598x/0-003f/customer_use
and that was giving
which I took to mean version 0.1.1 - and that is not the latest.
The update procedure is a little untidy for me because my distro (Ubuntu) does not include
uuu so I had to build
uuu from source using the info from Purism. If anyone else needs to do this, I suggest replying here for more info.
I will note something from Purism’s web site: IMPORTANT: The firmware is for the Evergreen and Dogwood batches. Don’t flash it to other devices.
Otherwise the needed info is here: https://source.puri.sm/Librem5/firmware-tps6598x-nonfree/-/tree/master
I don’t have a USB-C port on my computer, so I had to use a USB-C Male to USB-A Male cable that I had lying around (and that I connected directly into a USB 3.0 port on my computer). I would suppose that the update procedure might try to make the most limited demands on the USB port but I didn’t push it (e.g. by trying a USB 2.0 port or by trying to do it through a hub).
While connected for update, the Librem 5 showed up with
Bus 999 Device 999: ID 1fc9:012b NXP Semiconductors i.MX 8M Dual/8M QuadLite/8M Quad Serial Downloader
where obviously the bus number and device number will be different on your computer.
The update failed (harmlessly?) the first time due to not running the script as
root (and the Purism doco doesn’t specifically mention this). The reasonable error was:
Fail Failure open usb device,Try sudo uuu
udev rule on my computer would avoid that problem but I don’t anticipate doing this very often so couldn’t be bothered, so
sudo ... it is.
After the update, and rebooting the phone, the above
cat command gives
which I took to mean 0.2.0 - so that looks like winning!
Any specific improvement(s) you expect to get from doing that? Do you notice any difference afterwards other than the new firmware version number?
I was wondering whether anyone would ask. I had two motivations.
- Charging through my dock doesn’t work properly. I figured that before putting the dock in a drawer and spending money on another dock, it would be best to test again with the latest firmware.
- I want to play around with backup via Jumpdrive, so I need to have
uuuinstalled / built anyway.
So the firmware upgrade did not help, charging through the dock is still not working afterwards?
I haven’t retested the dock yet because I will want to test normal charging (via the Purism-supplied charger) first, just to make sure that there’s no regression there, and then maybe tomorrow I will try the dock again.
One oddity … I don’t know whether this is a result of a PureOS software change or a result of the firmware update or something else I have done … it seems like the battery is now charging to a higher level. With a 4500 mAh battery, previously it seemed as if it is calling about 3800 mAh 100%, whereas now it seems as if it is calling about 4300 mAh 100%.
So the score at the moment is:
Before the update: failures 2 / 2
After the update: successes 1 / 1
with the caution that the phone software is changing all the time too (and did change), so any observed improvement may be bogus / chance / coincidence / unrelated / real. Clearly I need more data.
If charging via the dock holds up then that gives me another win because it means I can connect the phone via ethernet while charging and work around the WiFi signal problems that I have at the charging station - thereby allowing me to be logged in remotely during charging, doing things, and to monitor the progress of charging remotely.
Perhaps that will be of any use…?
Maybe. We’ll see. The actual topic for that is: Librem 5 Wi-Fi performance
Today I tested … Jumpdrive and doing a reliable backup
TLDR: Nice one, @dos. Worked like a treat.
As with updating the USB-C PD controller firmware, this is a little untidy because I am using Ubuntu. Now multiply that untidiness by 10. Ubuntu certainly doesn’t come with the necessary toolchain packages installed and nor is there a definitive list of what needs to be installed. So there is an element of trial and error. If anyone else wants to do this, I suggest replying here for more info.
This is a multi-hour odyssey (basically 5 hours). It involves downloading around half a gigabyte of stuff - and then compiling a lot of stuff. If you don’t have a fourth-world internet connection and if you have a faster computer, you may do a lot better than 5 hours. Of course all of this is one-off pain.
Once it is all built … Jumpdrive boots in an embarrassingly short amount of time, perhaps a second or two. So fight the toolchain for 5 hours and then two seconds later your phone is running Jumpdrive.
As before, the one line shell script to load Jumpdrive into the Librem 5 requires root access. (
With Jumpdrive booted on the phone, on my computer
sda was the eMMC drive and
sdb was the uSD card. YMMV.
Warning: Ubuntu automounts both drives and in the case of the eMMC drive both partitions. So if you intend to backup the eMMC drive then make sure that you
umount it (
sda2) before starting the backup.
I chose to do the backup by piping
gzip. For me that meant that I could backup the 31 GB eMMC drive in 9 minutes at 58 MB/s producing a 2.9 GB file. That is fast enough to encourage backups actually to be done. No doubt as I put more ‘stuff’ on the phone, it will take longer and produce a larger file.
I consider a reliable backup to be essential. I would not put information on a computer that I couldn’t reliably backup.
Warning … off the top of my head:
gunzip --list malfunctions (presents incorrect information) when the original file exceeds 4 GB (as it does here). That can be safely ignored.
It looked to me (big disclaimers apply) that Jumpdrive contains most of an entire Linux kernel. As a consequence, it is possible to telnet in to the Librem 5 and look around and do stuff. This could be quite useful if your Linux install on the eMMC drive is broken but not so broken that you just want to restore from backup.
For example, if you forget the password for the
purism account and haven’t created another account, you could fix the password. Of course you could also do that directly on the main computer since it can mount the eMMC drive, and assuming that your main computer is running Linux.
@irvinewade, If you have the time, it would be cool it you wrote down all the steps for doing a backup on the community wiki.
I wonder if this is possible on Windows and Mac computers. Eventually we are going to have people using the L5 who don’t have Linux PCs. I see that uuu is a package in bullseye so eventually it will get to the Debian derivatives. We need to get it into all the major parent distros (Arch, Fedora, OpenSUSE, Gentoo). Is there a way to suggest packages for inclusion in Arch, Fedora, OpenSUSE, Gentoo, etc?
It doesn’t really matter - in the sense that I built
uuu myself in an earlier step (needed for updating the USB-C PD controller firmware). That was the easy part.
Obviously if Purism did all the building of the software to run on the Librem 5, that would be a straight download for anyone not running Linux or for someone running Linux who doesn’t want to build binaries. Then all that would be needed is
uuu for “your platform”.
I’ll try to write something up for the Wiki next week. It will be fairly long.
Just between you and me, I would prefer it if the Librem 5 could boot from uSD card (even when the eMMC drive is hosed - so chain booting doesn’t count). Then you could create an install / backup / restore / recovery uSD card on any platform using a wealth of tools that already exist. Or you could order one from Purism if you don’t want to download a uSD disk image and make your own.
I think you should create a new topic for this nice diagram. By the way, its vice versa: the speaker is on the left and the mic on the right.
Updated (in situ). Maybe it should go into the Wiki. However, as you can see, it is still being debugged.