HI guys. Thank you!! i done solved NPU reset and nou using problems.
# Bug Report: Q6A NPU FastRPC Session Failure (0x80000600) — Firmware-Shell c4/c3 Mismatch
**Target:** [Radxa Forum — Q6A FastRPC Issues]( Collecting Q6A NPU FastRPC Issues )
**Related:** [FASTRPC_IOCTL_INIT_CREATE 0x80000600 on CDSP]( Dragon Q6A FastRPC/NPU fails: FASTRPC_IOCTL_INIT_CREATE returns 0x80000600 on CDSP )
-–
## Environment
| Item | Value |
|------|-------|
| Board | Radxa Dragon Q6A (12GB RAM / 64GB eMMC) |
| SoC | QCS6490 |
| OS | Ubuntu 24.04 Noble (Gnome R2) |
| Kernel | `6.18.2-3-qcom` |
| `radxa-firmware-qcs6490` | **0.2.41** (Aug 19, 2026 build) |
| `fastrpc` / `libcdsprpc1` | **1.0.7-1** |
| QAIRT (apt) | `libqnn1` / `qnn-tools` **v2.46.0** |
-–
## 1. Root Cause (Olof’s Hypothesis — Confirmed)
The `radxa-firmware-qcs6490` package ships a **mismatched pair** of CDSP firmware and FastRPC user-PD shell:
| Component | Path | Version string |
|-----------|------|----------------|
| **CDSP firmware** (remoteproc) | `/lib/firmware/qcom/qcs6490/radxa/dragon-q6a/cdsp.mbn` | `QC_IMAGE_VERSION_STRING=CDSP.HT.2.5.**c4**-00004-KODIAK-1` |
| **FastRPC shell** (user-PD) | `/usr/share/qcom/qcs6490/radxa/dragon-q6a/dsp/cdsp/fastrpc_shell_unsigned_3` | `CDSP.HT.2.5.**c3**-00103.1-KODIAK-1_20251021_220005` |
Both files are installed by the **same** `radxa-firmware-qcs6490` package (`dpkg -L`).
Shell SHA256 (dragon path = `/usr/lib/dsp/cdsp` symlink target):
```
015e4dcb3b7904ddafde57f76fe4d699e6d877366aa312e4f7ca5f3c2627e578
```
Because of this **c4 firmware vs c3 shell** ABI mismatch, unsigned user-PD session creation fails at `FASTRPC_IOCTL_INIT_CREATE` with **`0x80000600`**. This occurs **before** any QNN/skel logic runs.
Downstream cascade (same as forum thread #31078):
```
0x80000600 (FastRPC session)
→ skel load error 1002
→ Transport layer setup failed 14001
→ Device Creation failure (qnn-net-run / HTP-CTX)
```
Filesystem/DSP symlink layout (`/usr/lib/dsp/cdsp` → dragon `cdsp`) was verified correct; failure persists on **cold boot** with clean layout.
-–
## 2. Reproduction Steps
```bash
# After cold boot — remoteproc up, layout OK
cat /sys/class/remoteproc/remoteproc1/state # running
ls -la /usr/lib/dsp/cdsp/fastrpc_shell_unsigned_3
# Version check
strings /lib/firmware/qcom/qcs6490/radxa/dragon-q6a/cdsp.mbn | grep QC_IMAGE_VERSION_STRING
strings /usr/lib/dsp/cdsp/fastrpc_shell_unsigned_3 | grep -m1 CDSP.HT
# FastRPC smoke (fails without any QNN involvement)
export HEXAGON_UNSIGNED_PD=1 CDSP_UNSIGNED_PD_ENABLE=1
export ADSP_LIBRARY_PATH=/usr/lib/dsp/cdsp:/usr/lib/dsp/adsp:/usr/lib/rfsa/adsp
export CDSP_LIBRARY_PATH=$ADSP_LIBRARY_PATH
/usr/bin/fastrpc_test -a v68
# → ERROR 0x80000600 on domain 3, 3 tests FAILED
```
-–
## 3. Diagnostic Logs
### A. `journalctl -b -u cdsprpcd` (cold boot)
```text
remote_handle64_invoke failed, method 5 on domain 3 (sc 0x5000000) → 0x80000600
remotectl1 domains not supported for domain 3
adsp_default_listener: Successfully opened handle … on domain 3 (spawn ~446ms)
```
### B. `dmesg | grep -iE ‘fastrpc|dma|remoteproc’`
```text
remoteproc remoteproc1: Booting fw image qcom/qcs6490/radxa/dragon-q6a/cdsp.mbn, size 3612672
remoteproc remoteproc1: remote processor cdsp is now up
qcom,fastrpc … no reserved DMA memory for FASTRPC
```
(CMA pool present: `CmaTotal: 32768 kB`, `CmaFree: ~21 MB` at time of test.)
### C. `fastrpc_test` output
```text
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: Unable to create FastRPC session on domain 3
RESULT: 3 test(s) FAILED
```
### D. `qnn-net-run` (same root cause)
```text
DspTransport.openSession qnn_open failed, 0x80000600
Failed to load skel, error: 1002
Transport layer setup failed: 14001
Failed to parse platform config: 14001
Device Creation failure
```
-–
## 4. Request to Radxa Team
Please provide **one** of the following as a matched set in `radxa-firmware-qcs6490`:
1. **`fastrpc_shell_unsigned_3` built from `CDSP.HT.2.5.c4`** (matching current `cdsp.mbn`), **or**
2. **`cdsp.mbn` downgraded to `CDSP.HT.2.5.c3`** (matching current shell), **or**
3. A documented, version-locked firmware+shell bundle with a verification script (compare `QC_IMAGE_VERSION_STRING` / build paths).
Without a matched **c4↔c4** or **c3↔c3** pair, Hexagon CDSP user-PD cannot be created on Dragon Q6A under Linux.
-–
## 6. Workaround Applied (2026-09-02) — Plan B SUCCESS
**Scan result:** No `c4` shell on disk. Matched `c3` firmware found:
`/lib/firmware/updates/qcom/qcm6490/cdsp.mbn` → `CDSP.HT.2.5.c3-00103.1-KODIAK-1`
**Steps:**
1. Backup c4 firmware → `/opt/scanlog/backup/cdsp.mbn.c4.bak`
2. Copy c3 `cdsp.mbn` → `/lib/firmware/qcom/qcs6490/radxa/dragon-q6a/cdsp.mbn`
3. **CDSP remoteproc stop/start** (required — reboot alone was insufficient)
4. `fastrpc_test -a v68` → **All applicable tests PASSED** (`Sum = 499500`)
5. `plate_det_htp.bin` / `vehicle_det_htp.bin` → **rc=0**, `.raw` output
**Boot persistence:** `qcom-cdsp-fw-align.service` + `/usr/local/sbin/qcom-cdsp-fw-align.sh`
Deploy: `python JP_LPR_Project_2026/tools/_deploy_c3_fw_align.py`
Scan: `python JP_LPR_Project_2026/tools/scan_c4_shells.py` (on board via `_run_c4_scan_and_fix.py`)
-–
## 5. Additional Notes
- `soc_id` in QNN `htp_ext.json` is `35`; sysfs `/sys/devices/soc0/soc_id` reports `498` on this board — to be re-validated **after** FastRPC passes.
- Full machine diagnostic log: `JP_LPR_Project_2026/tools/pipeline_logs/fastrpc_lowlevel_diag.txt`
- Collector script: `JP_LPR_Project_2026/tools/_fastrpc_lowlevel_diag.py`
-–
*Captured: 2026-09-02 · scanlog.kr