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

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Для новичков (http://pccar.ru/forumdisplay.php?f=170)
-   -   Pl2303drv - замена pl2303.ko ! (http://pccar.ru/showthread.php?t=19270)

AngelOfGrief 15.06.2013 19:33

Pl2303drv - замена pl2303.ko !
 
В недрах 4PDA нарыл программку, которая называется pl2303drv. Вкратце суть: выполняет ту же функцию что небезызвестный модуль pl2303.ko, но, соответственно, не является модулем, а посему, не несёт таких громадных неудобств по совместимости как pl2303.ko, который надо иметь скомпилированным под конкретную версию ядра.

Как программа может заменять драйвер? Ну вот так, может. Вот такой он, Linux. :)

В том виде как программа была выложена, у меня она не работала. Выдавала ошибки, а та версия, что я всё же смог запустить, поддерживала только 9600, что мне не подходило. В итоге, я взял исходники, которые автор любезно опубликовал, убрал из программы лишнее, исправил ошибки (в частности, убрал вызовы system(), которые у меня работали некорректно) и дописал некоторые функции. Например, теперь можно указывать желаемое имя порта tty, а также скорость соединения.

Usage:

pl2303drv [имя порта] [скорость]

Указывать только стандартные скорости! :) Пример:

pl2303drv /dev/ttyUSB0 19200

Поддерживается именно PL2303, причём device ID должен быть стандартным для PL2303, т.е. 2303:067b. В принципе, у них у всех он одинаковый. Если
в вашем конвертере помимо PL2303 установлена 8-контактная микросхема flash, скорее всего, в неё и зашит другой ID. Отключите её (5 и 6 ножки) и всё будет хорошо.

Заодно те, у кого происходит постоянная борьба между GPS и модемом за имя порта, смогут навсегда решить свою проблему: вы можете указать порту любое имя какое вам вздумается. Кабель можно втыкать наживую, а затем запускать программу - ей всё равно. Лишь бы девайс присутствовал на момент запуска.

Поскольку программа сама не умеет завершаться, она не удаляет при прерывании созданные порты. Поэтому при каждом запуске она будет их удалять. Программа ведёт лог, в который пишет поток входящих данных. Проверить работу программы можно как обычно командой cat /dev/ttyUSB0

У меня работает отлично. По идее, должна работать на любом девайсе с архитектурой ARM-v7, а это большинство современных девайсов.

Исходник также прилагается, я его компилировал под Linux при помощи кросс-компилятора Sourcery G++, но у него есть и Windows версия, думаю, под виндой тоже при желании скомпилировать можно.

Топик автора программы:

http://4pda.ru/forum/index.php?showtopic=375823&st=40

Я несколько раз обращался к автору, но ответа не получил.

Ссылка на скачку программы - в 4-м посте.

s.m. 16.06.2013 00:54

я не очень понял, она же должна висеть в памяти постоянно.
Но это же не демон? Или демон?
Убивает ли ее Андроид через некоторое время?

AngelOfGrief 16.06.2013 01:57

Цитата:

Сообщение от s.m. (Сообщение 261427)
я не очень понял, она же должна висеть в памяти постоянно.
Но это же не демон? Или демон?
Убивает ли ее Андроид через некоторое время?

По идее, должен убивать, но у меня пока работает, в новом девайсе памяти много. ))

На это тоже есть решение, кто-то писал уже. Нужно поместить прогу в notification area. Для этого есть софтина, название не помню.
Я в любом случае буду работать в направлении компиляции модуля .ko, просто это сложнее намного...

AngelOfGrief 16.06.2013 02:23

Вложений: 1
Версия без ведения лога, без вывода на экран статистики. Для улучшения быстродействия. Ещё внутри программы добавлены команды chmod, теперь устанавливать права на /dev/ttyUSB0 в .sh файле не нужно.

AngelOfGrief 17.06.2013 17:00

По поводу убивания программы андроидом: она провисела в течение 2 суток непрерывно вместе с GPSTest: всё работает. Сейчас попробовал запустить Antutu Test (к-й по идее достаточно много жрёт ресурсов), после его запуска всё продолжает работать. В течение этих 2 дней запускал разные программы, навигацию, плееры, Angry Birds итд итп.

Возможно, причина в том, что созданный виртуальный порт /dev/ttyUSB0 открыт системным процессом (GPS либой). Хотя, не знаю. ))

alex4222 13.09.2013 14:12

У меня вот что пишет. на любой скорости. и данные не идут в навител (((
со старой версией на 9600 которая все гуд, только скорость 9600 не устраивает.

root@android:/data/test/1 # ./pl2303drv /dev/ttyUSB0 4800

PL2303drv by vovan.v.rum, mod by Ao'Gf
--------------------------------------

Searching for device VID_067b&PID_2303
Found PL2303 device VID_067b&PID2303 (Index=0)
Baudrate requested: 4800
Creating virtual tty. Virtual port: /dev/pts/5
System: unlink /dev/ttyUSB0
System: symlink(/dev/pts/5,/dev/ttyUSB0)
PL2303 serial installed on /dev/ttyUSB0. Type `cat /dev/ttyUSB0` in another shel l window to test.

System: chmod 0666 /dev/pts/5
System: chmod 0666 /dev/ttyUSB0
CTL=0 : CTL=0 : CTL=7 : CTL=7 : CTL=0 :CTL=7 :CTL=0 :BLK=-1 : RD=0xc0 : INT=-1 : RD=0xc0 :CTL=0 :INT=-1 :RD=0xc0 :

err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
err_num - 1
^C
130|root@android:/data/test/1 #

alex4222 13.09.2013 14:16

хотя данные идут

130|root@android:/data/test/1 # cat /dev/ttyUSB0
$GPRMC,091552.742,V,,,,,,,130913,,,N*4F

$GPGGA,091553.742,,,,,0,00,,,M,0.0,M,,0000*5C

$GPGLL,,,,,091553.742,V,N*70

$GPGSA,A,1,,,,,,,,,,,,,,,*1E

$GPRMC,091553.742,V,,,,,,,130913,,,N*4E

$GPGGA,091554.742,,,,,0,00,,,M,0.0,M,,0000*5B

$GPGLL,,,,,091554.742,V,N*77

$GPGSA,A,1,,,,,,,,,,,,,,,*1E

$GPRMC,091554.742,V,,,,,,,130913,,,N*49

$GPGGA,091555.742,,,,,0,00,,,M,0.0,M,,0000*5A

$GPGLL,,,,,091555.742,V,N*76

$GPGSA,A,1,,,,,,,,,,,,,,,*1E

$GPRMC,091555.742,V,,,,,,,130913,,,N*48

$GPGGA,091556.742,,,,,0,00,,,M,0.0,M,,0000*59

$GPGLL,,,,,091556.742,V,N*75

$GPGSA,A,1,,,,,,,,,,,,,,,*1E

$GPRMC,091556.742,V,,,,,,,130913,,,N*4B

$GPGGA,091557.742,,,,,0,00,,,M,0.0,M,,0000*58

$GPGLL,,,,,091557.742,V,N*74

$GPGSA,A,1,,,,,,,,,,,,,,,*1E

^C
130|root@android:/data/test/1 #

AngelOfGrief 13.09.2013 14:30

Ну если идут, наверное в чём-то другом проблема... А что вы используете в кач-ве драйвера GPS ?

alex4222 13.09.2013 14:38

Цитата:

Сообщение от AngelOfGrief (Сообщение 270534)
Ну если идут, наверное в чём-то другом проблема... А что вы используете в кач-ве драйвера GPS ?

USBGPS. стартует как обычно и девайс прописан /dev/ttyUSB0.

если консоль с прогой закрыть, то не стартует.

синенький кружочек со значками блутуч, связь и спутник

alex4222 13.09.2013 15:04

http://SSMaker.ru/86578a64/

что то с моим приемником случилось ((( данные принимает, но координату даже в винде не вычисляет. и лампочка красная на нем раньше моргала, а теперь просто горит. что это может быть? приемник BU-353s4 USB


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

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