LINUX.ORG.RU
ФорумMobile

Добавление звука в NAS Western Digital MyCloud

 , , ,


0

1

Купил NAS Western Digital MyCloud. (тут обзор есть). На этом NAS установлен Debian Wheezy. Процессор ARM71.

Надо сказать, что я совсем новичок в Linux.

Появилась необходимость добавить звук в это устройство. Купил USB аудиокарту SB play!

PulseAudio не получилось установить. Установил ALSA.

SB play! не определяется устройством как звуковая карта.

alsactl init
alsactl: init:1758: No soundcards found...
cat /proc/asound/cards
cat: /proc/asound/cards: No such file or directory

Вычитал что надо установить модули ядра, кажется soundcore и snd_usb_audio.

lsmod
Module                  Size  Used by
ufsd                  577696  0
pfe                   429037  0
fuse                   70569  1

В /lib/modules/3.2.26/kernel/ ничего про звук нет. При попытке подсунуть ей soundcore.ko из другого ядра ругается.

insmod .../soundcore.ko
insmod: ERROR: could not insert module .../soundcore.ko: Invalid module format
в интернете пишут про эту ошибку: модуль скомпилирован для другой версии ядра; перекомпилируйте модуль.

Дело ещё осложняется тем что многие пакеты не устанавливаются, например я хотел установить пакет для управления модулями module-assistant. Но при установке на команду m-a prepare выдаёт:

...
(Чтение базы данных … на данный момент установлено 27974 файла и каталога.)
Подготовка к замене пакета libc6:armhf 2.17-6 (используется файл …/libc6_2.17-97_armhf.deb) …

A copy of the C library was found in an unexpected directory:
  '/lib/arm-linux-gnueabihf/libc-2.17.so'
It is not safe to upgrade the C library in this situation;
please remove that copy of the C library or get it out of
'/lib/arm-linux-gnueabihf' and try again.

dpkg: ошибка при обработке параметра /var/cache/apt/archives/libc6_2.17-97_armhf.deb (--unpack):
 подпроцесс новый сценарий pre-installation возвратил код ошибки 1
При обработке следующих пакетов произошли ошибки:
 /var/cache/apt/archives/libc6_2.17-97_armhf.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

И кстати я добавил «deb http://ftp.ru.debian.org/debian/ sid main» в /etc/apt/sources.list, без этого оно практически вообще не устанавливает пакеты.

uname -a
Linux WDMyCloud 3.2.26 #1 SMP Fri Dec 27 13:50:41 PST 2013 armv7l GNU/Linux

Прошу вашей помощи.



Последнее исправление: agran (всего исправлений: 1)

Если ты новичок, то не надо смешивать такие вещи.
Это NAS. На этой большой штуке хранят файлы. Это не полноценный компьютер. Если ты купил эту штуку, чтобы установить туда звуковуху, то у меня для тебя плохие новости. Тебе стоило купить что-то другое.
Твой путь не юниксвеен.

Deleted
()

я добавил «deb http://ftp.ru.debian.org/debian/ sid main» в /etc/apt/sources.list

А вот это вы зря так необдуманно сделали.

Вообще, вам не мешало бы изучить матчасть.

Towelie
()

PulseAudio не получилось установить. Установил ALSA.

с такими познаниями лучше ничего не начинать делать

anonymous
()

PulseAudio не получилось установит

Очень толст^w информативно

darkenshvein ★★★★★
()

Почитай статьи по настройке сервисов на WD MyBook Live. В частности про резервные копии системных разделов. Девайсы эти вполне реально окирпичить, особенно бездумными обновлениями.

И кстати я добавил «deb http://ftp.ru.debian.org/debian/ sid main» в /etc/apt/sources.list, без этого оно практически вообще не устанавливает пакеты.

Верни взад и выясни причину.

ollowtf ★★★
()
Ответ на: комментарий от ollowtf

Я уже скирпичил и реанимировал по этой инструкции: http://community.wd.com/t5/WD-My-Cloud/How-to-unbrick-a-totally-dead-WD-My-Cl... На этом устройстве вся система лежит на винте, так что окончательно окирпичить очень сложно.

Нашёл на сайте wd.com исходники ядра под это устройство. Я правильно понимаю, что если его собрать с нужными мне звуковыми модулями, то всё будет работать как мне надо?

Буду думать как собрать.

agran
() автор топика

теперь стало выдавать в ответ на любой apt-get install ... :

Preparing to replace procps 1:3.3.3-2 (using .../procps_1%3a3.3.3-3_armhf.deb) ...
Unpacking replacement procps ...
dpkg: error processing /var/cache/apt/archives/procps_1%3a3.3.3-3_armhf.deb (--unpack):
 trying to overwrite '/etc/sysctl.conf', which is also in package kernel-mindspeed-sequoia 01.00.00-128702
dpkg: error while cleaning up:
 subprocess new post-removal script returned error exit status 1
Processing triggers for man-db ...
Errors were encountered while processing:
 /var/cache/apt/archives/procps_1%3a3.3.3-3_armhf.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

agran
() автор топика
WDMyCloud:/var/lib/dpkg/info# sudo apt-get install build-essential kernel-package libncurses-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libncurses5-dev' instead of 'libncurses-dev'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 build-essential : Depends: libc6-dev but it is not going to be installed or
                            libc-dev
                   Depends: g++ (>= 4:4.4.3) but it is not going to be installed
 libncurses5-dev : Depends: libc-dev
E: Unable to correct problems, you have held broken packages.

Это я сейчас на «deb http://ftp.us.debian.org/debian/ wheezy main contrib non-free»

agran
() автор топика
Ответ на: комментарий от ollowtf

Получилось получить первые звуки на подключённой к NASу usb-звуковухе. Для этого пришлось откомпилировать модули ядра отвечающие за звук. Почти всё что надо есть в исходниках прошивки выложенных на сайте производителя устройства. А mpd я уже настраивал на Ubuntu x86, так что, думаю дальше сложностей не возникнет.

agran
() автор топика
Ответ на: комментарий от agran

Что бы откомпилировать модули ядра я скачал прошивку c http://support.wd.com/product/download.asp?groupid=904&sid=211&lang=ru Там в прошивке есть файл \packages\kernel_3.2.26.28\wd\README И там описано как откомпилировать ядро и модули.

Единственно, ссылка на компилятор там не рабочая, я скачал его отсюда: https://launchpadlibrarian.net/129960680/gcc-linaro-arm-linux-gnueabihf-4.7-2...

Всё это делал я в Ubuntu 12.04 x86. В 64 битной версии может потребоваться установка 32 битных модулей: apt-get install ia32-libs

Конфигурируя ядро я отметил все пункты в разделе: Device Driver\Sound card support

Откомпилировал.

В итоге я получил папку sound с *.ko файлами.

Вот архив с уже откомпилированными необходимыми модулями ядра: http://yadi.sk/d/3Ug6EBWuH3dZL Эти модули откомпилированы из исходников 156 прошивки, но мне кажется, что они будут работать и с более поздними прошивками.

Необходимо положить папку sound в /lib/modules/3.2.26/kernel на нашем NAS.

Дописать в файл /lib/modules/3.2.26/modules.dep

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:

После чего выполнить команду: depmod -a

Потом: modprobe snd-usb-audio

Если никаких ошибок не выскочит, значит всё OK.

Увидеть загруженные модули можно командой: lsmod

Что бы звуковые модули автоматически загружались при старте NAS, в файле /etc/modules дописываем snd-usb-audio

Теперь установим пакет отвечающий за работу со звуком. apt-get install alsa

Подключаем свою usb-аудиокарту (у меня SB play!) и вводим cat /proc/asound/cards должна появится ваша аудиокарта.

Положим name.wav файл в папку Public.

И выполним команду: aplay /shares/Public/name.wav

Если из динамиков подключённых к usb-аудиокарте послышится наша запись значит всё готово.

Если выдаст: ALSA lib confmisc.c:768:(parse_card) cannot find card '0' то в файле /etc/modprobe.d/alsa-base.conf редактируем строку options snd-usb-audio index=-2 так что бы было options snd-usb-audio index=0

Перезагружаем NAS.

Теперь можете установить любой консольный аудиоплеер и наслаждаться самым ёмким mp3-плеером.

agran
() автор топика
Ответ на: комментарий от agran

Вылезла ещё одна проблема. При копировании файлов по сети на устройство использование процессора вырастает до 100% и начинаются заикания-щелчки в звучании. Уже похоже перепробовал все решения которые мог найти в интернете с ALSA и PulseAudio с буфером и всем таким, но ничего не помогает. Использование OSS тоже не помогает.

agran
() автор топика
22 марта 2014 г.
Ответ на: комментарий от agran

Можно поинтересоваться, зачем вы хотите играть звук на mycloud-e?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.