Any solution for the fastRPC failure Dragon Q6A

dmin@mylab-radxa:~/Llama3.2-1B-1024-qairt-v68$ fastrpc_test -a v68

Allocate 4000 bytes from ION heap
Creating sequence of numbers from 0 to 999
Compute sum on domain 3
Retry attempt unsuccessful. Timing out…
ERROR 0x80000600: Failed to compute sum on domain 3
ERROR 0x80000600: Failed to find max on domain 3
[FAIL] libcalculator.so (error code: 0x80000600)

ERROR 0x80000600: Unable to create FastRPC session on domain 3

hap_example function FAILED
Please look at the mini-dm logs or the adb logcat logs for DSP output
Error occurred with selector FARF_RUNTIME (id: 0): -2147482112
ERROR 0x80000600: Unable to create FastRPC session on domain 3

hap_example function FAILED
Please look at the mini-dm logs or the adb logcat logs for DSP output
Error occurred with selector MEM (id: 1): -2147482112
ERROR 0x80000600: Unable to create FastRPC session on domain 3

hap_example function FAILED
Please look at the mini-dm logs or the adb logcat logs for DSP output
Error occurred with selector PERF (id: 2): -2147482112
[FAIL] libhap_example.so (error code: 0x80000600)

ERROR 0x80000600: Unable to create FastRPC session on domain 3
Exiting…
Test FAILED
Please look at the mini-dm logs or the adb logcat logs for DSP output
[FAIL] libmultithreading.so (error code: 0x80000600)

========================================

Test Summary:
Total tests run: 3
Passed: 0
Failed: 3
Skipped: 0

RESULT: 3 test(s) FAILED
admin@mylab-radxa:~/Llama3.2-1B-1024-qairt-v68$

I have completed additional debugging and narrowed the issue down further.

System:

  • Board: Radxa Dragon Q6A
  • OS: Ubuntu 24.04
  • Kernel: 6.18.2-4-qcom
  • QNN SDK: 2.46.0
  • fastrpc: 1.0.4-1
  • libcdsprpc1: 1.0.4-1
  • linux-firmware-dragonwing: 20260612

Verified:

  • remoteproc ADSP/CDSP are running.
  • /dev/fastrpc-cdsp and /dev/fastrpc-cdsp-secure exist.
  • DSP runtime exists under /usr/lib/dsp/cdsp.
  • libQnnHtpV68Skel.so matches QNN SDK 2.46.0.
  • fastrpc_shell_unsigned_3 loads successfully.

I also traced fastrpc_test using strace.

The shell is opened successfully:

open(“/usr/lib/dsp/cdsp/fastrpc_shell_unsigned_3”) = OK

DMA allocation succeeds:

DMA_HEAP_IOCTL_ALLOC = 0

The failure occurs during:

FASTRPC_IOCTL_INIT_CREATE

which returns:

0xffffffff80000600 (0x80000600)

FASTRPC_IOCTL_GET_DSP_INFO succeeds.

No FastRPC, CDSP or remoteproc errors are printed by dmesg during the failure.

This appears to be a FastRPC session creation failure rather than a QNN or Genie issue.

Could someone verify whether this is a regression in:

  • fastrpc 1.0.4
  • linux-firmware-dragonwing 20260612
  • kernel 6.18.2-4-qcom

or if there is another required package/configuration for the current Ubuntu image?

Hi @Mylab_Radxa your debugging is solid; I think the infrastructure is all up (remoteproc, fastrpc nodes, DMA, shell). IMHO the 0x80000600 at FASTRPC_IOCTL_INIT_CREATE isn’t a fastrpc / kernel / firmware-package regression, it’s more or less a QAIRT version mismatch with the DSP firmware.

You’re on QNN SDK 2.46.0, but the latest DSP firmware Radxa ships (CDSP.HT.2.5.c4-00004-KODIAK-1) only supports QNN interface 2.32.0 (QAIRT 2.42) in my experiences. libQnnHtpV68Skel.so from the 2.46 SDK calls DSP-side ABI the firmware doesn’t expose, so the DSP rejects the session at init-create, which surfaces as 0x80000600. FASTRPC_IOCTL_GET_DSP_INFO succeeding is the right call: the static shell loads fine.

Could you try pin QAIRT/QNN SDK to ≤ 2.42 and regenerate your Llama3.2-1B-1024-qairt-v68 context binary against that version? fastrpc_test -a v68 should then pass.

Backgrounds are in Radxa Dragon Q6A: Dragon Q6A Ubuntu 24.04: QNN HTP backend fails with qnn_open 0x80000600 based on the findings from @Rahul007 in the 0x80000600 thread.