Саш, я не про отдал!нность сцены, а именно про её глубину. Помнишь, когда я с Тммом приезжал в последний раз обсуждали? Надо отловить мне ту машину и послушать))) Я как раз на Акадамке работаю;)
Натапал толком, простите за очепятки
Вид для печати
Саш, я не про отдал!нность сцены, а именно про её глубину. Помнишь, когда я с Тммом приезжал в последний раз обсуждали? Надо отловить мне ту машину и послушать))) Я как раз на Акадамке работаю;)
Натапал толком, простите за очепятки
Всем доброго вечера! Посоветуйте конвертер пожалуйста! ГУ планшет типа Нексуса. На выходе чтобы 2 RCA были. Ограничение по цене 8к. Но хотелось бы найти устройство, которое лежит в точке пересечения кривых при подъемах цены и качества. Если будет действительно достойная вещь - можно и 10к отдать за нее.
Итак,, имеется вонючее ГУ на Андроиде у клиента (hices). Играть оно врядли может. Думал подкинуть внешний цап. Есть у кого-нибудь варианты?
Уже советовали на прошлой странице MUSE PCM-2704, на Burr-Brown
Вложение 455642Вложение 455644
Цена вопроса на eBay - от $30
А на выходе через такой Aureon Dual получится чистая цифра без перекодирований?(то есть если запись 41,1 KHZ то и передает по оптике 41,1 KHZ, если 48 KHZ то и передает по оптике 48 KHZ)????
fox proteus, Я смотрю по подписи у вас так сделано (Aureon Dual до проца), чистая цифра или нет?
Фубар гонит поток напрямую на девайс, в обход служб операционки.
Натапал толком, простите за очепятки
В итоге, сегодня удалось включить S/PDIF на подключенном к Allwinner A10 ARM Cortex-A8 планшету ASUS Xonar U3, заново скомпилировав snd-usb-audio.ko и snd-usbmidi-lib.ko из исходников ядра наиболее близкой ветки 3.0.8+
, добавив необходимый патч в sound/usb/mixer_quirks.c
, а заодно и патчи для сборки этой версии ядра в среде gcc-4.8 (по умолчанию в вышедшей Ubuntu x64 13.10).Код:case USB_ID(0x0b05, 0x1739):
case USB_ID(0x0b05, 0x1743):
+ case USB_ID(0x0b05, 0x17a0): /* ASUS Xonar U3 */
err = snd_xonar_u1_controls_create(mixer);
break;
За основу взят выкладывавшийся пакет кастомизации от Onda. Для включения цифрового SPDIF порта на Asus Xonar U3, как и в случае с Audigy NX 2, пока приходится использовать команды из приложения AlsaMixer:
Цитата:
14. Проверить звук на аналоговом выходе звуковой карты с помощью наушников или внешних динамиков.
15. Установить приложение AlsaMixer
https://play.google.com/store/apps/d...alex.alsamixer
16. Из консоли от рута определить наличие в настройках и numid для 'Digital Playback Switch', указав явно номер звуковой карты (у меня карта получила номер #2) в команде
alsa_amixer -c 2 controls
numid=1,iface=MIXER,name='PCM Playback Switch'
numid=2,iface=MIXER,name='PCM Playback Volume'
numid=9,iface=MIXER,name='PCM Capture Source'
numid=6,iface=MIXER,name='Line Capture Switch'
numid=7,iface=MIXER,name='Line Capture Volume'
numid=4,iface=MIXER,name='Mic Capture Switch'
numid=5,iface=MIXER,name='Mic Capture Volume'
numid=8,iface=MIXER,name='IEC958 In Capture Switch'
numid=10,iface=MIXER,name='Digital Playback Switch'
numid=3,iface=MIXER,name='Loudness'
Таким образом выясняем, что numid=10
17. Включаем порт S/PDIF командой
alsa_amixer -c 2 cset numid=10 on
, порт должен загореться красным светом.
Добавил пока для себя в скрипте инициализации автоматическое включение цифрового выхода при перезагрузке
/etc/install-recovery.sh
Код:#!/system/bin/sh
insmod /system/vendor/modules/snd-hwdep.ko
insmod /system/vendor/modules/snd-rawmidi.ko
insmod /system/vendor/modules/snd-usbmidi-lib.ko
insmod /system/vendor/modules/snd-usb-audio.ko
if [ -c /dev/snd/pcmC2D0p ]; then
# valid values for media.audio.out.mode: codec, usb
setprop media.audio.out.mode usb
/system/bin/log -t usb-audio "### Route all audio to USB."
/system/xbin/alsa_amixer -c 2 sset 'Digital',0 on
else
/system/bin/log -t usb-audio "### /dev/snd/pcmC2D0p does not exist. Use default"
fi
---------- Сообщение добавлено 22.10.2013 в 11:15 ----------
Существенный недостаток этого метода:
при отключенном питании планшет засыпает через несколько минут отсутствия активности в целях экономии батареи. Соответственно, "засыпают" и устройства, подключенные по USB, т.к. они потребляют 5V питания.
При возвращении из сна система восстанавливает свое состояние, последовательно переподключая устройства. Но так как моя сборка не знает команды
, чтобы прочитать конфигурацию микшера из файла /etc/asound.state,Код:alsa_ctl restore
а в Андроиде, ко всему прочему, отсутствует механизм запуска сервисов по выходу из сна из /etc/pm/sleep.d/ (как в полных Linux), то необходимо найти альтернативный способ повторить команду
после пробуждения,Код:/system/xbin/alsa_amixer -c 2 sset 'Digital',0 on
либо сделать средствами конфигурации,
/system/usr/share/alsa/alsa.conf или ~/.asoundrc,
включенным Digital при инициализации карты.
В противном случае, придется полностью (через пункт в меню настроек для разработчиков), либо частично (посредством приложений серии WakeLock) предотвратить переход в спящий режим, что не особо понравится батарее.
---------- Сообщение добавлено 22.10.2013 в 11:30 ----------
Также еще важный момент, при одновременном подключении по оптике и HDMI по умолчанию приоритет за последним, а на оптике звука нет.
Adjust the below file to use your card/device number.Цитата:
root@android:/ # alsa_aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: sun4icodec [sun4i-CODEC], device 0: M1 PCM [sun4i PCM]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sun4isndhdmi [sun4i-sndhdmi], device 0: SUN4I-HDMIAUDIO sndhdmi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: Device [USB Advanced Audio Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
root@android:/ # alsa_aplay -L
null
Discard all samples (playback) or generate zero samples (capture)
default:CARD=sun4icodec
sun4i-CODEC, sun4i PCM
Default Audio Device
default:CARD=sun4isndhdmi
sun4i-sndhdmi,
Default Audio Device
default:CARD=Device
USB Advanced Audio Device, USB Audio
Default Audio Device
)
File{$HOME}/.asoundrc
Код:pcm.!spdif {
type hw
card 2
device 0
}
pcm.!default {
type plug
slave {
pcm "spdif"
}
}
# Share a single card with multiple applications
#pcm.!default {
# type plug
# slave.pcm "dmix:CARD=0,DEVICE=1,RATE=48000"
#}
---------- Сообщение добавлено 22.10.2013 в 14:46 ----------
Скрипт для активации цифрового выхода можно было бы брутально дописать в конец скрипта-активатора 3G-модемов,
и хотя это успешно работает - некрасиво и не решает проблемы включения S/PDIF по выходу из спящего режима
root@android:/system/lib # cat /etc/usb_modeswitch.sh
При этом попытка добавитьКод:#!/system/bin/busybox ash
sleep 2
#/system/bin/setprop "mode_switch_running" "1"
if [ -f $1 ]; then
/system/bin/usb_modeswitch -W -I -c $1
else
echo "$1 does not exist."
fi
#/system/bin/setprop "mode_switch_running" "0"
if [ -c /dev/snd/pcmC2D0p ]; then
# valid values for media.audio.out.mode: codec, usb
setprop media.audio.out.mode usb
/system/bin/log -t usb-audio "### Route all audio to USB."
/system/xbin/alsa_amixer -c 2 sset 'Digital',0 on
fi
root@android:/ # cat /etc/asound.conf
пока не возымела успеха, хотя в /system/lib/libasound.so есть ссылка на основной конфигурационный файл /system/usr/share/alsa/alsa.conf, в котором прописана загрузка дополнений к конфигурации из /etc/asound.confКод:ctl.Android_DigitalOut {
type hw
card 2
}
pcm.Android_DigitalOut {
type hooks
slave.pcm {
type hw
card 2
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{name 'Digital Playback Switch' value on}
]
}
}
Никто не подскажет, где модули:
snd-hwdep.ko
snd-rawmidi.ko
snd-usbmidi-lib.ko
snd-usb-audio.ko
Под А13 взять? От А10 не подходят :(
---------- Сообщение добавлено 05.11.2013 в 18:02 ----------
Саш, а для А13 сможешь такое сделать, а то я прям измучАлси ужо от своей бестолковости :)
Они может и подходят (хотя на 100% не могу утверждать), но к JB 4.1.1 сейчас планирую попробовать либо пересобрать, либо вытащить из предыдущей прошивки Minix rk3066. От 4.0.3 потому что точно не подходят на похожем ядре и оборудовании.
Rover, на всякий случай погляди, что тебе пишет в dmesg при попытке вставить эти .ko командой insmod.
---------- Сообщение добавлено 06.11.2013 в 18:53 ----------
И версию ядра надо обязательно знать. Что говорит uname -r (или посмотреть в Настройки - О планшете (о телефоне))
Само ядро менять, как показала практика, практического смысла не имеет из-за пропиетарных модулей и библиотек (тачскрин и т.п.).
---------- Сообщение добавлено 06.11.2013 в 18:55 ----------
И, соответственно, что за устройство. Лучше скриншот этого экрана сделать.
---------- Сообщение добавлено 07.11.2013 в 09:54 ----------
Исходники портированной alsa-lib , модуль помещается в external при сборке AOSP, и включается инструкцией BOARD_USES_ALSA_AUDIO в конфигурации устройства для сборщика.
Эм... насколько я помню, смонтировать можно только раздел:)
---------- Сообщение добавлено 07.11.2013 в 17:56 ----------
-o - указатель начала списка опций команды
Чтобы понять, с чем я мурзыкаюсь, создам ка я в этой ветке темку....
То же самое, потому что /system/vendor/modules находятся в /system. В этом можно убедиться командой df, которая показывает все смонтированные тома.
---------- Сообщение добавлено 08.11.2013 в 10:46 ----------
Задачу понял. В выходные попробую собрать эти модули из
https://github.com/linux-sunxi/linux...i/import-sun5i
---------- Сообщение добавлено 08.11.2013 в 10:48 ----------
Мне тоже пора бы по своему такую начать.
Скорость сегодня феерично низкая,
, поскольку свои исходники решил пока не трогатьЦитата:
alex@Hosstia-Ubuntu:~/sun5i$ git clone https://github.com/linux-sunxi/linux-sunxi linux-sun5i
Cloning into 'linux-sun5i'...
remote: Counting objects: 3497611, done.
remote: Compressing objects: 100% (621768/621768), done.
Receiving objects: 29% (1045127/3497611), 474.05 MiB | 60.00 KiB/s
Компилировать собираюсь с параметрами совместимости со стоковыми ядрами:Цитата:
alex@Hosstia-Ubuntu:~/sun4i/linux-sunxi$ git checkout wip/lichee3-sunxi/import-sun5i
error: Your local changes to the following files would be overwritten by checkout:
drivers/media/video/sun4i_csi/csi0/sun4i_csi_reg.c
drivers/media/video/sun4i_csi/csi0/sun4i_drv_csi.c
drivers/media/video/sun4i_csi/csi1/sun4i_csi_reg.c
drivers/media/video/sun4i_csi/csi1/sun4i_drv_csi.c
drivers/media/video/sun4i_csi/include/sun4i_csi_core.h
drivers/video/sun4i/hdmi/drv_hdmi.c
Please, commit your changes or stash them before you can switch branches.
Aborting
---------- Сообщение добавлено 10.11.2013 в 16:45 ----------
Меняем в разделе Device Drivers -> Sound card support -> Advanced Linux Sound ArchitectureКод:make ARCH=arm sun5i_defconfig
make ARCH=arm menuconfig
нажатием пробела <*> на <M>, чтобы аудио-драйвера не встраивались в ядро, а собирались модулями. Также, на всякий случай, включаем
Device Drivers -> Sound card support -> Advanced Linux Sound Architecture -> USB sound devices -> USB Audio/MIDI driver <M> (в силу того, что нам нужен snd-usbmidi-lib.ko).
После сохранения полученного .config открываем его в редакторе, и проверяем наличие строк дополнительных параметров сборки для совместимости со стоковыми ядрами, при необходимости добавляя их (либо снимая комментарий с закомментированных # ) или меняя параметр сборки на "y":
Затем, соответственно,Код:CONFIG_DEBUG_PREEMPT=y
CONFIG_DEBUG_RT_MUTEXES=y
CONFIG_DEBUG_SPINLOCK=y
CONFIG_DEBUG_MUTEXES=y
CONFIG_PROFILING=y
CONFIG_PERF_EVENTS=y
CONFIG_PERF_COUNTERS=y
CONFIG_LATENCYTOP=y
CONFIG_FTRACE=y
Код:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j2 uImage
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j2 INSTALL_MOD_PATH=output modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j2 INSTALL_MOD_PATH=output modules_install
При компиляции пришлось взять модифицированный drv_hdmi.c из предыдущей сборки для sun4i (с патчем для Fedora 18, если не ошибаюсь), и заменить им drivers/video/sun5i/hdmi/drv_hdmi.c
Вложение 468600
В противном случае, неизбежна ошибка:
Полученные модули ядра USB Audio на тестирование для sun5i (Allwinner a13):Цитата:
drivers/built-in.o: In function `Hdmi_init':
drivers/video/sunxi/hdmi/drv_hdmi.c:334: undefined reference to `audio_set_hdmi_func'
make: *** [.tmp_vmlinux1] Error 1
Вложение 468604
Ошибки при вставке этих модулей командой insmod необходимо смотреть в выдаче команды dmesg в терминале.
К счастью или к несчастью, но последний эксперименты с JB 4.1.1 подтвердили необходимость предварительной выгрузки конфигурации стокового ядра методом
http://magnitola.org/android/208802-...ml#post2106846
Добавления только вышеприведенных параметров конфигурации ядра оказалось недостаточным, и скорее всего они относятся к совместимости ядром Nexus 7.
Взял из архива новые модули.
Выполнил:
1. Смонтировать /system/etc на запись
mount -o remount, rw /system
10. Смонтировать /system/vendor/modules на запись
11. Положить snd-hwdep.ko, snd-rawmidi.ko, snd-usb-audio.ko, snd-usbmidi-lib.ko в /system/vendor/modules
12. Выполнить в консоли от рута
chmod 644 /system/vendor/modules/snd-hwdep.ko
chmod 644 /system/vendor/modules/snd-rawmidi.ko
chmod 644 /system/vendor/modules/snd-usb-audio.ko
chmod 644 /system/vendor/modules/snd-usbmidi-lib.ko
13. Перезагрузить планшет командой в консоли от рута
Ну что, результат есть - пропал звук, не проигрываются аудио\видеофайлы.
Восстановление из бэкапа не помогло.
Выкладываю старые, "непорченые" файлы прошивки.
A8 / Cortex 1 GHz - Android 2.3.7 - реально ли что нибудь сделать что бы usb audio с цифрой подключить?
Очень трудоемко, потому что кроме модулей нужны еще собранные под них библиотеки Андроида из /system/lib/, которые для 2.3.7 гораздо сложнее найти, чем для 4.х
из консоли рута что говорит?Код:# lsmod
У меня следующая картина теперь в 4.1.1
, но libtinyalsa.so их не видит, пытаюсь пересобрать из исходников AOSPЦитата:
8188eu 648849 0 - Live 0x00000000
mc32x0 6977 0 - Live 0x00000000
bma250 8316 0 - Live 0x00000000
goodix_touch 15419 0 - Live 0x00000000
pixcir_gt80x 14066 0 - Live 0x00000000
goodix_gt82x 20683 0 - Live 0x00000000
rtl8150 9913 0 - Live 0x00000000
mcs7830 7396 0 - Live 0x00000000
qf9700 9353 0 - Live 0x00000000
asix 24267 0 - Live 0x00000000
sun4i_csi0 31994 0 - Live 0x00000000
hi253 17517 1 - Live 0x00000000
videobuf_dma_contig 5987 1 sun4i_csi0, Live 0x00000000
videobuf_core 19095 2 sun4i_csi0,videobuf_dma_contig, Live 0x00000000
yftech_power_led 2277 0 - Live 0x00000000
snd_usb_audio 93360 0 - Live 0x00000000
YFdecrypt 21346 0 - Live 0x00000000
cedarx 12607 0 - Live 0x00000000
mali 137652 10 - Live 0x00000000
snd_usbmidi_lib 18695 1 snd_usb_audio, Live 0x00000000
snd_rawmidi 20303 1 snd_usbmidi_lib, Live 0x00000000
snd_hwdep 5831 1 snd_usb_audio, Live 0x00000000
ump 34663 11 mali, Live 0x00000000
nand 109849 8 - Live 0x00000000
Rover, модули usb audio, судя по скриншоту, не подгружены.
Диагностика:
сначала выполняется команда
# insmod /system/vendor/modules/snd_hwdep.ko
и затем проверяются последние строки вывода команды
# dmesg
В system.img только ядро (конфиг в него тоже не включили - скриптом не вытягивается, попробую использовать от своих).
И все-таки хочется увидеть, что пишет при выполнении
Код:# dmesg
---------- Сообщение добавлено 12.11.2013 в 13:23 ----------
Rover, еще такой момент,
должна быть первой, потом уже все остальные .koКод:# insmod /system/vendor/modules/snd_hwdep.ko
insmod /system/vendor/modules/snd-rawmidi.ko
insmod /system/vendor/modules/snd-usbmidi-lib.ko
insmod /system/vendor/modules/snd-usb-audio.ko
Там большая портянка:
Вложение 469550Вложение 469552
Скажите реально ли привязать USB DAC к ГУ на android 2.2 ядро 2.6.31 ?
---------- Сообщение добавлено 15.11.2013 в 12:38 ----------
Вот что я имею.
Камень CORTEX A8i.MX515.
~ # uname -a
Linux localhost 2.6.31-00150-g4dbcf02 #313 PREEMPT Tue Jun 25 11:41:34 CST 2013 armv7l GNU/Linux
~ #
~ # cat /proc/version
Linux version 2.6.31-00150-g4dbcf02 (allen@carit-S3420GPV) (gcc version 4.1.2) #313 PREEMPT Tue Ju n 25 11:41:34 CST 2013