Всем привет!) Новую тему не стал создавать, напишу сюда.
Ковыряю на предмет USB-Audio планшет Wexler Tab 7is на процессоре Amlogic M6 (AML8726). Стоковая прошивка, естественно, мою карточку не знает и не определяет. Скачал я значит исходники ядра, собрал драйвера для поддержки USB-Audio, недельку попарился с нужным vermagic, затем запихнул драйвера в автозагрузку и поставил ALSA.
И! Чудо произошло :

После прочтения съесть!

root@android:/ # alsa_aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: AMLWM8960 [AML-WM8960], device 0: WM8960 PCM wm8960-hifi-0 []
Subdevices: 0/1
Subdevice #0: subdevice #0
card 1: Audio [DigiHug USB Audio], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0

Карточка определилась как card 1, и даже заиграла :

После прочтения съесть!

root@android:/ # alsa_aplay -Dhw:1,0 -v /sdcard/1.wav
Playing WAVE '/sdcard/1.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Hardware PCM card 1 'DigiHug USB Audio' device 0 subdevice 0
Its setup is:
stream : PLAYBACK
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 44100
exact rate : 44100 (44100/1)
msbits : 16
buffer_size : 22050
period_size : 5513
period_time : 125011
tstamp_mode : NONE
period_step : 1
avail_min : 5513
period_event : 0
start_threshold : 22050
stop_threshold : 22050
silence_threshold: 0
silence_size : 0
boundary : 1445068800
appl_ptr : 0
hw_ptr : 0

Все, думаю, дело за малым - заставить систему думать, что USB-карточка дана ей по умолчанию). Правлю /etc/asound.conf

После прочтения съесть!

pcm.!default {
type hw
card 1
}
ctl.!default {
type hw
card 1
}

Перезагружаюсь - играет встроенная карта. Вот, собственно и все, чего я добился. Вывести весь системный звук через USB не смог, что только не делал.
На помощь был призван CatLog и вот что там интересного я углядел, когда грузится система :

После прочтения съесть!

При подтыкании карты :
12-24 13:19:05.369 E/NetlinkEvent(1484): NetlinkEvent::FindParam(): Parameter 'INTERFACE' not found
12-24 13:19:05.369 W/Vold (1484): addMdmDev don't find a match usb device(1852_7022) in isKnownMdmDev
12-24 13:19:05.419 D/EventHub(2107): No input device configuration file found for device 'Tenor Electronics DigiHug USB Audio'.
12-24 13:19:05.429 I/EventHub(2107): New device: id=9, fd=235, path='/dev/input/event8', name='Tenor Electronics DigiHug USB Audio',classes=0x80000001, configuration='', keyLayout='/system/usr/keylayout/Generic.kl', keyCharacterMap='/system/usr/keychars/Generic.kcm',builtinKeyboard=false, usingSuspendBlockIoctl=false, usingClockIoctl=false
12-24 13:19:05.429 I/InputReader(2107): Device added: id=9, name='Tenor Electronics DigiHug USB Audio', sources=0x00000101
Вроде бы все хорошо.

Фрагмент загрузки системы :
12-24 12:38:55.179 I/AudioPolicyManagerBase(1491): loadAudioPolicyConfig() loaded /system/etc/audio_policy.conf
12-24 12:38:55.359 W/AudioHardwareALSA(1491): Unable to attach mixer to device AndroidOut: No such device
12-24 12:38:55.379 W/ALSAModule(1491): use USB audio in as default
12-24 12:38:55.379 W/ALSAModule(1491): use AML audio in as default
12-24 12:38:55.389 I/AudioFlinger(1491): loadHwModule() Loaded primary audio interface from LEGACY Audio HW HAL (audio) handle 1
12-24 12:38:55.399 D/AudioHardwareALSA(1491): openOutputStream called for devices: 0x00000002
12-24 12:38:55.399 D/ALSAModule(1491): open called for devices 00000002 in mode 0...
12-24 12:38:55.399 D/ALSAModule(1491): input handle: (null), devName = AndroidPlayback_Speaker_normal
12-24 12:38:55.399 E/ALSALib (1491): external/alsa-lib/src/control/cards.c:230: (snd_card_get_aml_card) cardname =AML-WM8960, card = 0
12-24 12:38:55.399 D/ALSAModule(1491): SND_PCM_STREAM_PLAYBACK card : 0

12-24 12:38:55.399 D/ALSAModule(1491): ---- devName = hw:0
12-24 12:38:55.419 W/ALSAModule(1491): Set PLAYBACK PCM format to S16_LE (Signed 16 bit Little Endian)
12-24 12:38:55.419 W/ALSAModule(1491): Using 2 channels for PLAYBACK.
12-24 12:38:55.419 W/ALSAModule(1491): requestedRate=48000
12-24 12:38:55.419 W/ALSAModule(1491): returned Rate=48000, handle->rate=48000
12-24 12:38:55.419 I/ALSAModule(1491): Set PLAYBACK sample rate to 48000 HZ
12-24 12:38:55.419 I/ALSAModule(1491): Buffer size: 4096
12-24 12:38:55.419 I/ALSAModule(1491): Latency: 85333

Вроде как встроенная карта жестоко определяется как primary audio interface? Честно говоря, так я и не понял как звук выводится : то ли через ALSA которую поставил я,
то ли через tinyALSA, которая присутсвует и своей утилиткой tinyplay также умеет играть на USB-карточку. Как то так). Может поможет кто, сам я в этих делах далеко не спец, а планшет в машину охота.
Вот только как завернуть все системные звуки на USB?


Полезные темы: