PDA

Просмотр полной версии : Подключение внешней звуковой карты


rxstart
04.06.2023, 08:54
Есть проблема планшет NEXUS 7 подключаю внешнюю звуковую карту через HUB. Планшет её видит и опознает как HID устройство с номером, т. е. по железу всё норм, но вот воспроизводить через нее звук отказывается. Карта 100% рабочая, комп ее видит и звук через нее воспроизводит. Название карты не могу сказать - это китай:big:

ABCh
04.06.2023, 09:21
HID - это human interface device, к звуку не имеет никакого отношения. Карта просто не опознается как звуковая. Наиболее вероятная причина - древнее ядро.

skanch
04.06.2023, 09:58
Есть проблема планшет NEXUS 7 подключаю внешнюю звуковую карту через HUB. Планшет её видит и опознает как HID устройство с номером, т. е. по железу всё норм, но вот воспроизодить через нее звук отказывается. Карта 100% рабочая, комп ее видит и звук через нее воспроизводит. Название карты не могу сказать - это китай:big:

Какой Nexus(2012 или 2013)? Какая прошивка на планшете? Как активируется режим OTG?

rxstart
04.06.2023, 16:24
NEXUS 7 модель ME-370T насколько я понял выпущена в 2012г.
OS Android 5.1.1
Я не совсем понял вопрос как активируется OTG? Вообще планирую дергать ногой контроллера после просыпания относительно земли, сейчас пока просто подключил звуковую карту. Флешку в таком режиме видит без проблем.

rxstart
04.06.2023, 16:27
HID - это human interface device, к звуку не имеет никакого отношения. Карта просто не опознается как звуковая. Наиболее вероятная причина - древнее ядро.

Во первых звуковая карта это и есть HID, так как звук передается на нее пакетами, вот эти пакеты должен формировать планшет, согласно описанию пакетов HID и посылать на HID устройство с заданным номером HID ID

При чем тут ядро процессора ?

ABCh
04.06.2023, 18:33
Во первых звуковая карта это и есть HID, так как звук передается на нее пакетами, вот эти пакеты должен формировать планшет, согласно описанию пакетов HID и посылать на HID устройство с заданным номером HID ID

Вот оно как. Только все почему-то считают иначе (https://ru.wikipedia.org/wiki/USB_HID).

При чем тут ядро процессора ?
Действительно, при чем тут ядро процессора, если речь идет о ядре ОС.

skanch
04.06.2023, 20:33
NEXUS 7 модель ME-370T насколько я понял выпущена в 2012г.
OS Android 5.1.1
Я не совсем понял вопрос как активируется OTG? Вообще планирую дергать ногой контроллера после просыпания относительно земли, сейчас пока просто подключил звуковую карту. Флешку в таком режиме видит без проблем.
Вот немного инфы (https://translated.turbopages.org/proxy_u/en-ru.ru.1516d7ce-647cb969-9fdf70a5-74722d776562/https/android.stackexchange.com/questions/225334/how-to-enable-usb-audio-source-option-on-android-9) про USB Audio в андроид.
Скорее всего ABCh прав:"Карта просто не опознается как звуковая. Наиболее вероятная причина - древнее ядро."
Как вариант -- попробовать плеер Neutron или UAPP, которые подменяют стандартный звуковой драйвер планшета и снимают ограничения по частоте и битности. Они перенаправляют свой аудиопоток на внешний интерфейс usb audio (звуковую карту).
Но по моему мнению, Nexus (2012) слишком "стар" и слаб во всех отношениях, что бы его использовать в авто.

rxstart
04.06.2023, 20:34
Вот оно как. Только все почему-то считают иначе (https://ru.wikipedia.org/wiki/USB_HID).

Действительно, при чем тут ядро процессора, если речь идет о ядре ОС.

По поводу ядра я и писал, что не совсем понял при чем тут и какое ядро, по поводу HID дочитайте пожалуйста в Вашей ссылке "и другие" устройства, т. е. по сути любое устройство использующее USB интерфейс не в качестве UART(COM). И да звуковая карта внешняя как на компе, так и на планшете определяется как HID устройство.
Я сам написал "драйвер" для ATmega8 для эмуляции HID клавиатуры, но определив репорты для обратной связи и управления блоком климата.
Я просил конкретно помощи не столько у программистов, сколько у людей знающих выдроид.

rxstart
04.06.2023, 20:38
Вот немного инфы (https://translated.turbopages.org/proxy_u/en-ru.ru.1516d7ce-647cb969-9fdf70a5-74722d776562/https/android.stackexchange.com/questions/225334/how-to-enable-usb-audio-source-option-on-android-9) про USB Audio в андроид.
Скорее всего ABCh прав:"Карта просто не опознается как звуковая. Наиболее вероятная причина - древнее ядро."
Как вариант -- попробовать плеер Neutron или UAPP, которые подменяют стандартный звуковой драйвер планшета и снимают ограничения по частоте и битности. Они перенаправляют свой аудиопоток на внешний интерфейс usb audio (звуковую карту).
Но по моему мнению, Nexus (2012) слишком "стар" и слаб во всех отношениях, что бы его использовать в авто.
Спасибо за помощь буду смотреть, он в принципе не слаб и даже не тормозит если отключить долбаный google play, для моих целей вполне себе ничего (аудио/видео плеер, навигатор, управление климатом, камера заднего вида, кнопки на руле)

skanch
04.06.2023, 20:42
...Мне нужно решение, а не срач на форуме.
Хм... Из вашего первого поста не видно, что вы программист)
А решение простое -- выбрасывайте в ведро Nexus 2012 и используйте "старшую" версию планшета второго поколения с прошивками (версиями андроид), гарантированно поддерживающие usb audio. Да и к звуковой карте нужно немного более ответственно подойти -- андроид это не винда...
В "шапке" темы (http://pccar.ru/showthread.php?t=20830) есть все необходимые данные, что и как нужно сделать с Nexus, список проверенных USB карт тоже есть...

ABCh
04.06.2023, 21:01
По поводу ядра я и писал, что не совсем понял при чем тут и какое ядро, по поводу HID дочитайте пожалуйста в Вашей ссылке "и другие" устройства, т. е. по сути любое устройство использующее USB интерфейс не в качестве UART(COM). И да звуковая карта внешняя как на компе, так и на планшете определяется как HID устройство.
Я сам написал "драйвер" для ATmega8 для эмуляции HID клавиатуры, но определив репорты для обратной связи и управления блоком климата. Поэтому не лечите меня пожалуйста.
Звуковые карты usb относятся к usb audio class, но никак не к usb hid.

Я просил конкретно помощи не столько у программистов, сколько у людей знающих выдроид. Это мой первый опыт работы с этой системой и с учётом того, что писать мне придется на JAVA, я уже не в восторге от этого идуского чудо языка. Мне нужно решение, а не срач на форуме.
Не нравится Java - можно писать на Kotlin. Впрочем, не вижу смысла давать Вам какие-либо советы.

rxstart
04.06.2023, 21:43
не все так просто, звуковуха определяется как GeneralPlus USB AudioDevice vendor 1b3f т. е. система ее видит и определяет как полноценное HID устройство, возможно нужен драйвер я не знаю как обрабатывает это ведроид

ABCh
05.06.2023, 07:40
Скорее всего, это не просто звуковая карта, а композитное устройство, состоящее из звуковой карты и hid-клавиатуры, как это должно представляться дескриптором usb-устройства. Причем физически клавиатура может и отсутствовать. Ядро ОС видит hid-устройство, но не видит звуковую карту. Проблема может быть как в некорректном дескрипторе, так и в устаревшем ядре. Надо попробовать подключить карту к компьютеру со свежим линуксом и посмотреть протокол сообщений ядра через dmesg.

rxstart
05.06.2023, 11:31
Поставил сторонний аудиоплеер звук пошел через карту, т. е. с устройством все в порядке как и с ядром.
Если ядром системы, то на мой неопытный взгляд должно решаться накатом следующей версии ведроида (тут я не уверен не имел с этим дел).
Ядром процессора - ну это как то непонятно, у процессора нет никаких протоколов есть система команд и регистры ввода/вывода для "общения" с периферией, а за протоколы этого "общения" отвечает система, а значим см. п.1
Вопрос в другом, где найти такой видеоплеер и FM-радио??? или может есть утилита, которая как в аудиоплеере настроит систему на вывод звука через карту???
И да это простое HID устройство никакой клавиатуры в составе нет.

skanch
05.06.2023, 12:01
"На устройствах Android технически возможно передавать аудио через USB как в режиме хоста, так и в режиме устройства. Начиная с Android 4.1, последний режим “предоставляется Android Open Accessory (AOA) 2.0 и обеспечивает ограниченные возможности воспроизведения звука”. В ядре используется драйвер аудиоустройства USB (встроенный с CONFIG_USB_AUDIO опцией), а аксессуары, поддерживающие протокол AOAv2, созданы с использованием комплекта разработки аксессуаров (ADK).
...поддержка звука AOAv2 устарела в Android 8.0.
Это означает, что устройства Android 9+ не смогут функционировать в режиме устройства при потоковой передаче аудио по USB. Таким образом, опция настройки USB для источника звука больше не существует." Источник (https://android.stackexchange.com/questions/225334/how-to-enable-usb-audio-source-option-on-android-9).
В действующую прошивку планшета не встроен нужный драйвер. Если прошить Nexus 7(2012) кастомной прошивкой с уже "вшитым" драйвером USB audio, то всё будет работать.

Если ядром системы, то на мой неопытный взгляд должно решаться накатом следующей версии ведроида (тут я не уверен не имел с этим дел).
Только для этого Nexus нет официальных прошивок с версий андроид выше 5...
Для каждой конкретной модели планшета существует свои оригинальные прошивки, куда входит набор необходимых драйверов, приложений и функций управления именно для данной модели (это и есть ядро) + версия андроид. Поэтому просто "накатить" следующий андроид не получится.

rxstart
05.06.2023, 12:55
А где взять эту кастомную прошивку? Вот человек делал на андройде 4.4.4 от SlimKat, но я сколько не рыл не нашел этой прошивки

skanch
05.06.2023, 13:00
А где взять эту кастомную прошивку? Вот человек делал на андройде 4.4.4 от SlimKat, но я сколько не рыл не нашел этой прошивки
Посмотрите здесь (http://pccar.ru/showthread.php?t=18305)...
Не уверен, что всё будет работать без сбоев. Я с N(2012) мало знаком. Больше с Nexus второго поколения...

rxstart
05.06.2023, 13:40
Огромное Вам спасибо, буду пробовать. Планшет очень шустрый на самом деле, если отключаешь все сервисы гугл. При установке плеепров и навигации они не нужны от слова совсем))