Hi jdb,
UPDATE
I have it working, many thanks! I ran:
After rebooting, I confirmed kernel version is 6.12:
Then I updated firmware to pick up the ASPM fix and rebooted:
After rebooting:
Here I see ASPM L1 Enabled on Root Complex, and L0S disabled, which looks perfect.
Many thanks jdb!
UPDATE
I have it working, many thanks! I ran:
Code:
export DEBIAN_FRONTEND=noninteractivesudo apt-get updatesudo apt-get remove -y realvnc-vnc-server # otherwise it hangs in apt-get upgrade belowsudo apt-get upgrade -ysudo apt full-upgrade -ysudo rpi-eeprom-update -asudo rebootCode:
pmoore@rpi400:~ $ uname -aLinux rpi400 6.12.20+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.20-1+rpt1~bpo12+1 (2025-03-19) aarch64 GNU/Linuxpmoore@rpi400:~ $Code:
cd ~/Downloadscurl -fsSL https://github.com/raspberrypi/firmware/archive/refs/heads/master.zip > firmware-master.zipunzip firmware-master.zipsudo cp -r firmware-master/boot/* /boot/firmware/sudo cp -r firmware-master/modules/* /usr/lib/modules/sudo rebootCode:
pmoore@rpi400:~ $ sudo lspci -vvv00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2711 PCIe Bridge (rev 20) (prog-if 00 [Normal decode])Device tree node: /sys/firmware/devicetree/base/scb/pcie@7d500000/pci@0,0Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-Latency: 0Interrupt: pin A routed to IRQ 27Bus: primary=00, secondary=01, subordinate=01, sec-latency=0Memory behind bridge: 00000000-000fffff [size=1M] [32-bit]Prefetchable memory behind bridge: 00000000fff00000-00000000000fffff [disabled] [64-bit]Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-BridgeCtl: Parity- SERR- NoISA- VGA- VGA16- MAbort- >Reset- FastB2B-PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-Capabilities: [48] Power Management version 3Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=1 PME-Capabilities: [ac] Express (v2) Root Port (Slot-), MSI 00DevCap:MaxPayload 512 bytes, PhantFunc 0ExtTag- RBE+DevCtl:CorrErr- NonFatalErr- FatalErr- UnsupReq-RlxdOrd+ ExtTag- PhantFunc- AuxPwr+ NoSnoop+MaxPayload 128 bytes, MaxReadReq 512 bytesDevSta:CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-LnkCap:Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <2usClockPM+ Surprise- LLActRep- BwNot+ ASPMOptComp+LnkCtl:ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-LnkSta:Speed 5GT/s, Width x1TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt+RootCap: CRSVisible+RootCtl: ErrCorrectable- ErrNon-Fatal- ErrFatal- PMEIntEna+ CRSVisible+RootSta: PME ReqID 0000, PMEStatus- PMEPending-DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR+ 10BitTagComp- 10BitTagReq- OBFF Via WAKE#, ExtFmt- EETLPPrefix- EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit- FRS- LN System CLS Not Supported, TPHComp- ExtTPHComp- ARIFwd- AtomicOpsCap: Routing- 32bit- 64bit- 128bitCAS-DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- 10BitTagReq- OBFF Disabled, ARIFwd- AtomicOpsCtl: ReqEn- EgressBlck-LnkCap2: Supported Link Speeds: 2.5-5GT/s, Crosslink- Retimer- 2Retimers- DRS+LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis- Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshootLnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1- EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest- Retimer- 2Retimers- CrosslinkRes: unsupported, DRS- DownstreamComp: Link Down - Not DeterminedCapabilities: [100 v1] Advanced Error ReportingUESta:DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-UEMsk:DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-UESvrt:DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-CESta:RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-CEMsk:RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+AERCap:First Error Pointer: 00, ECRCGenCap- ECRCGenEn- ECRCChkCap- ECRCChkEn-MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-HeaderLog: 00000000 00000000 00000000 00000000RootCmd: CERptEn+ NFERptEn+ FERptEn+RootSta: CERcvd- MultCERcvd- UERcvd- MultUERcvd- FirstFatal- NonFatalMsg- FatalMsg- IntMsg 0ErrorSrc: ERR_COR: 0000 ERR_FATAL/NONFATAL: 0000Capabilities: [180 v1] Vendor Specific Information: ID=0000 Rev=0 Len=028 <?>Capabilities: [240 v1] L1 PM SubstatesL1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+ PortCommonModeRestoreTime=8us PortTPowerOnTime=10usL1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1- T_CommonMode=1us LTR1.2_Threshold=0nsL1SubCtl2: T_PwrOn=10usKernel driver in use: pcieport01:00.0 USB controller: VIA Technologies, Inc. VL805/806 xHCI USB 3.0 Controller (rev 01) (prog-if 30 [XHCI])Subsystem: VIA Technologies, Inc. VL805/806 xHCI USB 3.0 ControllerDevice tree node: /sys/firmware/devicetree/base/scb/pcie@7d500000/pci@0,0/usb@0,0Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx+Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-Latency: 0, Cache Line Size: 64 bytesInterrupt: pin A routed to IRQ 30Region 0: Memory at 600000000 (64-bit, non-prefetchable) [size=4K]Capabilities: [80] Power Management version 3Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot-,D3cold+)Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-Capabilities: [90] MSI: Enable+ Count=4/4 Maskable- 64bit+Address: 00000000fffffffc Data: 6540Capabilities: [c4] Express (v2) Endpoint, MSI 00DevCap:MaxPayload 256 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1usExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 0WDevCtl:CorrErr+ NonFatalErr+ FatalErr+ UnsupReq+RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+MaxPayload 128 bytes, MaxReadReq 512 bytesDevSta:CorrErr+ NonFatalErr- FatalErr- UnsupReq+ AuxPwr+ TransPend-LnkCap:Port #0, Speed 5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <2us, L1 <16usClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp-LnkCtl:ASPM L0s L1 Enabled; RCB 64 bytes, Disabled- CommClk+ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-LnkSta:Speed 5GT/s, Width x1TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-DevCap2: Completion Timeout: Range B, TimeoutDis+ NROPrPrP- LTR- 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix- EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit- FRS- TPHComp- ExtTPHComp- AtomicOpsCap: 32bit- 64bit- 128bitCAS-DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR- 10BitTagReq- OBFF Disabled, AtomicOpsCtl: ReqEn-LnkCtl2: Target Link Speed: 5GT/s, EnterCompliance- SpeedDis+ Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshootLnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1- EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest- Retimer- 2Retimers- CrosslinkRes: unsupportedCapabilities: [100 v1] Advanced Error ReportingUESta:DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-UEMsk:DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-UESvrt:DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-CESta:RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-CEMsk:RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+AERCap:First Error Pointer: 00, ECRCGenCap- ECRCGenEn- ECRCChkCap- ECRCChkEn-MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-HeaderLog: 00000000 00000000 00000000 00000000Kernel driver in use: xhci_hcdpmoore@rpi400:~ $Many thanks jdb!
Statistics: Posted by pmoore — Sat Apr 19, 2025 1:03 pm