PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Звук (http://pccar.ru/forumdisplay.php?f=174)
-   -   USB AUDIO на RK3066 (http://pccar.ru/showthread.php?t=18640)

aluver 29.08.2014 01:57

Сегодня довел до маразма китайское ГУ - Klyde KD-8016 на RK3066 с ядром 3.0.36+ Андроид 4.2.2.

1. Скачал дрова snd_usb_audio_for_RK30xx_3.0.36+.zip отсюда http://pccar.ru/showpo…p=251689&postcount=102

2. Кинул их рутэксплорером в /system/lib/modules/

4. Создал файл скрипта их автозапуска при загрузке: /system/etc/install-recovery.sh
Код:

#!/system/bin/sh
insmod /system/lib/modules/snd-hwdep.ko
insmod /system/lib/modules/snd-rawmidi.ko
insmod /system/lib/modules/snd-usbmidi-lib.ko
insmod /system/lib/modules/snd-usb-audio.ko

5. Установил скрипту разрешения на запуск.

6. Воткнул для пробы в один из двух wifi/3g USB-портов USB-наушники Plantronics (на SGS3 и SGS4 работают без бубна с текущими стоковыми прошивками)

7. Перезагрузка... Перезагрузка... Перезагрузка... Вобщем дальше системной заставки ГУ не грузится...

Перешился через рекавери новой версией прошивки от производителя (совместил приятное с бесполезным) - версии ядра и Андроид не изменились.

Я конечно поторопился - надо было без скрипта сначала попробовать вручную в терминале дрова по указанному порядку подгрузить.

Может кто-то ткнет в возможную причину эпик фэйла? Какие особые разрешения необходимо устанавливать самим модулям *.ko?

Rage2 29.08.2014 02:35

Цитата:

Сообщение от aluver (Сообщение 305083)
Я конечно поторопился - надо было без скрипта сначала попробовать вручную в терминале дрова по указанному порядку подгрузить.

Именно...попробуй хоть один загрузить из терминала, если в ребут не уйдет, тогда следующий по порядку грузи.
А если ребут, значит дрова не подходят для твоего ядра....я сталкивался с таким симптомом, нужно будет тебе компилить дрова из новых сорцов...

права выставляешь обычные, 0664, собственно как у остальных файлов в этой папке.

aluver 29.08.2014 20:13

Попробовал - уходит в перезагрузку на первом же модуле. Пробовал также модули от 3.0.8+ - вообще не хочет грузить, просто выдает ошибку о формате.
Может проще вывести SPDIF в чистом виде? У меня высвечиваются в звуковых устройствах HDMI и SPDIF. Спецификации у RK3066 все это подтверждают. Вот только откуда выводить... С паяльником настолько не дружу.

Rage2 29.08.2014 20:28

Цитата:

Сообщение от aluver (Сообщение 305143)
Попробовал - уходит в перезагрузку на первом же модуле.

Ну как я и думал.
Значит так. Тебе нужно найти модули собранные на новых сорцах.
Можно попробовать поискать в кастомных сборках прошивок для тв-боксов\свистков на RK3066 с ядром 3.0.36+
Качаешь архив с прошей, распаковываешь, смотришь их наличие в папке /system/lib/modules.
Если проша img формата, распаковываешь ее прогой RK3xxx Firmware Tools by SergioPoverony и аналогично смотришь в каталогах нужные тебе файлы.
Только вот думаю, что в большинстве случаев эти дрова на юсб звук вкомпилены в ядро, а не идут отдельно модулями. От туда их уже не вытащить.

aluver 30.08.2014 01:23

Распаковал парочку от ТВ-свистка MK809 II STICK, а там альса везде, модулями .ko для USB audio и не пахнет... С ней реально что-то сотворить по аналогии с вышеприведенными постами? В моем ГУ все завязано на работу с MCU, на котором установлен звуковой процессор, управляющийся командами Андроида для микширования звука с радиочипа, блютус модуля, ДВД, чьи потроха находятся на этой же отдельной плате MCU. Для Андроида это все отдельная периферия, "удаленно" управляемая синтаксисом, "понятным" MCU. Может так случиться, что сервис, отвечающий за вывод звука на звуковой процессор платы MCU будет конфликтовать с alsa?
Вобщем, ядро разбирать под линуксом, внедрять исходники USB audio и компилировать - дело очень трудоемкое. Поищу железный вариант вывода цифры из ГУ.

Rage2 30.08.2014 12:20

aluver, альса это другое, она отвечает за роутинг и микшер звука .....а дрова на железо быть должны в любом случае.
Пробуй от других устройств поковырять проши.

Цитата:

Вобщем, ядро разбирать под линуксом, внедрять исходники USB audio и компилировать - дело очень трудоемкое.
Готовое ядро(zImage) не разбирается. Можно только собрав из сорцов свое, добавив туда необходимое.

На 4pda по твоему устройству попроси народ собрать тебе модули..например 2x4ever, он вроде как шарит в этом.

Только на этом геморрой не закончится...дальше будешь думать как заставить андройд выводить звук через карту.

aluver 30.08.2014 15:44

Про альсу не знал - спасибо за инфу. Прошивки ковыряю... Дрова не обязательно должны выглядеть как те, что у меня не пошли? На что обратить внимание?
С 2x4ever уже перекидывались в форуме, но его идея не зацепила ввиду ограниченности результата. Прочитал на просторах, что даже собрав/слямзив необходимые модули для своего чипсета и версии ядра их работоспособность не гарантируется - рекомендовано собирать ядро целиком. Или хотя бы заголовки ядра нужны...
ЗЫ. Уже начинаю поглядывать в сторону USB Audio Player Pro. Пускать по цифре музыку на внешний усил с него, а все остальное будет играть в штатные тыловые динамики, которые в моей музыкальной инсталляции не будут задействованы (поканалка 2.1). Неудобство с раздельной регулировкой громкости только смущает. И во время сообщений навигации музыка не будет приглушаться.

aluver 31.08.2014 23:34

USB Audio на Андроид-магнитолах Klyde и HuiFei побежден!
 
Вложений: 1
Сегодня на славу потрудился. Теперь все работает.

Драйвера подошли из кастомной сборки ядра RK30xx_Cube_U39GT_4.4.2. Перебрал прошивок с пару дюжин, пока нашел :) Везде вкомпилено в ядро.
Код:

u0_a71@android:/ $ su
root@android:/ # insmod /system/lib/modules/snd-hwdep.ko
root@android:/ # insmod /system/lib/modules/snd-rawmidi.ko
root@android:/ # insmod /system/lib/modules/snd-usbmidi-lib.ko
root@android:/ # insmod /system/lib/modules/snd-usb-audio.ko
root@android:/ # ls dev/snd
controlC0
controlC1
controlC2
pcmC0D0c
pcmC0D0p
pcmC1D0p
pcmC2D0c
pcmC2D0p

timer
root@android:/ # cat /proc/asound/cards
 0 [RK29WM8731    ]: RK29_WM8731 - RK29_WM8731
                      RK29_WM8731
 1 [RKHDMII2S      ]: RK-HDMI-I2S - RK-HDMI-I2S
                      RK-HDMI-I2S
 2 [Headset        ]: USB-Audio - Plantronics Headset
                      Plantronics Plantronics Headset at usb-usb20_host-1.3, full speed

root@android:/ #

Но роутинг пока сделал через правку pcmC0D0p в audio audio.primary.rk30board.so. В моей прошивке есть полноценная альса. Пробовал через alsa_aplay играть wav 16/44.1 - все ок. Начинал попытки роутинга с нее, но простой правкой в asound.conf номера устройства ничего не добился. Пробовал также и через гугловский конфиг - тоже не вышло.
Конечно, хотелось бы организовать хот-плаг как здесь обсуждалось выше. Надо будет еще поковыряться.

Пробовал поставить упоминавшийся здесь Fine Volume Control с целью проверить утверждение о возможности регулировки громкости USB-DAC его средствами. Никакой реакции. Скорее наоборот. Эта прога громкость не только не регулировала, но и заставила poweramp замолкнуть вовсе. Штатный плеер почему-то играл.
И самое главное, после этого штатные кнопки громкости самих наушников (на их кабеле, цифровые, не аналог) перестали регулировать громкость poweramp, как было до этого. Вместо этого при их нажатии регулируется громкость алармов андроид (иконка с воскл. знаком вместо динамика на появляющейся индикации громкости при регулировке). Грохнул эту прогу, но глюк никуда не делся. Пока не понял куда копать. Не ставьте эту гадость никогда. Громкость и в poweramp своя есть, если приспичит.

Rage2 01.09.2014 01:44

aluver, молодчик! А было уже сдался)))

aluver 02.09.2014 01:53

Цитата:

Сообщение от Rage2 (Сообщение 305264)
aluver, молодчик! А было уже сдался)))

Спасибо! Ты вселил надежду! :pleasantry:
Модератор, пожалуйста, поставьте ему плюс. Я не имею возможности. :pleasantry:


Часовой пояс GMT +4, время: 20:20.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot