Hi there
I'm trying to run some code on DSP using my Nexus5 hardware (KitKat on msm kernel 3.4.0) based on Hexagon SDK examples.
But I think I'm missed some configuration as /dev/adsprpc-smd device is no there after boot. The ADSPRPC driver is enabled and complied in the kernel image. However, the device it's not getting probed for some reason. I put on the root file system, adsp firmware files taken from hexagon SDK, but this did not help.
Can someone give me a clue ? Do I need some special setup (frimware ?) to get access to the hexagon dsp, or maybe what I'm trying to achieve is not doable at all ?
I would appreciate any commnents on that.
/BR
Grzegorz
Hi Grzegorz,
I know it's been some time, but did you ever figure out an answer to this question? We've been developing using a DragonBoard (8074) but would like to migrate to a commercial device. We'd like to use a Nexus 5 ideally, but any commercial device will do for our initial purposes.
We have a Nexus 5 on hand but it does not appear to have a copy of libadsprpc.so, nor does it show /dev/adsprpc-smd as you mentioned. I do see /dev/ramdump_adsp, /dev/smd_sns_adsp, and /dev/subsys_adsp, however. I couldn't check if it had any adsp.b* files in /firmware/image since I can't get a root shell on the phone, which is using an unrooted production version of Android.
Does anyone know what Qualcomm's intent is here? How do they expect developers to build and deploy applications for commercial devices?
This is a blocker for us currently and any help would be much appreciated.
Thanks,
Adam
One note here - I believe /dev/adsprpc-smd will only appear if you install the adsprpc.ko kernel module in /system/lib/modules (see fastrpc.html#Setup in the SDK documentation) . This file does not seem to be installed on the production Nexus 5, however. Additionally, installing kernel modules requires root access.
Hi Adam,
I have the same board but I don't have the FastRPC driver on it, I mean on /system/lib/modules/adsprpc.ko.
I wanted to know if you could run an application on aDSP? According to what I realized from the manual, this means that the dragonboard does not support FastRPC which strange.
Thanks,
Yes, the DragonBoard does support FastRPC. That is what we've been developing with.
If you can't find the adsprpc.ko kernel module, try reflashing the board with the lastest working BSP version. We had issues getting FastRPC to work with BSP version 2.1, but it definitely works with version 1.2. If you have adsprpc.ko on your board, make sure you follow the steps in fastrpc.html#Setup in the Hexagon SDK documentation.
Hi,
I'm working too on the Nexus 5 with a produciton build (Android L) and I don't have any package for the Hexagon.
Did someone know were to find all the .so /.ko needed?
My understanding from speaking with some folks is that currently the DSP code must be signed by the OEM, which means that LG would have to sign your code for it to run on the Nexus 5. As a result, there aren't any COTS devices that support the aDSP yet. Qualcomm is supposedly working on a solution to this problem.
Hi,
I have the same desire of using the aDSP on the Nexus 5... I'm interested by updates on this so I'm replying, but I'll also add what I have so far:
- factory reset to google images, built the latest cyanogenmod
- saw that the /dev/adsprpc-smd device file is here with this (default) configuration
- updated libadsprpc.so to use the one from the dragonboard images
- pushed the aDSP images
- ran a modified calculator_walkthrough, with the script using hexagon_ReleaseG_dynamic, which helps on DragonBoard
- gotten this:
So yeah, maybe that signature stuff is preventing something, but the error message is not saying exactly that.