CM4: TenaFe TC2200 NVMe controller (Kingston NV2) fails PCIe link training on warm reboot
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 42/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- c, linux
- Domain
- embedded-iot, operating-systems
Research direction
Start by reproducing the warm-reboot failure on the CM4 with the Kingston NV2, then compare lspci and dmesg output with a cold boot. Trace the brcm-pcie fd500000.pcie host-controller path and the reported link-down state. Done means the PCIe link trains after a soft reboot and the NVMe device becomes available without a hard power cycle.
Written by the indexing model from the issue text.
Description
Describe the bug
TC2200-based NVMe drive fails to reinitialize after soft reboot (reboot command). PCIe link does not come up, requiring hard power cycle to recover.
After failed reboot:
lspcireturns no output (no PCIe devices detected)/dev/nvme*devices do not exist- PCIe link is completely down
Steps to reproduce the behaviour
- Boot system normally (cold boot) - works fine
- Execute
rebootcommand - System attempts to reboot but NVMe is not detected
- PCIe link shows as down in dmesg
- Hard power cycle required to restore functionality; luckily this box is PoE-based.
Device (s)
Raspberry Pi CM4
System
This is a HAOS install, but this issue is not specific to their distro and I don't think they have the vendor connections necessary to follow-up to see if a TenaFe/Kingston firmware revision can resolve this or do the engineering of a quirk to workaround it in the kernel.
raspinfo | pastebinit
-sh: raspinfo: not found
-sh: pastebinit: not found
cat /etc/rpi-issue
cat: can't open '/etc/rpi-issue': No such file or directory
vcgencmd version
Aug 20 2025 17:02:31
Copyright (c) 2012 Broadcom
version cd866525580337c0aee4b25880e1f5f9f674fb24 (clean) (release) (start)
uname -a
Linux homeassistant 6.12.47-haos-raspi #1 SMP PREEMPT Mon Jan 19 12:17:38 UTC 2026 aarch64 HAOS
Logs
[ 0.534757] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges:
[ 0.534777] brcm-pcie fd500000.pcie: No bus range found for /scb/pcie@7d500000, using [bus 00-ff]
[ 0.534800] brcm-pcie fd500000.pcie: MEM 0x0600000000..0x063fffffff -> 0x00c0000000
[ 0.534821] brcm-pcie fd500000.pcie: IB MEM 0x0000000000..0x01ffffffff -> 0x0400000000
[ 0.535628] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00
[ 0.535645] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 0.535655] pci_bus 0000:00: root bus resource [mem 0x600000000-0x63fffffff] (bus address [0xc0000000-0xffffffff])
[ 0.535700] pci 0000:00:00.0: [14e4:2711] type 01 class 0x060400 PCIe Root Port
[ 0.537334] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[ 0.537400] pci_bus 0000:01: supply vpcie3v3 not found, using dummy regulator
[ 0.537470] pci_bus 0000:01: supply vpcie3v3aux not found, using dummy regulator
[ 0.537499] pci_bus 0000:01: supply vpcie12v not found, using dummy regulator
[ 0.879804] brcm-pcie fd500000.pcie: link down
[ 0.879904] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
Additional context
Platform: Raspberry Pi Compute Module 4 Rev 1.1 in a Home Assistant Yellow
NVMe Drive: Kingston SNV2S1000G (NV2 1TB)
Controller: TenaFe TC2200 (PCI ID: 2646:501d)
Firmware: CBG04418
Boot Config: BOOT_ORDER=0xf2561 (NVMe boot mode 6 already included)
Note that Kingston's Windows-only KSM app doesn't seem to have any firmware updates to offer for this revision.
- Dominant language
- C
- Stars
- 13.2k
- Forks
- 5.5k
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 21
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from raspberrypi/linux
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
raspberrypi/linux#7415 · 2 comments · 1 reaction ·
-
rp1-cfe doesn't forward V4L2_EVENT_SOURCE_CHANGE event from csi-2 sensor driver to userspace app Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
raspberrypi/linux#7399 · 1 comment ·
-
Difficulty 1/5 Under an hour Newbie friendliness 82/100
raspberrypi/linux#7357 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
raspberrypi/linux#7054 · 2 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
raspberrypi/linux#7634 · 8 comments · 1 reaction ·
All issues in raspberrypi/linux
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
zephyrproject-rtos/zephyr#119726 ·
-
[Bounty proposal] fix(web): memory insights count an evening memory on the next day ($25 proposed) Open
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
BasedHardware/omi#15320 ·
-
[adam] AdamNet network read doesn't cap to MAX_ADAM_PACKET_LEN, overflows client receive buffers Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
FujiNetWIFI/fujinet-firmware#1649 · 2 comments ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
HarbourMasters/Shipwright#7229 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
riscv-software-src/riscv-isa-sim#2435 · 1 comment ·