![]() |
Цитата:
это два разных способа настройки один - либа уважаемого tsynik. для этого способа нужен setprop. при этом способе будут видны спутники в прогах навигации. нужно добавить setprop в стартовый скрипт - иначе после ребута это слетит. второй - прога usbgps - для нее нужно включить фиктивные местоположения. спутники видны не будут, но координаты будут передаваться в проги навигации. я в свое время перелопачивал эту прогу - там нет ничего, что может сломать прошивку. проге даже рут не нужен, если стоят правильные права на устройство смешивать нельзя. то есть настройка в два этапа - убедиться, что порт отдает данные - cat /dev/ttyUSB0 должны пойти строки с данными. если есть - ок. если пусто, то порт или неправильный или неправильная скорость.- поменять через stty если порт работает - применить один из вышеуказанных способов. но я еще раз повторяю, если порт не настраивается , значит занят уже. единственный способ получить следующий свободный порт -занять дырки в хабе по порядку. модем обычно берет первых два ttyUSB. без хаба кина не будет. |
Цитата:
|
Цитата:
проверьте без проги права на ttyUSB0 сразу после втыкания они должны быть 666 если права другие - прога при запуске просит рут чтобы их установить |
http://pccar.ru/showpost.php?p=259730&postcount=77
здесь я недавно описывал все нужные шаги |
Цитата:
после запуска gps из программы этот файл пропадает пробовал менять права на 666 но после повторного подключения они опять 660 в самой программе функция Choose Usb GPS имеет значение /dev/bus/usb/001/003 и оно меняется при каждом вытыкании gps Цитата:
|
Цитата:
там все по порядку - Вам не нужны только пункты 0,1,7,8 - просто пропустить. в пункте 9 Вам нужен такой скрипт #!/system/bin/sh busybox stty -F /dev/ttyUSB0 ispeed 4800 busybox chmod 666 /dev/ttyUSB0 setprop "ro.kernel.android.gps" "ttyUSB0" Библиотека там одна и проверена лично мной на rk3066 (ядро 3.08+) И внимательно перечитайте мое предыдущее сообщение для понимания процесса |
вооот. и тут мы упираемся в удев. не пойму, зачем они его выкинули? почему такая недальновидность? у меня вот куча нод на тту висит- 3 для модема, елм, гпс, вафля. и как я должен определять какой ноде что соответсвует при передергивании хаба? городить костыли с парсером логов?
|
Цитата:
ну это ж типа не Линукс - не гикам не нужно лазить во всякие /dev - им бы больше котегов в контактике - видимо так думали в Гугле, обрезая НУЖНЫЕ вещи. Но может как с USB audio через пару версий они таки повернуться к нам лицом и милостиво вернут обратно, подавая как новую супер-пупер фичу |
с бт им уже пригорело-в 4.2.1 он тупо выпилили хци и приказали вендорам самим пилить костыли. их *****м накормили, в 4.3 обещали вернуть
|
Цитата:
1. Монтируем раздел /system/etc на запись с помощью RootExplorer или с помощью команды из консоли adb remount 4-6 уже делал из первого поста этой темы 9. Создаем файл install-recovery.sh с Unix-переводами строк с содержимым #!/system/bin/sh busybox stty -F /dev/ttyUSB0 ispeed 4800 busybox chmod 666 /dev/ttyUSB0 setprop "ro.kernel.android.gps" "ttyUSB0" 10. Копируем install-recovery.sh в /system/etc/install-recovery.sh 11. В консоли выполняем busybox chmod 755 /system/etc/install-recovery.sh Если так то у меня вопросы 1 как с помощью RootExplorer монтировать раздел на запись просто выставить 777? командой adb remount из под su у меня выдало следующее * daemon not running, starting it now on port 5038* * daemon started successfully * error: device not found Если выполнять из каталога то есть так cd /system/etc adb remount результат error: device not found 9. как правильно это сделать? Я сделал по следующему через RootExplorer создал файл с этим содержимым, скопировал его в /system/etc/ там же через RootExplorer выставил 775 файлу Перезагрузил аппарат в навителе нет спутников, проверил через RootExplorer файл ttyUSB0 присутствует и права у него 666 значит скрипт что создавал исполняется запустил через терминал cat /dev/ttyUSB0 данных нет, попробовал ещё раз через терминал выполнить busybox stty -F /dev/ttyUSB0 ispeed 4800 результат это сообщение cannot perform all requested command Всё этот делал без хаба gps напрямую в планшет. Далее опять решил попробовать запустил gps через прогу usbgps убедился что работает отключил gps в проге набрал cat /dev/ttyUSB0 и данные пошли |
avgaz, Блин, ваш уровень как пользователя андройда очень мал, попробуем объяснить на пальцах...
1. Цитата:
2. Раз вы смогли туда что-то записать....значит запись разрешена или была разрешена вами....п1. 3. поскольку права 666 на ttyUSB0 у вас выставились после ребута - значит вы все сделали правильно и скрипт "автозагрузки" свое отаботал. 4. Если сейчас вытащить и вставить гпс, тогда права опять слетят на дефолтные 660. Т.к это прописано в файле ueventd.xxxx.rc и его без ковыряния прошивки(бута) не исправить. 5. Цитата:
|
Цитата:
там сначала нужно убедиться, что комп видит девайс - adb devices - должен выдать подключенный девайс, если нет, проверить установку ADB драйверов и галочки "Отладка по USB" в девайсе в настройках для разработчика. Если использовать RootExplorer - то все проще, зайти им в папку /system и нажать сверху кнопочку R/O - сменится на R/W (или наоборот, не помню) для монтирования на запись. Признаком успешного монтирования будет возможность менять любые файлы в /system и вложенных папках. Цитата:
755 должны быть права. после перезагрузки убедиться, что есть /dev/ttyUSB0 и busybox stty -F /dev/ttyUSB0 должен выдать 4800. Цитата:
Надо воткнуть сначала в хаб модем в первую по порядку дырку - посмотреть, сколько /dev/ttyUSB найдено. Только потом воткнуть во 2 дырку gps и посмотреть в /dev, какое устройство появилось и для него уже делать настройки моим скриптом. Потом, чтобы все работало, воткнуто должно быть ВСЕ это СТРОГО только в эти же дырки, что и при настройке. |
Цитата:
По вашей инструкции воткнул в него с начало модем, появилось ttyUSB0 ttyUSB1 ttyUSB2 далее воткнул gps появился ttyUSB3 поставил ему 666 пробую выполнить stty -F /dev/ttyUSB3 ispeed 4800 результат тот же cannot perform all requested command естественно cat /dev/ttyUSB3 пустой и команда stty -F /dev/ttyUSB3 выдает 9600 |
Цитата:
ага, а надо busybox stty -F /dev/ttyUSB3 ispeed 4800 это команда не системная, а часть комбайна под названием busybox - это порт линуксовых утилит под Андроид с обычным хабом можно провернуть финт ушами - включить в один из выходов кабель с USB на одном конце и блоком питания на 5.3В - 5.5В (помощнее) на другом. В этом кабеле оставить только питающие - красный - плюс, черный - минус. Это связано с тем, что 90% хабов имеют общую шину питания 5В на всех выходах (точно знаю, что в D-link DUB-H7 это не так, но он достаточно дорогой). Так вот, в активных хабах 5В с внешнего блока тупо подается на эту шину. И по уму, надо бы проверить, есть ли развязка внутри хаба по питанию между входом usb и выходами - обычно должен быть диод от входа к выходу. Если его нет - желательно разорвать питание между входом и выходом, иначе можно угробить преобразователь питания в планшете при подключении внешнего питания. Или в крайнем случае (если блока таки нет или не хочется лезть внутрь хаба) постараться не пытаться включать модем на передачу данных, так как он может перегрузить шину питания и подвесить всю систему (он при передаче до 1А может брать). |
Цитата:
|
Цитата:
что выдает команда su? |
Цитата:
без su не выполнить команды выдает Permission denied |
а чем пользуетесь в качестве терминала?
не все терминалы одинаково полезны |
s.m., avgaz, походу в данном случае теория о занятости порта 3G службой -отпадает. Больше всего склоняюсь к варианту с кривым модулем pl2303 в ядре. Его бы выгрузить и загрузить отдельно....но он в ядре..похоже тупик
Т.к тут очень странно, что команда busybox stty -F /dev/ttyUSB3 ispeed XXXX выставляет любую скорость, кроме 4800. |
Цитата:
Смотря что, человеку легче |
Цитата:
|
Цитата:
|
Цитата:
Лучший вариант Locosys LS-23090, Locosys LS-23030, там юзается модуль CDC-ACM, и определяется как ttyACM0, т.е в будущем не будет конфликта с 3G модемами и другой периферией. |
Коллеги, я понимаю, что интересно прикручивать железки, но по GPS, ИМХО, лучше по БТ и с Bluetooth GPS Provider, которая теперь надежно стартует процесс при загрузке. Я свой BU продал.
ЗЫ: не сочтите за провокацию к холивару))) |
Цитата:
1. ничего надежнее провода нет. 2. питать все равно надо - провод идет, неважно 2 или 4 3. на моем свистке сходу блютуз-gps не пошел, хотя мышь блютузная работает пучком - разбираться не стал, за 2 часа прикрутил через usb 4. никаких лишних сервисов в памяти - только модуль ядра и библиотека на сях. 5. не уверен в возможностях multipoint - не факт, что еще что-то подключится при активном соединении - то есть блютуз фактически монопольно занят gps. |
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
|
У меня замечательно всё работает по USB. PL2303 + GPS модуль. Даже забыл про него, ни одного сбоя. Только в начале немного пришлось поиграть с параметром startup delay: иногда он сам не стартовал у меня.
|
Цитата:
Цитата:
и ещё когда в хабе в месте с модемом то и USBGPS не запустить gps пишет Cannot connect to USB GPS без модема нормально запускает |
И ещё мне интересно почему после такой манипуляции
Напрямую без хаба подключаю gps создается ttyUSB0 естесвенно cat /dev/ttyUSB0 не чего не показывает, запускаю gps через программу USBGPS в это время ttyUSB0 удаляется, проверяю в навигации работает, останавливаю gps из программы, опять создается ttyUSB0 и там уже cat /dev/ttyUSB0 идут данные но скорость показывает все равно 9600 и если выполнить setprop ro.kernel.android.gps ttyUSB0 то в навигационных программах будут показывать спутники. Вот почему так? |
Сменил через винду скорость gps на 9600 временно, результат такой же (( чуть по лучше не нужно вводить команды, что бы спутники подхватились в навигации достаточно просто запустить USBGPS и потом остановить и отрыть навител тогда там показывает кол спутников в общем не работает, может всё таки проблема в этом http://pccar.ru/showpost.php?p=255747&postcount=38 вроде у нас одинаковый планшет.
Тогда если это не поправить назревает вопрос как сделать в программе USBGPS что бы при загрузке планшета не перетыкать в программе галочку, автоматом все подхватывало? |
Вложений: 1
В общем скомпилил утилитку для сброса USB устройств из командной строки Вложение 31563
Итак, имеем свисток, у которого дрова pl2303 уже включены в прошивку, устройство определяется как ttyUSB0 или аналогично, но ничего не работает. Подключить USBGPS мышу на основе PL2303 в нужный слот хаба. И не менять положение в дальнейшем! в терминале набираем: su busybox lsusb выведется список usb устройств, нам нужно это Bus 002 Device 004: ID 067b:2303 <-Это VID:PID нашего pl2303 Берем отсюда Bus = 002 и Device = 004 и правим строку в install-recovery.sh ./system/etc/reset /dev/bus/usb/Bus/Device должно получиться так: ./system/etc/reset /dev/bus/usb/002/004 /system/lib/modules смонтировать на запись RootExplorer -ом или что там у вас есть pl2303.ko под 3.0.8+ SMP preempt mod_unload ARMv7 кинуть в /system/lib/modules/ с правами 644 переписываю и права я выставляю Total Commander - ом Смонтировать /system/etc на запись кинуть install-recovery.sh в /system/etc с правами 551 reset кинуть туда-же с такими-же правами в /system/lib/hw кинуть библиотеку из шапки как указано набрать reboot в терминале. Если все сделали правильно, то после перезагрузки в терминале набираем cat /dev/ttyUSB0. Должны посыпаться строки с NMEA протоколом. По идее все. Должны быть координаты в навигационных программах.. Да, забыл добавить, что скорость в install-recovery.sh необходимо выставить Вашу рабочую, у меня она 4800. Так-же скорректировать номер под каким определяется Ваше устройство ttyUSB0 - у меня. С помощью reset можно сбросить (перевтыкнуть программно) любой USB девайс отдельно от остальных зная Bus и Device. Фух, сколько букавок написал.... |
YAM1966, а можно утилитку, которая бы программно перевтыкивала все usb устройства? У меня на планшете на Allwinner A10 регулярная проблема с BT USB, не всегда запускается, был бы очень признателен за программную возможность переткнуть USB устройства
|
Ну, а кто мешает узнать Bus и Device всех устройств
и понаписывать их в строках с reset? p.s. Я только начал работать с андроид устройствами... Пока не все быстро идет мне в голову :blush: |
Ок, поэксперементирую, спасибо
|
Цитата:
|
тогда просто lsusb или найти busybox и поставить
Причем с маркета. |
Цитата:
но вот команда lsusb вывела. После перезагрузки набираю cat /dev/ttyUSB0 бегут данные, но это явно не данные NMEA т.к раньше при попытках сделать что то из этой темы данные выглядели совсем по другому тут как то все в одну строку, и соответсвенно в навигации нечего нет. Может модуль pl2303.ko из вашего поста мне не подходит? скачать из первого? |
СПАСИБО Вам огромное всё заработало, просто я забыл что gps приемник перевёл на 9600 и не поправил в файле это, после правки и загрузки pl2303.ko из первого поста всё отлично работает. Еще вопрос, а мне нужен этот pl2303.ko если у меня до этого через прогу usbgps работал приемник кроме показа кол спутников?
и есть один маленький нюанс если во время работы планшета передернуть usb или хаб, то номер Device меняется даже если в тот же порт в хабе вставляешь, после перезагрузки меняется обратно. И как убрать в проге usbgps что ты она не стартовала вместе с gps? |
так просто удали ее
сейчас же есть и координаты и спутники? |
что-то у меня косяк с нативной либой-bu-353 висит на полноценном хосте, данные в терминале с него идут. а вот ондроед координаты не получает. но при этом usb4gps работает нормально. либа лежит на месте.
|
Часовой пояс GMT +4, время: 08:55. |
Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot