Skip to content
This repository has been archived by the owner on Oct 12, 2023. It is now read-only.

CM4 does not reboot #188

Closed
rapkin61 opened this issue Oct 27, 2021 · 72 comments
Closed

CM4 does not reboot #188

rapkin61 opened this issue Oct 27, 2021 · 72 comments

Comments

@rapkin61
Copy link

64 bit OS runs very well on my CM4, but reboot is not working as expected. When I enter commands like "reboot", "shutdown -r", etc the system shuts down and does not come up again. I have to disconnect power supply an re-connect it.
I'm not sure if this is an issue of the base board (I use a CM4-IO-BASE-B) or an issue of the OS.
I have already installed the latest bootloader, but that does not help either.
Reboot works well on all my "normal Raspberries", even with the 64bit OS, therefore I think it is an issue in the context of CM4 or the baseboard. I contacted the vendor of the baseboard - they say reboot works with "the latest Raspberry Pi system" ... whatever this means...

@lurch
Copy link

lurch commented Oct 27, 2021

ping @timg236 in case this is an issue with the EEPROM.

@rapkin61
Copy link
Author

hmm ... how do I know if this is an issue with the EEPROM?

@timg236
Copy link

timg236 commented Oct 27, 2021

Why would the host OS make any difference to the bootloader?

@lurch
Copy link

lurch commented Oct 27, 2021

Sorry Tim, I thought that after you do a reboot (and the CPU resets), the bootloader then takes over (i.e. it's actually the bootloader that differentiates between reboot and poweroff?), and so I thought if the CM4 is "not coming up again" then maybe there's something funky going on in the bootloader? But perhaps it's not even getting as far as the bootloader? 😕 🤷

@timg236
Copy link

timg236 commented Oct 27, 2021

Yes, @lurch the kernel reboot driver optionally sets the partition number in PM_RSTS then uses the 2711 watchdog to reset the chip.

It's possible that systemd etc isn't invoking the reboot. However, more likely, the custom carrier board is getting something wrong in terms of the reset power sequencing so the ROM never runs

The first things that the second stage bootloads does are clearing the GPIO which turns off the power LED and enables the activity LED. It then reads the EEPROM and if BOOT_UART=1 it will output the first log message.

If there's no UART log activity either the reboot didn't happen or there is a hardware issue on the board coming out of reset.

We do 1000s of reboots on CM4 IO boards with various flavours of CM4 boards so we'd need to see a log showing that the bootloader is running and then failing.

@rapkin61
Copy link
Author

Ok, could someone please explain me how to produce such a logfile?

@rapkin61
Copy link
Author

One thing I forgot to mention ... I just updated the OS to bullseye (Debian 11), although it is not officially supported. The problem occurred also with buster (Debian 10), therefore I think, this makes no difference.

@timg236
Copy link

timg236 commented Oct 27, 2021

@rapkin61
Copy link
Author

... lot of stuff to read ....
Do you mean I should boot the CM4 via USB ... perhaps using rpiboot? I already did this when updating the bootloader. If so ... how do I enable logging?

@timg236
Copy link

timg236 commented Oct 27, 2021

I'd recommend reading the Compute Module forums
https://forums.raspberrypi.com/viewforum.php?f=98

@rapkin61
Copy link
Author

Ah, thank you!
I think, I got it ... I need a USB to UART/TTL adapter.
Just ordered one - this might take a couple of days ...

@rapkin61
Copy link
Author

rapkin61 commented Nov 1, 2021

finally got it ...
Here comes the log - hope it helps!
I apologize the strange format
debug_CM4_reboot.log

@pelwell
Copy link

pelwell commented Nov 1, 2021

Because it's not obvious to me, is this a CM4 with onboard EMMC or is it a Lite?

@rapkin61
Copy link
Author

rapkin61 commented Nov 1, 2021

oh, excuse me, this is a Lite

@pelwell
Copy link

pelwell commented Nov 1, 2021

Looking at the log I can see that kernel is triggering a reboot:

[   37.907990] reboot: Restarting system

After the watchdog reset, the bootloader sees that the SD card voltage is still at 1.8V and triggers a global reset:

uSD voltage 1.8V
GLOBAL_RESET: 03 0

On boards with a dedicated power switch for the SD card (of which CM4 is one). the firmware is supposed to power off the card before rebooting. But in the case of the CM4 the firmware doesn't know about the voltage switch because it isn't on the CM4 - it's on the CM4IO board - and then it's only relevant on the Lite version because the onboard EMMC is driven by the 1V8 rail from the PMIC.

The questions therefore are:

  1. Why doesn't the global reset take effect?
  2. Could Lite CM4s benefit from special handling of the SD card power switch?

@lurch
Copy link

lurch commented Nov 1, 2021

ping @dp111

@pelwell
Copy link

pelwell commented Nov 1, 2021

In trying to recreate this issue the SD card isn't switching to 1.8V. More investigation required.

@rapkin61
Copy link
Author

rapkin61 commented Nov 2, 2021

Please let me know if I can add anything to it!

@pelwell
Copy link

pelwell commented Nov 2, 2021

I've switched to a different card (even though the old card was running at 1.8V on a 4B), and now its running at 1.8V on CM4L. And it's rebooting successfully:

pi@raspberrypi:~$ sudo cat /sys/kernel/debug/mmc0/ios
clock:          50000000 Hz
actual clock:   50000000 Hz
vdd:            21 (3.3 ~ 3.4 V)
bus mode:       2 (push-pull)
chip select:    0 (don't care)
power mode:     2 (on)
bus width:      2 (4 bits)
timing spec:    7 (sd uhs DDR50)
signal voltage: 1 (1.80 V)
driver type:    0 (driver type B)
pi@raspberrypi:~$ sudo reboot
[   32.876518] reboot: Restarting system

PM_RSTS: 0x00001020
RPi: BOOTLOADER release VERSION:c258ef8f DATE: Jul  6 2021 TIME: 11:44:56 BOOTMODE: 0x00000006 part: 0 BUILD_TIMESTAMP=1625568293 0x726f509c 0x00c03140 0x000c6582
PM_RSTS: 0x00001020
part 00000000 reset_info 00000000
uSD voltage 1.8V
GLOBAL_RESET: 03 0

PM_RSTS: 0x00001000
RPi: BOOTLOADER release VERSION:c258ef8f DATE: Jul  6 2021 TIME: 11:44:56 BOOTMODE: 0x00000006 part: 0 BUILD_TIMESTAMP=1625568293 0x726f509c 0x00c03140 0x000c6c16
PM_RSTS: 0x00001000
part 00000000 reset_info 00000000
uSD voltage 3.3V
Initialising SDRAM 'Samsung' 16Gb x1 total-size: 16 Gbit 3200
Boot mode: SD (01) order f254
SD HOST: 250000000 CTL0: 0x00000000 BUS: 100000 Hz actual: 100000 HZ div: 2500 (1250) status: 0x1fff0000 delay: 1080
SD HOST: 250000000 CTL0: 0x00000f00 BUS: 100000 Hz actual: 100000 HZ div: 2500 (1250) status: 0x1fff0000 delay: 1080
OCR c0ff8000 [244]
CID: 00015041593031365513dad08fb60141
CSD: 400e00325b590000738f7f800a400000
SD: bus-width: 4 spec: 2 SCR: 0x02058083 0x01000000
SD HOST: 250000000 CTL0: 0x00000f04 BUS: 50000000 Hz actual: 41666666 HZ div: 6 (3) status: 0x1fff0000 delay: 2
MBR: 0x00002000,  524288 type: 0x0c
MBR: 0x00082000,29761536 type: 0x83
MBR: 0x00000000,       0 type: 0x00
MBR: 0x00000000,       0 type: 0x00
Trying partition: 0
lba: 8192 oem: 'mkfs.fat' volume: ' boot       '
rsc 32 fat-sectors 4033 c-count 516190 c-size 1 r-dir 2 r-sec 0 r-entries 0
FAT32 clusters 516190
PM_RSTS: 0x00001000
Trying partition: 0
lba: 8192 oem: 'mkfs.fat' volume: ' boot       '
rsc 32 fat-sectors 4033 c-count 516190 c-size 1 r-dir 2 r-sec 0 r-entries 0
FAT32 clusters 516190
Read config.txt bytes     1798 hnd 0x00000000
Read start4.elf bytes  2228768 hnd 0x00000000
Read fixup4.dat bytes     5446 hnd 0x00000000
Firmware: d7f29d96450abfc77cd6cf011af1faf1e03e5e56 Apr 30 2021 13:45:52
0x00c03140 0x00000000 0x000000ff
MEM GPU: 76 ARM: 948 TOTAL: 1024
Starting start4.elf @ 0xfec00200 partition 0
+
[    1.794341] brcm-pcie fd500000.pcie: link down

Raspbian GNU/Linux 10 raspberrypi ttyS0

raspberrypi login:

So although the global reset shouldn't be necessary, it is working correctly in 64- and 32-bit modes.

@pelwell
Copy link

pelwell commented Nov 2, 2021

What additional hardware to have connected to the CM4+IO? Have you installed a custom dt-blob.bin or similar?

@rapkin61
Copy link
Author

rapkin61 commented Nov 2, 2021

to whom is this question addressed?

@pelwell
Copy link

pelwell commented Nov 2, 2021

To the person for whom rebooting isn't working, i.e. you.

@lurch
Copy link

lurch commented Nov 3, 2021

The OP's initial message mentions "CM4-IO-BASE-B" - is that one of these? https://thepihut.com/products/mini-base-board-b-for-raspberry-pi-compute-module-4

Whereas it sounds like @pelwell is testing with the standard CM4IO board? https://thepihut.com/products/raspberry-pi-compute-module-4-io-board

@rapkin61
Copy link
Author

rapkin61 commented Nov 3, 2021

yes, I use this board:

https://www.waveshare.com/cm4-io-base-b.htm

https://www.waveshare.com/wiki/CM4-IO-BASE-B

There is just a (USB) keyboard and mouse, a network cable and a HDMI-Monitor.
As you can see from the WIKI you need to activate the USB2-Interface with an entry in /boot/config.txt:

dtoverlay=dwc2,dr_mode=host

My card looks like this:

[klaus@picloud ~] sudo cat /sys/kernel/debug/mmc0/ios

clock: 50000000 Hz
actual clock: 50000000 Hz
vdd: 21 (3.3 ~ 3.4 V)
bus mode: 2 (push-pull)
chip select: 0 (don't care)
power mode: 2 (on)
bus width: 2 (4 bits)
timing spec: 7 (sd uhs DDR50)
signal voltage: 1 (1.80 V)
driver type: 0 (driver type B)

There is no custom dt-blob.bin or similar stuff. It's just a Raspberry-Pi-OS-64bit as you can download it (and updated/upgraded to bullseye). Furthermore I upgraded the bootloader, because I thought this could help ...

[klaus@picloud ~] sudo CM4_ENABLE_RPI_EEPROM_UPDATE=1 rpi-eeprom-update
BOOTLOADER: up to date
CURRENT: Tue 6 Jul 10:44:53 UTC 2021 (1625568293)
LATEST: Thu 29 Apr 16:11:25 UTC 2021 (1619712685)
RELEASE: default (/lib/firmware/raspberrypi/bootloader/default)
Use raspi-config to change the release.

VL805_FW: Using bootloader EEPROM
VL805: up to date
CURRENT:
LATEST:

CM4_lshw.txt
CM4_lsusb.txt

@pelwell
Copy link

pelwell commented Nov 3, 2021

@dp111 What could a base board do to screw up reboot? Bouncing or noise on the RUN pin?

@lurch
Copy link

lurch commented Nov 3, 2021

@rapkin61 Just to clarify, is the 32-bit version of Raspberry Pi OS successfully able to reboot your CM4-lite and baseboard combo?

@pelwell
Copy link

pelwell commented Nov 3, 2021

I don't think the ARM software will have any bearing on this reboot failure. A CM4-IO-BASE-B is being ordered for testing.

@rapkin61
Copy link
Author

rapkin61 commented Nov 3, 2021

@rapkin61 Just to clarify, is the 32-bit version of Raspberry Pi OS successfully able to reboot your CM4-lite and baseboard combo?

to be honest ... I never tried that. I use 64-bit software whenever possible.
But if you think it could help I will give it a try. I should have another SD-card lying around here, so the effort would be quite justifiable.
Please let me know!

@ghollingworth
Copy link
Contributor

Any reason to use the 64bit software?

I'm Interested for my blog post concerning the 64 bit OS, which currently measures use-cases and shows them all to be slower or the same with the 64bit OS, it would be nice to find a reason to actually use it over the 32bit one!

@pelwell
Copy link

pelwell commented Nov 3, 2021

I honestly don't think 32-bit will make a difference, but if you don't mind the few minutes it would take to flash and test a different card then go ahead.

@pelwell
Copy link

pelwell commented Nov 8, 2021

we are about to test and fix this problem.

That's good to hear - it's a nice little board.

By the way, the most recent firmware release (e.g. via rpi-update) includes the change to use the SD power switch, avoiding the need to power-cycle the SoC to reboot.

@tech-rat
Copy link

tech-rat commented Nov 9, 2021

I have been following this issue since I have the same issue.
I have the CM4-IO-BASE-B from WaveShare and a CM4 lite module.

The unit boots fine but when ever I use the reboot command it just appears to power off.
Removing the power and re-applying gets it to boot every time.

I reached out to the vendor and they told me to remove a 0 ohm resistor on the back of the carrier to fix the issue.
Top right corner of the board outside the IO-VREF area. Picture attached
That did not change the behavior.
CM4-IO-BASE-B_Reboot-Fix
.

I also tried the raspi-update and even after the update it still doesn't reboot successfully.
I have not put the 0 ohm resistor back in however.

Looking for anything else to try.

Thanks
Tech-Rat

@rapkin61
Copy link
Author

Hmmm .... in case your board boots from SD card you could try using another one. It seems the problem is related to a certain type of cards ... those who use 1.8V.
I used a SanDisk Extreme for the test with the 32 bit OS and that - coincidentally - bypassed the reboot problem.

@tech-rat
Copy link

Well alright then. Switched to a SanDisk Ultra 16G (microSDHC UHS-I) and it reboots correctly.
Do you think I should re-install the 0 Ohm resistor that WaveShare told me to remove?

Thanks
Tech-Rat

@pelwell
Copy link

pelwell commented Nov 11, 2021

If it's working for you as it is, don't change anything. In my case that link made the board try to start the SD card in 1.8V mode, which is not permitted.

@ctschach
Copy link

ctschach commented Nov 14, 2021

As @lurch already mentioned, I seem to have a similar problem. At least I'm using the same board with the CM4.

My problem
The system boots without any trouble (see full boot log below) from the attached NVMe disk. No problem in running the machine, no hiccups, everything works fine. However, a simple "reboot now" got stuck which the following error on the boot console:

Any ideas how to fix this?

root@raspberrypi:/home/pi# reboot now
[  437.212975] reboot: Restar
PM_RSTS: 0x00001020
RPi: BOOTLOADER release VERSION:c258ef8f DATE: Jul  6 2021 TIME: 11:44:56 BOOTMODE: 0x00000006 part: 0 BUILD_TIMESTAMP=1625568293 0x11471181 0x00c03140 0x000c658a
PM_RSTS: 0x00001020
part 00000000 reset_info 00000000
uSD voltage 3.3V
Initialising SDRAM 'Samsung' 16Gb x2 total-size: 32 Gbit 3200
Boot mode: NVME (06) order f1
Failed to open device: 'nvme'
Boot mode: SD (01) order f
SD HOST: 250000000 CTL0: 0x00000000 BUS: 100000 Hz actual: 100000 HZ div: 2500 (1250) status: 0x1fff0000 delay: 1080
SD HOST: 250000000 CTL0: 0x00000f00 BUS: 100000 Hz actual: 100000 HZ div: 2500 (1250) status: 0x1fff0000 delay: 1080
EMMC
SD retry 1 oc 0
SD HOST: 250000000 CTL0: 0x00000000 BUS: 100000 Hz actual: 100000 HZ div: 2500 (1250) status: 0x1fff0000 delay: 1080
SD retry 2 oc 0
SD HOST: 250000000 CTL0: 0x00000000 BUS: 100000 Hz actual: 100000 HZ div: 2500 (1250) status: 0x1fff0000 delay: 1080
SDV1
SD retry 3 oc 0
SD HOST: 250000000 CTL0: 0x00000000 BUS: 100000 Hz actual: 100000 HZ div: 2500 (1250) status: 0x1fff0000 delay: 1080
SD CMD: 0x371a0010 (55) 0x0 0x1fff0001
Failed to open device: 'sdcard' (cmd 371a0010 status 1fff0001)
Retry SD 1
SD HOST: 250000000 CTL0: 0x00000000 BUS: 100000 Hz actual: 100000 HZ div: 2500 (1250) status: 0x1fff0000 delay: 1080
SD HOST: 250000000 CTL0: 0x00000f00 BUS: 100000 Hz actual: 100000 HZ div: 2500 (1250) status: 0x1fff0000 delay: 1080
EMMC
SD retry 1 oc 0
SD HOST: 250000000 CTL0: 0x00000000 BUS: 100000 Hz actual: 100000 HZ div: 2500 (1250) status: 0x1fff0000 delay: 1080
SD retry 2 oc 0
SD HOST: 250000000 CTL0: 0x00000000 BUS: 100000 Hz actual: 100000 HZ div: 2500 (1250) status: 0x1fff0000 delay: 1080
SDV1
SD retry 3 oc 0
SD HOST: 250000000 CTL0: 0x00000000 BUS: 100000 Hz actual: 100000 HZ div: 2500 (1250) status: 0x1fff0000 delay: 1080
SD CMD: 0x371a0010 (55) 0x0 0x1fff0001
Failed to open device: 'sdcard' (cmd 371a0010 status 1fff0001)
Boot mode: RESTART (0f) order 0
Restart 0 max -1
Boot mode: NVME (06) order f1
Failed to open device: 'nvme'
Boot mode: SD (01) order f
SD HOST: 250000000 CTL0: 0x00000000 BUS: 100000 Hz actual: 100000 HZ div: 2500 (1250) status: 0x1fff0000 delay: 1080
SD HOST: 250000000 CTL0: 0x00000f00 BUS: 100000 Hz actual: 100000 HZ div: 2500 (1250) status: 0x1fff0000 delay: 1080

The successful boot
A dump of the successful boot log when turning on the power:

PM_RSTS: 0x00001000
RPi: BOOTLOADER release VERSION:c258ef8f DATE: Jul  6 2021 TIME: 11:44:56 BOOTMODE: 0x00000006 part: 0 BUILD_TIMESTAMP=1625568293 0x11471181 0x00c03140 0x000c6c13
PM_RSTS: 0x00001000
part 00000000 reset_info 00000000
uSD voltage 3.3V
Initialising SDRAM 'Samsung' 16Gb x2 total-size: 32 Gbit 3200
Boot mode: NVME (06) order f1
VID 0x1987 MN Sabrent Rocket nano
NVME on
MBR: 0x00002000,  524288 type: 0x0c
MBR: 0x00082000,999682736 type: 0x83
MBR: 0x00000000,       0 type: 0x00
MBR: 0x00000000,       0 type: 0x00
Trying partition: 0
lba: 8192 oem: 'mkfs.fat' volume: ' boot       '
rsc 32 fat-sectors 4033 c-count 516190 c-size 1 r-dir 2 r-sec 0 r-entries 0
FAT32 clusters 516190
PM_RSTS: 0x00001000
Trying partition: 0
lba: 8192 oem: 'mkfs.fat' volume: ' boot       '
rsc 32 fat-sectors 4033 c-count 516190 c-size 1 r-dir 2 r-sec 0 r-entries 0
FAT32 clusters 516190
Read config.txt bytes     2196 hnd 0x00000000
SIG pieeprom.sig fe5e7fbd74d1de2c854d9b916c40b6d32d6b0cd6f3a5f7eae47a56b35e1517b4 1636787695
SELF-UPDATE timestamp current 1636809771 new 1636787695 skip
Read start4cd.elf bytes   798812 hnd 0x00000000
Read fixup4cd.dat bytes     3143 hnd 0x00000000
Firmware: 4f73dcaefcfd5b20317e44a81d10e9d74fd3dffe Nov  8 2021 18:47:46
0x00c03140 0x00000000 0x00000fff
MEM GPU: 16 ARM: 998 TOTAL: 1014
[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 5.10.78-v7l+ (dom@buildbot) (arm-linux-gnueabihf-gcc-8 (Ubuntu/Linaro 8.4.0-3ubuntu1) 8.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1484 SMP Thu Nov 11 16:36:06 GMT 2021
[    0.000000] CPU: ARMv7 Processor [410fd083] revision 3 (ARMv7), cr=30c5383d
[    0.000000] CPU: div instructions available: patching division code
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
[    0.000000] OF: fdt: Machine model: Raspberry Pi Compute Module 4 Rev 1.0
[    0.000000] random: fast init done
[    0.000000] Memory policy: Data cache writealloc
[    0.000000] Reserved memory: created CMA memory pool at 0x000000001ac00000, size 320 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x000000002fffffff]
[    0.000000]   Normal   empty
[    0.000000]   HighMem  [mem 0x0000000030000000-0x00000000fbffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000003e5fffff]
[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000fbffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x00000000fbffffff]
[    0.000000] percpu: Embedded 20 pages/cpu s50828 r8192 d22900 u81920
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1023808
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1  smsc95xx.macaddr=DC:A6:32:FE:89:27 vc_mem.mem_base=0x3f000000 vc_mem.mem_size=0x3f600000  console=ttyAMA0,115200 cons
ole=tty1 root=PARTUUID=0507689b-02 rootfstype=ext4 fsck.repair=yes rootwait
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x0000000014890000-0x0000000018890000] (64MB)
[    0.000000] Memory: 3651872K/4102144K available (10240K kernel code, 1366K rwdata, 3192K rodata, 2048K init, 883K bss, 122592K reserved, 327680K cma-reserved, 3315712K highmem)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ftrace: allocating 34341 entries in 101 pages
[    0.000000] ftrace: allocated 101 pages with 4 groups
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000]  Rude variant of Tasks RCU enabled.
[    0.000000]  Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] irq_brcmstb_l2: registered L2 intc (/soc/interrupt-controller@7ef00100, parent irq: 25)
[    0.000000] random: get_random_bytes called from start_kernel+0x3c8/0x59c with crng_init=1
[    0.000008] sched_clock: 32 bits at 1000kHz, resolution 1000ns, wraps every 2147483647500ns
[    0.000034] clocksource: timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275 ns
[    0.000094] bcm2835: system timer (irq = 26)
[    0.000745] arch_timer: cp15 timer(s) running at 54.00MHz (phys).
[    0.000766] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xc743ce346, max_idle_ns: 440795203123 ns
[    0.000788] sched_clock: 56 bits at 54MHz, resolution 18ns, wraps every 4398046511102ns
[    0.000806] Switching to timer-based delay loop, resolution 18ns
[    0.001069] Console: colour dummy device 80x30
[    0.001823] printk: console [tty1] enabled
[    0.001893] Calibrating delay loop (skipped), value calculated using timer frequency.. 108.00 BogoMIPS (lpj=540000)
[    0.001948] pid_max: default: 32768 minimum: 301
[    0.002126] LSM: Security Framework initializing
[    0.002323] Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.002368] Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
[    0.003847] cgroup: Disabling memory control group subsystem
[    0.004101] CPU: Testing write buffer coherency: ok
[    0.004576] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.005804] Setting up static identity map for 0x200000 - 0x20003c
[    0.006020] rcu: Hierarchical SRCU implementation.
[    0.006969] smp: Bringing up secondary CPUs ...
[    0.008206] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.009572] CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
[    0.010981] CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
[    0.011140] smp: Brought up 1 node, 4 CPUs
[    0.011187] SMP: Total of 4 processors activated (432.00 BogoMIPS).
[    0.011217] CPU: All CPU(s) started in HYP mode.
[    0.011243] CPU: Virtualization extensions available.
[    0.012101] devtmpfs: initialized
[    0.026343] VFP support v0.3: implementor 41 architecture 3 part 40 variant 8 rev 0
[    0.026581] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.026635] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.034700] pinctrl core: initialized pinctrl subsystem
[    0.035818] NET: Registered protocol family 16
[    0.039865] DMA: preallocated 1024 KiB pool for atomic coherent allocations
[    0.040688] audit: initializing netlink subsys (disabled)
[    0.041002] audit: type=2000 audit(0.040:1): state=initialized audit_enabled=0 res=1
[    0.041589] thermal_sys: Registered thermal governor 'step_wise'
[    0.042260] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.042316] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.042737] Serial: AMBA PL011 UART driver
[    0.085801] bcm2835-mbox fe00b880.mailbox: mailbox enabled
[    0.100916] raspberrypi-firmware soc:firmware: Attached to firmware from 2021-11-08T18:47:46, variant start_cd
[    0.110928] raspberrypi-firmware soc:firmware: Firmware hash is 4f73dcaefcfd5b20317e44a81d10e9d74fd3dffe
[    0.151945] Kprobes globally optimized
[    0.157388] bcm2835-dma fe007000.dma: DMA legacy API manager, dmachans=0x1
[    0.161792] vgaarb: loaded
[    0.162255] SCSI subsystem initialized
[    0.162503] usbcore: registered new interface driver usbfs
[    0.162580] usbcore: registered new interface driver hub
[    0.162683] usbcore: registered new device driver usb
[    0.163083] usb_phy_generic phy: supply vcc not found, using dummy regulator
[    0.165010] clocksource: Switched to clocksource arch_sys_counter
[    1.124360] VFS: Disk quotas dquot_6.6.0
[    1.124483] VFS: Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.124693] FS-Cache: Loaded
[    1.124899] CacheFiles: Loaded
[    1.135311] NET: Registered protocol family 2
[    1.135574] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    1.136899] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 6144 bytes, linear)
[    1.137061] TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
[    1.137150] TCP bind hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    1.137240] TCP: Hash tables configured (established 8192 bind 8192)
[    1.137421] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    1.137478] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    1.138163] NET: Registered protocol family 1
[    1.138931] RPC: Registered named UNIX socket transport module.
[    1.138964] RPC: Registered udp transport module.
[    1.138992] RPC: Registered tcp transport module.
[    1.139020] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.139059] PCI: CLS 0 bytes, default 64
[    1.142325] Initialise system trusted keyrings
[    1.142601] workingset: timestamp_bits=14 max_order=20 bucket_order=6
[    1.151085] zbud: loaded
[    1.152915] FS-Cache: Netfs 'nfs' registered for caching
[    1.153720] NFS: Registering the id_resolver key type
[    1.153782] Key type id_resolver registered
[    1.153811] Key type id_legacy registered
[    1.153955] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.153988] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.155057] Key type asymmetric registered
[    1.155089] Asymmetric key parser 'x509' registered
[    1.155298] bounce: pool size: 64 pages
[    1.155355] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 249)
[    1.155592] io scheduler mq-deadline registered
[    1.155623] io scheduler kyber registered
[    1.160243] gpio-507 (ant1): hogged as output/high
[    1.161675] gpio-511 (ant2): hogged as output/low
[    1.163214] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges:
[    1.163263] brcm-pcie fd500000.pcie:   No bus range found for /scb/pcie@7d500000, using [bus 00-ff]
[    1.163365] brcm-pcie fd500000.pcie:      MEM 0x0600000000..0x063fffffff -> 0x00c0000000
[    1.163474] brcm-pcie fd500000.pcie:   IB MEM 0x0000000000..0x00ffffffff -> 0x0400000000
[    1.217150] brcm-pcie fd500000.pcie: link up, 5.0 GT/s PCIe x1 (SSC)
[    1.217570] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00
[    1.217608] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.217643] pci_bus 0000:00: root bus resource [mem 0x600000000-0x63fffffff] (bus address [0xc0000000-0xffffffff])
[    1.217756] pci 0000:00:00.0: [14e4:2711] type 01 class 0x060400
[    1.218017] pci 0000:00:00.0: PME# supported from D0 D3hot
[    1.221512] PCI: bus0: Fast back to back transfers disabled
[    1.221552] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    1.221888] pci 0000:01:00.0: [1987:5013] type 00 class 0x010802
[    1.221980] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00003fff 64bit]
[    1.222395] pci 0000:01:00.0: 4.000 Gb/s available PCIe bandwidth, limited by 5.0 GT/s PCIe x1 link at 0000:00:00.0 (capable of 31.504 Gb/s with 8.0 GT/s PCIe x4 link)
[    1.225767] PCI: bus1: Fast back to back transfers disabled
[    1.225805] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    1.225862] pci 0000:00:00.0: BAR 8: assigned [mem 0x600000000-0x6000fffff]
[    1.225903] pci 0000:01:00.0: BAR 0: assigned [mem 0x600000000-0x600003fff 64bit]
[    1.225967] pci 0000:00:00.0: PCI bridge to [bus 01]
[    1.226007] pci 0000:00:00.0:   bridge window [mem 0x600000000-0x6000fffff]
[    1.226435] pcieport 0000:00:00.0: enabling device (0140 -> 0142)
[    1.226682] pcieport 0000:00:00.0: PME: Signaling with IRQ 81
[    1.234149] Serial: 8250/16550 driver, 1 ports, IRQ sharing enabled
[    1.237522] iproc-rng200 fe104000.rng: hwrng registered
[    1.237909] vc-mem: phys_addr:0x00000000 mem_base=0x3f000000 mem_size:0x3f600000(1014 MiB)
[    1.239419] gpiomem-bcm2835 fe200000.gpiomem: Initialised: Registers at 0xfe200000
[    1.251846] brd: module loaded
[    1.264209] loop: module loaded
[    1.266096] Loading iSCSI transport class v2.0-870.
[    1.268187] nvme nvme0: pci function 0000:01:00.0
[    1.268444] nvme 0000:01:00.0: enabling device (0140 -> 0142)
[    1.270806] libphy: Fixed MDIO Bus: probed
[    1.272711] bcmgenet fd580000.ethernet: GENET 5.0 EPHY: 0x0000
[    1.274068] nvme nvme0: missing or invalid SUBNQN field.
[    1.285047] libphy: bcmgenet MII bus: probed
[    1.323572] nvme nvme0: allocated 128 MiB host memory buffer.
[    1.328053] nvme nvme0: 4/0/0 default/read/poll queues
[    1.331711]  nvme0n1: p1 p2
[    1.365185] unimac-mdio unimac-mdio.-19: Broadcom UniMAC MDIO bus
[    1.366466] usbcore: registered new interface driver r8152
[    1.366555] usbcore: registered new interface driver lan78xx
[    1.366631] usbcore: registered new interface driver smsc95xx
[    1.392727] xhci-hcd fe9c0000.xhci: xHCI Host Controller
[    1.392781] xhci-hcd fe9c0000.xhci: new USB bus registered, assigned bus number 1
[    1.393934] xhci-hcd fe9c0000.xhci: hcc params 0x0220fe65 hci version 0x110 quirks 0x0000000000010010
[    1.394060] xhci-hcd fe9c0000.xhci: irq 78, io mem 0xfe9c0000
[    1.394668] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[    1.394710] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.394746] usb usb1: Product: xHCI Host Controller
[    1.394775] usb usb1: Manufacturer: Linux 5.10.78-v7l+ xhci-hcd
[    1.394806] usb usb1: SerialNumber: fe9c0000.xhci
[    1.395569] hub 1-0:1.0: USB hub found
[    1.395654] hub 1-0:1.0: 1 port detected
[    1.396205] xhci-hcd fe9c0000.xhci: xHCI Host Controller
[    1.396248] xhci-hcd fe9c0000.xhci: new USB bus registered, assigned bus number 2
[    1.396293] xhci-hcd fe9c0000.xhci: Host supports USB 3.0 SuperSpeed
[    1.396466] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    1.396781] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.10
[    1.396820] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.396855] usb usb2: Product: xHCI Host Controller
[    1.396885] usb usb2: Manufacturer: Linux 5.10.78-v7l+ xhci-hcd
[    1.396915] usb usb2: SerialNumber: fe9c0000.xhci
[    1.397568] hub 2-0:1.0: USB hub found
[    1.397651] hub 2-0:1.0: config failed, hub doesn't have any ports! (err -19)
[    1.398513] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    1.399388] usbcore: registered new interface driver uas
[    1.399511] usbcore: registered new interface driver usb-storage
[    1.399731] mousedev: PS/2 mouse device common for all mice
[    1.401526] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[    1.405132] sdhci: Secure Digital Host Controller Interface driver
[    1.405165] sdhci: Copyright(c) Pierre Ossman
[    1.405893] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.408894] ledtrig-cpu: registered to indicate activity on CPUs
[    1.409275] hid: raw HID events driver (C) Jiri Kosina
[    1.409498] usbcore: registered new interface driver usbhid
[    1.409528] usbhid: USB HID core driver
[    1.415663] Initializing XFRM netlink socket
[    1.415726] NET: Registered protocol family 17
[    1.415862] Key type dns_resolver registered
[    1.416224] Registering SWP/SWPB emulation handler
[    1.416410] registered taskstats version 1
[    1.416451] Loading compiled-in X.509 certificates
[    1.417338] Key type ._fscrypt registered
[    1.417369] Key type .fscrypt registered
[    1.417397] Key type fscrypt-provisioning registered
[    1.429123] uart-pl011 fe201000.serial: there is not valid maps for state default
[    1.429401] uart-pl011 fe201000.serial: cts_event_workaround enabled
[    1.429493] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 38, base_baud = 0) is a PL011 rev2
[    2.736726] printk: console [ttyAMA0] enabled
[    2.748181] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[    2.760010] of_cfs_init
[    2.762608] of_cfs_init: OK
[    2.802701] mmc0: SDHCI controller on fe340000.mmc [fe340000.mmc] using ADMA
[    2.846749] EXT4-fs (nvme0n1p2): mounted filesystem with ordered data mode. Opts: (null)
[    2.854948] VFS: Mounted root (ext4 filesystem) readonly on device 259:2.
[    2.863865] devtmpfs: mounted
[    2.877118] Freeing unused kernel memory: 2048K
[    2.881974] Run /sbin/init as init process
[    2.999483] systemd[1]: System time before build time, advancing clock.
[    3.005069] usb 1-1: new high-speed USB device number 2 using xhci-hcd
[    3.063316] NET: Registered protocol family 10
[    3.069262] Segment Routing with IPv6
[    3.105144] systemd[1]: systemd 247.3-6+rpi1 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified)
[    3.135135] systemd[1]: Detected architecture arm.
[    3.142826] systemd[1]: Set hostname to <raspberrypi>.
[    3.196133] usb 1-1: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11
[    3.204457] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    3.211730] usb 1-1: Product: USB 2.0 Hub
[    3.246891] uart-pl011 fe201000.serial: no DMA platform data
[    3.284699] hub 1-1:1.0: USB hub found
[    3.288737] hub 1-1:1.0: 4 ports detected
[    3.910701] systemd[1]: Queued start job for default target Graphical Interface.
[    3.919626] random: systemd: uninitialized urandom read (16 bytes read)
[    3.928676] systemd[1]: Created slice system-getty.slice.
[    3.934849] random: systemd: uninitialized urandom read (16 bytes read)
[    3.942554] systemd[1]: Created slice system-modprobe.slice.
[    3.949023] random: systemd: uninitialized urandom read (16 bytes read)
[    3.956667] systemd[1]: Created slice system-postfix.slice.
[    3.963662] systemd[1]: Created slice system-serial\x2dgetty.slice.
[    3.971300] systemd[1]: Created slice system-systemd\x2dfsck.slice.
[    3.978897] systemd[1]: Created slice User and Session Slice.
[    3.985486] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
[    3.994187] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    4.003269] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[    4.013406] systemd[1]: Reached target Local Encrypted Volumes.
[    4.020224] systemd[1]: Reached target Paths.
[    4.025241] systemd[1]: Reached target Slices.
[    4.030222] systemd[1]: Reached target Swap.
[    4.035919] systemd[1]: Listening on Syslog Socket.
[    4.041889] systemd[1]: Listening on fsck to fsckd communication Socket.
[    4.049460] systemd[1]: Listening on initctl Compatibility Named Pipe.
[    4.057506] systemd[1]: Listening on Journal Audit Socket.
[    4.064064] systemd[1]: Listening on Journal Socket (/dev/log).
[    4.071305] systemd[1]: Listening on Journal Socket.
[    4.077728] systemd[1]: Listening on udev Control Socket.
[    4.084247] systemd[1]: Listening on udev Kernel Socket.
[    4.090952] systemd[1]: Condition check resulted in Huge Pages File System being skipped.
[    4.104004] systemd[1]: Mounting POSIX Message Queue File System...
[    4.116078] systemd[1]: Mounting RPC Pipe File System...
[    4.127884] systemd[1]: Mounting Kernel Debug File System...
[    4.139542] systemd[1]: Mounting Kernel Trace File System...
[    4.146221] systemd[1]: Condition check resulted in Kernel Module supporting RPCSEC_GSS being skipped.
[    4.161533] systemd[1]: Starting Restore / save the current clock...
[    4.174459] systemd[1]: Starting Set the console keyboard layout...
[    4.187585] systemd[1]: Starting Create list of static device nodes for the current kernel...
[    4.203464] systemd[1]: Starting Load Kernel Module configfs...
[    4.217073] systemd[1]: Starting Load Kernel Module drm...
[    4.229909] systemd[1]: Starting Load Kernel Module fuse...
[    4.238419] systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped.
[    4.253274] systemd[1]: Starting File System Check on Root Device...
[    4.276122] fuse: init (API version 7.32)
[    4.278120] systemd[1]: Starting Journal Service...
[    4.293140] systemd[1]: Starting Load Kernel Modules...
[    4.304962] systemd[1]: Starting Coldplug All udev Devices...
[    4.324892] systemd[1]: Mounted POSIX Message Queue File System.
[    4.332495] systemd[1]: Mounted RPC Pipe File System.
[    4.338851] systemd[1]: Mounted Kernel Debug File System.
[    4.345500] systemd[1]: Mounted Kernel Trace File System.
[    4.353231] systemd[1]: Finished Restore / save the current clock.
[    4.362535] systemd[1]: Finished Create list of static device nodes for the current kernel.
[    4.373289] systemd[1]: modprobe@configfs.service: Succeeded.
[    4.381367] systemd[1]: Finished Load Kernel Module configfs.
[    4.386570] i2c /dev entries driver
[    4.392925] systemd[1]: modprobe@drm.service: Succeeded.
[    4.400119] systemd[1]: Finished Load Kernel Module drm.
[    4.417615] systemd[1]: modprobe@fuse.service: Succeeded.
[    4.424396] systemd[1]: Finished Load Kernel Module fuse.
[    4.447390] systemd[1]: Finished Load Kernel Modules.
[    4.475632] systemd[1]: Mounting FUSE Control File System...
[    4.496909] systemd[1]: Mounting Kernel Configuration File System...
[    4.539834] systemd[1]: Started File System Check Daemon to report status.
[    4.571499] systemd[1]: Starting Apply Kernel Variables...
[    4.587911] systemd[1]: Mounted FUSE Control File System.
[    4.594292] systemd[1]: Started Journal Service.

Raspbian GNU/Linux 11 raspberrypi ttyAMA0

raspberrypi login:

@rapkin61
Copy link
Author

sad to notice, the problem has re-occurred ...

sudo reboot
[ 34.219425] reboot: Restarting system

PM_RSTS: 0x00001020
RPi: BOOTLOADER release VERSION:c258ef8f DATE: Jul 6 2021 TIME: 11:44:56 BOOTMODE: 0x00000006 part: 0 BUILD_TIMESTAMP=1625568293 0x5f37091e 0x00d03140 0x000c658c
PM_RSTS: 0x00001020
part 00000000 reset_info 00000000
uSD voltage 1.8V
GLOBAL_RESET: 03 0

the board hangs after the GLOABAL_RESET.
To me this looks identical to the problem we had ... and that had been fixed already.
Obviously an update re-introduced it
CM4-reboot_21_11_2021.log

@rapkin61 rapkin61 reopened this Nov 21, 2021
@pelwell
Copy link

pelwell commented Nov 21, 2021

What kind of update? Mixing apt upgrade and rpi-update is not a job for the unwary

@rapkin61
Copy link
Author

I only do apt upgrades - up to now I never had the need for a rpi-update

@pelwell
Copy link

pelwell commented Nov 21, 2021

The apt kernel and firmware come from the stable branches - this patch is too new to have made it into there. We recently pushed a minor bump to kernel and firmware in apt to fix one or two specific issues. The next release is likely to include the patch you require, but until then continue to use the trial version above.

@rapkin61
Copy link
Author

ah ... ok!
I was not sure if this would work ... but it does (-:
Thanks a lot!

@ctschach
Copy link

Not sure if this fixes your problem, but it did mine...

raspberrypi/rpi-eeprom#378 (comment)

@pelwell
Copy link

pelwell commented Nov 22, 2021

Your problem wasn't a failure to reboot, but rather the failure of an NVME drive to work after a reboot. The EEPROM change won't help with the latter.

@me-peng
Copy link

me-peng commented Dec 3, 2021

image
I'm sorry to reply to the question now. After receiving the question, we repeated the test and found that the problem is as follows:
1: The problem that some SD cards cannot be started is due to the SD_VDD_Override pin (the 73rd PIN of CM4) being pulled low, so that only 1.8V SD cards are supported.
2: Unable to restart the problem. Some users reported that the resistance on SD_VDD_Override could not be restarted after removing the resistor on SD_VDD_Override in time. The test found that the problem is on the USB HUB. The HUB will always send a signal during the restart of CM4 (if you are interested, you can test it yourself). This signal will cause the CM4 not to be restarted. You can test the USB serial resistance, or pull up and down to solve this problem, but it is better to use the official IO board method, using the CM4's own 3.3V power supply to the USB switching chip (as shown in the figure) As shown), the 3.3V that comes with CM4 will power off about 200mS during restart

@pelwell
Copy link

pelwell commented Dec 3, 2021

Thanks for the update - it fits with our understanding of the problem.

mkreisl added a commit to xbianonpi/xbian-package-firmware that referenced this issue Dec 3, 2021
- firmware: isp: Fix handling of different YUV colour spaces

- firmware: poe_hat: Actually close the I2C handle

- firmware: platform: Define DVFS modes and change default to be fixed AVS voltage

- firmware: arm_loader: Auto-select 64-bit for kernel8.img
  See: #1193

- firmware: hdmi: Throttle auto-i2c register writes to avoid PWM audio underrun

- firmware: platform: Define DVFS modes and change default to be fixed AVS voltage

- firmware: arm_loader: Auto-select 64-bit for kernel8.img
  See: #1193

- firmware: hdmi: Throttle auto-i2c register writes to avoid PWM audio underrun

- firmware: video_decode lockup handling

- firmware: isp: Initialise extras to avoid vpitch being random

- firmware: usb: Fix dropouts with USB ethernet gadget
  See: raspberrypi/linux#4084

- firmware: imx477: Allow long exposures for the binned modes.
  See: https://www.raspberrypi.org/forums/viewtopic.php?f=43&t=297521

- firmware: arm_dispmanx: Use ALPHA_MIX flag
  See: https://www.raspberrypi.org/forums/viewtopic.php?t=300769

- firmware: power: Refactor the interface to the PMICs

- firmware: platform: vl805: Get BAR2 address from PCIe BAR2 registers

- firmware: arm_loader: Return all borrowed DMA channels
  See: #1541

- firmware: hdmi_2711: Rework I2C driver to NOT use the AUTO-I2C block

- firmware: gencmd: Allow groups of clocks/plls to be read together

- firmware: power: Fix DA9090 under-voltage detection

- firmware: NVME boot support

- firmware: brfs: Fix USB bulk-read in start.elf
  See: Hexxeh/rpi-firmware#258

- firmware: hdmi_2711_i2c: Correct handling of start/stop codes for long read
  See: #1548

- firmware: video_decode: For VC1/WMV with no signalled header bytes, use start of 1st buffer
  See: raspberrypi/linux#4113

- firmware: vl805: Remove redundant log statement and fix warning

- firmware: power: Fix DA9090 ADC1 register definition

- firmware: arm_loader: Only report clocks arm has set, not siblings

- firmware: arm_loader: Don't report clocks set as turbo side effect of arm clock

- firmware: arm_loader: 2711: gpu clocks are not dependant

- firmware: platform: Need to clear cached versions of get_max_clock_internal vars

- firmware: Move core to PLLA and support accurate clk108
  See: xbmc/xbmc#19263

- firmware: board_info: Separate memory size from OTP field encoding

- firmware: power: Swap DA9090 ADC assignments to match XR77004

- firmware: board-info: Fix memsize on 3B+

- firmware: vcfw/power: Add a new latch for power_pad_control
  See: #1552

- firmware: arm_loader: kernel_old=1 should force kernel_address=0
  See: #1561

- firmware: scalerlib: Fix offset applied to x coordinate of YUV10COL image
  See: https://forum.kodi.tv/showthread.php?tid=361164&pid=3024654#pid3024654

- firmware: isp: Ensure the VRF is locked when setting up video colour denoise
  See: raspberrypi/rpicam-apps#19

- firmware: isp: Remove custom EV mappings from camera tunings

- firmware: Add support for board-type=0xXX conditional filters in bootloader, bootcode and firmware

- firmware: Two UART1 patches
  See: #1566

- firmware: Pi400: Reduce MII clock freq when probing ethernet PHY

- firmware: platform: Remove build-time constant for MICROVOLTS_PER_PIP

- firmware: dt-blob.dts: Correct HDMI HPD and EMMC_ENABLE for CM4
  See: https://www.raspberrypi.org/forums/viewtopic.php?f=29&p=1858516

- firmware: vcfw/hdmi: CUSTOM modes used for FKMS didn't set RGB quant range correctly
  See: #1580

- firmware: PoE+ HAT support
  See: raspberrypi/linux#4367

- firmware: arm_loader: Use Pi4 bootloader MAC_ADDRESS if set

- firmware: platform: Apply ARM thermal throttling rules on BCM2711

- firmware: bcm_host: Recognise all Pi 4 variants, add BCM2711
  See: raspberrypi/userland#695

- firmware: video_decode: Use the ISP instead of vc_image_convert

- firmware: hdmi-2711: Wait for HDMI hardware scheduler to activate in HDMI mode

- arm_loader: Add message to release firmware framebuffer

- firmware: arm_loader: Add rng-seed DT property
  See: #1595

- firmware: isp: Set the YUV420/YVU420 format stride to 64 byte

- firmware: Revert: video_decode: Use the ISP instead of vc_image_convert

- firmware: cec: Avoid sending messages with kms
  See: raspberrypi/linux#4460

- firmware: hdmi_cec: Remove TX/RX SW_INIT on power_on
  See: Hexxeh/rpi-firmware#267
  See: https://www.raspberrypi.org/forums/viewtopic.php?p=1895082#p1895082

- firmware: arm_dt: Limit CMA to 256MB if total_mem < 2GB or gpu_mem > 256MB
  See: #1603

- firmware: video_decode: Use the ISP instead of vc_image_convert

- firmware: video_decode: Correct support for YVU formats using ISP

- firmware: firmware: Disable VLL loading from file system
  See: #1605

- firmware: arm_loader: Make most arm clock requests required
  See: #1598

- firmware: arm_loader: Consider required flags from GET_CLOCK_RATE
  See: #1598

- firmware: arm_dt: Load overlays for detected cameras

- firmware: Make more use of the user-warnings DT property

- firmware: hdmi_2711: Use HDMI block REPEAT_PIXEL instead of PV
  See: https://forum.libreelec.tv/thread/24415-le-10-beta-for-i4-force-hdmi-resolution

- firmware: DSI display autodetection for kms

- firmware: arm_loader: Allow hvs interrupt during SET_NOTIFY_DISPLAY_DONE

- firmware: arm_display: Allow null buffer in successful call
  See: raspberrypi/linux#4540

- firmware: video_decode: Ensure all buffers are flushed before port disable completes

- firmware: filesystem: sdcard: Fix Hybrid GPT partitions
  See: #1465

- firmware: tvservice: Add check to warn when running with kms

- firmware: arm_loader: Allow non-optional reads of current clock
  See: #1619

- firmware: dispmanx: Demote null eptr from vcos_verify to no warning
  See: raspberrypi/linux#4592

- firmware: filesystem: sdcard: Probe FAT type in GPT ESD partitions

- firmware: clock-2711: Limit PLLB VCO frequency to the high range

- firmware: arm_dt: Export the boot-mode, partition and usb state via device-tree
  See: #1621

- firmware: video_decode: i/p port enable/disable without o/p active could stall
  See: RPi-Distro/vlc#48
  See: Hexxeh/rpi-firmware#272
  See: #1637

- firmware: userland: Reduce debug_sym error messages
  See: https://forums.raspberrypi.com/viewtopic.php?f=98&t=322238

- firmware: arm_dt: Increase maximum line length to 98
  See: raspberrypi/linux#4638

- firmware: arm_loader: Allow VEC clock to be controlled by arm

- firmware: platform: Remove licence on VP6, VP8, Theora, and FLAC
  See: raspberrypi/linux#4661

- firmware: ISP: Fix magenta colour in right hand image of stereo pair
  See: https://forums.raspberrypi.com/viewtopic.php?t=321089

- firmware: platform: Fix incorrect turbo voltage scaling on Pi0
  See: raspberrypi/documentation#2255

- firmware: platform: Declare CM4's SIO_1V8_SEL and SD_PWR_ON
  See: raspberrypi/Raspberry-Pi-OS-64bit#188

- firmware: hello_fft: Update outdated link to V3D spec

- firmware: hello_fft: Remove unused function declaration
  See: #1645
  See: raspberrypi/userland#710

- firmware: dtoverlay: Rebase aliases in overlays like labels

- firmware: isp: Set core/vpu min clock to 320Mhz during ISP operation

- firmware: arm_loader: Enable watchdog early if wanted
  See: #1651

- firmware: board_info: Add upstream dtb names for cm1 & 3

- firmware: board_info: Add upstream dtb name for cm4
  See: #1660

- firmware: platform: Allow users to disable camera boot HMAC check
  See: #1657

- firmware: clock: 2711: Fix potential API issue in 2711 VCO setup

- firmware: arm_loader: Enable USB MSD boot mode on Zero 2 W

- firmware: isp: Fix Rec.709 colour space problems
@nicholasaiello
Copy link

nicholasaiello commented Dec 9, 2021

just wanted to share that i've experienced this issue on many of my CM4's that are configured as headless servers, and most A/V behavior is tuned down or disabled (ex. gpu_mem=16). i've been following this thread, as well as raspberrypi/rpi-eeprom#378, and after trying some of the suggestions, the updated bootloader worked ... for a short amount of time; the issue cropped up again, on all of them. only after changing gpu_mem from 16 to 32 (assuming > 16 re-enabled some features?), did my servers consistently reboot on their own.

perhaps start_cd.elf still has the issue? https://www.raspberrypi.com/documentation/computers/configuration.html#start-elf-start_x-elf-start_db-elf-start_cd-elf-start4-elf-start4x-elf-start4cd-elf-start4db-elf

@sezeryalcin
Copy link

I have a baseboard from sourcekit.cc using CM4 with 4GB RAM and 8 GB EMMC.
Reboot command just won't bring it back. Power cycling or pushing a small button called "run" does reboot.

@pelwell
Copy link

pelwell commented Dec 10, 2021

Contact sourcekit.cc?

@sezeryalcin
Copy link

sezeryalcin commented Dec 10, 2021

I found and solved my problem. It's power supply. So as usual low voltage can cause various issues. It reboots and works fine when plugged to a proper 5V power.

@pelwell
Copy link

pelwell commented Feb 28, 2022

I've just received a rev 3.1 CM4-IO-BASE-B - thanks @me-peng - and it reboots successfully. I'm going to close the issue since I believe the points have been addressed.

@pelwell pelwell closed this as completed Feb 28, 2022
@pi-plates
Copy link

I know this topic is almost a year old but the feedback from Waveshare helped me solve my CM4 reboot problem.

@superwushu
Copy link

I have both CM-NANO-B and C boards and run into the same issue. The bootloader does not detect SD card (sdhc card works but sdxc card not) after reboot and it took me quite some time to get here. Good to know it's a hardware issue. Hope waveshare will fix this too.

@superwushu
Copy link

BTW, I revert to the old pieeprom-2020-04-16.bin as a workaround. Hope this helps.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests