Does the RasPiKey support the Raspberry Pi 5? Using 64-bit Pi OS Bookworm from 2023-10-10 (from the Raspberry Pi Image), I'm able to boot and use the RasPiKey on a Raspberry Pi 4B. But I cannot get it to work on a Raspberry Pi 5; the Pi OS configuration process (with a couple of reboots) seems to hang, leaving the OS in some sort of recovery mode. When moving a working RasPiKey from the Pi 4B to the Pi 5, the OS boots, but the root filesystem is mounted read-only. `dmesg` reveals some very interesting messages:
[ 2.313523] mmc0: CQHCI version 5.10
[ 2.352983] mmc0: SDHCI controller on 1000fff000.mmc [1000fff000.mmc] using ADMA 64-bit
[ 2.421071] mmc0: Command Queue Engine enabled
[ 2.425540] mmc0: new DDR MMC card at address 0001
[ 2.430555] mmcblk0: mmc0:0001 BJTD4R 29.1 GiB
[ 2.436173] mmcblk0: p1 p2
[ 2.439099] mmcblk0: mmc0:0001 BJTD4R 29.1 GiB
[ 2.443646] mmcblk0boot0: mmc0:0001 BJTD4R 4.00 MiB
[ 2.449050] mmcblk0boot1: mmc0:0001 BJTD4R 4.00 MiB
[ 2.454397] mmcblk0rpmb: mmc0:0001 BJTD4R 4.00 MiB, chardev (243:0)
...
[ 3.325084] mmc0: running CQE recovery
[ 3.329081] ------------[ cut here ]------------
[ 3.333720] mmc0: cqhci: spurious TCN for tag 10
[ 3.338370] WARNING: CPU: 0 PID: 152 at drivers/mmc/host/cqhci-core.c:786 cqhci_irq+0x3bc/0x674
[ 3.347124] Modules linked in: vc4 snd_soc_hdmi_codec drm_display_helper cec drm_dma_helper drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops snd_soc_core snd_compress spidev snd_pcm_dmaengine snd_pcm v3d gpu_sched drm_shmem_helper snd_timer i2c_brcmstb drm spi_bcm2835 drm_panel_orientation_quirks snd gpio_keys backlight
[ 3.376700] CPU: 0 PID: 152 Comm: kworker/0:1H Not tainted 6.1.0-rpi4-rpi-2712 #1 Debian 1:6.1.54-1+rpt2
[ 3.386320] Hardware name: Raspberry Pi 5 Model B Rev 1.0 (DT)
[ 3.392180] Workqueue: kblockd blk_mq_run_work_fn
[ 3.396910] pstate: 604000c9 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
[ 3.403908] pc : cqhci_irq+0x3bc/0x674
[ 3.407673] lr : cqhci_irq+0x3bc/0x674
[ 3.411438] sp : ffffc00008003d60
[ 3.414763] x29: ffffc00008003d60 x28: ffff800107147c00 x27: 0000000000000000
[ 3.421937] x26: 0000000000000000 x25: ffff800100560540 x24: ffff8001003cc498
[ 3.429110] x23: ffffd0000d6aabf1 x22: ffff800100560000 x21: ffff8001003cc480
[ 3.436283] x20: 0000000000000002 x19: 000000000000000a x18: 0000000000000006
[ 3.443456] x17: ffffb001f2910000 x16: 0000000000000010 x15: ffffc00008003860
[ 3.450630] x14: 0000000000000000 x13: 3031206761742072 x12: 6f66204e43542073
[ 3.457803] x11: 756f697275707320 x10: ffffd0000d547800 x9 : ffffd0000c0fb2a8
[ 3.464976] x8 : 00000000ffffefff x7 : ffffd0000d547800 x6 : 80000000fffff000
[ 3.472149] x5 : 000000000000bff4 x4 : 0000000000000000 x3 : 0000000000000000
[ 3.479322] x2 : 0000000000000000 x1 : 0000000000000000 x0 : ffff800107147c00
[ 3.486495] Call trace:
[ 3.488947] cqhci_irq+0x3bc/0x674
[ 3.492362] sdhci_brcmstb_cqhci_irq+0x5c/0x90
[ 3.496828] sdhci_irq+0xd0/0xfc4
[ 3.500155] __handle_irq_event_percpu+0x84/0x274
[ 3.504883] handle_irq_event+0x54/0xd0
[ 3.508734] handle_fasteoi_irq+0xc8/0x214
[ 3.512849] generic_handle_domain_irq+0x34/0x50
[ 3.517486] gic_handle_irq+0x4c/0xd0
[ 3.521163] call_on_irq_stack+0x24/0x54
[ 3.525101] do_interrupt_handler+0xdc/0xe0
[ 3.529303] el1_interrupt+0x34/0x70
[ 3.532894] el1h_64_irq_handler+0x18/0x2c
[ 3.537007] el1h_64_irq+0x64/0x68
[ 3.540421] _raw_spin_unlock_irqrestore+0x30/0x70
[ 3.545234] sdhci_cqe_enable+0x13c/0x204
[ 3.549260] sdhci_brcmstb_cqe_enable+0x9c/0xc0
[ 3.553811] cqhci_request+0xd8/0x53c
[ 3.557830] mmc_cqe_start_req+0x74/0x110
[ 3.562186] mmc_blk_mq_issue_rq+0x43c/0x86c
[ 3.566796] mmc_mq_queue_rq+0x120/0x2a0
[ 3.571054] blk_mq_dispatch_rq_list+0x1b4/0x8d4
[ 3.576010] __blk_mq_sched_dispatch_requests+0xbc/0x160
[ 3.581661] blk_mq_sched_dispatch_requests+0x40/0x80
[ 3.587052] __blk_mq_run_hw_queue+0x88/0xc0
[ 3.591658] blk_mq_run_work_fn+0x28/0x34
[ 3.596000] process_one_work+0x200/0x474
[ 3.600342] worker_thread+0x74/0x43c
[ 3.604330] kthread+0xfc/0x110
[ 3.607780] ret_from_fork+0x10/0x20
[ 3.611652] ---[ end trace 0000000000000000 ]---
[ 3.616707] mmc0: running CQE recovery
[ 3.622086] mmc0: running CQE recovery
[ 3.626404] mmc0: running CQE recovery
[ 3.630490] I/O error, dev mmcblk0, sector 1066720 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 2
[ 3.640024] Buffer I/O error on dev mmcblk0p2, logical block 311, lost async page write
[ 3.649553] mmc0: running CQE recovery
[ 3.654897] mmc0: running CQE recovery
[ 3.659209] mmc0: running CQE recovery
[ 3.663380] mmc0: running CQE recovery
[ 3.667468] I/O error, dev mmcblk0, sector 22048000 op 0x1:(WRITE) flags 0x800 phys_seg 1 prio class 2
[ 3.677095] Buffer I/O error on dev mmcblk0p2, logical block 655976, lost async page writ
...
[ 9.168806] mmc0: running CQE recovery
[ 9.187657] mmc0: running CQE recovery
[ 9.195362] mmc0: running CQE recovery
[ 9.196304] I/O error, dev mmcblk0, sector 13908512 op 0x1:(WRITE) flags 0x800 phys_seg 3 prio class 2
[ 9.196326] Aborting journal on device mmcblk0p2-8.
[ 9.197469] EXT4-fs error (device mmcblk0p2): ext4_journal_check_start:83: comm systemd-journal: Detected aborted journal
[ 9.212671] EXT4-fs (mmcblk0p2): Remounting filesystem read-only
We still don't have a Raspberry Pi 5 on hand for testing this yet.
Anyone who has the chance to test it, is welcome to share his/her findings.
While I don't have the stacktrace & dmesg logs easily available, I ran into the same main symptoms ("CQE recovery" in dmesg, read-only-mounted root filesystem) when trying a RasPi key with the new Raspberry Pi 5. I tried a few things like re-mounting the root filesystem as rw and running fsck, but I was unable to make my filesystem writable.
The Raspberry Pi OS (64 bit) on the RasPi key was fully updated on a Raspberry Pi 4 just before testing this.
I can confirm this. RPI5 8GB with RaspiKey 32GB.
[Do Nov 30 20:19:26 2023] mmc0: running CQE recovery [Do Nov 30 20:19:26 2023] ------------[ cut here ]------------ [Do Nov 30 20:19:26 2023] mmc0: cqhci: spurious TCN for tag 10 [Do Nov 30 20:19:26 2023] WARNING: CPU: 0 PID: 98 at drivers/mmc/host/cqhci-core.c:787 cqhci_irq+0x394/0x598 [Do Nov 30 20:19:26 2023] Modules linked in: vhost_net tun vhost vhost_iotlb tap drm fuse drm_panel_orientation_quirks backlight dm_mod ip_tables x_tables ipv6 [Do Nov 30 20:19:26 2023] CPU: 0 PID: 98 Comm: kworker/0:1H Not tainted 6.1.63-v8-16k+ #1700 [Do Nov 30 20:19:26 2023] Hardware name: Raspberry Pi 5 Model B Rev 1.0 (DT) [Do Nov 30 20:19:26 2023] Workqueue: kblockd blk_mq_run_work_fn [Do Nov 30 20:19:26 2023] pstate: 404000c9 (nZcv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [Do Nov 30 20:19:26 2023] pc : cqhci_irq+0x394/0x598 [Do Nov 30 20:19:26 2023] lr : cqhci_irq+0x394/0x598 [Do Nov 30 20:19:26 2023] sp : ffffc00008003d60 [Do Nov 30 20:19:26 2023] x29: ffffc00008003d60 x28: ffff8001001b6540 x27: 0000000000000001 [Do Nov 30 20:19:26 2023] x26: ffff80010075c298 x25: ffffd0000cf79698 x24: ffffd0000d69b132 [Do Nov 30 20:19:26 2023] x23: ffffd0000cf99d98 x22: ffff8001001b6000 x21: ffff80010075c280 [Do Nov 30 20:19:26 2023] x20: 0000000000000002 x19: 000000000000000a x18: 0000000000000001 [Do Nov 30 20:19:26 2023] x17: ffffb001f2928000 x16: ffffc00008000000 x15: ffffffffffffffff [Do Nov 30 20:19:26 2023] x14: 0000000000000000 x13: 3031206761742072 x12: ffffd0000d54f7d0 [Do Nov 30 20:19:26 2023] x11: 0000000000000003 x10: 0000000000000001 x9 : ffffd0000c0f590c [Do Nov 30 20:19:26 2023] x8 : 0000000000017fe8 x7 : c0000000ffffefff x6 : ffffd0000d537790 [Do Nov 30 20:19:26 2023] x5 : ffff8001ffa9aa10 x4 : 0000000000000000 x3 : ffffb001f2928000 [Do Nov 30 20:19:26 2023] x2 : ffff800101313600 x1 : a8b37fea2d466800 x0 : 0000000000000000 [Do Nov 30 20:19:26 2023] Call trace: [Do Nov 30 20:19:26 2023] cqhci_irq+0x394/0x598 [Do Nov 30 20:19:26 2023] sdhci_brcmstb_cqhci_irq+0x64/0x90 [Do Nov 30 20:19:26 2023] sdhci_irq+0xb8/0x1018 [Do Nov 30 20:19:26 2023] __handle_irq_event_percpu+0x88/0x280 [Do Nov 30 20:19:26 2023] handle_irq_event_percpu+0x20/0x68 [Do Nov 30 20:19:26 2023] handle_irq_event+0x50/0xa8 [Do Nov 30 20:19:26 2023] handle_fasteoi_irq+0xd0/0x180 [Do Nov 30 20:19:26 2023] generic_handle_domain_irq+0x34/0x50 [Do Nov 30 20:19:26 2023] gic_handle_irq+0xa0/0xd8 [Do Nov 30 20:19:26 2023] call_on_irq_stack+0x24/0x4c [Do Nov 30 20:19:26 2023] do_interrupt_handler+0x8c/0x90 [Do Nov 30 20:19:26 2023] el1_interrupt+0x38/0x70 [Do Nov 30 20:19:26 2023] el1h_64_irq_handler+0x18/0x28 [Do Nov 30 20:19:26 2023] el1h_64_irq+0x64/0x68 [Do Nov 30 20:19:26 2023] _raw_spin_unlock_irqrestore+0x30/0x70 [Do Nov 30 20:19:26 2023] sdhci_cqe_enable+0x130/0x1a8 [Do Nov 30 20:19:26 2023] sdhci_brcmstb_cqe_enable+0x9c/0xc0 [Do Nov 30 20:19:26 2023] cqhci_request+0xd4/0x508 [Do Nov 30 20:19:26 2023] mmc_cqe_start_req+0x74/0x118 [Do Nov 30 20:19:26 2023] mmc_blk_mq_issue_rq+0x418/0x7f8 [Do Nov 30 20:19:26 2023] mmc_mq_queue_rq+0x118/0x2b0 [Do Nov 30 20:19:26 2023] blk_mq_dispatch_rq_list+0x324/0x8f8 [Do Nov 30 20:19:26 2023] __blk_mq_sched_dispatch_requests+0xc8/0x178 [Do Nov 30 20:19:26 2023] blk_mq_sched_dispatch_requests+0x40/0x80 [Do Nov 30 20:19:26 2023] __blk_mq_run_hw_queue+0x84/0xc0 [Do Nov 30 20:19:26 2023] blk_mq_run_work_fn+0x28/0x38 [Do Nov 30 20:19:26 2023] process_one_work+0x208/0x480 [Do Nov 30 20:19:26 2023] worker_thread+0x50/0x428 [Do Nov 30 20:19:26 2023] kthread+0x114/0x120 [Do Nov 30 20:19:26 2023] ret_from_fork+0x10/0x20 [Do Nov 30 20:19:26 2023] ---[ end trace 0000000000000000 ]--- [Do Nov 30 20:19:26 2023] mmc0: running CQE recovery [Do Nov 30 20:19:26 2023] mmc0: running CQE recovery [Do Nov 30 20:19:26 2023] mmc0: running CQE recovery [Do Nov 30 20:19:26 2023] I/O error, dev mmcblk0, sector 1581064 op 0x1:(WRITE) flags 0x800 phys_seg 3 prio class 2 [Do Nov 30 20:19:26 2023] Aborting journal on device mmcblk0p2-8. [Do Nov 30 20:19:26 2023] mmc0: running CQE recovery [Do Nov 30 20:19:26 2023] mmc0: running CQE recovery [Do Nov 30 20:19:26 2023] mmc0: running CQE recovery [Do Nov 30 20:19:26 2023] systemd-journald[153]: File /var/log/journal/b0d9f83665a145d68a3f5b5b12bfed5e/system.journal corrupted or uncleanly shut down, renaming and replacing. [Do Nov 30 20:19:26 2023] I/O error, dev mmcblk0, sector 1581056 op 0x1:(WRITE) flags 0x20800 phys_seg 1 prio class 2 [Do Nov 30 20:19:26 2023] Buffer I/O error on dev mmcblk0p2, logical block 131072, lost sync page write [Do Nov 30 20:19:26 2023] JBD2: I/O error when updating journal superblock for mmcblk0p2-8. [Do Nov 30 20:19:26 2023] EXT4-fs error (device mmcblk0p2): ext4_journal_check_start:83: comm systemd-random-: Detected aborted journal [Do Nov 30 20:19:26 2023] EXT4-fs error (device mmcblk0p2): ext4_journal_check_start:83: comm systemd-journal: Detected aborted journal [Do Nov 30 20:19:26 2023] EXT4-fs (mmcblk0p2): Remounting filesystem read-only
I have cloned my raspikey to a sdcard. With the sdcard all is working fine in the pi5.
We still don't have a Raspberry Pi 5 on hand for testing this yet.
Anyone who has the chance to test it, is welcome to share his/her findings.
Have you by chance managed to get hold of a Raspberry Pi 5 and see if you can reproduce the issue? It looks like this affects a number of people.
I seem to recall that with the Raspberry Pi 4 there was a firmware upgrade required before the RasPiKey worked, and I'm wondering if maybe something similar is required here?
@sitesuugear We have tested it on a Raspberry Pi 5 and we saw the same symptoms.
You are right that the early batch of Raspberry Pi 4 needed a firmware upgrade to have RasPiKey worked. We are not sure if it is a similar issue.
I have updated the firmware to the latest version on my Pi5 using a regular SD card, and I'm still getting the same read-only filesystem issues that everyone else is seeing when trying to boot off the PiKey.
BOOTLOADER: up to date CURRENT: Wed 6 Dec 18:29:25 UTC 2023 (1701887365) LATEST: Wed 6 Dec 18:29:25 UTC 2023 (1701887365) RELEASE: default (/lib/firmware/raspberrypi/bootloader-2712/default)
There are acutally no progress in the firmware for this bug.
Here is my issue in github: https://github.com/raspberrypi/linux/issues/5768
Any update on this issue? I have the same I/O error on my RPI5 8GB with RaspiKey 32GB.
There have been some updates in the Github issue linked above. I've been able to get my RasPiKey to work on a Raspberry Pi 5 now, although it might be worth waiting until you can get the required updates via `apt`.
After testing, we confirm the newer version Raspberry Pi OS (released on March 15th 2024 and after) supports RasPiKey out of box.