Sound

I want to use the HiKey for music and I have a couple of USB sound cards (Creative, Behringer and no-name), all these cards work well with the Banana PI.
When I connect them to the HiKey the cards show up as usb devices (lsusb) but are not usable as sound devices. It look like that debian has no drivers.

Is it planned for the future to add these drivers ? Or are there any other options to get the USB sound cards running ?

Harry

Hi @harry4516,

I am not 100% sure but probably what happening is that the drivers of the USB sound cards are not build together when the default kernel was build.

I night able to try adding the drivers of your USB sound cards.

Do you mind teaching me the log of “lsusb” to find which drivers are needed?

thanks for your reply.

lsusb shows:
Texas instruments pcm2902c

Please update the boot loader as dscribed in this documentation.

I used the release from here.
http://builds.96boards.org/releases/hikey/linaro/debian/15.11/

Getting the kernel sources.


$ git clone https://github.com/96boards/linux.git
$ cd linux/
$ git checkout -b working-hikey 96boards-hikey-15.11

Please save this as file name “usb-audio.patch”


--- a/.config	2016-02-12 16:47:15.204957120 +0900
+++ b/.config	2016-02-12 16:49:15.336954840 +0900
@@ -2582,6 +2582,10 @@ CONFIG_LOGO_LINUX_CLUT224=y
 CONFIG_SOUND=y
 # CONFIG_SOUND_OSS_CORE is not set
 CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_HWDEP=y
+CONFIG_SND_RAWMIDI=y
 # CONFIG_SND_SEQUENCER is not set
 # CONFIG_SND_MIXER_OSS is not set
 # CONFIG_SND_PCM_OSS is not set
@@ -2591,6 +2595,7 @@ CONFIG_SND_SUPPORT_OLD_API=y
 CONFIG_SND_VERBOSE_PROCFS=y
 # CONFIG_SND_VERBOSE_PRINTK is not set
 # CONFIG_SND_DEBUG is not set
+CONFIG_SND_VMASTER=y
 # CONFIG_SND_RAWMIDI_SEQ is not set
 # CONFIG_SND_OPL3_LIB_SEQ is not set
 # CONFIG_SND_OPL4_LIB_SEQ is not set
@@ -2672,11 +2677,12 @@ CONFIG_SND_PCI=y
 # CONFIG_SND_HDA_INTEL is not set
 CONFIG_SND_SPI=y
 CONFIG_SND_USB=y
-# CONFIG_SND_USB_AUDIO is not set
-# CONFIG_SND_USB_UA101 is not set
-# CONFIG_SND_USB_CAIAQ is not set
-# CONFIG_SND_USB_6FIRE is not set
-# CONFIG_SND_USB_HIFACE is not set
+CONFIG_SND_USB_AUDIO=y
+CONFIG_SND_USB_UA101=y
+CONFIG_SND_USB_CAIAQ=y
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_6FIRE=y
+CONFIG_SND_USB_HIFACE=y
 # CONFIG_SND_BCD2000 is not set
 # CONFIG_SND_SOC is not set
 # CONFIG_SOUND_PRIME is not set


Building the kernel.

 
$ export ARCH=arm64
$ export CROSS_COMPILE=aarch64-linux-gnu-
$ export LOCALVERSION="-linaro-hikey"

$ make distclean
$ make defconfig

$ patch -p1 < usb-audio.patch

$ make -j8 Image modules hi6220-hikey.dtb 2>&1 | tee build-log.txt
$ export INSTALL_MOD_PATH=<code>pwd</code>/installed_modules
$ mkdir $INSTALL_MOD_PATH
$ make modules_install
$ cd ..

Make boot image on SD.

Insert your SD card to the Linux PC.


$ export USER=your-user-name

$ sudo dd if=hikey-jessie_alip_20151130-387.img of=/dev/mmcblk0 bs=4M oflag=sync status=noxfer
$ cd linux/
$ cp -a arch/arm64/boot/Image /media/$USER/boot/ <- where your SD card is mounted
$ cp -a arch/arm64/boot/dts/hi6220-hikey.dtb /media/$USER/boot/
$ sudo cp -ar install_modulesed/lib/modules/3.18.0-linaro-hikey/ /media/$USER/rootfs/lib/modules/

I do not have the USB-sound device, so I am not perfectly sure this will works for you.

I tried on my USB-ethernet device and this is the output.

[ 33.749894] usb 1-1.2: new full-speed USB device number 3 using dwc2
[ 33.883031] usb 1-1.2: not running at top speed; connect to a high speed hub
[ 34.292478] ax88179_178a 1-1.2:1.0 eth0: register ‘ax88179_178a’ at usb-f72c0000.usb-1.24
[ 38.389585] ax88179_178a 1-1.2:1.0 eth0: ax88179 - Link status is: 1

I hope your sound card works.

thanks for your explanation,
do you plan to add this to the next release ?