WD My Cloud + USB-audio. Play music. Solution

I’ve got it connected to the My Cloud audio speakers and play music through it. 

After several days of research got to do with our NASa “mp3 player”. Sound on its attached usb-sound card appeared. I had to compile the kernel modules that are responsible for the sound.

To compile the kernel modules I downloaded the firmware source from

http://support.wd.com/product/download.asp?groupid=904&sid=211

There is a file in the firmware \packages\kernel_3.2.26.28\wd\README

And there is described how to compile the kernel and modules.

The only reference to the compiler was not working, I downloaded it from here: https://launchpadlibrarian.net/129960680/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux.tar.bz2

All I have done in Ubuntu 12.04 x86. In the 64-bit version may need to install 32 bit modules:

apt-get install ia32-libs

Configuring the kernel, I check all the items in section: Device Driver\Sound card support

Compiled and got a folder with sound *. ko files.

Here is an archive of pre-compiled kernel modules required: 

https://mega.co.nz/#!G95xzaDa!oBQMkbXXF4ltTC4t-xvR_3S1Ury23evIyYTvv0M5FEU

These modules are compiled from source 156 firmware, but it seems to me that they will work with later firmware (checked on 165 firmware - works).

Need to put the folder sound in /lib/modules/3.2.26/kernel on our NAS.

Necessary to add to the file /lib/modules/3.2.26/modules.dep strings:

kernel/sound/soundcore.ko:

kernel/sound/usb/snd-usb-audio.ko:

kernel/sound/usb/snd-usbmidi-lib.ko:

kernel/sound/core/snd.ko:

kernel/sound/core/snd-hwdep.ko:

kernel/sound/core/snd-page-alloc.ko:

kernel/sound/core/snd-pcm.ko:

kernel/sound/core/snd-rawmidi.ko:

kernel/sound/core/snd-timer.ko:

kernel/sound/core/seq/snd-seq.ko:

kernel/sound/core/seq/snd-seq-device.ko:

kernel/sound/core/seq/snd-seq-midi.ko:

kernel/sound/core/seq/snd-seq-midi-event.ko:

Then run the command:

depmod -a

Then:

modprobe snd-usb-audio

If no errors pop up, everything is OK.

See which modules are loaded with the command:

lsmod

What would sound modules automatically loaded at startup NAS, in file /etc/modules appends:

snd-usb-audio

Now, install apt, responsible for working with sound.

apt-get update

apt-get install alsa

Connect your usb-audio card (I have Sound Blaster Play!) and enter:

cat /proc/asound/cards

This should display up your sound card.

Put name.wav file folder Public.

And run:

aplay /shares/Public/name.wav

If from the speakers connected to the usb-audio card will hear our record means you’re done.

If you throw a message:

ALSA lib confmisc.c:768 :(parse_card) cannot find card ‘0’

then in the file /etc/modprobe.d/alsa-base.conf edit line

options snd-usb-audio index=-2

to

options snd-usb-audio index=0

In general I suggest to change to the index=0 in any case, since otherwise it may stop working later.

Restarting the NAS.

Now you can install any console audio player and enjoy the most capacious mp3-player.

I recommend to install a network player mpd

apt-get install mpd

If you install player mpd, you can help to uncomment in the file /etc/mpd.conf line:

mixer_type “software”

This will adjust the volume.

What would mpd server will be available on the network parameter change:

bind_to_address “localhost”

to

bind_to_address “0.0.0.0”

And chenge parameter to folder available on the network:

music_directory “/shares/Music”

In this folder, you must upload music.

Then we need to reload mpd:

/etc/init.d/mpd restart

Control playback on the network can use the program Сantata.

p.s. The disadvantage is that when you start to copy files over the network to the device, the music starts to stutter a bit, how to fix it - I have not found.

(c) agran - BTC: 1agran1xQ4Nwiqv1qegBDF6kqZdfESMUG

2 Likes

Hello,

Thaks for sharing this.

It works perfectly!

thx so much.

I liked the display Jukebox as folders.

Hello,

Thank you for sharing the information.

According to your instructions, I tried to play music with USB-D/A (not usb sound card).

But, it doesn’t work.

So, I’d like to know if the kernel modules should be comfiled newly with USB-D/A option.

If so, it would be great if you comple it with USB-D/A option, and upload it here.

That’s all audio modules, which I have. I do not know if there’s required modules.

https://mega.co.nz/#!voIV2QgD!-4rl51D5dsfwYgtniJSVecmGtMT3hz-UBn-fbEkvdnQ

Hi Agran,

I’m taking exactly your approach to user our WD MyCloud NAS as a media player. We already have the Logitech Media Server running on it but we actually want another instance of Softsqueeze or SqueezeSlave running on it in order to play back audio from the NAS. We bought a 22U$ USB DA card from here, and though you provided a throughfoul explanation–and I’m also pretty confident with the Linux terminal–I’m not following you in your instructions.

Could you please explain in detail how did you get the audio running through a USB DA card?

Thanks,

A.

Hi Agran,

Me again, the instructions were crystal clear, my mistake!

Thanks a lot,

A.

Agran, привет, у меня возникла проблема на 230 прошивке, делал все по инструкции, звуковая карта определилась:

WDMyCloud:~# cat /proc/asound/cards
0 [AC209N]: USB-Audio - AC209N
AC209N AC209N at usb-xhci-hcd-1, full speed

но при попытке проиграть файл пишет:

WDMyCloud:~# aplay
ALSA lib pcm_direct.c:980 snd1_pcm_direct_initialize_slave) unable to install hw params
ALSA lib pcm_dmix.c:1030 snd_pcm_dmix_open) unable to initialize slave
aplay: main:682: audio open error: Input/output error

модули загружаны:
WDMyCloud:~# lsmod
Module Size Used by
vfat 9648 1
fat 47400 1 vfat
ufsd 577696 0
snd_usb_audio 91951 0
snd_usbmidi_lib 28710 1 snd_usb_audio
snd_seq_midi 4813 0
snd_seq_midi_event 4718 1 snd_seq_midi
snd_rawmidi 19260 2 snd_seq_midi,snd_usbmidi_lib
snd_hwdep 5305 1 snd_usb_audio
snd_pcm 75357 1 snd_usb_audio
snd_page_alloc 5991 1 snd_pcm
snd_seq 61195 2 snd_seq_midi_event,snd_seq_midi
snd_seq_device 6344 3 snd_seq,snd_rawmidi,snd_seq_midi
snd_timer 19038 2 snd_seq,snd_pcm
snd 49155 9 snd_timer,snd_seq_device,snd_seq,snd_pcm,snd_hwdep,snd_rawmidi,snd_seq_midi,snd_usbmidi_lib,snd_usb_audio
soundcore 6403 1 snd
pfe 429037 0
fuse 70569 1

помоги пожауйста :slight_smile: