развернуть
https://agran.livejournal.com/182872.html
исходники прошивки:
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-2013.01-20130125_linux.tar.bz2

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

архив с уже откомпилированными необходимыми модулями ядра: http://yadi.sk/d/3Ug6EBWuH3dZL
Эти модули откомпилированы из исходников 156 прошивки, они будут работать и с более поздними прошивками (проверил на 165 прошивке - работает).
Необходимо положить папку 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

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

Теперь установим пакет отвечающий за работу со звуком.
apt-get update
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

лучше изменить на index=0 в любом случае, так как иначе оно может перестать работать позже.
Перезагружаем NAS.

установка mpd: http://agran.livejournal.com/181608.html
И всё бы хорошо, но регулятор громкости не работал, что бы это исправить в файле /etc/mpd.conf разкоментируем строку:
mixer_type "software"

И перезагружаем mpd
/etc/init.d/mpd restart

Теперь звук должен регулироваться.

p.s.s.
Проигрывание mp3 320kbs отъедает 6.3% CPU и 3.5% RAM.
Проигрывание m4a - 3% CPU и 4% RAM.
---------------------------------------------------------------------------------------------------------------------------------

компиляция ядра:
https://www.kernelconfig.io/
https://wiki.gentoo.org/wiki/Kernel/Configuration/ru
https://progi.pro/chto-delaet-make-oldconfig-delat-imenno-v-make-fayle-yadra-linux-4724477
https://opensource.com/article/18/10/kbuild-and-kconfig
Поиск модулей
Внутри menuconfig можно использовать / для поиска модулей по имени.
Нажатие клавиши 1, в примере ниже, заставит make menuconfig перейти прямо к опции помеченной (1)
make ARCH=x86 menuconfig
make ARCH=mips menuconfig
make ARCH=arm64 menuconfig
yes "" | make ARCH=arm64 oldconfig
make ARCH=arm64 defconfig
make ARCH=arm64 olddefconfig
make ARCH=x86 modules_install
make defconfig сгенерируйте конфигурацию по умолчанию
make oldconfig используется для применения вашего старого файла .config к новому ядру.
make olddefconfig
make alldefconfig похоже make olddefconfig, но он также принимает фрагмент конфигурации для слияния
make silentoldconfig устарел с версии 4.19, заменён syncconfig
make syncconfig похожа на текстовый интерфейс из make config. Для новых опций она предоставляет выбор пользователю
Если новые опции должны быть оставлены как они рекомендуются (по умолчанию), то тогда используйте make olddefconfig
make allnoconfig
make allyesconfig
make tinyconfig Сконфигурируйте минимально возможное ядро

alsa pulse
aplay -D hw:CARD=PCH,DEV=3 /usr/share/sounds/alsa/Noise.wav
aplay -D default:CARD=Device /usr/share/sounds/alsa/Noise.wav
sudo -u pulse parecord -d 15 -v /tmp/123.wav - проверка телефонной трубки
sudo -u pulse paplay -d 2 -v /tmp/123.wav - вывод звука
sudo -u pulse paplay /usr/share/sounds/alsa/Noise.wav
sudo -u pulse pactl list sinks
sudo -u pulse pactl list sources

aplay -l
lspci -k | grep Audio -A2

ls -lah /dev/snd
ls -lah /sys/class/sound/card1/controlC1
cat /proc/asound/modules
cat /proc/asound/cards
cat /proc/asound/devices

проверка udev
udevadm info -a /sys/class/sound/card1/controlC1
udevadm info --query all --path /sys/class/sound/card1/controlC1
udevadm test /sys/class/sound/card1/controlC1 2>&1 | grep apply_to_event

/dev/snd/controlC0для управления аудиомикшером,
/dev/snd/pcmC0D0pи /dev/snd/pcmC0D1p для аудиовыхода, и
/dev/snd/pcmC0D0c для аудиовхода.
Также должны быть /dev/snd/seq и /dev/snd/timer для интерфейсов MIDI и таймера соответственно.

ссылки по теме:
https://sabi.co.uk/Notes/linuxSoundALSA.html
https://www.chiark.greenend.org.uk/doc/linux-doc/html/sound/alsa-configuration.html
https://tldp.org/HOWTO/Module-HOWTO/x197.html
https://unix.stackexchange.com/questions/90027/what-is-the-sequence-loading-linux-kernel-module-on-startup-how-priority-is-set
https://www.kernelconfig.io/config_snd_usb_audio?q=&kernelversion=6.13.11&arch=arm64

https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/
https://www.mankier.com/1/pactl
https://uzverss.livejournal.com/tag/mpd/
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

uzverss: (Default)
uzverss

December 2024

S M T W T F S
12345 67
891011121314
15161718192021
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 17th, 2026 09:33 pm
Powered by Dreamwidth Studios