Closed dinosore closed 7 years ago
What do the Pi Zero W LEDs do if no retries are left & error occurred? (You should see a SOS...)
There's only one led, a green activity led.
I didn't know to expect SOS until I looked at the code today.
I don't think led_sos has been called - no mention of retries on the logs
Just to make sure
root@pie:/boot/raspberrypi-ua-netinst# cat *.log|grep "The maximum number of retries is reached"
root@pie:/boot/raspberrypi-ua-netinst# cat *.log|grep "retries left"
root@pie:/boot/raspberrypi-ua-netinst#
1. Preserve
I'm interested to see how you'll do this. I was thinking along the lines of
This assumes that cdebootstrap will make use of anything already in /var/cache
On the other hand, you may be thinking of something completely different.
2. Final action on failure
I borrowed your sos_led function and ran it on its own. It ran well on the Pi0W with a nice big green activity led flashing a clear SOS pattern. I'm impressed.
It wasn't so obvious on the Pi1B as the green led is much smaller and next to a big red one (power I think). Only one led sos'd. Still clear enough if peered at.
I didn't recognise the SOD at the time - perhaps I needed a big pointer to look out for it.
I convinced my self that it hadn't worked as there was nothing on the log about retries.
Then I noticed that messages about retries came after the copy of the log to the boot partition!
LED-Topic: Which and how many LEDs indicate the no retries left state depends on the schematics. As far as I know, only model 3 has both LEDs controlled by the MCU.
I have created pull request #85 to correct the flashing on Zero and Zero W.
This explains why I didn't recognise SOS on the Zero W - the led was on when it should have been off and vice-versa.
Thus, during the pause between SOS's, the led was on.
Do you want another issue for this bug?
You're right! The Zeros have no MOSFET in the LED circuit. I'll have a look at the code very soon!
I have recently run the latest version (1.5.2) of netinst successfully. However, you can see I had some problems on the way.
All the attempts listed failed in the same way - timeout downloading packages for the basic system.
On Saturday I set installer_retries to 1 and let it run and went to bed early. I hadn't come across this problem before, didn't see the need for automatic retries and wanted to check each attempt separately.
On Sunday I retried quite a few times, switching from mirrordirector to a few different UK mirrors. No joy.
I was considering setting up a mirror cache, but instead picked a mirror in South Africa, set retries to 100 and went to bed.
Monday morning the green led was out and the install had completed successfully.
So what might help make things go more smoothly?
1. Preserve cache of qownloaded packages.
I notice the packages from the last attempt are in /var/cache. Perhaps if the root partition was present, the necessary folder was in /var/cache, the list of packages hadn't changed or was sufficiently recent (say 24 hours), it wouldn't be necessary to re-download the packages.
2. Do final_action on failure when there will be no further retries.
I use the poweroff option. This is what I would like to happen on successful or unsuccessful completion. I referenced this in #72
I know you don't agree, but it would be ever so good not to have to guess when I need to take out the sd card from the pi. Perhaps have a new option error_final_action?
3. Be more patient when installing over wifi.
Longer timeout and/or retry at the package level, maybe after a delay.
4. Be more patient anyway.
I'm not sure if wifi is relevant or not.
edit: I've noticed the typo in 1,Preserve... - I've left it as I rather like it.