diff --git a/debian/changelog b/debian/changelog index ffca41f..6bcedf9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,19 @@ +rpi-eeprom (11.2-1) buster; urgency=medium + + [ andrum99 ] + * release-notes.md: label 2020-01-05 release as BETA + + [ Andrew Scheller ] + * typo + + [ Tim Gover ] + * rpi-eeprom-update: Get bootloader build-timestamp from device-tree + * rpi-eeprom-update: Add default/latest symlinks to reflect raspi-config + naming + * pieeprom-2021-01-11: Timeout stalled USB MSD devices - BETA + + -- Serge Schneider Tue, 12 Jan 2021 14:17:11 +0000 + rpi-eeprom (11.1-1) buster; urgency=medium [ Tim Gover ] diff --git a/debian/default/rpi-eeprom-update b/debian/default/rpi-eeprom-update index df7efac..9e9d079 100644 --- a/debian/default/rpi-eeprom-update +++ b/debian/default/rpi-eeprom-update @@ -1 +1 @@ -FIRMWARE_RELEASE_STATUS="critical" +FIRMWARE_RELEASE_STATUS="default" diff --git a/debian/rpi-eeprom.install b/debian/rpi-eeprom.install index dc4bfc3..050d1cd 100644 --- a/debian/rpi-eeprom.install +++ b/debian/rpi-eeprom.install @@ -2,6 +2,9 @@ rpi-eeprom-config usr/bin/ rpi-eeprom-update usr/bin/ debian/default/ etc/ +firmware/default lib/firmware/raspberrypi/bootloader/ +firmware/latest lib/firmware/raspberrypi/bootloader/ + firmware/critical lib/firmware/raspberrypi/bootloader/ firmware/stable lib/firmware/raspberrypi/bootloader/ firmware/beta lib/firmware/raspberrypi/bootloader/ diff --git a/firmware/beta/pieeprom-2021-01-11.bin b/firmware/beta/pieeprom-2021-01-11.bin new file mode 100644 index 0000000..170bfea Binary files /dev/null and b/firmware/beta/pieeprom-2021-01-11.bin differ diff --git a/firmware/beta/recovery.bin b/firmware/beta/recovery.bin index d0cc53b..37638eb 100644 Binary files a/firmware/beta/recovery.bin and b/firmware/beta/recovery.bin differ diff --git a/firmware/default b/firmware/default new file mode 120000 index 0000000..ef9b163 --- /dev/null +++ b/firmware/default @@ -0,0 +1 @@ +critical \ No newline at end of file diff --git a/firmware/latest b/firmware/latest new file mode 120000 index 0000000..870bbe4 --- /dev/null +++ b/firmware/latest @@ -0,0 +1 @@ +stable \ No newline at end of file diff --git a/firmware/release-notes.md b/firmware/release-notes.md index 3dc370a..b2189de 100644 --- a/firmware/release-notes.md +++ b/firmware/release-notes.md @@ -3,10 +3,16 @@ USB MSD boot also requires the firmware from Raspberry Pi OS 2020-08-20 or newer. https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711_bootloader_config.md -## 2021-01-05 - USB MSD interop improvements for Pi 4B < R1.4 +## 2021-01-11 - Timeout stalled USB MSD devices - BETA + * Timeout USB MSD commands and move to the next boot mode if a device stops responding. + * Reset the GPIO expander at power on. + * Use the bootloader build timestamp instead of zero for the update-timestamp + if it is not defined in the .sig file. + +## 2021-01-05 - USB MSD interop improvements for Pi 4B < R1.4 - BETA * Revert the USB port power delay on R1.1 boards to be more like the Sep 2020 production release. Verified with Geekworm X835, Orico NVME M.2 USB adapter - and Microsoft Wireless keyboad. + and Microsoft Wireless keyboard. * Increase the HDMI delay to 8 seconds. ## 2020-12-14 - Promote pieeprom-2020-12-11.bin to stable - STABLE diff --git a/rpi-eeprom-update b/rpi-eeprom-update index c15e3a0..5937f5e 100755 --- a/rpi-eeprom-update +++ b/rpi-eeprom-update @@ -34,6 +34,8 @@ BOOTFS=${BOOTFS:-/boot} VCMAILBOX=${VCMAILBOX:-/opt/vc/bin/vcmailbox} CM4_ENABLE_RPI_EEPROM_UPDATE=${CM4_ENABLE_RPI_EEPROM_UPDATE:-0} +DT_BOOTLOADER_TS=${DT_BOOTLOADER_TS:-/proc/device-tree/chosen/bootloader/build-timestamp} + EXIT_SUCCESS=0 EXIT_UPDATE_REQUIRED=1 EXIT_FAILED=2 @@ -267,7 +269,10 @@ applyUpdate() { # this via flashrom to avoid unnecessary audio glitches. BOOTLOADER_CURRENT_VERSION= getBootloaderCurrentVersion() { - if vcgencmd bootloader_version | grep -q timestamp; then + if [ -f "${DT_BOOTLOADER_TS}" ]; then + # Prefer device-tree to vcgencmd + BOOTLOADER_CURRENT_VERSION=$(printf "%d" "0x$(od "${DT_BOOTLOADER_TS}" -v -An -t x1 | tr -d ' ' )") + elif vcgencmd bootloader_version | grep -q timestamp; then BOOTLOADER_CURRENT_VERSION=$(vcgencmd bootloader_version | grep timestamp | awk '{print $2}') if [ "${BOOTLOADER_CURRENT_VERSION}" = "0" ]; then # If a timestamp of zero is returned then it's new firmware but an @@ -332,8 +337,12 @@ checkDependencies() { HAVE_VL805_EEPROM=0 fi - if ! command -v vcgencmd > /dev/null; then - die "vcgencmd not found. On Debian, try installing the libraspberrypi-bin package." + # vcgencmd bootloader_version is deprecated. Use device-tree if available to + # reduce the number of dependencies on VCHI. + if ! [ -f "${DT_BOOTLOADER_TS}" ]; then + if ! command -v vcgencmd > /dev/null; then + die "vcgencmd not found. On Debian, try installing the libraspberrypi-bin package." + fi fi if [ ! -d "${FIRMWARE_IMAGE_DIR}" ]; then