First use: Update fails (certificate problem)

Hi everyone,
I just turned on my Librem 5 phone for the first time. I have to say that I’m quite disappointed because nothing seems to work.
I got an immediate notification that there is an OS update. But when clicking on it, I get the following error message:

Unable to download updates:
E: https://repo.pureoes.net/pureos amber-updates/main arm64 bsdutils arm64 1:2.33.1-0.1pureos1 is not (yet) available
(Certificate verification failed: The certificate is NOT trusted. The certificate chain uses expired certificate. Could not handshake: Error in the certificate verification. [IP: 138.201.228.45 443])

Also when I open the browser, I get a certificate error on any website that I open. It states

This Connection is Not Secure
This does not look like the real https://puri.sm. Attackers might be trying to steal or alter information going to or from this site.
Technical Information
The website’s identification is too old to trust. Check the date on your computer’s calendar.

So after a bit of searching I found that it might have to do with my time settings. So I checked my time settings and noticed that they were set to some random date in 2076. I disabled automatic time and automatic timezone and set the correct date manually. I tried again and the problem persisted. I rebooted and it still persisted. I turned automatic time and timezone toggles back on and now the time stays at the correct time. But even after a reboot I still get the same error messages I posted above.
Any help that leads toward actually being able to use the phone is much appreciated.

Try to perform the update in the terminal by entering
sudo apt update && sudo apt upgrade

See also: [MyL5] Update process is broken.

Does this mean that you have received your L5 recently? If so, please share here your order and delivery date because we’re tracking somewhere in the forum the shipment of the L5. Thanks.

The evidence says “no”.

  • amber phone (not byzantium), and
  • exhibiting the “2076 problem”.

Alternatively, could have been received recently but bought from a third party.

Thanks everyone for their suggestions. I reached customer support and the only option was to flash the phone. Unfortunately this didn’t work on Fedora, so I had to create an live PureOS on a flash drive and follow the following instructions from there:
https://developer.puri.sm/Librem5/Development_Environment/Phone/Troubleshooting/Reflashing_the_Phone.html
Regarding the order and delivery date: I ordered the phone on September 7, 2017 and received it in January 2020. Due to some personal reasons I was not really able to unbox and actually start using the phone until this week. That’s why I encountered the above problem.

2 Likes

The update from a few weeks ago I had to look for help on this forum as my phone wouldn’t download it and it gave a reason, I just don’t remember the exact wording. Forum gave me good command line instructions to fix this and it downloaded. I also got another update I think this past week that downloaded with no issues. Not sure exaclty what improvements are there, but my idle battery drain is about 6.8% per hour idle with only wifi on and unplugged., which maybe I am imagining this but a few months ago I think the same idle drain was about 8%?

Did you try installing uuu using Snap? That should work on Fedora. Or was there some other issue that you encountered?

It would be good if the community worked to get uuu packaged in distros other than the debian family.

Yes, I installed uuu using snap. But when running the script, I had always gotten the following result:

[rene@panda librem5-flash-image]$ ./scripts/librem5-flash-image
2022-01-17 17:58:09,190 INFO Looking for librem5r4 plain byzantium image
2022-01-17 17:58:12,234 INFO Found disk image Build 10101 'plain librem5r4 byzantium image' from Mon Jan 17 03:19:41 2022
2022-01-17 17:58:13,526 INFO Found uboot Build 82 from Fri Sep 10 20:19:03 2021
2022-01-17 17:58:13,526 INFO Downloading to ./tmp_librem5-flash-image_44x9u4oh
2022-01-17 17:58:14,109 INFO Downloading image from https://arm01.puri.sm/job/Images/job/Image%20Build/10101/artifact/librem5r4.img.xz
                                                                               2022-01-17 18:03:33,703 INFO Calculating sha256sum of ./tmp_librem5-flash-image_44x9u4oh/librem5r4.img
2022-01-17 18:03:44,231 INFO Downloading uboot from https://arm01.puri.sm/job/u-boot_builds/job/uboot_librem5_build/82/artifact/output/uboot-librem5/u-boot-librem5.imx
                                                                                
            Turn all Hardware-Kill-Switches off
            Remove battery
            Hold volume-up
            Insert the USB-c cable: (red light blinks, no green light)
            Reinsert the battery: (red light is constantly on, the script will continue)

Searching...
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.4.165-0-ge10b026

Success 0    Failure 1                                                         
                                                                                
                                                                                
1:6      1/ 0 [Failure open usb device,Try sudo uuu  ]                          


2022-01-17 18:04:09,850 INFO Cleaning up.

Same thing happend when running the same command using sudo

You have udev rules missing.

They should be added in /etc/udev/rules.d/. The suggested name

/etc/udev/rules.d/99-uuu.rules

The content can be obtained by

uuu -udev

The printed lines needs to be added into rules file and then you need inform udev daemon about change or reastart it or reboot whole computer. The udev rules reload request

sudo udevadm control --reload

Then you need disconnect and connect device again.

If you try

ls -l /dev/bus/usb/*

you should see that given device provides read and write access to everybody.

You can find device files correspondence to actual connected HW by

sudo lsusb

You can use -v for verbose output.

Random page found with more related info there

Older Purism page for dev kit there with more sane/restricted rules actual for the devices. It is probably moved somewhere else in actual documentation. Probably matching section

SUBSYSTEM!="usb", GOTO="librem5_devkit_rules_end"
# Devkit USB flash
ATTR{idVendor}=="1fc9", ATTR{idProduct}=="012b", GROUP+="plugdev", TAG+="uaccess"
ATTR{idVendor}=="0525", ATTR{idProduct}=="a4a5", GROUP+="plugdev", TAG+="uaccess"
ATTR{idVendor}=="0525", ATTR{idProduct}=="b4a4", GROUP+="plugdev", TAG+="uaccess"
LABEL="librem5_devkit_rules_end"
1 Like

Thanks for the tip. I don’t have the phone any more, so I cannot try your suggestion. Also, I already did the flash using the live system, which worked fine.
I did however follow the instructions given in the initial link where it said:

  • Install the udev rules sudo ./scripts/librem5-flash-image --udev

And this command did go trough without errors.