1

I'm trying to run sudo rpi-update to make sure I'm on the latest firmware. It ran correctly on 4 other identical systems. I'm running wheezy for compatibility reasons, raspi 1A, raspbian. The network for this system is a little weird, there might be a network firewall causing issues, but I'm not sure. When I run sudo rpi-update I get:

 *** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
 *** Performing self-update
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (60) SSL certificate problem: self signed certificate in certificate chain
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.
 !!! Failed to download update for rpi-update!
 !!! Make sure you have ca-certificates installed and that the time is set correctly

I have already reinstalled ca-certificates and I can elinks https://github.com but I'm not sure if elinks checks certificates. ( ~~but this would suggest that the firewall isn't causing issues~~ or maybe elinks doesn't care about self-signed) wget https://github.com/Hexxeh/rpi-update/raw/master/rpi-update and wget https://github.com/Hexxeh/rpi-update/raw/master/rpi-update give the same error, as does curl.

Upon further review, it looks like something is re-signing SSL with a self-signed certificate for every HTTPS site. This might be a question for Super User then, but does any one have a safe way to still run rpi-update?

1
  • 1
    Firewall replacing certificates is not impossible at all. Check the certificate for e.g. google.com with your RPi, or better yet with a laptop connected to the same network. Nov 18, 2016 at 14:55

2 Answers 2

2

The better answer is to read the NOTICE.md that's presented when you run the up to date version of rpi-update

#############################################################
WARNING: 'rpi-update' updates to pre-releases of the linux 
kernel tree and Videocore firmware.

'rpi-update' should only be used if there is a specific 
reason to do so - for example, a request by a Raspberry Pi 
engineer.

DO NOT use 'rpi-update' as part of a regular update process.

##############################################################

Do you see the problem? You shouldn't run rpi-update unless you are able to recreate your SDCard from a backup in less than 20 minutes.

The changes in rpi-update are experimental and may leave your system broken or not bootable. They may introduce bugs that you don't expect.

Stick with the stable kernel and bootcode.

Use sudo apt update; sudo apt install --reinstall raspberrypi-bootloader raspberrypi-kernel libraspberrypi0 to undo the potential damage you've done by misuse of rpi-update.

BTW, what possible reason do you have to run Wheezy. Running rpi-update on that has an even greater chance of breaking your system. The time to upgrade to Buster is NOW!

-1

There is a similar github issue. Is it possible that you are running an old version of wget. There are some ideas that you can try:

2
  • If you read that issue, rpi-update moved from using wget to using curl to fix that issue. I have also tried UPDATE_SELF=0 with similar failures. The only difference between my identical Pi's is the network they are connected to, so that leads me to believe there is a device on this network that is re-signing everything with it's own self-signed cert, which is common in corporate networks for packet scanning.
    – Ian M
    Sep 13, 2016 at 10:29
  • 1
    So if the certs are invalid you need to use --no-check-certificate.
    – lw1.at
    Sep 13, 2016 at 10:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.