16.06 Linux release for DragonBoard 410c


I am pleased to announced a new Linux release for DragonBoard 410c.

Earlier this year we made the decision to stick to and LTS based kernel for the official Linux releases for DragonBoard 410c. So this release is based on Linux kernel 4.4.9, and we will stay on 4.4.x until the next LTS. In parallel work continue to improve DragonBoard 410c in the mainline kernel (upstreaming).

What’s new in this release

  • Upgrade to Debian 8.5.
  • Upgrade to Linux kernel 4.4.9
  • Added support for GPS
  • Added initial support for CSI based camera
  • WLAN MAC address is now set in DTB file, not in /lib/firmware/wlan/macaddr0
  • Improved audio gain control for analog audio
  • Moved left over debug config options in debug.config, and removed them from default config

More on:

Db410c-getting-started Installation


As mentioned here in the past, in parallel of the Debian release, we also provide an OpenEmbedded BSP layer for DragonBoard 410c, as well as a few additional reference layers called OE RBP. It is possible to use these OpenEmbedded layers to build your own Linux system, the BSP layer for Dragonboard 410c provides the same feature set as you can find in the Debian release. To get started with OpenEmbedded on the Dragonborad 410c, please refer to this wiki:

Happy Hacking!

Tank you nico,

hi all
tried this out today… installs and boots fine…seems stable…

I was interested in the MIPI CSI support… but I can’t seem to get the kernel to recognise the CSI camera.

Is there a ‘dummies’ guide to what devices I should see in /dev/ and/or what kernel modules might be loaded…
I tries the instructions at the end of the release notes (media_ctl…) but does not see any OV type devices.


Thanks! 谢谢(Thanks from China)


After compiling the kernel with default config, my wifi does not work. I followed the instructions here


Is this a known problem?

Hi @basuhiremath,

This is the link to the installation guide.

Db410c-getting-started Installation

Would you mind providing step by step instruction to reproduce your wifi situation and file the bug report?


I am using a custom build and have loaded the boot image only. Do I still need to follow all the instructions mentioned in your link?

If I just changed image, I thought I did not need all those steps.

I will file a bug report.

Hi @basuhiremath,

Yes please, because we do not have your custom build, and we only tested on our build.

also, please note that for WLAN to work with a ‘custom’ build, you need to make sure that:

  1. you have updated the bootloader (this is mentioned in the release notes)
  2. you deploy all the modules on the target rootfs (obviously)
  3. your packages are up-to date: apt-get upgrade && apt-get dist-upgrade. We added a new package called wcnss-start which is needed to start the WLAN core.

I used the new image and then I cannot connect via ssh any more - I keep in getting “permission denied”.
SSH workes fine with older builds…
Is that a known problem?

I’m unable to test this release for my application due to high CPU usage for several services that don’t seem to be going away.

Here is the output of top, all I’ve done since flashing the release is delete the dhcp setup for the wired LAN (I have a USB ethernet adapter) and create a static setup for it, then copied some files on and changed some groups. I’m not using wifi at all.

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND       
 2156 root      20   0    7260   3924   3480 S  51.2  0.5   2:17.77 wpa_supplica+ 
 1755 root      20   0  252528  13020  11048 R  38.7  1.5   1:49.82 NetworkManag+ 
 1424 root      20   0    6156   3408   3100 S  34.8  0.4   2:47.05 systemd-jour+ 
 1757 root      20   0  226216   6008   2372 S  30.9  0.7   1:36.65 rsyslogd      
 1742 message+  20   0    5740   3200   2672 S  24.2  0.4   1:04.81 dbus-daemon

nmcli con show:

$ sudo nmcli con show
NAME   UUID                                  TYPE            DEVICE          
wired  9d541ec6-e2a0-4215-b354-5306b972d979  802-3-ethernet  enx00e04cb82cee

the log files are growing very quickly, /var/log/daemon.log and syslog are already nearly 300 MB after just a few minutes. They’re just full of messages saying it failed to initialize the wlan0 driver interface, etc:

Jul  8 22:39:36 hostname wpa_supplicant[2411]: Could not set interface wlan0 flags (UP): Cannot assign requested address
Jul  8 22:39:36 hostname wpa_supplicant[2411]: nl80211: Could not set interface 'wlan0' UP
Jul  8 22:39:36 hostname wpa_supplicant[2411]: Could not set interface wlan0 flags (UP): Cannot assign requested address
Jul  8 22:39:36 hostname wpa_supplicant[2411]: WEXT: Could not set interface 'wlan0' UP
Jul  8 22:39:36 hostname wpa_supplicant[2411]: wlan0: Failed to initialize driver interface
Jul  8 22:39:36 hostname NetworkManager[1755]: <error> [1468017576.966715] [supplicant-manager/nm-supplicant-interface.c:856] interface_add_cb(): (wlan0): error adding interface: wpa_supplicant couldn't grab this interface.
Jul  8 22:39:36 RIO003 NetworkManager[1755]: <info> (wlan0): supplicant interface state: starting -> down

@Avrahams: did you resolve your issue? I confirm it is not expected. How did you update your board? have you flashed the rootfs image or did you reinstall everything using the SD CARD?

@suicidaleggroll: i suppose you flashed the new rootfs and boot image, and not flashed using the SD card. The release notes mention that the bootloader need to be updated as well (e.g. the aboot partition), and I am tempted to believe that you haven’t done that. is that correct?

I reinstalled every thing via sd card - I did it twice and the ssh problem still exist.

@ndec: My apologies, yes I reflashed boot and rootfs using fastboot, but missed the section in the release notes that mentioned the bootloader needed updating as well. After updating the bootloader it looks like it’s working fine.

cool, great. and fwiw… the reason why not upgrading the bootloader breaks wifi… is because we now rely on the bootloader to set the WLAN MAC address. What used to be done through a file in the user space, is now done through the device tree, and the bootloader automatically adds the mac address in the DTB.

so without a valid MAC address, the wlan driver will fail to initialize.

Is anybody else noticing a dramatic decrease in performance with this release? I updated one of my three boards and noticed my standard processing started running 50-100% slower than in the April release. Number crunching, compiling, even copying data over SSHFS all started running much slower, I actually had to step up the clock so it could keep up with my other two boards running the April release. No other processes are fighting for resources if I watch top, it’s just taking a lot longer than the others to churn through the same processing. A few minutes ago I dropped this board back to the April release as well, and it’s running just as fast as the others again.

Hi,where is the documentation of the camera which is mipi imterface.I can only find clock about camera in Hardware Register Description.I ready write a camera driver base on imx224,so I refer to ov5645 driver in kernel,but I can’t debug my driver.Most problem is I not have document of camera.About ov5645’s driver of kernel,do you sure it can run accurately.My sensor driver is ok,but it can’t enter this funcation :camss->notifier.bound = camss_subdev_notifier_bound;Could you give me some suggestion.

And my revamp of device tree about imx224 camera at msm8916.dtsi is :
camss@0 {

ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
csiphy0_ep: endpoint {
clock-lanes = <1>;
data-lanes = <0 2 3 4>;
qcom,settle-cnt = <0xe>;
remote-endpoint = <&imx224_ep>;

blsp_i2c4: i2c@78b8000 {
camera@1a {
compatible = “sony,imx224”;
reg = <0x1a>;
clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
clock-names = “xclk”;

			vdddo-supply = &lt;&amp;camera_vdddo_1v8&gt;;
			vdda-supply = &lt;&amp;camera_vdda_3v3&gt;;
			vddd-supply = &lt;&amp;camera_vddd_1v2&gt;;
			port {
			imx224_ep: endpoint {
				clock-lanes = &lt;1&gt;;
				data-lanes = &lt;0 2 3 4&gt;;
				remote-endpoint = &lt;&amp;csiphy0_ep&gt;;

And my I2C port is successful.Other details in camss@0,I don’t konw how to revamp,because I don’t have dacument.Please help me,thank you!

I have tried to download the sources from git and recompile the linux kernel based on the instructions in https://builds.96boards.org/releases/dragonboard410c/linaro/debian/16.06/

While the instructions
git clone -n working/qualcomm/kernel.git - Qualcomm Landing Team kernel
cd kernel
git checkout -b kernel-16.06 debian-qcom-dragonboard410c-16.06
seem to work fine,

make defconfig distro.config
gives a problem:
scripts/kconfig/Makefile:115: *** No configuration exists for this target on this architecture. Stop.

The script is the same as in 16 94 debian version and for this kernel version (4.4.8) everything works ok.

Any help?


In the past the Debian and the Yocto releases were based on the same kernel.
In the latest release the Debian is based on tag debian-qcom-dragonboard410c-16.06
And the Yocto follows the release/qcomlt-4.4 branch.
Am I correct, if yes then is it good to follow the same release/qcomlt-4.4 branch for Debian too?

As i can see the branch gets updates and the tag stays the same with the time goes.
Thank you, Leonid.