View Full Version : Rasp Pi 2 + M2tech Hiface 1 - Anyone tried?
pitadavespa
02-11-2015, 15:06
Hi,
I'm trying to use my Hiface 1 (USB to Spdif out) in order to connect my Rasp Pi to my DAC using Moode, Volumio or similar, but I can't seem to be able to make them work.
Is it possible?
I search the net and I think it is possible with Hiface 2, but what about verison 1?
Thanks,
Luis
Rothchild
02-11-2015, 15:18
Looks like it needs a very specific driver.
Instructions and downloads available here: https://github.com/panicking/snd-usb-asyncaudio/wiki
On a second read, it looks like the driver is in the kernel from 3.11 onwards. You might need to add snd-usb-hiface to /etc/modules if it's not enabled out of the box.
pitadavespa
02-11-2015, 15:29
Looks like it needs a very specific driver.
Instructions and downloads available here: https://github.com/panicking/snd-usb-asyncaudio/wiki
On a second read, it looks like the driver is in the kernel from 3.11 onwards. You might need to add snd-usb-hiface to /etc/modules if it's not enabled out of the box.
I already tried it, but I guess I didn't notice the second part.
I'll try it later.
Thanks!
Rothchild
02-11-2015, 16:02
According to here: https://github.com/panicking/snd-usb-asyncaudio
The module is actually SND_USB_HIFACE
pitadavespa
02-11-2015, 17:21
According to here: https://github.com/panicking/snd-usb-asyncaudio
The module is actually SND_USB_HIFACE
Thanks. ;)
pitadavespa
02-11-2015, 21:29
What am I missing here?
Can you please help?
--
root@moode:/dev/snd# apt-get install kernel-headers-$(uname -r)
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package kernel-headers-4.1.10-v7
E: Couldn't find any package by regex 'kernel-headers-4.1.10-v7'
--
Thanks
Rothchild
02-11-2015, 21:51
For some reason Raspbian doesn't have the headers in their repository, if you search around a bit there are some guides about how to get around this (but they're a bit more involved than a simple couple of lines here), like this: https://www.raspberrypi.org/forums/viewtopic.php?f=71&t=17666&p=179845
Did adding the module to /etc/modules not work then?
pitadavespa
02-11-2015, 21:57
For some reason Raspbian doesn't have the headers in their repository, if you search around a bit there are some guides about how to get around this (but they're a bit more involved than a simple couple of lines here), like this: https://www.raspberrypi.org/forums/viewtopic.php?f=71&t=17666&p=179845
Did adding the module to /etc/modules not work then?
Sorry, I'm not sure how to do that, either... :\
Rothchild
02-11-2015, 22:03
At the prompt type: sudo nano /etc/modules
it will prompt you for a password and then open the file to edit
Add: SND_USB_HIFACE
press ctrl+o to save and ctrl+x to exit nano
reboot the pi and cross your fingers...
pitadavespa
02-11-2015, 22:04
I'm now following your link and learning a bit more.
Let's see... hmmm...
pitadavespa
02-11-2015, 22:08
At the prompt type: sudo nano /etc/modules
it will prompt you for a password and then open the file to edit
Add: SND_USB_HIFACE
press ctrl+o to save and ctrl+x to exit nano
reboot the pi and cross your fingers...
I thought modules was a directory and was trying to locate SND_USB_HIFACE inside it...:lol:
Thanks!
I'll try that.
Rothchild
02-11-2015, 22:13
There's also some useful discussion here: http://www.raspyfi.com/hiface-on-linux-getting-hiface-1-working-on-raspyfi-and-debian/
It might be worth throwing snd-usb-hiface in to the module file too?
pitadavespa
02-11-2015, 22:23
Fingers were crossed, but no luck. :\
I'm now starting over with a clean install, just in case I did something wrong.
Rothchild (thank you for your help),
Do you mean snd-usb-hiface and SND_USB_HIFACE, right?
No problem, I'll do that.
One more (silly) question: if it works, how do I know?
I won't need to choose a DAC, right?
Will it just start to play sound through my DAC?
Thanks,
Luis
Light Dependant Resistor
02-11-2015, 23:54
Hi
It is always a good idea to run updates first
when installing later packages ,as any packages
that are dependant will be automatically updated .for you
sudo apt-get update
In page one you had explanation kernel headers were
not the current ones needed to install the hiface software.
applying updates should fix.
if it is a upgrade then
sudo apt-get upgrade
Cheers / Chris
Rothchild
03-11-2015, 07:23
Hi
It is always a good idea to run updates first
when installing later packages ,as any packages
that are dependant will be automatically updated .for you
Cheers / Chris
Generally a good tip but in this case the update wouldn't help as Raspbian kernel sources (which are needed to compile the driver against) aren't bundled in the repository, so one has to go through some additional hoops to get them working more info here: https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=57401
You can check this by doing: sudo apt-cache search kernel-headers
pitadavespa
03-11-2015, 17:40
Guys, thank you for your kind help, but I feel this is too much for me...
I'm not sure, but I think all these information is related with Rasp Pi, not Pi2. Am I wrong?
Thanks,
Luis
Rothchild
03-11-2015, 17:47
Guys, thank you for your kind help, but I feel this is too much for me...
I'm not sure, but I think all these information is related with Rasp Pi, not Pi2. Am I wrong?
Thanks,
Luis
Hi Luis,
No problem, it would be great if we could help get you up and running (but it does look like this is quite involved, maybe Tim in the Moode thread could help us?)
The OS is the same for both (all) Pi versions (although there are some differences for drivers compiled between the two because of the upgrade from v6 to v7 of the broadcom chip that drives them - that's what I've been working on reconciling for the version of FFmpeg used in DietPi recently) - in fact apart from the kernel (which is provided by the pi foundation with the (closed) broadcom drivers rolled in, most of the rest of raspbian is just a lightly repackaged mirror of Debian's ArmHF version.
Rothchild
03-11-2015, 18:26
On a bit of further reading the module name (what should be in /etc/modules) is snd-usb-hiface
And in response to your earlier question as to how you know it's working (it's a good one)
I think you should be able to see if the module has been loaded by using the lsmod command.
If it's loaded then we should assume it is working, if there is still no sound then we may need to configure alsa so it knows to direct the sound there (rather than to the onboard card) TBH I'm not entirely sure how to do this at the moment but certainly aplay -l will show you what the currently selected device is.
pitadavespa
03-11-2015, 18:36
On a bit of further reading the module name (what should be in /etc/modules) is snd-usb-hiface
And in response to your earlier question as to how you know it's working (it's a good one)
I think you should be able to see if the module has been loaded by using the lsmod command.
If it's loaded then we should assume it is working, if there is still no sound then we may need to configure alsa so it knows to direct the sound there (rather than to the onboard card) TBH I'm not entirely sure how to do this at the moment but certainly aplay -l will show you what the currently selected device is.
Thank you for your help.
I guess there are a few things here that I need to try again: http://www.raspyfi.com/hiface-on-lin...fi-and-debian/
TimCurtis
03-11-2015, 20:47
Hi,
I'm trying to use my Hiface 1 (USB to Spdif out) in order to connect my Rasp Pi to my DAC using Moode, Volumio or similar, but I can't seem to be able to make them work.
Is it possible?
I search the net and I think it is possible with Hiface 2, but what about verison 1?
Thanks,
Luis
Hi Luis,
In Moode, USB attached audio devices are automatically configured. Most devices work without issue but a vary small number do not because they require their own special USB sound drivers or a special version of the standard USB driver, none of which are included in mainline Linux.
If you wouldn't mind following a short procedure I can help troubleshoot if issue comes up.
(1) copy the latest Moode 2.4 image to SD card
(2) start from powered off Pi
(3) plug Hiface device into USB port
(4) power up the Pi
(5) http://moode (or moode.local, whichever works on your network)
(6) Menu, Configure, MPD
Does "USB audio device" appear in the "Audio output" field?
If it does, this is an indication that automatic configuration phase completed.
Regards,
Tim
pitadavespa
03-11-2015, 21:05
Tim, that's great help!
I'll try it right now and let you know.
Thanks. ;)
pitadavespa
03-11-2015, 21:18
Hi Luis,
In Moode, USB attached audio devices are automatically configured. Most devices work without issue but a vary small number do not because they require their own special USB sound drivers or a special version of the standard USB driver, none of which are included in mainline Linux.
If you wouldn't mind following a short procedure I can help troubleshoot if issue comes up.
(1) copy the latest Moode 2.4 image to SD card
(2) start from powered off Pi
(3) plug Hiface device into USB port
(4) power up the Pi
(5) http://moode (or moode.local, whichever works on your network)
(6) Menu, Configure, MPD
Does "USB audio device" appear in the "Audio output" field?
If it does, this is an indication that automatic configuration phase completed.
Regards,
Tim
Hi Tim,
No, it does not. Only shows "Onboard audio device".
What can/should I do?
Thank you very much,
Luis
TimCurtis
03-11-2015, 22:10
Hi Tim,
No, it does not. Only shows "Onboard audio device".
What can/should I do?
Thank you very much,
Luis
Hi Luis,
Generally, that result means that Linux was not able to detect the device and not much I can do. This USB device must require a special driver that is not in latest mainline Linux kernel.
Here are the USB sound drivers included in 4.1.10+ kernel that Moode uses.
root@rp4:/lib/modules/4.1.10-v7+# find . -name snd-usb*
./kernel/sound/usb/caiaq/snd-usb-caiaq.ko
./kernel/sound/usb/snd-usbmidi-lib.ko
./kernel/sound/usb/6fire/snd-usb-6fire.ko
./kernel/sound/usb/snd-usb-audio.ko
root@rp4:/lib/modules/4.1.10-v7+#
One option of course is switch to a HifiBerry Digi+ S/PDIF card for the Pi. A lot of Moode users report that this card works really well :-)
Regards,
Tim
pitadavespa
03-11-2015, 22:47
From what I read, it need this driver: ./kernel/sound/usb/snd-usb-audio.ko
So, how can I "activate" it?
Thanks,
Luis
pitadavespa
03-11-2015, 23:12
If I try to install the module, I receive an error;
root@moode:/lib/modules/4.1.10-v7+/kernel/sound/usb# sudo insmod snd-usb-audio.ko
insmod: ERROR: could not insert module snd-usb-audio.ko: Unknown symbol in module
What am I doing wrong?
(I don't even know if this is the right way os installing a driver...)
Thanks,
Luis
TimCurtis
04-11-2015, 00:38
If I try to install the module, I receive an error;
root@moode:/lib/modules/4.1.10-v7+/kernel/sound/usb# sudo insmod snd-usb-audio.ko
insmod: ERROR: could not insert module snd-usb-audio.ko: Unknown symbol in module
What am I doing wrong?
(I don't even know if this is the right way os installing a driver...)
Thanks,
Luis
Hi Luis,
Thats the standard usb audio driver and its already present in the kernel (see below). Linux is not configuring this USB device for some reason, probably because it implements a non-standard USB descriptor in its firmware. This is the case for the small number of other USB audio devices that Linux won't configure.
You can examine boot log for any errors regarding the device. cat /var/log/dmesg.
Tim
root@rp4:/lib/modules/4.1.10-v7+# find . -name snd-usb*
./kernel/sound/usb/caiaq/snd-usb-caiaq.ko
./kernel/sound/usb/snd-usbmidi-lib.ko
./kernel/sound/usb/6fire/snd-usb-6fire.ko
./kernel/sound/usb/snd-usb-audio.ko
root@rp4:/lib/modules/4.1.10-v7+#
Rothchild
04-11-2015, 08:19
Best guide yet (and packages to help) for installing kernel headers and compiling against them:
https://github.com/notro/rpi-source/wiki
Thanks for joining us Tim, yes the issue is a non-standard driver which needs compiling and the lack of kernel header packages in Raspbian. The documentation suggests the driver has been rolled in to the kernel but experience so far seems to suggest it might have been rolled back out again!
pitadavespa
04-11-2015, 18:19
Hi Luis,
Generally, that result means that Linux was not able to detect the device and not much I can do. This USB device must require a special driver that is not in latest mainline Linux kernel.
Here are the USB sound drivers included in 4.1.10+ kernel that Moode uses.
root@rp4:/lib/modules/4.1.10-v7+# find . -name snd-usb*
./kernel/sound/usb/caiaq/snd-usb-caiaq.ko
./kernel/sound/usb/snd-usbmidi-lib.ko
./kernel/sound/usb/6fire/snd-usb-6fire.ko
./kernel/sound/usb/snd-usb-audio.ko
root@rp4:/lib/modules/4.1.10-v7+#
One option of course is switch to a HifiBerry Digi+ S/PDIF card for the Pi. A lot of Moode users report that this card works really well :-)
Regards,
Tim
Maybe that's the way to go. I've also read that RPi's USB ports share the same resources as the Ethernet and that may not be a very good thing to start.
On the other hand, a HifiBerry Digi+ S/PDIF or similar is almost the same price as a DAC, or even the RPi itself!
I'm really lost here...
TimCurtis
04-11-2015, 19:09
Hi Luis,
Would mind running the short procedure below and posting the output from commands (5) through (8) ? I was thinking a bit and want to rule out a possible ALSA issue.
(1) power off the Pi
(2) plug in USB DAC
(3) power up Pi
(4) ssh root@moode (pwd = moode)
(5) lsusb
(6) cat /proc/asound/cards
(7) cat /proc/asound/modules
(8) cat /var/log/dmesg
For #8, just post the "usb" lines. They look similar to below. There will be several groups of them.
[ 3.079837] usb 1-1.3: new full-speed USB device number 5 using dwc_otg
[ 3.268783] usb 1-1.3: New USB device found, idVendor=1852, idProduct=7022
[ 3.287974] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
.
.
.
.
Regards,
Tim
TimCurtis
04-11-2015, 19:18
Best guide yet (and packages to help) for installing kernel headers and compiling against them:
https://github.com/notro/rpi-source/wiki
Thanks for joining us Tim, yes the issue is a non-standard driver which needs compiling and the lack of kernel header packages in Raspbian. The documentation suggests the driver has been rolled in to the kernel but experience so far seems to suggest it might have been rolled back out again!
Hi Marc,
Thanks for the link :-)
Linux giveth and Linux taketh away. lol
Regards,
Tim
pitadavespa
04-11-2015, 20:20
Hi Luis,
Would mind running the short procedure below and posting the output from commands (5) through (8) ? I was thinking a bit and want to rule out a possible ALSA issue.
(1) power off the Pi
(2) plug in USB DAC
(3) power up Pi
(4) ssh root@moode (pwd = moode)
(5) lsusb
(6) cat /proc/asound/cards
(7) cat /proc/asound/modules
(8) cat /var/log/dmesg
For #8, just post the "usb" lines. They look similar to below. There will be several groups of them.
[ 3.079837] usb 1-1.3: new full-speed USB device number 5 using dwc_otg
[ 3.268783] usb 1-1.3: New USB device found, idVendor=1852, idProduct=7022
[ 3.287974] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
.
.
.
.
Regards,
Tim
Hi Tim,
Sure!
Here it goes.
(5) root@moode:~# lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 04b4:930b Cypress Semiconductor Corp.
(6) root@moode:~# cat /proc/asound/cards
0 [ALSA ]: bcm2835 - bcm2835 ALSA
bcm2835 ALSA
(7) root@moode:~# cat /proc/asound/modules
0 snd_bcm2835
(8) cat /var/log/dmesg | grep usb*
[ 0.773455] usbcore: registered new interface driver usbfs
[ 0.779043] usbcore: registered new interface driver hub
[ 0.784461] usbcore: registered new device driver usb
[ 1.137451] usbcore: registered new interface driver smsc95xx
[ 1.608117] High-Speed Isochronous Endpoints
[ 1.681201] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.689064] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.697346] usb usb1: Product: DWC OTG Controller
[ 1.703075] usb usb1: Manufacturer: Linux 4.1.10-v7+ dwc_otg_hcd
[ 1.710128] usb usb1: SerialNumber: 3f980000.usb
[ 1.726822] usbcore: registered new interface driver usb-storage
[ 1.831802] usbcore: registered new interface driver usbhid
[ 1.839526] usbhid: USB HID core driver
[ 2.105090] usb 1-1: new high-speed USB device number 2 using dwc_otg
[ 2.315355] usb 1-1: New USB device found, idVendor=0424, idProduct=9514
[ 2.323260] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 2.615080] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[ 2.735304] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
[ 2.743384] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 3.105076] usb 1-1.4: new high-speed USB device number 4 using dwc_otg
[ 3.225582] usb 1-1.4: New USB device found, idVendor=04b4, idProduct=930b
[ 3.233685] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3.242220] usb 1-1.4: Product: USB-SPDIF
[ 3.247429] usb 1-1.4: Manufacturer: M2TECH
[ 3.253215] usb 1-1.4: config 0 descriptor??
Thanks!
pitadavespa
04-11-2015, 20:20
Double posted...
TimCurtis
05-11-2015, 15:40
Hi Tim,
Sure!
Here it goes.
(5) root@moode:~# lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 04b4:930b Cypress Semiconductor Corp.
(6) root@moode:~# cat /proc/asound/cards
0 [ALSA ]: bcm2835 - bcm2835 ALSA
bcm2835 ALSA
(7) root@moode:~# cat /proc/asound/modules
0 snd_bcm2835
(8) cat /var/log/dmesg | grep usb*
[ 0.773455] usbcore: registered new interface driver usbfs
[ 0.779043] usbcore: registered new interface driver hub
[ 0.784461] usbcore: registered new device driver usb
[ 1.137451] usbcore: registered new interface driver smsc95xx
[ 1.608117] High-Speed Isochronous Endpoints
[ 1.681201] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.689064] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.697346] usb usb1: Product: DWC OTG Controller
[ 1.703075] usb usb1: Manufacturer: Linux 4.1.10-v7+ dwc_otg_hcd
[ 1.710128] usb usb1: SerialNumber: 3f980000.usb
[ 1.726822] usbcore: registered new interface driver usb-storage
[ 1.831802] usbcore: registered new interface driver usbhid
[ 1.839526] usbhid: USB HID core driver
[ 2.105090] usb 1-1: new high-speed USB device number 2 using dwc_otg
[ 2.315355] usb 1-1: New USB device found, idVendor=0424, idProduct=9514
[ 2.323260] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 2.615080] usb 1-1.1: new high-speed USB device number 3 using dwc_otg
[ 2.735304] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
[ 2.743384] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 3.105076] usb 1-1.4: new high-speed USB device number 4 using dwc_otg
[ 3.225582] usb 1-1.4: New USB device found, idVendor=04b4, idProduct=930b
[ 3.233685] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 3.242220] usb 1-1.4: Product: USB-SPDIF
[ 3.247429] usb 1-1.4: Manufacturer: M2TECH
[ 3.253215] usb 1-1.4: config 0 descriptor??
Thanks!
Hi Luis,
The line "[ 3.253215] usb 1-1.4: config 0 descriptor??" indicates Linux USB subsystem is not able to read the device descriptor in the DAC's firmware.
If you run lsusb -v there should be line similar to below somewhere in the output.
"Couldn't open device, some information will be missing”
Regards,
Tim
pitadavespa
05-11-2015, 16:03
Thanks Tim,
I'll do that and let you know.
Does that mean there's nothing I can do to make it work?
Kind regards,
Luis
TimCurtis
05-11-2015, 16:56
Thanks Tim,
I'll do that and let you know.
Does that mean there's nothing I can do to make it work?
Kind regards,
Luis
Hi Luis,
It would appear that there is nothing that can be done.
Regards,
Tim
pitadavespa
05-11-2015, 17:18
Hi Luis,
It would appear that there is nothing that can be done.
Regards,
Tim
:glug::glug::glug:
:)
Well, if that confirms, it seems the right move is to decide if I buy a DAC or "just" a board with a digital out (S/PDIF prefered) and use my external DAC.
Thanks everyone,
Luis
I have been using raspberry pi and 2 and also the cubox-i with my jkdac32 for a while, its hiface 1 based so uses the same driver. Wasn't aware it was entered into the kernel though, that bit of text about mainline wasn't in when I built the RPI2 sd card. I ended up resorting to installing arch linux and setting up MPD myself. The best bet of the prebuilt ones is probably Rune Audio as it uses Arch as its base, so you should be able to get the kernel headers unlike rasbian, only issue I had is a full upgrade is necessary and that managed to break the web interface last time I tried. :doh: , and you may have to resize the partition if the image is 2GB (not too hard if you know how).
The driver also doesn't work any more on the current kernels. It used a deprecated function which has now been replaced (snd_card_create needs changing to snd_card_new, with the usb interface struct passed in to the function). I managed to tweak it so it works again after an awful lot of googling to locate the problem.
I will try and help if you really want to get it working, but it can be a pain in the bum.
:glug::glug::glug:
:)
Well, if that confirms, it seems the right move is to decide if I buy a DAC or "just" a board with a digital out (S/PDIF prefered) and use my external DAC.
Thanks everyone,
Luis
The dacs that you get for these are super. Ive got both the sabre one and the iq one and they are both great. work easy peasy on moode too.
Hi Chaps,
I've not been on here for a long while. I just setup Volumio with a hiface usb dac and it wasn't trivial and most of the guides were out of date. I've stuck my scripts on github:
https://github.com/gilesw/volumio-customizations
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.