|
usb accessory mode (Samsung)
|
|||
---|---|---|---|
#18+
Добрый день! Есть собственноручное приложение для андроид, использующее обмен с определенным устройством используя USB Accessory Mode через микросхему FT311D. http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT311D.pdf в качестве примера аналогичного приложения можно рассмотреть UARTLoopback http://www.ftdichip.com/Support/Documents/AppNotes/AN_208_FT31xD_Demo_APK_User_Guide.pdf Приложение работает со всеми смартфонами которые у меня были (Xiaomi, Huawei, Sony и др.) и на различных версиях от 4.x до 7.0 кроме ... Samsung (за исключением одного древнего на Android 4.x). Все Samsung (в наличии - 3 шт.) начиная от 5-ой и кончая 7.0 (J7 2017 года) - отказываются работать. Подключал осциллограф и смотрел сигналы на выходах TXD и RXD - все нормально, смарт отправляет данные, устройство отправляет ответ и вроде смарт должен их получать. Отладчик показывает, что ни одного байта из входной посылки - не принимается :( Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Проверял все возможные режимы подключения USB (MTP,Камера), включал режим отладки, отключал Knox - ноль на массу. Микросхему FT311D (USB Host) - при этом видит нормально, соединение устанавливается и передача из программы идет нормально. Для приложения в разделе "Разрешения" - никаких дополнительных разрешений не требуется. При подключении устройства выдается запрос от смартфона на разрешение для подключения к устройству, естественно разрешаю. Может кто сталкивался с этим? С уважением, Сергей. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2018, 14:48 |
|
usb accessory mode (Samsung)
|
|||
---|---|---|---|
#18+
Рекомендую попробовать демку отсюда https://github.com/mik3y/usb-serial-for-android ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2018, 16:58 |
|
usb accessory mode (Samsung)
|
|||
---|---|---|---|
#18+
wadmanРекомендую попробовать демку отсюда https://github.com/mik3y/usb-serial-for-android Спасибо, но это немного не то. Если я правильно понял, то подключение в проекте идет в Host mode. В моем случае смартфон (приложение на андроид) - не Host, а accessory. Хостом является очень хитрая микросхема FT311D. Именно поэтому подключение идет не в режиме USB Host, а в режиме Usb accessory mode (смартфон является accessory, хотя обычно наоборот, всякие подключаемые к смартфону устройства - accessory). Сделано это было для того, что не все смартфоны могут работать в USB Host Mode (давно было сделано). Сейчас почти все смарты могут работать в требуемом режиме. Строка в манифесте выглядит вот так: <uses-feature android:name="android.hardware.usb.accessory" /> Есть подозрения что мощные смартфоны Samsung просаживают напряжение 5В, хотя довольно новый смарт Xiaomi Radmi Note 4 - работает. Завтра продолжу проверку. PS: прогнал тест UARTLoopback - работает на Samsung, правда запитать смартфон пришлось от отдельного источника питания и ток потребления >1A, что для подключаемого устройства - на пределе возможностей. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2018, 17:53 |
|
usb accessory mode (Samsung)
|
|||
---|---|---|---|
#18+
Belotsky SergeЕсть подозрения что мощные смартфоны Samsung просаживают напряжение 5В Я, кстати, сталкивался тоже с этим. Как-то хитро выкручивался, но как именно - не помню. Именно с самсунгом было и с переходником на rs. Даже на весьма дешевом планшете texet работало как нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2018, 10:03 |
|
usb accessory mode (Samsung)
|
|||
---|---|---|---|
#18+
А у Samsung указанный в первом посте read , почему-то блокируется :( И я пока не знаю, как это обойти... ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2018, 12:34 |
|
usb accessory mode (Samsung)
|
|||
---|---|---|---|
#18+
Может в логкате при этом от системы отображается что-то интересное? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2018, 13:36 |
|
usb accessory mode (Samsung)
|
|||
---|---|---|---|
#18+
wadmanМожет в логкате при этом от системы отображается что-то интересное? Что там смотреть, висит как вкопанный на Read, хоть кол на голове чеши. Байты типа не приходят. А по осциллографу - вроде приходят. Хотя UARTLoopback - работает! PS: Чтобы посмотреть логкат, когда смарт подлючен не к компу, нужно организовывать его на самом устройстве, по типу, как описано здесь: http://developer.alexanderklimov.ru/android/debug/logcat.php Мне сейчас этим что-то не хочется заниматься. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2018, 14:15 |
|
usb accessory mode (Samsung)
|
|||
---|---|---|---|
#18+
Belotsky SergeЧтобы посмотреть логкат, когда смарт подлючен не к компу, нужно организовывать его на самом устройстве, по типу, как описано здесь: С рутом можно смотреть любым логгером из маркета. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2018, 16:31 |
|
usb accessory mode (Samsung)
|
|||
---|---|---|---|
#18+
wadmanBelotsky SergeЧтобы посмотреть логкат, когда смарт подлючен не к компу, нужно организовывать его на самом устройстве, по типу, как описано здесь: С рутом можно смотреть любым логгером из маркета. Спасибо буду знать. Хотя для моего Samsung J7 2017, кажется нет рута (интересовался давно, в момент покупки). Да и это бы ничего не дало, т.к. зависало на блокирующем read. Кажется пофиксил проблему, немного переделал поток чтения. Раньше я делал так: устанавливал флаг, разрешающий чтение, теперь чтение идет постоянно (хотел избавиться от лишнего буфера для приема данных). Как это могло повлиять никак не могу понять, между отправкой посылки устройству и ответом от него проходит от 1 до 2 мс (по осциллографу), за это время быстрый смарт легко успевает становиться на прием (на практике - любой смарт), более того, у меня становится на блокирующий read ДО отправки посылки устройству. ХЕЗ почему так происходит именно в Samsung. В общем, всем спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2018, 17:09 |
|
|
start [/forum/topic.php?fid=13&msg=39598207&tid=1330913]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
12ms |
get forum data: |
4ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 169ms |
0 / 0 |