Troubleshooting Orca Accelerator Installation on Raspberry Pi 5: Device Not Found Issue

We’re currently facing some challenges configuring the Orca accelerator on a Raspberry Pi 5. We’ve followed the instructions provided on the website under the “Linux Kernel Driver Installation” section, but we’ve encountered an issue.

We completed the initial steps (1-6) successfully, but step 7 (“If secure boot is enabled, it will prompt to add the certificate used to sign the driver to MOK”) did not occur.

Following the troubleshooting steps:

The PCIe device seems to be recognized (output: “0000:01:00.0 Processing accelerators: Device 1f0d:0100 (rev 01)”)
The Orca Kernel Driver appears to be installed (output: “cdapci 49152 0”)
The user permissions seem to be set up correctly.

However, when we tried to run the ORCA utilities after installation, we received this error:
“dgoinfo: error [ERROR]Device not found
No device found
dg_orca_dev.h: 61 [LCL::OrcaDevices::OrcaDevices]”

We would greatly appreciate any guidance on resolving this issue. Could you provide any additional troubleshooting steps or insights?

Pls provide the output of the following. Sample run is provided as an example

execute lspci
example:
degirum@dgsrv058:~ $ lspci
0000:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21)
0000:01:00.0 Processing accelerators: Device 1f0d:0100 (rev 01)
0001:00:00.0 PCI bridge: Broadcom Inc. and subsidiaries BCM2712 PCIe Bridge (rev 21)
0001:01:00.0 Ethernet controller: Raspberry Pi Ltd RP1 PCIe 2.0 South Bridge

execute sudo lspci -vvvxxx -s 0000:01:00.0
where 0000:01:00.0 is got from the previous step (adjust this accordingly)
example:
degirum@dgsrv058:~ $ sudo lspci -vvvxxx -s 0000:01:00.0
0000:01:00.0 Processing accelerators: Device 1f0d:0100 (rev 01)
Subsystem: Device 1f0d:0000
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- SERR- <PERR- INTx-
Latency: 0
Interrupt: pin A routed to IRQ 38
Region 0: Memory at 1b00000000 (64-bit, non-prefetchable) [size=1M]
Region 2: Memory at 1b00100000 (64-bit, non-prefetchable) [size=128K]
Capabilities: [80] Power Management version 3
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold-)
Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [90] MSI: Enable- Count=1/1 Maskable+ 64bit+
Address: 0000000000000000 Data: 0000
Masking: 00000000 Pending: 00000000
Capabilities: [c0] Express (v2) Endpoint, MSI 00
DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s <1us, L1 <1us
ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 0W
DevCtl: CorrErr+ NonFatalErr+ FatalErr+ UnsupReq+
RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
MaxPayload 256 bytes, MaxReadReq 512 bytes
DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L0s L1, Exit Latency L0s <256ns, L1 <8us
ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk-
ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
LnkSta: Speed 5GT/s (downgraded), Width x1 (downgraded)
TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
DevCap2: Completion Timeout: Range B, TimeoutDis+ NROPrPrP- LTR+
10BitTagComp- 10BitTagReq- OBFF Via message, 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-
LnkCap2: Supported Link Speeds: 2.5-8GT/s, Crosslink- Retimer- 2Retimers- DRS-
LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
Retimer- 2Retimers- CrosslinkRes: unsupported
Capabilities: [100 v2] Advanced Error Reporting
UESta: 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 00000000
Capabilities: [150 v1] Device Serial Number 00-00-00-00-00-00-00-00
Capabilities: [160 v1] Power Budgeting <?>
Capabilities: [1b8 v1] Latency Tolerance Reporting
Max snoop latency: 0ns
Max no snoop latency: 0ns
Capabilities: [300 v1] Secondary PCI Express
LnkCtl3: LnkEquIntrruptEn- PerformEqu-
LaneErrStat: 0
Capabilities: [900 v1] L1 PM Substates
L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
PortCommonModeRestoreTime=255us PortTPowerOnTime=26us
L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
T_CommonMode=0us LTR1.2_Threshold=287744ns
L1SubCtl2: T_PwrOn=26us
Kernel driver in use: cda
00: 0d 1f 00 01 06 00 10 00 01 00 00 12 00 00 00 00
10: 04 00 00 00 00 00 00 00 04 00 10 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 0d 1f 00 00
30: 00 00 00 00 80 00 00 00 00 00 00 00 26 01 00 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 01 90 03 48 08 00 00 00 00 00 00 00 00 00 00 00
90: 05 c0 80 01 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 10 00 02 00 21 81 00 00 3f 29 00 00 43 ac 41 00
d0: 00 00 12 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 12 08 14 00 00 04 00 00 0e 00 00 00
f0: 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Create a file(dg_trace.ini) at /home/user/.local/share/DeGirum/traces/with the following contents
CDA_System=Full
AiDeviceManager=Full

sample:
cat /home/degirum/.local/share/DeGirum/traces/dg_trace.ini
CDA_System=Full
AiDeviceManager=Full

execute dgoinfo

collect and send the contents of ~/.local/share/DeGirum/traces/dg_trace.dgoinfo.txt for review

sample:
degirum@dgsrv058:~ $ cat ~/.local/share/DeGirum/traces/dg_trace.dgoinfo.txt

Started: Thu Sep 12 23:57:**16 2024

Enabled trace groups:
OrcaPowerCtrl = Basic
AiDeviceManager = Full
CDA_System = Full

Line format:
[<Timestamp, us>:<delta, us] [] : ← <duration, usec>

  • in first position means timing of this trace point is distorted by forced file flush

[1726181835.830510.3 : 0.0] AA [1] / AiDeviceManager::rescan
[1726181835.830514.4 : 4.0] AA [1] / CDA_System::initialize
[1726181835.830531.8 : 17.3] AA [3] / CDA_System::initialize::scan_dev_type: 1f0d:100
[1726181835.830657.3 : 125.5] AA [3] - CDA_System::initialize::hw_init
[1726181835.830659.8 : 2.6] AA [3] - CDA_System::initialize::hw_list_devices: Found 1 devices
[1726181835.830742.5 : 82.7] AA [2] - CDA_System::layout_deduce: ORCA_1P1 → 4
[1726181835.830750.2 : 7.7] AA [3] - CDA_System::CDA_Device::regRead: R BAR0:0x0000020034 → 0x039d81ad
[1726181835.830776.1 : 25.9] AA [3] \ CDA_System::initialize::scan_dev_type ← 244.4 usec
[1726181835.830779.9 : 3.7] AA [3] / CDA_System::initialize::scan_dev_type: 10ee:8011
[1726181835.830817.3 : 37.4] AA [3] - CDA_System::initialize::hw_init
[1726181835.830818.0 : 0.8] AA [3] - CDA_System::initialize::hw_list_devices: Found 0 devices
[1726181835.830819.8 : 1.8] AA [3] \ CDA_System::initialize::scan_dev_type ← 40.0 usec
[1726181835.830821.4 : 1.6] AA [3] / CDA_System::initialize::scan_dev_type: 1f0d:100
[1726181835.830924.0 : 102.5] AA [3] - CDA_System::initialize::hw_init
[1726181835.830925.1 : 1.2] AA [3] - CDA_System::initialize::hw_list_devices: Found 1 devices
[1726181835.830977.5 : 52.3] AA [2] - CDA_System::layout_deduce: ORCA → failed to deduce
[1726181835.831109.6 : 132.1] AA [3] \ CDA_System::initialize::scan_dev_type ← 288.0 usec
[1726181835.831112.4 : 2.9] AA [3] / CDA_System::initialize::scan_dev_type: 10ee:8011
[1726181835.831169.5 : 57.0] AA [3] - CDA_System::initialize::hw_init
[1726181835.831170.3 : 0.9] AA [3] - CDA_System::initialize::hw_list_devices: Found 0 devices
[1726181835.831170.8 : 0.5] AA [3] \ CDA_System::initialize::scan_dev_type ← 58.4 usec
[1726181835.831171.3 : 0.3] AA [1] \ CDA_System::initialize ← 656.8 usec
[1726181835.831263.0 : 91.9] AA [2] - CDA_System::layout_deduce: ORCA_1P1 → 4
[1726181835.831634.9 : 371.8] AA [1] \ AiDeviceManager::rescan ← 1124.5 usec
[1726181835.831638.0 : 3.1] AA [2] / AiDeviceManager::deviceListGet
[1726181835.831638.8 : 0.9] AA [2] \ AiDeviceManager::deviceListGet ← 0.9 usec
[1726181835.831676.9 : 38.1] AA [3] - CDA_System::CDA_Device::regRead: R BAR0:0x00000cc028 → 0xf20cc030
[1726181835.831683.1 : 6.1] AA [3] - CDA_System::CDA_Device::regRead: R BAR0:0x00000cc030 → 0x00000000
[1726181835.831687.2 : 4.0] AA [3] - CDA_System::CDA_Device::regRead: R BAR0:0x00000cc034 → 0x00000000
[1726181835.831690.5 : 3.4] AA [3] - CDA_System::CDA_Device::regRead: R BAR0:0x00000cc038 → 0x0000134a
[1726181835.831725.6 : 35.1] AA [3] - CDA_System::CDA_Device::memRead: R BAR0:0x00000cc070 (0x80 bytes)
[1726181835.831730.7 : 5.0] AA [3] - CDA_System::CDA_Device::memRead: R BAR0:0x00000cc0f0 (0x4 bytes)
[1726181835.831740.9 : 10.2] AA [3] - CDA_System::CDA_Device::memRead: R BAR0:0x00000cc0f4 (0x8 bytes)
[1726181835.831750.4 : 9.5] AA [3] - CDA_System::CDA_Device::memRead: R BAR0:0x00000cc6e0 (0x18 bytes)
[1726181835.832491.3 : 740.9] AA [3] - CDA_System::CDA_Device::memRead: R BAR0:0x00000cc6e0 (0x18 bytes)
[1726181835.832505.3 : 14.1] AA [3] - CDA_System::CDA_Device::memRead: R BAR0:0x00000cc394 (0x30 bytes)
[1726181835.832528.9 : 23.6] AA [3] - CDA_System::CDA_Device::memRead: R BAR0:0x00000cc000 (0x30 bytes)
[1726181835.832533.0 : 4.0] AA [3] - CDA_System::CDA_Device::regRead: R BAR0:0x00000cc030 → 0x00000000
[1726181835.832536.6 : 3.5] AA [3] - CDA_System::CDA_Device::regRead: R BAR0:0x00000cc034 → 0x00000000
[1726181835.832539.9 : 3.4] AA [3] - CDA_System::CDA_Device::regRead: R BAR0:0x00000cc038 → 0x0000134a
[1726181835.832545.8 : 5.8] AA [3] - CDA_System::CDA_Device::regRead: R BAR0:0x00000c8000 → 0x8000001e
[1726181835.832554.2 : 8.5] AA [3] - CDA_System::CDA_Device::memRead: R BAR0:0x00000c8030 (0x10 bytes)
[1726181835.832590.1 : 35.8] AA [3] - CDA_System::CDA_Device::memRead: R BAR0:0x00000cc070 (0x80 bytes)
[1726181835.832593.7 : 3.6] AA [3] - CDA_System::CDA_Device::memRead: R BAR0:0x00000cc0f0 (0x4 bytes)
[1726181835.832615.9 : 22.3] AA [3] - CDA_System::CDA_Device::memRead: R BAR0:0x00000cc0fc (0x3c bytes)
[1726181835.832635.1 : 19.3] AA [3] - CDA_System::CDA_Device::memRead: R BAR0:0x00000cc524 (0x30 bytes)
[1726181835.832639.7 : 4.5] AA [3] - CDA_System::CDA_Device::memRead: R BAR0:0x00000cc0f4 (0x8 bytes)
[1726181835.832660.5 : 20.7] AA [3] - CDA_System::CDA_Device::memRead: R BAR0:0x00000cc554 (0x40 bytes)
[1726181835.832755.5 : 95.2] AA [3] - CDA_System::CDA_Device::memRead: R BAR0:0x00000cc3c4 (0x160 bytes)
[1726181835.832884.0 : 128.3] AA [3] - CDA_System::CDA_Device::memRead: R BAR0:0x00000cc3c4 (0x160 bytes)
[1726181836.333042.9 : 500159.1] AA [3] - CDA_System::CDA_Device::memRead: R BAR0:0x00000cc3c4 (0x160 bytes)

Finished: Thu Sep 12 23:57:16 2024

--------------end of trace--------------