PDA

Просмотр полной версии : USB GPS for Android


Страницы : 1 2 [3] 4 5 6

webnet
07.04.2014, 11:30
не могу найти драйвер для A10 ядро 3.0.8 для mini pc mk802. купил вот этот GPS http://www.ebay.com/itm/151126069580?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

но к нему нужен cdc-acm.ko,где его взять?

oledv
07.04.2014, 12:18
не могу найти драйвер для A10 ядро 3.0.8 для mini pc mk802. купил вот этот GPS http://www.ebay.com/itm/151126069580?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

но к нему нужен cdc-acm.ko,где его взять?

какой конвертер USB-UART вы используете для подключения Skylab Skynav SKM53 GPS ?
на прямую можно только к штатному UART порту подключить если он есть

webnet
07.04.2014, 15:46
использую http://pccar.ru/showthread.php?t=20460

Rage2
07.04.2014, 15:57
скинте кто нибудь данный файл . cdc-acm.ko
:bangin:

webnet, Вы вроде взрослый человек.... Но вот неужели Вам было сложно изложить суть проблемы одним постом? Описать, что имеется, ваша цель и в чем проблема?
А то пока до истины доберешься, постов куча набежит.

Внимание вопрос. У вас версия ядра 3.0.8 или 3.0.8+

webnet
07.04.2014, 16:54
андроид 4.0.4

версия ядра 3.0.8

plohish
07.04.2014, 22:06
Не могу закрепить права за /dev/ttyACM0 по средствам рутэксплорера, хватает этих прав до первого ребута. В терминале также назначал chmod 666, и посыпались заветные символы после ввода cat /dev/ttyACM0. Но жпс тест не видит данных , пока в рутэксплорере не поправишь . Почему сбиваются, в чем причина?

Rage2
07.04.2014, 23:34
Не могу закрепить права за /dev/ttyACM0 .....Почему сбиваются, в чем причина?
Причина в том что, права выставляются согласно файлу ueventd.xxxx.rc
В нем описывается на какие устройства системе выставлять права.

Но этот файл просто так не отредактировать, т.к лежит на рамдиске и после перезагрузки он перезаписывается.
Поэтому нужно разобрать boot.img от прошивки, внести нужные изменения, собрать обратно и прошить.

plohish
08.04.2014, 07:34
Причина в том что, права выставляются согласно файлу ueventd.xxxx.rc
В нем описывается на какие устройства системе выставлять права.

Но этот файл просто так не отредактировать, т.к лежит на рамдиске и после перезагрузки он перезаписывается.
Поэтому нужно разобрать boot.img от прошивки, внести нужные изменения, собрать обратно и прошить.
Спасиб, пошел ковырять.
А не получится избежать ковыряния в boot.img, путем прописывания нужных словов в init.d? Ведь скорость мы там задаем, почему бы и права там не прописать. Чтобы выставлялись каждый раз при загрузинге.

Чет меня понесло. Обязательно ли для разбора boot.img иметь на борту Linux или виртуальную машину с ним? Из под винды никак не разобрать?
ОХ, все, амбиции поугасли.

Rage2
08.04.2014, 11:11
Да можно и там прописать, только если устройство передернуть в хабе, тогда права на него опять слетят.

Разобрать и правильно потом ообрать, можно только под линь.

plohish
08.04.2014, 12:17
Да можно и там прописать, только если устройство передернуть в хабе, тогда права на него опять слетят.

Разобрать и правильно потом ообрать, можно только под линь.

Но ведь после следующего ребута они восстановятся по средствам записи в init.d? Этот вариант все же лучше, чем в ручную тыкать.

webnet
08.04.2014, 15:13
андроид 4.0.4

версия ядра 3.0.8

модуль для MT3329 . а тут в начале темы, для 3.0.8 + только

где вообще брать эти модули

Rage2
08.04.2014, 17:22
plohish, Все верно.

где вообще брать эти модули
Да нигде, таких мест не существует.
Либо искать в сети, может быть кто-то делал для себя и выложил...либо компилить самому...как вариант попросить того, кто может это сделать..

webnet
08.04.2014, 17:46
а на каком ядре и прошивки gps будет работать хорошо без проблем?

Rage2
08.04.2014, 19:49
Нельзя сказать наверняка... будет работать или нет.
Дело такое....специфичное. Все ядра и прошивки индивидуальные...для каждой железки они свои.

plohish
09.04.2014, 07:25
Спасиб, пошел ковырять.
А не получится избежать ковыряния в boot.img, путем прописывания нужных словов в init.d? Ведь скорость мы там задаем, почему бы и права там не прописать. Чтобы выставлялись каждый раз при загрузинге
.

не срабатывает вариант с записью chmod 666 /dev/ttyACM0 в init.d. может чего-то не хватает, какого нибудь параметра?

вот на всякий случай его содержимое

#!/system/bin/sh
#
insmod /system/lib/modules/cdc-acm.ko
stty -F /dev/ttyACM0 speed 115200
setprop "ro.kernel.android.gps" "ttyACM0"
chmod 666 /dev/ttyACM0
insmod /system/lib/modules/snd-hwdep.ko
insmod /system/lib/modules/snd-rawmidi.ko
insmod /system/lib/modules/snd-usbmidi-lib.ko
insmod /system/lib/modules/snd-usb-audio.ko

echo "done USB Audio Modules Autoload"

plohish
09.04.2014, 14:31
Спасибо всем, решили вопрос с автоматическим выставлением прав 666 на /dev/ttyACM0 . Содержание файла автозагрузки таково:

#!/system/bin/sh
#
insmod /system/lib/modules/cdc-acm.ko
stty -F /dev/ttyACM0 speed 115200
setprop "ro.kernel.android.gps" "ttyACM0"
sleep 50
chmod 666 /dev/ttyACM0
insmod /system/lib/modules/snd-hwdep.ko
insmod /system/lib/modules/snd-rawmidi.ko
insmod /system/lib/modules/snd-usbmidi-lib.ko
insmod /system/lib/modules/snd-usb-audio.ko

echo "done USB Audio Modules Autoload"

ну и в воткнуть приемник в хаб, в порт №1 (http://pccar.ru/showpost.php?p=284937&postcount=3008)

dmitry-c
27.04.2014, 11:24
Задался решением подключить планшет Vido N90FHD (проц Allwinner A31 ядро 3.3.0 ведроид 4.2.2) и gps usb (noname) на базе MTK3329, ни один драйвер cdc-acm.ko из шапки не заработал (пусто в lsmod), видимо не для этой платформы. Может у кого нибудь есть нужный драйвер?

Rage2
27.04.2014, 13:07
проц Allwinner A31 ядро 3.3.0.......ни один драйвер из шапки не заработал....видимо не для этой платформы. Вы прям капитан очевидность. =)

dmitry-c
27.04.2014, 13:44
Вы прям капитан очевидность. =)

Извиняюсь :blush:

Rage2
27.04.2014, 14:38
dmitry-c, вам нужно найти на 4пда самую активную ветку по Allwinner A31, искать и спрашивать там. Попросите там местных ромоделов собрать вам модуль.
Просто я сомневаюсь, что тут найдется тот, кто сможет вам помочь.
Так же смотреть форумы xda, slatedroid.

dmitry-c
27.04.2014, 15:33
Ок, попробую спросить там, если будут продвижения, отпишусь. Спасибо.

CheGuevara
28.04.2014, 14:34
Планшет Pipo U2 на RK3066 (рутованый, busybox установлен)
GPS-приемник: GlobalSat BU-353S4 USB

Приемник подключен через OTG-переходник (без хаба)

В папке "/system/etc/permissions" есть файл "android.hardware.location.gps.xml"
В этом файле есть <feature name="android.hardware.location.gps" />
Файл "android.hardware.location.xml" отсутствует.
(позже скопировал "android.hardware.location.gps.xml" в "android.hardware.location.xml" - ничего не изменилось)

В меню "Настройки"-"Мое местоположение" есть пункты
"По координатам сети"
"Учитывать при поиске"
(про GPS слов нет)

В меню "Для разработчиков" проставлена галка на "Фиктивные местоположения"

Из первого поста скачаны:
new_gps.sun4i.so.zip
usb_serial_for_RK3066_3.0.8+.zip

Монтирую раздел "/system" в RW.
Заливаю модули на планшет:

adb push pl2303.ko /system/lib/modules/pl2303.ko
adb shell chmod 644 /system/lib/modules/pl2303.ko

adb push gps.sun4i.so /system/lib/hw/gps.default.so
adb shell chmod 644 /system/lib/hw/gps.default.so

adb shell sync

Далее в терминале выполняю такую последовательность команд:

su
echo -n "1-1:1.0" > /sys/bus/usb/drivers/option/unbind
insmod /system/lib/modules/pl2303.ko
busybox stty -F /dev/ttyUSB0 4800
busybox chmod 666 /dev/ttyUSB0
setprop ro.kernel.android.gps ttyUSB0

Проверяю:

cat /dev/ttyUSB0

на экране вижу поток NMEA данных.
Ок??

Запускаю (для теста) программу AndroiTS GPS Test Free (https://play.google.com/store/apps/details?id=com.androits.gps.test.free)

Спутники показывает, координаты показывает. Но скачут показания азимута
(наверное азимута, значение в градусах показывает либо 0 либо 350) и высоты
(либо 14 либо 474 метра... реальная высота, примерно, 474 метра и есть).
В Навителе моргает значок спутника красный/зеленый, если зайти в просмотр
спутников - моргает показание высоты: либо "-" либо "474м".
Моргает равномерно - примерно по полсекунды каждое показание.

Установил UsbGps4Droid - показания перестали мигать, но и информацию
о спутниках не видно.

Можно ли как-то порешать чтоб и информацию по спутникам было видно
и не моргали значения??

Rage2
28.04.2014, 16:14
Как решить вашу проблему точно я не скажу, но вот есть не используете UsbGps4Droid, тогда галку "Фиктивные местоположения" нужно убрать.

попробуйте софтовую реализацию драйвера pl2303 http://www.pccar.ru/showthread.php?t=19270

eyeless
07.05.2014, 10:29
Либа работает на 4.2, использовал для UART приемника, сенкс!

UPD. Погонял, не очень хорошо оно парсит NMEA и с глонасом беда, спутники скачут :(
Эээх, придется похоже писать самому.

LowriderA
08.05.2014, 18:30
МК908II(сток 4,2 от 19,12,13)+ BU353S4 слибой и "пинанием" работает отлично, осталось добавить время
Всем спасибо! Прочитав всю тему победил!

Rage2
08.05.2014, 21:29
LowriderA, молодец, что нашел силы самостоятельно изучить и переварить информацию :wink2:
.....ну хоть кому то мои труды были полезны.:happy:

SanchSanch
15.05.2014, 01:07
Добрый день. Спасибо огромное за подробные инструкции по настройке USB GPS.

Сейчас собираю систему в машину на основе свистка MK908II.
Прикупил к нему приемник LS-2030G через pl2303.ko и либу из первого поста. С pl2303 пришлось помучаться, но инструкции в первом посте помогли (видимо драйвер криво вкомпилен в ядро). Скрорсть порта подобрал экспериментально по выводу текста через команду cat. Получилось 115200.

В общем через терминал поток нормально идет, а в прогах типа GPS Test и GPS Status спутники постоянно "прыгают и мигают". Видел в теме подобные жалобы, вроде бы предполагается что это из-за несовместимости либы с GLONASS.
Хотел уточнить, нет ли работающего с данным приемником либы? Уж очень не хочется юзать Mock Locations - какой-то это не полноценный GPS.
И на всех ли приемниках с Glonass такая фигня с данной либой? Или есть соместимые по командам?

Так же откопал старый приемник BU-353 (ему лет 5, если не больше), тоже на pl2303, только скорость 4800. Глонасса там естественно нет. С ним спутники не прыгают, но уж очень низкая чувствительность по современным меркам и спутники долго ищет.
Глонасс все-таки хочется, и чтоб без костылей в виде Mock Locations...

Rage2
15.05.2014, 01:39
Новой либы я не встречал, но у plohish гпс приемник с глонасс (Locosys LS23090) и вроде у него ничего не скачет и не прыгает с этой либой.
Только у него приемник юзает cdc-acm.ko и скорость 115200.
Попробуйте вместо модуля, использовать софтовый драйвер pl2303. http://www.pccar.ru/showthread.php?t=19270

eyeless
16.05.2014, 11:09
Новой либы я не встречал, но у plohish гпс приемник с глонасс (Locosys LS23090) и вроде у него ничего не скачет и не прыгает с этой либой.
Только у него приемник юзает cdc-acm.ko и скорость 115200.
Попробуйте вместо модуля, использовать софтовый драйвер pl2303. http://www.pccar.ru/showthread.php?t=19270

plohish тоже писал что скачут, вот тут (http://pccar.ru/showpost.php?p=256722&postcount=16)
я думаю что проблема в том что инфа GPS и GLONASS идет отдельными сообщениями, и либа их парсит как равноценные, а не объединяет

BorisGreen
02.06.2014, 15:29
Зарегистрировался, чтобы поблагодарить и рассказать случай.

Планшет DNS e77 RK3066, Android 4.1.1, 3.0.8+
При втыкании cp2101 \ FT232RL они автоматом распознаются, возникает /dev/bus/usb/001/00* каждый раз разный файл.

UsbGPS автоматом ловит этот файл.

Но я залил родную библиотеку gps.default.so, ее не было в планшете. Сделал **.xml с разрешением на Настройки-Местоположение- По спутникам.

init.d не сущестововал, preinstall.sh не существовал. Создал, но не работает.

Тогда создал install-recovery.sh rwx-rx-rx и поместил туда строки:

#!/system/bin/sh
insmod /system/lib/modules/cp210x.ko
setprop "gps.enable" "true"
setprop "ro.kernel.android.gps" "ttyUSB0"
sleep 50
stty -F /dev/ttyUSB0 speed 9600
chmod 777 /dev/ttyUSB0

Еще в build.prop прописал "gps.enable" "true", НО думаю, что можно без этого.
---------------
Включаю планшет со вставленным cp2102+MTK, грузится, проверяю скорость файла - 9600, данные NMEA бегут. В 2ГИС и прочих приложениях работает "родная" библиотека, которую воткнул.
Как только планшет уснул - файл /dev/ttyUSB0 исчезает. Навигации нет.
При втыкании флешки вместо ГПС она определяется и работает. После флешки ГПС не работает, только снова ребут со вставленным ГПС.
Итого, планшет включаем с ГПС, спать не даем, 2ГИС запускаем и используем.

В общем, спасибо вам за интересный квест и полезную тему!

BorisGreen
02.06.2014, 15:41
Еще проверяйте, что данные NMEA валидные. Я на подоконнике держал ГПС, он гнал 4878594, ,,, Не обратил внимания, что координат нет. Библиотеки ругаются, кажется, что они не работают :be: Например, родная библиотека пишет "Поиск ГПС", хотя в терминале данные бегут, правда, пустые :laugh2:
Убил на это пару часов! Мучал софт, а дело в железе.

Если у кого есть Ардуино, то создаете простой скетч, serial.begin(***_ваша_скорость_порта);

void setup()
{
// initialize serial and wait for port to open:
Serial.begin(9600); //ваша_скорость_порта
}

void loop()
{
//координаты какие пожелаете, можно свой город, чтобы карта была в навигаторе
Serial.println("$GPRMC,204322.842,V,8819.797,N,07605.094,E,2.8,32. 30,010614,,E*58");
delay(100);
Serial.println("$GPGGA,204323.842,8819.797,N,07605.094,E,0,00,,,M, ,M,,*41");
delay(100);
Serial.println("$GPGLL,8819.797,N,07605.094,E,204324.842,V*26");
delay(100);
Serial.println("$GPVTG,32.30,T,,M,2.8,N,5.1,K*6C");
delay(100);
}


Подключаете GND,TX Ардуины на GND,RX своего CP2101\FT232 и получаете валидные NMEA прямо на столе в бетонной коробке. Планшет думает, что ГПС шлет координаты.

Mypp
04.06.2014, 13:42
Друзья, а есть ли у кого программа PL2303GPS MockLocationProvider ?

отличная программа чтобы работали usb gps на чипе PL2303
просто всё сразу работает, без шаманств с модулями, терминалом, рутом и т.п.
воткнул GPS и программа сама запустилась.

но демо версия 10 минут живёт, а платную версию за 80 р. гугл не даёт купить, недоступно мол ни на одном моём планшете.

BorisGreen
05.06.2014, 14:53
платную версию за 80 р. гугл не даёт купить, недоступно мол ни на одном моём планшете.

У вас планшет без GPS? Тогда Гоогл не даст. Я тоже страдал, когда хотел установить GPS_INFO из маркета.
После шаманства с родной либой gps.default.so у меня "появился" GPS, я написал в build.prop gps.enable = on. Google.market сразу дал скачать любой GPS-софт, мол, ваш планшет поддерживает.

webnet
07.06.2014, 18:39
помогите не могу победить авто загрузку! ttyacm0


insmod /system/lib/modules/cdc-acm.ko грузиться в dev появляется ttyacm0

cat /dev/ttyacm0 данные идут.

всё прочитал и перепробовал. может есть у кого готовые скрипты

Mypp
09.06.2014, 12:34
планшет без GPS? ну да.
демо версию я скачал через APK Downloader

прога нравится тем что всё автоматом делается, установил программу, воткнул USB разъём и все, независимо от версии прошивки или настроек.

Shino Kuyo
10.06.2014, 15:32
хай олл
хотел спросить, но уже подсказали, поэтому правлю сообщение будет типа план действий для конкретной железки :)
на столе Radxa Rock (RK3188) и UART GPS модуль, собственно подключенный к SPI1/UART3/GPS Radxa Rock (пины 17,18,22,24)
ставим бузибокс, рут есть в прошивке изначально

библиотеку gps.sun4i.so кладём в /system/lib/hw
переименовываем в gps.default.so (без замены, так как до этого там только gps.glofish.so)
выставляем ей права 644
монтируем раздел /system/etc на запись
создаём файл install-recovery.sh с Unix-переводами строк с содержимым:
#!/system/bin/sh

busybox stty -F /dev/ttyS3 9600
busybox chmod 666 /dev/ttyS3

setprop "ro.kernel.android.gps" "ttyS3"
копируем install-recovery.sh в /system/etc/ права 755

пользуемся :)

BorisGreen
11.06.2014, 10:25
UART GPS модуль, собственно подключенный к SPI1/UART3/GPS Radxa Rock (пины 17,18,22,24)

Повезло! Вам даже не требуется sleep() для инициализации и подкачка драйверов.
У вас пины RxTx выведены на пяточки? GPS разместили внутри планшета?

Shino Kuyo
11.06.2014, 12:01
Повезло! Вам даже не требуется sleep() для инициализации и подкачка драйверов.
У вас пины RxTx выведены на пяточки? GPS разместили внутри планшета?

это не планшет, это девелопер борд radxa.com
пины выведены на колодку
размещаться всё будет в корпусе штатной магнитолы :)
ну, кроме GPS приёмника, хотя может тоже будет внутри, только окошко для антенны выпилю сверху. вроде под обшивкой торпедо должен ловить. там посмотрим

webnet
11.06.2014, 12:45
как создать файл install-recovery.sh с Unix-переводами строк с содержимым

Shino Kuyo
11.06.2014, 12:49
notepad++ в помощь

webnet
11.06.2014, 14:06
а может кто его прислать готовый?

Shino Kuyo
11.06.2014, 14:21
устройство в системе как видится?

webnet
11.06.2014, 14:25
notepad++ в помощь

а может дать готовый файл

Shino Kuyo
11.06.2014, 14:41
форум не дает *.sh грузить пришлось кинуть в архив
это для устройства ttyS3
http://notepad-plus-plus.org качаете если надо отредактировать
права уже в самом ведроиде рутэксплорером

webnet
11.06.2014, 14:45
форум не дает *.sh грузить пришлось кинуть в архив
это для устройства ttyS3
http://notepad-plus-plus.org качаете если надо отредактировать
права уже в самом ведроиде рутэксплорером

а в этот файл полностью переность загрузку типа
#!/system/bin/sh

insmod /system/lib/modules/cdc-acm.ko
sleep 50
busybox chmod 666 /dev/ttyACM0
setprop ro.kernel.android.gps ttyACM0

вот так должен выглядить?

webnet
11.06.2014, 15:47
#!/system/bin/sh

insmod /system/lib/modules/cdc-acm.ko
setprop ro.kernel.android.gps ttyACM0
busybox stty -F /dev/ttyACM0 9600
busybox chmod 666 /dev/ttyACM0

webnet
11.06.2014, 19:27
Спасибо всём всё работает!

DaveMF
20.06.2014, 12:23
есть такой приемник (http://www.aliexpress.com/item/GPS-engine-board-Module-with-Antenna-USB-G-Mouse/841315559.html), у него чип Ublox 6010. Под него есть библиотека?

Shino Kuyo
20.06.2014, 13:29
а какая разница-то какой приемник?
видится андроидом в девайсах?

DaveMF
20.06.2014, 14:05
а какая разница-то какой приемник?
видится андроидом в девайсах?

Я планирую только еще купить, вот и спрашиваю будет ли работать, чтобы деньги не выкинуть. Мой BU-353S4 отлично работает с библиотекой pl2303.ko

dmitry-c
22.06.2014, 11:28
Здравствуйте уважаемые, не могу подружить зверька на rk3188 андроид 4.4.2, ядро 3.0.36+ и gps приемник на mediatek MTK3329.
Установил драйвер и либу
u0_a67@rk3188:/ $ lsmod
cdc_acm 13916 0 - Live 0x00000000
rk29_ipp 9957 1 - Live 0x00000000 (C)
mali 152580 35 - Live 0x00000000
ump 30472 21 mali, Live 0x00000000
rk30xxnand_ko 162075 0 - Live 0x00000000
u0_a67@rk3188:/ $

Устройства ttyACM при подключении в dev не появляется есть ttyS0, которое откликается на "busybox stty -F /dev/ttyS0"

u0_a67@rk3188:/ $ su busybox stty -F /dev/ttyS0 ispeed 115200
u0_a67@rk3188:/ $ su busybox stty -F /dev/ttyS0
speed 115200 baud; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-brkint -imaxbel
u0_a67@rk3188:/ $

Но после ввода "cat /dev/ttyS0", потока данных NMEA нет...

Rage2
22.06.2014, 15:17
dmitry-c, ttyS0 не трогать..это другое.
Не исключено, что ваш приемник не на cdc_acm интерфейсе построен.
Попробуйте pl2303.ko

dmitry-c
23.06.2014, 12:17
dmitry-c, ttyS0 не трогать..это другое.
Не исключено, что ваш приемник не на cdc_acm интерфейсе построен.
Попробуйте pl2303.ko

Да похоже что другое точно, это устройство не определяется совсем, попробовал pl2303.ko, но пока не могу сменить скорость порта на 4800

busybox stty -F /dev/ttyUSB0 ispeed 4800 или busybox stty -F /dev/ttyUSB0 4800
setprop ro.kernel.android.gps ttyUSB0

выдают: ошибка "cannot perform all requested operations
пробовал сделать так по инструкции (http://pccar.ru/showpost.php?p=268020&postcount=264) результата нет...

Rage2
23.06.2014, 12:48
dmitry-c попробуй "софтовый" драйвер.
http://www.pccar.ru/showthread.php?t=19270

nrgizer79
23.06.2014, 16:02
Приветствую всех!

Связка ODROID U3 (Exynos 4412) + Holux M-215+ (чип МТК3333).
Android 4.4.4. Ядро 3.0.51
Судя по выводу lsusb (Bus 001 Device 007: ID 067b:2303) модуль pl2303, причем модуль вкомпилен в ядро.
Устройство определяется как ttyUSB0.
Скорость 9600 (speed 9600 baud; line = 0; )
Скорость в настройках приемника - 4800.
Данные NMEA естественно не идут.
Если скорость поменять ручками busybox stty -F /dev/ttyUSB0 4800, то данные пойдут.
Создал папку /system/etc/init.d, дал права 755 (chmod 755 /system/etc/init.d).
Создал файл /system/etc/init.d/gps_speed, дал права 755 (chmod 755 /system/etc/init.d/gps_speed).
Прописал туда:
#!/system/bin/sh

busybox stty -F /dev/ttyUSB0 ispeed 4800
busybox chmod 666 /dev/ttyUSB0
Скрипт походу не отрабатывается, скорость при запуске не меняется.
"Выписка" из лога:
--------- beginning of /dev/log/main
06-23 14:49:25.725 I/installd( 1435): installd firing up
06-23 14:49:25.820 I/DEBUG ( 1430): debuggerd: Jun 16 2014 09:35:30
06-23 14:49:25.965 I/busybox ( 1442): run-parts: /system/etc/init.d/gps_speed exited with code 111
06-23 14:49:25.965 I/busybox ( 1442): busybox terminated by exit(1)

Что я делаю не так ?

Bkmz
23.06.2014, 18:01
Приветствую всех!

Связка ODROID U3 (Exynos 4412) + Holux M-215+ (чип МТК3333).
Android 4.4.4. Ядро 3.0.51
Судя по выводу lsusb (Bus 001 Device 007: ID 067b:2303) модуль pl2303, причем модуль вкомпилен в ядро.
Устройство определяется как ttyUSB0.
Скорость 9600 (speed 9600 baud; line = 0; )
Скорость в настройках приемника - 4800.
Данные NMEA естественно не идут.
Если скорость поменять ручками busybox stty -F /dev/ttyUSB0 4800, то данные пойдут.
Создал папку /system/etc/init.d, дал права 755 (chmod 755 /system/etc/init.d).
Создал файл /system/etc/init.d/gps_speed, дал права 755 (chmod 755 /system/etc/init.d/gps_speed).
Прописал туда:
#!/system/bin/sh

busybox stty -F /dev/ttyUSB0 ispeed 4800
busybox chmod 666 /dev/ttyUSB0
Скрипт походу не отрабатывается, скорость при запуске не меняется.
"Выписка" из лога:
--------- beginning of /dev/log/main
06-23 14:49:25.725 I/installd( 1435): installd firing up
06-23 14:49:25.820 I/DEBUG ( 1430): debuggerd: Jun 16 2014 09:35:30
06-23 14:49:25.965 I/busybox ( 1442): run-parts: /system/etc/init.d/gps_speed exited with code 111
06-23 14:49:25.965 I/busybox ( 1442): busybox terminated by exit(1)

Что я делаю не так ?
Попробуй из скрипта убрать слово ispeed....

nrgizer79
23.06.2014, 18:25
Попробуй из скрипта убрать слово ispeed....
То же самое.
Из командной строки работает что с ispeed, что без нее.

Rage2
23.06.2014, 18:56
Убери базибокс

webnet
24.06.2014, 00:14
Помогите решить проблему. Спутники пропадают через неопределённое время.а в терминале после ввода cat /dev/ttyACM0 данные идут. Помогает только перезагрузка?

nrgizer79
24.06.2014, 10:12
Убери базибокс
Не помогает.

UPDATE:
Побеждено.
Создавал файл скрипта в notepad++ на винде - не работало.
Создал файл в андроиде в RootExplorer - все пошло.

dmitry-c
25.06.2014, 07:24
dmitry-c попробуй "софтовый" драйвер.
http://www.pccar.ru/showthread.php?t=19270

Спасибо за совет. Вчера домучил ведроидного зверя, данные в cat /dev/ttyUSB0 идут, но софт не работает. Либу записал 3 раза под разными именами gps.default.so, gps.sun4i.so, gps.exDroid.so т.к. в каталоге /system/lib/hw не было файлов в имени которых встречалось бы слово gps. Файл android.hardware.location.gps.xml есть, содержимое такое же, менять не стал. Костыль usbgps4droid не работает, выскакивает ошибка, причем как только пытаешься запустить gps программу. Без него на экране тоже появляется значок передачи gps данных, но в программах ничего нет, ни так ни так.

Rage2
25.06.2014, 12:43
dmitry-c, скорее всего либа из шапки на андр 4.4 уже не пашет.

UPdate; Пашет! =) проверено на 4.4.2

dmitry-c
25.06.2014, 13:04
dmitry-c, скорее всего либа из шапки на андр 4.4 уже не пашет.

Я уже думал откатиться на 4.2.2... попробую на досуге.

BadSan
02.07.2014, 01:22
Приветствую уважаемых гуру!
Выручайте братцы, подключил gps модуль, делал все, как написано выше. Спутники определяются, ловит очень быстро, навител показывает расположение правильно, но в движении не определяется скорость и направление, причем на карте в движении показывает изменение правильно, только карта всегда в режиме "север сверху", также не получает данные о дате-времени.
Андроид 4.4.2 , версия ядра 3.10.33 (прошивка от Finless, ссылка (http://www.freaktab.com/forumdisplay.php?136-Beelink-Tronsmart-T428-MK908-etc) есть в сообщении уважаемого Rage2), проц. Cortex A9, девайс такой, (http://4pda.ru/forum/index.php?showtopic=548152)
GPS-модуль такой:Тыц (http://www.ebay.com/itm/RYN25AI-u-blox-MAX-7C-10Hz-high-performance-GPS-Glonass-antenna-module-battery-/181293242043)

Заранее признателен за помощь!

Shino Kuyo
07.07.2014, 10:29
кто-нибудь победил "мигание" спутников??

pine
11.07.2014, 12:27
Мне от мигания спутников, неточного определения координат в движении и скакания координат при остановке на BU353 (SiRF IV) помогло настроить в SiRFDemo следующее (для этого нужно переключиться в Binary Protocol):

- Static Navigation enabled
- HDOP/VDOP enabled
- Track smoothing disabled
- уточнение координат (не помню как пунт называется) - сначала по координатам, потом по времени (по умолчанию - сначала по времени)

При переключении обратно в NMEA можно поиграться с рейтами прихода слов, GGA и RMC можно сделать почаще. Но у меня эффект был странный. По идее - чем больше число, тем чаще приходит сообщение, у меня получилось наоборот - 10 это раз в 10 секунд, а не 10 раз в секунду.

webnet
25.07.2014, 13:55
опять столкнулся с автозагрузкой,
в терминале всё загружается и данные идут с gps.

а вот само не хочет всё загружать.
вот мой install-recovery.sh

#!/system/bin/sh
insmod /system/lib/modules/cdc-acm.ko
setprop ro.kernel.android.gps ttyACM0
sleep 50
chmod 666 /dev/ttyACM0

права на него 775 выствленны.
на cdc-acm.ko 644
на gps.default.so тоже 644

надо ли на сами папки modules и hw выставлять права?

plohish
25.07.2014, 14:10
выстави права вручную на /dev/ttyACM0 через рут экплорер, без перезагрузки

webnet
25.07.2014, 14:28
какие именно ? 775?

plohish
25.07.2014, 14:30
по цифрам не скажу, галочки поставь в первых двух столбиках

webnet
25.07.2014, 14:38
а потом когда он перезагрузиться что делать?

plohish
25.07.2014, 14:42
заново выставлять, у меня жпс работает до первого слипа, потом ручками реанимирую.

webnet
25.07.2014, 14:42
у меня такое ощущение что root explorer не сохраняет выставленнве права. может быть такое?

plohish
25.07.2014, 14:50
у меня такое ощущение что root explorer не сохраняет выставленнве права. может быть такое?
Да.
Может не в том файле прописал, у мея этот файл называется init.d. вот проблема (http://pccar.ru/showpost.php?p=293493&postcount=506) вот решение (http://pccar.ru/showthread.php?t=18871&page=52)

webnet
25.07.2014, 15:24
а как файл с данно инфой в ini/d наз?

plohish
25.07.2014, 15:45
а как файл с данно инфой в ini/d наз?
прописываю в 10usbaudio, а так в любом. Его содержание таково (в моем случае)

#!/system/bin/sh
#
insmod /system/lib/modules/cdc-acm.ko
stty -F /dev/ttyACM0 speed 115200
setprop "ro.kernel.android.gps" "ttyACM0"
sleep 50
chmod 666 /dev/ttyACM0
insmod /system/lib/modules/snd-hwdep.ko
insmod /system/lib/modules/snd-rawmidi.ko
insmod /system/lib/modules/snd-usbmidi-lib.ko
insmod /system/lib/modules/snd-usb-audio.ko

echo "done USB Audio Modules Autoload"

Olegb
28.07.2014, 00:28
Добрый вечер.
Имею старенький планшет на андроид 1.6 (проц. WM8505+), к нему прикрутил внешний GPS usb девайс (изначально не было в ядре драйвера на CP2101, разобрался, драйвер скомпилировал под ядро, все установилось.) Сейчас на команду cat /dev/ttyUSB0 данные поступают. Пользуюсь программой UsbGPS, не устраивает что через нее не видит спутники (всегда хочется чего-то большего). Хотел прикрутить Либу, но ни как не могу понять куда ее положить или может не могу понять как ее назвать. Положил в /system/lib/hw, давал разные названия (все что нашел в этой теме), вообщем не получилось. Может кто знает, подтолкнет куда дальше рыть?

Rage2
28.07.2014, 01:36
Olegb, андрюша у вас уж больно древний...не взлетит эта либа.

Olegb
28.07.2014, 09:01
Olegb, андрюша у вас уж больно древний...не взлетит эта либа.

Ясно... Остановимся тогда на том до чего дошел, главное что работает.
Ну нравится мне когда старые девайсы еще на что-то да пригождаются, а не валяются в хламе. :smile2:

neosphere
11.08.2014, 15:44
Всем привет, спасибо за шикарную тему. Она сподвигла на прикручивание USB-GPS к Tronsmart S89-Elite (пользуясь случаем, рекомендую в качестве CarPC).
Хочу поделиться драйвером pl2303.ko, скомпилированным для этой коробки. Надеюсь, подойдёт ко многим аппаратам с ядром 3.10.+

Собственно, во вложении. Тестировалось с GlobalSat S4.

Надеюсь, пригодится ;)

capricious
15.08.2014, 11:55
Добрый день

ASUS EEE PC 900 + Android X86 4.4.2

1) инструкция из шапки не сработала, хотя cat /dev/ttyUSB0 данные выдает со спутников ( пробовал и с родной либой и из шапки )
2) с программой из маркета PL2303GPS MockLocationProvider все отлично .

Может у кого нить первый вариант работает ?

macau
15.08.2014, 12:59
тут больше нет таких извращенцев

capricious
15.08.2014, 13:14
ну спасибо :)

capricious
19.08.2014, 10:52
Добрый день

Есть ASUS EeePC 901 + Android 4.4.2 X86

Подсоеденил 3g USB Modem Huawei + Globalsat BU-353G (Glonass)

Деруться за ttyUSB0

Как их можно развести ?

1) переделать gps.default.so ? чтобы брал порт ttyUSB4 ?
2) поменять порядок инциализации этих устройств?
3) может еще есть варианты?

Update 20.08.14

Если загрузиться с модемом , подождать когда он подцепится к инету а потом воткнуть BU-353G то работает все вместе. Вопрос как добавить задержку для загрузки драйвера GPS ?

macau
19.08.2014, 15:23
покурить тему. я уже писал в чем дело. тут есть несколько костылей

zizigal
31.08.2014, 02:36
Выкурил всю тему, но так и не получилось привязать bu-353 к Radxe rk3188... Все что удалось, это увидеть как бегают NMEA... Опять же после перезагрузки перестают бегать, пока принудительно не запустишь install-recovery.sh... Местоположение по спутникам не появляется, нависофт ничего не видит... Чеж делать то???

vazgen26
06.09.2014, 17:32
имеется radxa rk3188 через контроллер YAM 4 версии подключен GPS uart. в навителе видит спутники все отлично ловит но при движении не показывает стрелку движения вместо нее точка а в яндекс навигаторе стрелка есть.

zizigal
07.09.2014, 11:37
имеется radxa rk3188 через контроллер YAM 4 версии подключен GPS uart. в навителе видит спутники все отлично ловит но при движении не показывает стрелку движения вместо нее точка а в яндекс навигаторе стрелка есть.

Радха Рок ПРО или просто Радха Рок? Версия андроида какая?

vazgen26
07.09.2014, 11:46
Радха Рок ПРО или просто Радха Рок? Версия андроида какая?

В чем отличие?

zizigal
07.09.2014, 12:15
В чем отличие?

У Вас судя по фото Радха Рок. (не ПРО)... Отличия как в железе, http://wiki.radxa.com/Rock/hardware_revision так и в прошивках. У меня ПРО, и на неё имеется только единственная прошивка Андроид 4.4.2. И он глючный... Прошивки же от не ПРО не подходят... :(

DaveMF
16.09.2014, 22:19
Хочу выразить ОГРОМНУЮ благодарность Rage2 за отличную тему, и понятную инструкцию!
Все необходимые драйвера и библиотеки вшил в ядро андройда 4.4.2, добавил права в исходниках и собрал готовую прошивку для платы RADXA и прошил. Больше никаких действий не надо делать, достаточно подсоединить приемник по USB и само все подцепляется и стартует.
Библиотека отлично работает и на Android 4.4.2.

zizigal
16.09.2014, 22:28
Как решилась проблема с автозагрузкой?

DaveMF
16.09.2014, 22:39
все вшито в ядро, теперь андроид сам все делает. Никуда ничего прописывать не надо и файлы копировать не надо и права выставлять. Все добавлено в исходники и собрано ядро и сам андроид из исходников.
VTV1otNCp2U

Кстати монитор Innolux N070ICG-LD1 с родным ЕМКОСТНЫМ тачскрином на 5 касаний.

zizigal
16.09.2014, 22:44
все вшито в ядро, теперь андроид сам все делает. Никуда ничего прописывать не надо и файлы копировать не надо и права выставлять. Все добавлено в исходники и собрано ядро и сам андроид из исходников.
VTV1otNCp2U

Кстати монитор Innolux N070ICG-LD1 с родным ЕМКОСТНЫМ тачскрином на 5 касаний.

На про не планируете пересобрать ядро??? Готов быть подопытным :)

DaveMF
16.09.2014, 22:56
На про не планируете пересобрать ядро??? Готов быть подопытным :)

Вообще в исходниках написано что это и под про в том числе. Скоро мне придет Radxa PRO обязательно под нее сделаю.

BlkDem
23.09.2014, 11:05
Никому так и не удалось победить "прыгающие" спутники? Навител не работает нормально. Пробовал и 5, и 7, 9-ый. Координаты идут нормально, высотомер шалит. Стабильно периодично. Что делает невозможным фикс.
"МОСК-костыли" работают чуть менее, чем идеально.
BR-355 (pl2303)

BlkDem
23.09.2014, 12:02
Проверил и с pl2303.ko и через pl2303drv - эффект один и тот же.
Походу, вернусь на BT-адаптер, он хоть порт в хабе не занимает.

=== upd
Провернул ту же операцию на другом планшете (rk3188/4.2.2) - все работает нормально.

=== upd
И тут залепа - из спячки не выходит.
Грусть-печаль :)

pine
24.09.2014, 12:16
Никому так и не удалось победить "прыгающие" спутники? Навител не работает нормально. Пробовал и 5, и 7, 9-ый. Координаты идут нормально, высотомер шалит. Стабильно периодично. Что делает невозможным фикс.
"МОСК-костыли" работают чуть менее, чем идеально.
BR-355 (pl2303)

http://pccar.ru/showpost.php?p=301934&postcount=566

Ничего не прыгает

BlkDem
24.09.2014, 18:10
С SirfDemo развлекаюсь второй день. Скорость обмена поднял до 115200, моргание спутников участилось :D
Попробую по твоему методу.

BlkDem
25.09.2014, 10:17
В копилку знаний.
1. Все флаги, управлять которыми советовал pine через SirfDemo, актуальны для точности позиционирования и на "прыгание" (выглядит как постоянная потеря связи со спутниками) никак не влияют. На "прыгание" точки локации во время медленного движения или плохого приема влияет параметр "Static Navigation". Для автомобильного навигатора всегда должен быть отключен. "Track Smoothing", по большому счету, функция сервисная, на позиционирование при хорошем приеме никак не влияющая. При помощи SirfDemo можно изменить скорость обмена данными с приемником. Актуально тем, кто, по тем или иным причинам, не может изменить скорость порта в Андроиде через stty.
2. Проблема наблюдается в Навителе, но не наблюдается в "7 дорог". Сейчас более часа ехал по "7 дорог" - все работает отлично.
3. При использовании либы "gps.xxx.so" из шапки, в Андроиде не работают:
3.1 Управление включением и отключением навигации,
3.2 "Фиктивные местоположения". Ничего не меняется при включении или отключении. Пофиг, но просто факт.
4. Ранее говорил, что через MOSK все работает хорошо, но нет. Проходит 5-7 минут, и Навител впадает в кому. Справочно: чтобы MOSK заработал, нужно вернуть на место родную либу "gps.xxx.so".

зы: эксперименты продолжу.

pine
25.09.2014, 10:43
Какая версия андроида, какая версия навитела?
У меня ничего не прыгает на навителе 8.5 и 9.2, Андроид был сначала 4.2.2, сейчас 4.4.2, подключено все через pl2303 драйвер ядра и либу gps из шапки. Но я еще сразу после инициализации GPS делаю ему warm start. Влияет разве что на скорость нахождения спутников, но мало ли..

COLD START : $PSRF101,0,0,0,000,0,0,12,6*12
WARM START : $PSRF101,0,0,0,000,0,0,12,2*16
HOT START : $PSRF101,0,0,0,000,0,0,12,1*15
FACTORY RESET : $PSRF101,0,0,0,000,0,0,12,8*1C

Попробуй поиграться.

Единственная проблема, которая осталась - иногда сразу после старта координаты смещены метров на 50, восстанавливаются при начале движения через 2-10 минут. Но такое бывало и на обычном навигаторе на WinCE в незапамятные времена.

BlkDem
25.09.2014, 15:58
У меня есть еще один планшет, на котором этот самый приемник и ЛЮБОЙ Навител (5.х, 7.х, 9.0) работают нормально, правда, до слипа. Дело НЕ в приемнике и его настройках, и это очевидно.
Андроид в обоих случаях 4.2.2. Но чипы разные: rk3066 (скачут, DNS p72w) и rk3188 (не скачут, DNS p70qw).
Попробую Навител 9.2 для очистки совести.

YAM1966
26.09.2014, 12:07
Запущен USB GPS на новом тв-боксе CS918II (http://ru.aliexpress.com/item/CS918II-Android-TV-Box-RK3288-A17-1-8G-Quad-Core-android4-4-Bluetooth-2G-8G-MIRACAST/2030227478.html) с процессором RK3288, андроид 4.4.2, версия ядра 3.10.0 (cdc-acm.ko уже есть в ядре)
Прошивка EKB328 (http://chinagadgetsreviews.blogspot.com/2014/09/download-latest-stock-rooted-firmware.html) от 23.9.2014
Аналогично все работает и на тв-боксе CS918 (http://ru.aliexpress.com/item/MK888-K-R42-CS918-Android-4-2-TV-Box-RK3188-Quad-Core-Mini-PC-RJ-45/1434576659.html) с процессором RK3188, андроид 4.4.2, версия ядра 3.0.36+ (необходимо только добавить загрузку cdc-acm.ko из шапки под это ядро)

Показываю пример для ttyACM0 под мой контроллер (http://pccar.ru/showthread.php?t=20460)

Редактируем build.prop в /system
Ищем или создаем строку:
ro.factory.hasGPS=true
добавляем строку
ro.kernel.android.gps=ttyACM0

Переписываем переименованную в gps.default.so либу из шапки в /system/lib/hw выставляем права 644

Редактируем settings_disabled_menu_list.xml в /system/etc/permissions
Комментируем строку с android.settings.location
В эту же папку переписываем android.hardware.location.gps.xml (как в шапке) с правами 644

В /system/etc проверяем наличие install-recovery.sh
Если нет, создаем с содержимым и правами 755 (не забываем про unix перевод строк)
Для CS918:
#!/system/bin/sh
#
insmod /system/lib/modules/cdc-acm.ko
sleep 20
chmod 666 /dev/ttyACM0

Для CS918II:
#!/system/bin/sh
#
sleep 10
chmod 666 /dev/ttyACM0

перегружаемся
Если в Настройка->Местоположение не выбрано использование GPS По датчикам устройства, то
c помощью виджета "энергосбережение" включаем GPS, перегружаемся
любой программой теста GPS проверяем наличие координат, ну или как обычно в терминале
cat /dev/ttyACM0
Если данные бегут с ошибкой проверяем права и все ли сделано из перечисленного...
3722337224

Rage2
26.09.2014, 13:46
YAM1966, BlkDem, pine от меня респекты в репу за отличные посты. Так держать!

YAM1966
26.09.2014, 14:21
YAM1966, BlkDem, pine от меня респекты в репу за отличные посты. Так держать!

:blackeye: респект принят!

zizigal
26.09.2014, 16:19
...Редактируем settings_disabled_menu_list.xml в /system/etc/permissions
Комментируем строку с android.settings.location...


Как должна выглядеть закоментированная сточка... :blush:

YAM1966
26.09.2014, 16:43
Как должна выглядеть закоментированная сточка... :blush:

<!-- <feature name="android.settings.location" />-->
Вот так :acute:

BlkDem
26.09.2014, 19:37
Навител 9.2. Проблемы те же. Регулярные "фризы" ведения маршрута, пропуски управления маршрутом и т.д. Не юзабельно. Абсолютно. "Илья" отстает на полкилометра, примерно.
Тут же переключаюсь в "7 дорог" и никаких проблем. ВООБЩЕ. Абсолютная точность ведения маршрута, без "прыганий" и прочих артефактов.
Мой вывод: парсер NMEA Навитела что-то избыточно "перепарсивает".
YAM1966 (респект ему) подкинул пару идей. Поколдую еще.

Shino Kuyo
29.09.2014, 15:00
ну что там есть новости по навителу?
добавлю : есть вообще люди, у которых навител работает нормально с usb gps?

YAM1966
26.10.2014, 18:27
Так, дело оказалось не совсем в либе, а в тех данных что она использует с GPS приемника.
Если в сообщении RMC нет азимута и есть сообщение GLL, то на экране навитела круг и карта движется рывками.
Если убрать сообщение GLL совсем - появляется направление, карта следует согласно направлению но тоже рывками.
Как только появляется курс в RMC - карта движется плавно.
Курс может быть в RMC и в VTG, на VTG либа плюет и не использует.
Т.е. из всего вывода GPS приемника необходимо:
1. Убрать сообщение GLL
2. Добавить рассчитанное значение азимута по 2-м координатам при его отсутствии в сообщении от GPS.
Соответственно это можно сделать средствами самого контроллера (http://pccar.ru/showthread.php?t=20460), чем сейчас и занимаюсь...

p.s. Версия обновлена.

Shino Kuyo
27.10.2014, 08:18
YAM1966 ждем

YAM1966
27.10.2014, 18:57
YAM1966 ждем

Готово (http://pccar.ru/showpost.php?p=309694&postcount=68).

vic_pnz
28.10.2014, 11:05
Использую контроллер 4 версии уважаемого YAM1966 http://pccar.ru/showthread.php?t=20460 и бокс на RK3188_3.0.36+ и UART GPS Glonass приемник RYN25AI и Навител 9.2. Попробывал решение от YAM1966.

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

Стало: Навител показывает указатель стрелку всегда. Перемещение по карте стали плавными. Когда стоишь например на светофоре, указатель всегда стрелка (жирной точкой не становится - не кретично), пару раз было замеченно, что, при отсутствии движения, направление стрелки может поменяться(т.е. карта крутится как по ходу движения, и возвращается обратно по направлению. возможно плохой прием от спутников)
В итогу все отлично работает. Огромное СПАСИБО YAM1966

oledv
29.10.2014, 22:15
Помогите найти модуль FT232 ftdi_sio.ko для A20 (Cortex-A7 Dual-Core).

oledv
31.10.2014, 12:10
Помогите найти модуль FT232 ftdi_sio.ko для A20 (Cortex-A7 Dual-Core).

отвечу сам TN_134_FTDI_Android_D2XX_Driver.pdf (http://www.ftdichip.com/Support/Documents/TechnicalNotes/TN_134_FTDI_Android_D2XX_Driver.pdf)

Rage2
31.10.2014, 15:52
отвечу сам TN_134_FTDI_Android_D2XX_Driver.pdf (http://www.ftdichip.com/Support/Documents/TechnicalNotes/TN_134_FTDI_Android_D2XX_Driver.pdf)
Спасибо за находку. Интересный у них вариант. Драйвер выполнен в виде либы на яве. ( libftd2xx-jni.so)
Данный вариант универсальный для всех андройд девайсов. Не имеет значения архитектура и версия ядра.
Нужно только затестить....отпишитесь как у вас работает.

oledv
31.10.2014, 20:41
Rage2, работает, но не под GPS.
использую для управления радио на столе, для написания программы управления.
Android 4.2.2 на плате Cubieboard2 Allwinner A20.

на днях постараюсь попробовать с GPS модулем

Shino Kuyo
09.11.2014, 01:41
Готово (http://pccar.ru/showpost.php?p=309694&postcount=68).

навител вроде заработал, но спутники все равно "мигают"
главное работает
респект, как говорят ньюфаги!

Stratior
10.11.2014, 03:39
UPD: Простите, сам разобрался во всем! Отличный форум

mas_u
15.11.2014, 20:38
Никто не встречал модули (cp210x и cdc-acm) для RK3288?

Rage2
16.11.2014, 11:13
Никто не встречал модули (cp210x и cdc-acm) для RK3288?
Попробуй поковырять кастомные проши....полюбасу найдешь

oledv
30.11.2014, 15:06
Radxa Rock Android Kitkat 4.4.2.
Подключение GPS модуля с TTL выходом через UART3 разьем J8.
17 - GND
18 - VCC-2.8V
22 - UART3 RX
24 - UART3 TX

монтируем раздел на запись:
mount -o rw,remount /system

вносим изменения в system/build.prop:
изменяем ro.factory.hasGPS=false на ro.factory.hasGPS=true
добавляем ro.kernel.android.gps=ttyS3

добавляем в /system/etc/permissions/ из шапки android.hardware.location.gps.xml
выставляем права chmod 644 /system/etc/permissions/android.hardware.location.gps.xml

добавляем в /system/lib/hw/ из шапки gps.default.so
выставляем права chmod 644 /system/lib/hw/gps.default.so

И добавляем в конец файла /system/bin/install-recovery.sh для изменения скорости порта и прав на порт при загрузки системы
stty -F /dev/ttyS3 ispeed 4800
chmod 666 /dev/ttyS3

Через виджет "Энергосбережение" включаем GPS, по умолчанию он выключен.
перезагружаемся

Минин Михаил
08.01.2015, 21:53
сделал вот так ка на ссылке http://pccar.ru/showpost.php?p=260738&postcount=111

грузится после ребута уже 15 минут. неужели стал кирпичем :)

через кнопку-иголку, запустил, вижу что полностью слетел РУТ, счас все заного буду делать

Минин Михаил
08.01.2015, 22:18
:) приехали называется, перезаливаю полностью планшет :) , после рута опять не захотел грузится.

Минин Михаил
08.01.2015, 23:49
в этом файле install-recovery.sh
нужно править строчку чтоб получилось
./system/etc/reset /dev/bus/usb/001/010


папка /system/lib/modules на запись ??? 644

pl2303.ko с правами 644 кинуть в /system/lib/modules/
cdc-acm.ko с правами 644 кинуть в /system/lib/modules/
cp210x.ko с правами 644 кинуть в /system/lib/modules/
ftdi_sio.ko с правами 644 кинуть в /system/lib/modules/

/system/etc на запись ??? 644

install-recovery.sh с правами 551 кинуть в /system/etc

переименовать new_gps.sun4i.so в gps.default.so

в /system/lib/hw кинуть gps.default.so с правами 644



у меня в папке /system/etc уже есть install-recovery.sh причем не один а целых два, если я вставлю свой он будет третьим?

Живые есть?

zamolod
10.01.2015, 11:30
Всем привет и особая благодарность автору темы! Следовал всем возможным инструкциям которые здесь приведены с костылями типа рисета Option (http://pccar.ru/showpost.php?p=268020&postcount=264) и сброса конкретного ID (http://pccar.ru/showpost.php?p=260738&postcount=111) на шине, но всё в пустую, порт никак не переходит на 4800...

GPS Свисток BU353S4 на PL2303 и Андройд MK809III 4.4.2 RK3188

Скрипт,без вышеупомянутых костылей :

http://s6.postimg.org/x253tjnd9/script.png (http://postimg.org/image/x253tjnd9/)

Либа на 3188

http://s6.postimg.org/y35cio4ct/lib_note.png (http://postimg.org/image/y35cio4ct/)

Проверка загрузки модуля и скорости

http://s6.postimg.org/u43jm3qbx/terminal_note.png (http://postimg.org/image/u43jm3qbx/)

Ну а тут вообще интересно )) Если вынимаю свисток и подключаю заново вот что выдаёт dmesg .Почему GSM Modem ???

http://s6.postimg.org/3x6y3vxfx/insert_note.png (http://postimg.org/image/3x6y3vxfx/)

*** Поменял скорость GPS на винде с помощью Sirf Demo на 9600, но на андройде всё равно не пашет.. Видать дело прежде всего не в скорости а в этом неправильном определении как GSM Modem.. Что подскажете колеги?

pine
13.01.2015, 13:37
Скрипт,без вышеупомянутых костылей :


Чтобы скрипт заработал надо обязательно сделать unbind

https://github.com/p1ne/AndroidCarPCScripts/blob/master/init.d/97usbgps

Именно из-за его отсутвтия выдается сообщение про Cannot perform all requested operations

zamolod
13.01.2015, 22:43
Чтобы скрипт заработал надо обязательно сделать unbind


Я делал unbind, в моём случае кроме как удаления USB0 из папки dev ничем не помогало.При переподключении GPS он цеплялся уже на USB1 с теми же проблемами "Cannot perform all requested operations". Замкнутый круг.

pine
14.01.2015, 12:33
Я делал unbind, в моём случае кроме как удаления USB0 из папки dev ничем не помогало.При переподключении GPS он цеплялся уже на USB1 с теми же проблемами "Cannot perform all requested operations". Замкнутый круг.

Попробуй взять модуль из шапки темы. У меня были косяки с штатно собранным модулем ftdi, может быть с pl2303 та же история

zamolod
14.01.2015, 19:13
pine,

Огромное спасибо за этот скрипт! https://github.com/p1ne/AndroidCarPCScripts/blob/master/init.d/97usbgps

Есть такое подозрение что наличие комманды rmmod pl2303 , играет огромную роль! Но правда может быть и так что я выполнял unbind уже после загрузки андройда.. Вообщем неважно что ,но в таком формате скрипта всё зарботало и как результат правильное определение свистка :)

http://s6.postimg.org/owoxof7d9/2015_01_14_16_47_39.jpg (http://postimg.org/image/owoxof7d9/)

Итого MK809III 4.4.2 + BU-353S4 полёт нормальный,без софтовых костылей :)

mas_u
15.01.2015, 18:35
А есть какое-нибудь решение для железной привязки uart к ttyUSB0 или ttyUSB1 ?

pine
15.01.2015, 18:46
Да, serial-конвертеры, куча разных. cp210x, ftdi, pl2303....

pine
15.01.2015, 18:48
pine,

Огромное спасибо за этот скрипт! https://github.com/p1ne/AndroidCarPCScripts/blob/master/init.d/97usbgps

Пожалуйста! там по соседству еще всякие полезняшки с моего дроида

pine,
Есть такое подозрение что наличие комманды rmmod pl2303 , играет огромную роль!

Да, обязательно надо делать rmmod, потому что без него не получится unbind сделать. Вот зачем я их там два сделал - уже не помню....

mas_u
15.01.2015, 19:05
Да, serial-конвертеры, куча разных. cp210x, ftdi, pl2303....

Это понятно)))
Я имел ввиду, чтобы после загрузки и всяких манипуляций не менялся номер с ttyUSB0 на ttyUSB1, а всегда оставался постоянным.

pine
15.01.2015, 20:15
Это понятно)))
Я имел ввиду, чтобы после загрузки и всяких манипуляций не менялся номер с ttyUSB0 на ttyUSB1, а всегда оставался постоянным.

Гуглить в сторону udev rules. Не знаю, правда, применимо ли это к андроидному линуксу. Гляну если не забуду

mas_u
15.01.2015, 20:51
Гуглить в сторону udev rules. Не знаю, правда, применимо ли это к андроидному линуксу. Гляну если не забуду

/etc/udev/rules.d - не нахожу такой папки((((

zamolod
26.01.2015, 21:50
Коллеги, кто-нибудь использует Андройд стик типа MK809III в машине в связке с резервной батареей (Power Bank) как для телефонов, для постоянной подачи тока на стик и страховки от сброса при заводе машины ?

nrgizer79
30.01.2015, 15:51
Странно работает мой Holux M-215+.
Когда движешься по дороге, курсор в навигационной программе движется вперед, потом замирает на пол-секунды, потом откатывается назад по карте, потом рывком перемещается вперед.
И так постоянно, с одинаковой периодичностью.
В Навителе количество спутников "0", индикатор антенки желтый, спутники появляются и исчезают.
При этом координаты все таки определяются.
Никто не встречался ?

se13
08.02.2015, 20:08
Привет. Пытаюсь прикрутить внешний юсби к андроид х86, который стоит на виртуалбокс. Сейчас пользубсь USBGPS, но навител не видит количество спутников и не переключает скин (день, ноч), да и автоподключения не работает. Скачать по ссылкам не получается, выбрасывает на сторонний сайт, а там нужны посты чтоб скачать. Есть ли пошаговая инструкция и файлы в другом месте?

nrgizer79
20.02.2015, 12:03
Странно работает мой Holux M-215+.
Когда движешься по дороге, курсор в навигационной программе движется вперед, потом замирает на пол-секунды, потом откатывается назад по карте, потом рывком перемещается вперед.
И так постоянно, с одинаковой периодичностью.
В Навителе количество спутников "0", индикатор антенки желтый, спутники появляются и исчезают.
При этом координаты все таки определяются.
Никто не встречался ?
В общем проблема однозначно в либе для GPS, т.к. не умеет она одновременно парсить GPS и GLONASS.
Как временное решение хочу включить на чипе режим GPS only, а может GLONASS:dntknw:.
Чип MTK3333.
Вот, что нашел на просторах:
Модулем GPS можно управлять с помощью отправки в порт проприетарных команд чипсета MT3333.
Пример для перевода чипа в standby
echo -e "\$PMTK161,0*28\r" > /dev/ttyNSC1
Из описания чипа:
Packet Type: 353 PMTK_API_SET_GNSS_SEARCH_MODE
Support Chip Type:
MT3333
Packet Meaning:
This command is used to configure the receive to start searching of which satellite system
Data Field:
PMTK353,GPS_Enabled,GLONASS_Enabled
GPS_Enabled: ‘0’=disable (DO NOT search GPS satellite)
‘1’ or non-ZERO value=search GPS satellite
GLONASS_Enabled: ‘0’=disable (DO NOT search GLONASS satellite)
‘1’ or non-ZERO value=search GLONASS satellite
Example:
$PMTK353,0,1*36<CR><LF> Search GLONASS satellite only
$PMTK353,1,0*36<CR><LF> Search GPS satellite only
$PMTK353,1,1*37<CR><LF> Search GPS and GLONASS satellite only
Т.е. мне нужно в чип отправить команду:
$PMTK353,1,0*36<CR><LF>
Видимо в Андроиде через терминал надо вводить:
echo -e "\$PMTK353,1,0*36\r" > /dev/ttyUSB4
Знатоки Андроида (Линукса), а также протоколов GPS подскажите:
1. Что такое <CR><LF> (из описания команды чипа) ?
2. Что такое "r" после цифры 36 ?
3. Как выбирается значение "36" (видно, что бывает и 37 и 28...) ?

Astravod
23.02.2015, 22:15
Доброго времени суток! Скажите, а как подключить вот этот модуль http://ru.aliexpress.com/item/GPS-UART-Module-u-blox-NEO-6M-onboard-development-board-kit-UART-GPS-NEO-6M/1865149790.html
к вот этой плате http://mysku.ru/blog/aliexpress/26949.html. По идее задокументирована поддержка GPS, но вот надо ли для этого драйвер и надо ли пересобирать ядро уже установленного андроида.

SanchSanch
24.02.2015, 20:56
В общем проблема однозначно в либе для GPS, т.к. не умеет она одновременно парсить GPS и GLONASS.
Как временное решение хочу включить на чипе режим GPS only, а может GLONASS:dntknw:.
Чип MTK3333.
Вот, что нашел на просторах:
Модулем GPS можно управлять с помощью отправки в порт проприетарных команд чипсета MT3333.
Пример для перевода чипа в standby
echo -e "\$PMTK161,0*28\r" > /dev/ttyNSC1
Из описания чипа:
Packet Type: 353 PMTK_API_SET_GNSS_SEARCH_MODE
Support Chip Type:
MT3333
Packet Meaning:
This command is used to configure the receive to start searching of which satellite system
Data Field:
PMTK353,GPS_Enabled,GLONASS_Enabled
GPS_Enabled: ‘0’=disable (DO NOT search GPS satellite)
‘1’ or non-ZERO value=search GPS satellite
GLONASS_Enabled: ‘0’=disable (DO NOT search GLONASS satellite)
‘1’ or non-ZERO value=search GLONASS satellite
Example:
$PMTK353,0,1*36<CR><LF> Search GLONASS satellite only
$PMTK353,1,0*36<CR><LF> Search GPS satellite only
$PMTK353,1,1*37<CR><LF> Search GPS and GLONASS satellite only
Т.е. мне нужно в чип отправить команду:
$PMTK353,1,0*36<CR><LF>
Видимо в Андроиде через терминал надо вводить:
echo -e "\$PMTK353,1,0*36\r" > /dev/ttyUSB4
Знатоки Андроида (Линукса), а также протоколов GPS подскажите:
1. Что такое <CR><LF> (из описания команды чипа) ?
2. Что такое "r" после цифры 36 ?
3. Как выбирается значение "36" (видно, что бывает и 37 и 28...) ?

Попробуй вот так:
echo -n -e "\$PMTK161,0*28\r\n" > /dev/ttyNSC1

28 - это контрольная сумма. Зависит от текста команды. если команда меняется (или любые ее параметры) - надо рассчитывать заново.
Расчитать можно на сайте:
http://www.hhhh.org/wiml/proj/nmeaxor.html
(вставить в поле текст команды между $ и *)
<CR> - это символ возврата каретки. Для команды echo эквивалентно \r
<LF> - это символ перевода строки, эквивалентно \n

Но если ты юзаешь вместо модуля прогу pl2303drv - не заработает. Там напрочь не работает передача данных в обратном направлении.
Сегодня-завтра выложу поправленную версию, где это пофиксил. так же у меня не работала скорость 115200, теперь работает.

Также на днях выложу свое решение (костыль) для парсинга данных GPS и формирования новых NMEA-сообщений для кривой либы, так, чтобы она понимала их правильно (глонассовские спутники шлются одним пакетом с GPS-ными) и спутники не прыгали.

Rage2
25.02.2015, 00:01
Попробуйте новую либу.
gps.odroidxu3.so, где odroidxu3 в названии меняем как и раньше на вашу платформу (например gps.default.so)
Выдрал из прошивки для ODROID-XU3, ( 4.4.4_Alpha_1.6_Jan-13-2015)

Параметры скорости и путь к gps приемнику задаются через:
Можно прописать в ваш /system/build.prop
ro.kernel.android.gps=/dev/ttyACM0
ro.kernel.android.gps.speed=9600

или так в скрипт /etc/init.d/
setprop ro.kernel.android.gps ttyACM0
setprop ro.kernel.android.gps.speed 9600

Файлы удалил....не взлетело.

SanchSanch
25.02.2015, 15:25
У меня не заработало - девайс перестал загружаться. Восстановил старую либу через рекавери.

SanchSanch
25.02.2015, 15:30
Как и обещал, в соответствующей теме (http://pccar.ru/showthread.php?p=321632#post321632) выложил поправленную версию проги pl2303drv для работы с приемниками на базе pl2303 без модуля ядра.
Поправлена работа на скорости 115200 и передача данных от хоста к устройству (теперь можно передавать GPS-приемнику спец-комманды для конфигурации).

Обещанный костыль для корректной работы либы с GLONASS еще немного подшлифовываю, выложу на днях.

DaveMF
25.02.2015, 16:48
Попробуйте новую либу.
gps.odroidxu3.so, где odroidxu3 в названии меняем как и раньше на вашу платформу (например gps.default.so)
Выдрал из прошивки для ODROID-XU3, ( 4.4.4_Alpha_1.6_Jan-13-2015)

Параметры скорости и путь к gps приемнику задаются через:
Можно прописать в ваш /system/build.prop
ro.kernel.android.gps=/dev/ttyACM0
ro.kernel.android.gps.speed=9600

или так в скрипт /etc/init.d/
setprop ro.kernel.android.gps ttyACM0
setprop ro.kernel.android.gps.speed 9600

После замены на данную библиотеку Radxa тоже зависает на загрузке.

DaveMF
25.02.2015, 16:50
Обещанный костыль для корректной работы либы с GLONASS еще немного подшлифовываю, выложу на днях.

Аналогичная проблема с mt3333 вот этот (http://ru.aliexpress.com/item/Free-shipping-SIM68V-glonass-module-MTK3333-board-GNSS-board-Breakout-board/32247946066.html?recommendVersion=1) брал, идет переключение с частотой примерно 2Гц спутников GPS и ГЛОНАСС и в итоге не цепляет ни те ни другие.

Нужна новая библиотека... Hander Clander поделился исходниками?

Rage2
25.02.2015, 17:07
После замены на данную библиотеку Radxa тоже зависает на загрузке.У меня не заработало - девайс перестал загружаться. Восстановил старую либу через рекавери.
Х.м...значит не повезло...тогда нужно компилить из сорцов.

https://github.com/codewalkerster/android_device_hardkernel_odroidxu/commit/c5557090c7cd884456861021b85d1b434bc4d37d

plohish
26.02.2015, 09:08
а таскером через скрипт не получиться подсунуть, я когда выставлял задержку и права в init.d , сразу возрастало время загрузки в двое. Эта проблема исчезла при использовании скрипта запускаемого таскером.

DaveMF
26.02.2015, 15:41
Попробуй вот так:
echo -n -e "\$PMTK161,0*28\r\n" > /dev/ttyNSC1

Команда проходит и отключает данные GLONASS, но спутники как моргали так и моргают, и навител показывает ноль, хотя в спутниках показывает нормально.

Так что отключение не помогает.

DaveMF
26.02.2015, 15:52
Х.м...значит не повезло...тогда нужно компилить из сорцов.

https://github.com/codewalkerster/android_device_hardkernel_odroidxu/commit/c5557090c7cd884456861021b85d1b434bc4d37d

это да, но только в них каждая вторая строка под одроид и менять почти все надо.

SanchSanch
26.02.2015, 16:02
Х.м...значит не повезло...тогда нужно компилить из сорцов.

https://github.com/codewalkerster/android_device_hardkernel_odroidxu/commit/c5557090c7cd884456861021b85d1b434bc4d37d

Более правильная ссылка (на весь набор файлов исходников): https://github.com/codewalkerster/android_device_hardkernel_odroidxu/tree/odroid_5410_master/common/libodroid-gps

Но посмотрев исходники, я предполагаю, что эта либа тоже про Глонасс ничего не знает и вести себя будет так же.

Исходники нашей либы раздобыть не удалось. Поэтому вопрос новой либы остается открытым...

SanchSanch
26.02.2015, 16:04
Команда проходит и отключает данные GLONASS, но спутники как моргали так и моргают, и навител показывает ноль, хотя в спутниках показывает нормально.

Так что отключение не помогает.

Да, я тоже пробовал и подтверждаю - моргание продолжается, даже при отключенном GPS или GLONASS.
Дело в том, что чип продолжает слать сообщение GPGSV (для GPS) или GLGSV (для GLONASS), но с нулевым количеством спутников. Это сбивает либу с толку.

Rage2
26.02.2015, 16:51
Тогда брать свежую либу андройда с поддержкой глонасса и патчить по аналогии на предмет возможности выбора источника и скорости.

В /etc/gps.conf можно еще добавить

XTRA_SERVER_1=http://gllto.glpals.com/7day/glo/v2/latest/lto2.dat
XTRA_SERVER_2=http://gllto.glpals.com/4day/glo/v2/latest/lto2.dat
XTRA_SERVER_3=http://gllto.glpals.com/2day/glo/v2/latest/lto2.dat
SUPL_HOST=supl.google.com
SUPL_PORT=7276
И еще куча всякой хрени можно настроить
https://android.googlesource.com/device/lge/mako/+/master/gps.conf

DaveMF
26.02.2015, 17:03
Тогда брать свежую либу андройда с поддержкой глонасса и патчить по аналогии на предмет возможности выбора источника и скорости.

А где ее взять? Я порылся и чтото не нашел.

SanchSanch
26.02.2015, 17:08
Итак, представляю свое обещанное временное решение проблемы моргания спутников.
Вдохновила меня на это программа pl2303drv автора с 4pda и доработанная уже на данном форуме. Оттуда взял саму идею и пример реализации виртуального "устройства" tty.

Моя программа читает NMEA поток от приемника, парсит его и формирует новый "исправленный" (хотя на самом деле наоборот) поток - такой, чтобы либа его правильно переваривала и предоставляла андроиду на выходе по возможности правильные данные. Программа создает виртуальное "устройство" tty и выдает туда сгенерированный поток. Для либы в качестве GPS-приемника нужно указывать уже данное созданное устройство. Название (путь) к входному (настоящему) и выходному (которое она создаст) устройствам программа принимает в качестве аргументов командной строки.

Программу условно назовем nmeafix (хотя на самом деле она не fix-ит, а "ломает" NMEA-поток :) )

Соответственно нужно модифицировать скрипт автозапуска GPS, добавив после загрузки модуля ядра виртуального порта (или запуска pl2303drv) и после настройки прав доступа ис корости, но ПЕРЕД командой "setprop ro.kernel.android.gps ttyUSB0" запуск nmeafix, а уже после него сделать setprop ro.kernel.android.gps с другим новым именем устройства (которое задается программе в качестве второго аргумента). На первом этапе целесообразно просто убрать из скрипта setprop, а заупск nmeafix и последующий setprop делать в консоли вручную (в разных окнах). nmeafix можно при необходимости остановить нажатием Ctrl-C. В случае запуска из скрипта нужно в конце команды добавить символ &, чтобы скрипт выполнялся дальше.

При запуске без параметров nmeafix выдает краткую справку по использовниаю, при запуске с неверными параметрами - сообщение об ошибке и ту же справку.
Запускать так:
nmeafix /dev/ttyUSB0 /dev/ttyNMEA [опции]
где
/dev/ttyUSB0 - физическое устройство
/dev/ttyNMEA (виртуальное "устройство", создается программой)
Допустимые опции такие:
--gps-only обрабатывать только GSV и GSA сообщения со спутниками GPS (нельзя испольсовать совместно с --glonass-only)
--glonass-only обрабатывать только GSV и GSA сообщения со спутниками GLONASS (нельзя испольсовать совместно с --gps-only)
--nonzero-snr-only убрать спутники с нулевым сигналом (SNR) из сообщений GSV
--filter TXT1 [TXT2] ... [TXT10] убрать из NMEA-потока сообщения, в которых встречаются вхождения любого текста из TXT1 ... TXT10 (фильтр)

Наиболее корректный результат достигается с опциями --gps-only или --glonass-only. В этом случае в навигационых программах показывается правильный набор видимых спутников GPS или GLONASS (но только либо то, либо то) и правильно отмечаются спользованные для рассчета позиции спутники (это не обязательно все видимые, лишь некоторая их часть).
Без указания данных опций в наивгационных программах будут корректно отображаться видимые спутники GPS+GLONASS, но с отображением активных (использованных для рассчета позиции) спутников будут глюки - могут ложно отмечаться как активные спутники (как GPS, так и GLONASS), которые на самом деле не использованы для расчета. И наоборот - использованные для расчета спутники (особенно Глонасс) могут не отмечаться как активные, из-за ограничения в либе (или используемом либой API андроида) на 12 активных спутников (на самом деле навигационные проги могут показывать и несколько большее число активных спутников из-за вышеописанного глюка с ложной отметкой активных спутников).
Причина ложной отметки в том, что для передачи инфы об активных спутниках андроиду используется битовая маска в 32 бита (unsigned int), где каждый бит соответствует спутнику (от 1 до 32). Спутники GPS имеют нумерацию от 1 до 32, Глонасс - от 65 до 96. Спутники Гонасс могут быть помечены активными, только если сместить их нумерацию на 64. Но в таком случает пометится и спутник GPS с таким номером, если он есть в списке видимых. И наоборот.
Короче, если в списке видимых спутников, который шлет приемник, пристутсвуют 2 спутника - GPS (с номером N) и Глонасс (с номером N+64), и один из них помечается приемником, как активный, в навигационных прогах оба эти спутника отобразятся как активные.
И ничего с этим сделать нельзя, не пересобирая либу (и то я не знаю, что там править надо).

Опция --nonzero-snr-only влияет на отображение видимых спутников с нулевым сигналом (столбики с нулевой высотой). Мне показалось, что это слишком громоздко, и я добавил такой фильтр. Неоктрые навигационные проги и так не отображают такие спутники. Использовать или нет - дело вкуса. Может использоваться совместо с опциями --gps-only или --glonass-only.

Опция --filter нужна для исключения из NMEA-потока от приемника некоторых сообщений, в которых содержатся вхождения последовательностей символов из спика (от 1 до 10), указанного после --filter. Такие сообщения не обрабатываются и не передаются дальше в созданое виртуальное "устройство".
Опция --filter может быть указана только последней в списке опций, после нее может быть только список последовательностей символов для фильтрации (от 1 до 10).
Добавил эту опцию для исключения сообщений GLL и RMC. С ними у меня либа глючила - в нави-прогах "моргало" отображение высоты и курса (азимута) - показывались то правильные цифры, то 0.
Поскольку данная информация содержится не только в этих сообщениях - их отключение достаточно безвредно и помогает вылечить глюк либы. Единственное что - теряем инофрмацию о текущем времени, поэтому надо спец-коммандой включить в чипе вывод сообщений ZDA (в моем приемнике на базе MTK3333 вывод этого сообщения изначально отключен). Сообщения GLL и RMC тоже можно отключить этой спец-коммандой, я так и сделал, дополнительно для надежности использую опцию --filter в nmeafix.
Возможно глюк либы c GLL и RMC будет не у всех, а зависит от приемника и чипа, на базе которого он сделан.

Для удобства nmeafix поддерживает также передачу конфигурацонных спец-комманд в GPS-чип, т.е. все символы, отправленные в /dev/ttyNMEA передаются в физическое устройство (например, /dev/ttyUSB0).

Прикладываю скомпилированный бинарник вместе с исходниками.
Возможно, бинарник у всех не заработает, я не гуру компиляции.
Сорри за может быть неидельный стиль кодинга и отстутсвие комментов.

DaveMF
26.02.2015, 18:09
SanchSanch
Поподробнее, напиши пожалуйста конкретно команду для запуска nmeafix с параметром gps-only. Так будет проще понять что где указывать и менять.

И раз пошла такая пьянка, то как думаешь, если взять либу от устройства которое нормально работает одновременно с глонасс и gps и ей подсовывать эти данные.
У меня на sony z3 компакт глонасс и гпс отлично вместе работают. Либа тоже находится в lib/hw и называется gps.default.so. Подсовывал в radxa, не работает, но и не виснет.

SanchSanch
26.02.2015, 18:44
SanchSanch
Поподробнее, напиши пожалуйста конкретно команду для запуска nmeafix с параметром gps-only. Так будет проще понять что где указывать и менять.

Сначала нужно убрать setprop "ro.kernel.android.gps" из твоего скрипта автозапуска, если такой скрипт есть.
Либо убрать ro.kernel.android.gps из файла build.prop, если прописывал туда.
Потом перезагрузить устройство. После перезагрузки либа не будет цепляться к GPS приемнику, т.к. не прописан setprop.
Дальше делаем все подготовительные операции (грузим модуль ядра, выставляем права, скорость и тд), все как обычно - если это не делает скрипт.

Теперь запускаем прогу (под рутом, сначала без скрипта, вручную в терминале):
nmeafix /dev/ttyUSB0 /dev/ttyNMEA --gps-only
Прога должна выдать приветствие и дальше молча работать, ничего не выводя на экран. Если выдает список опций, примеры команды запуска и сразу завершается - значит неправильно что-то написали в команде.

Потом в другом окне терминала (не закрывая старое, где запустили прогу):
setprop "ro.kernel.android.gps" "ttyNMEA"

Можно еще проверить, идут ли данные:
cat /dev/ttyNMEA
(посмотрели и остановили нажатием Ctrl-C)

И не закрывая окно терминала, где запущен nmeafix идем в навигационную прогу смотреть результат.

DaveMF
26.02.2015, 20:19
Эх теперь придется скрипт создавать, у меня все вшито было в самосборную прошивку. Спасибо, попробуем...

Может есть какие мысли по созданию новой либы??? Какие интересные ссылки?

DaveMF
26.02.2015, 20:24
Теперь запускаем прогу (под рутом, сначала без скрипта, вручную в терминале):
nmeafix /dev/ttyUSB0 /dev/ttyNMEA --gps-only


Где должен лежать файл nmeafix???

SanchSanch
26.02.2015, 20:25
я залил в /system/xbin
наверное можно и просто в /data
главное, чтобы не внутренняя или внешняя карта памяти (fat32) - т.к. нужно выстаить файлу права на выполение

DaveMF
26.02.2015, 21:15
Подтверждаю, nmeafix решает проблему моргания спутников на GPS/GLONASS приемниках с чипом MT3333.
Автору респект!!!

SanchSanch
26.02.2015, 21:33
Поидее должно и на дргуих чипах работать, но могут и глюки вылезти, если синтаксис NMEA сообщений отличается.

На всякий случай добавлю еще, что использование опций --glonass-only или --gps-only никак не влияет на точность определения координат, т.к. чип продолжает работать с обеими системами и обсчитывать все спутники. Ни либа, ни nmeafix, координаты сами естественно не вычисляют.

Эти опции можно и не использовать вообще, тогда будут отображаться все спутники (без мигания), но вот отображение активных спутников будет глючить, могут быть "лишние" активные спутники, или наоборот, не все активные спутники могут отображаться соответствующим образом.

DaveMF
26.02.2015, 23:39
Поидее должно и на дргуих чипах работать, но могут и глюки вылезти, если синтаксис NMEA сообщений отличается.

На всякий случай добавлю еще, что использование опций --glonass-only или --gps-only никак не влияет на точность определения координат, т.к. чип продолжает работать с обеими системами и обсчитывать все спутники. Ни либа, ни nmeafix, координаты сами естественно не вычисляют.

Эти опции можно и не использовать вообще, тогда будут отображаться все спутники (без мигания), но вот отображение активных спутников будет глючить, могут быть "лишние" активные спутники, или наоборот, не все активные спутники могут отображаться соответствующим образом.

Зачет программа!!!
Вшиваю в исходники и пробую чтобы запускалась системой.

ОДНОЗНАЧНО ПРИКРЕПИТЬ В ШАПКУ ТЕМЫ!!! РЕШАЕТ МНОГИЕ ПРОБЛЕМЫ!!!

nrgizer79
07.03.2015, 17:50
Всем привет!
У меня в build.prop прописано:
ro.kernel.android.gps=ttyUSB4
ro.kernel.android.gps.speed=4800
Я правильно понимаю, что действовать надо так:
1. Закинуть nmeafix в папку /system/xbin
2. В build.prop прописать:

ro.kernel.android.gps.speed=4800
nmeafix /dev/ttyUSB4 /dev/ttyNMEA
ro.kernel.android.gps=ttyNMEA
????

DaveMF
10.03.2015, 09:04
Небольшой отчет по использованию ГЛОНАСС в связке с nmeafix.
Когда катаешься по городу, где скорости в основном меньше 70км/ч все хорошо работает, иногда замечаешь что карта начинает разворачиваться, но тут же возвращается обратно.

А вот когда выезжаешь на трассу, пользоваться навигацией становится НЕВОЗМОЖНО!
Когда скорость переваливает за 70км/ч, скорость в навигационных программах начинает скакать (то 0, то 90 - например), в это время начинает постоянно вращаться карта и по несколько секунд показывает что двигаешься задом на 90км/ч. Одновременно с этим, мапкамдроид начинает постоянно орать и выскакивает сообшение о камере которая уже сзади меня, т.к. я еду задом. Как только скорость скакнет на ноль, мапкам дроид сворачивается и через пол секунды скорость 90 и он опять орет и говорит что камера. И все это одновременно с вращением карты.

Вобщем отключил nmeafix, оставил с нашей библиотекой, но что удивительно, спутники скачут (то глонасс, то гпс), в навителе показывает 0 спутников, но при этом говорит что связь со спутниками есть и скорость и направление показывает верно без каких либо глюков. И все остальные проги тоже работают правильно.

IIAjaXII
11.03.2015, 14:11
Народ помогите. Имеется устройств mk808B с процессором RK3066 на плате написано v4 стоит рутованая прошивка 4.4.2 с ядром 3.0.36+ при попытке запуска команды insmod /system/lib/modules/cp210x.ko или cdc-acm.ko то устройство зависает и уходит в ребут. Файлы скачаны с шапки темы.

DaveMF
11.03.2015, 14:59
Народ помогите. Имеется устройств mk808B с процессором RK3066 на плате написано v4 стоит рутованая прошивка 4.4.2 с ядром 3.0.36+ при попытке запуска команды insmod /system/lib/modules/cp210x.ko или cdc-acm.ko то устройство зависает и уходит в ребут. Файлы скачаны с шапки темы.

а без загрузки модулей пробовали подключать GPS? Устройства tty появляются в системе??? Может у Вас эти библиотеки уже в ядро вшиты.

IIAjaXII
11.03.2015, 16:30
а без загрузки модулей пробовали подключать GPS? Устройства tty появляются в системе??? Может у Вас эти библиотеки уже в ядро вшиты.
Не появляется ttyUSB0, даже при вставление ЮСБ модема от йоты. НЕ может ли мышка USB мешать появлению? Есть куча каких то tty просто ttyGS ttyS.

DaveMF
11.03.2015, 17:28
Не появляется ttyUSB0, даже при вставление ЮСБ модема от йоты. НЕ может ли мышка USB мешать появлению? Есть куча каких то tty просто ttyGS ttyS.

Приемник какой? Модель?
Может ttyACM появляется?

IIAjaXII
11.03.2015, 17:36
Приемник какой? Модель?
Может ttyACM появляется?
ML8088S ничего вообще не появляется не пропадает при отсоединение платы. Звук по USB идет нормально.

Rage2
11.03.2015, 20:45
Было уже такое...у вас версия ядра новее(как бы номер тот же, но новее сорцы из которых сделано...у рокчипов есть такое :) ) отсель при попытке загрузить модули из шапки получаете ребут.
Нужно поискать, из кастомных прошивок выдернуть например...


Вот попробуй эти.

Файлы отправил в шапку

IIAjaXII
12.03.2015, 11:37
Было уже такое...у вас версия ядра новее(как бы номер тот же, но новее сорцы из которых сделано...у рокчипов есть такое :) ) отсель при попытке загрузить модули из шапки получаете ребут.
Нужно поискать, из кастомных прошивок выдернуть например...


Вот попробуй эти.

Огромная благодарность вам. Все заработало с вашими файлами =) надо было мне раньше написать=)

DaveMF
30.03.2015, 23:32
У кого есть ГЛОНАСС/GPS приемники и есть желание потратить несколько часов или даже дней на тесты с разными настройками, прошу написать мне в личку!!!
Нужно протестировать новую скомпилированную библиотеку, поддерживающую глонасс спутники. Андроид должен быть не ниже 4.0.
На моем приемнике Sim68V, соединенном по UART работает примерно как на фото

Rage2
31.03.2015, 01:09
У кого есть ГЛОНАСС/GPS приемники и есть желание потратить несколько часов или даже дней на тесты с разными настройками, прошу написать мне в личку!!!
Нужно протестировать новую скомпилированную библиотеку, поддерживающую глонасс спутники. Андроид должен быть не ниже 4.0.
На моем приемнике Sim68V, соединенном по UART работает примерно как на фото
Опачки! Так выклавыдай сюда))) пощупаем)
Чья работа?

DaveMF
31.03.2015, 09:07
Опачки! Так выклавыдай сюда))) пощупаем)
Чья работа?

Компилировал сам, исходники чуть подправил тоже сам. Остальное... Подписано NDA.:zipped:

SHMN
31.03.2015, 20:58
Выкладывай. Будем тестить.

Vl@dK
01.04.2015, 18:35
Rage2, ваша либа работает на Андроид-x86 или только на армах?

licki
03.04.2015, 18:40
А подскажите, что из моделей USB-мышей под андроид для приёма сейчас кашерно брать?

Din0
06.04.2015, 19:37
Здравствуйте. Имеется китай-планшет Chuwi vi8, на intel z3735, дуал бут, win8/And 4.4 и usb gps ublox7 (другое название vk 172).
Вывод cat /dev/ttyACM0 на картинке. Корректные ли подключился gps и можно ли копать дальше?
39475

dnss
08.04.2015, 09:18
Здравствуйте. Имеется китай-планшет Chuwi vi8, на intel z3735, дуал бут, win8/And 4.4 и usb gps ublox7 (другое название vk 172).
Вывод cat /dev/ttyACM0 на картинке. Корректные ли подключился gps и можно ли копать дальше?
39475

Тоже пытаюсь подружить usb ublox7 с mk908ii. Поделитесь или подскажите, где взять драйвера для андройд?

Din0
09.04.2015, 00:13
Я сам не знаю, по команде lsmod строчка cdc-acm.ko отсутствует. После замены либы в настройках местоположения пропадает возможность установки координат по GPS, остается только по окружающим сетям. Gps test показывает при этом координаты с погрешностью 16 метров, но не показывает количество спутников.

dikavat
10.04.2015, 14:44
Други! Приобрел для установки LOCOSYS LS23030-G (глонасс и джипиес), но для моей инсталляции не подошло. Если кому надо, отдам. NMEA данные побежали.

Stray
18.04.2015, 20:37
Сутки добрые, уважаемые!

Пробовал ли кто из вас подключать u-blox Neo-7m к Android 5.0.2.
Нигде не могу найти либы да и производитель (суппорт) молчит.

Буду благодарен за любую помощь!

dnss
19.04.2015, 09:58
Подключил usb gps ublox7 (он же vk 172) к mk908II с Android 4.2.2.
Делал всё по инструкции Rage2, за что ему большое спасибо!
Взял наугад модуль cdc-acm.ko(ну почти наугад т.к. в windows он не определялся как pl, ft, cp..), и повезло-угадал появилось устройство ttyACM0 ))
Закинул либу, выставил скорость "busybox stty -F /dev/ttyACM0 9600"
проверил "cat /dev/ttyACM0" данные бегут)
Но не было пункта "Настройки -> Местоположения" и никакие программы не видели gps приемник. После 3х дневных танцев с бубнов сменил прошивку на Finless 1.6 Andorid 4.2.2 (до этого был Andorid 4.4 ). В ней этот пункт не вырезан. И всё заработало! ))

По началу в поисках драйверов под андройд тоже писал в суппорт...а в ответ тишина((

Stray
19.04.2015, 16:52
Подключил usb gps ublox7 (он же vk 172) к mk908II с Android 4.2.2.
Делал всё по инструкции Rage2, за что ему большое спасибо!
Взял наугад модуль cdc-acm.ko(ну почти наугад т.к. в windows он не определялся как pl, ft, cp..), и повезло-угадал появилось устройство ttyACM0 ))
Закинул либу, выставил скорость "busybox stty -F /dev/ttyACM0 9600"
проверил "cat /dev/ttyACM0" данные бегут)
Но не было пункта "Настройки -> Местоположения" и никакие программы не видели gps приемник. После 3х дневных танцев с бубнов сменил прошивку на Finless 1.6 Andorid 4.2.2 (до этого был Andorid 4.4 ). В ней этот пункт не вырезан. И всё заработало! ))

По началу в поисках драйверов под андройд тоже писал в суппорт...а в ответ тишина((

А у меня проблема в том,что стоит прошивка от Тимура 5.0.2.
Вот, думаю ему написать, проконсультироваться в этом вопросе..

Проблема в том, что данные с приемника я получаю. В прошивке уже есть модуль cdc-acm.ko и устройство определяется как ttyACM0. НО! Танцы с бубном не помогают мне заставить Нексус видеть этот GPS в программах..

DaveMF
20.04.2015, 19:43
На порт ttyACM0 не забыли права выставить 666 ?

Stray
21.04.2015, 01:46
На порт ttyACM0 не забыли права выставить 666 ?

выставлял.. дохлый номер..

Stray
26.04.2015, 18:14
Сутки добрые всем!

Люди добрые, есть ли у кого GPS либы для андроид 5.*?

odmix
04.05.2015, 16:31
Cubietruck + Android 4.2.2 (ядро 3.4) в NAND.
Пересобрал образ с добавлением в ядро pl3202.
BU-353 завелась, работает.
Кому надо - в ЛС. Дам ссылку на образ.

pheel
06.05.2015, 10:06
Парни нужна помощь. Есть usb gps U-Blox 7, есть устройство banana pi (android 4.2, kernel 3.4). Никак не получается заставить gps работать. Пролистав тему я понял что необходимо добавить модуль cdc-acm.ko, но не могу найти под данную версию ядра. Я так понимаю, модуль можно скомпилировать из исходников под данную версию ядра, но как это сделать я вообще не понимаю. Подскажите как мне быть?

фоззи
15.05.2015, 11:08
У кого есть ГЛОНАСС/GPS приемники и есть желание потратить несколько часов или даже дней на тесты с разными настройками, прошу написать мне в личку!!!
Нужно протестировать новую скомпилированную библиотеку, поддерживающую глонасс спутники. Андроид должен быть не ниже 4.0.
На моем приемнике Sim68V, соединенном по UART работает примерно как на фото

Как успехи с новой либой?

DaveMF
15.05.2015, 14:15
Как успехи с новой либой?

Все отлично, у всех тестеровщиков заработало со всеми приемниками, даже не глонасс которые. Плавность заметно лучше чем у старой библиотеки, и скорость не прыгает.

gorar
15.05.2015, 18:30
DaveMF
Немогу написать в личку, у Вас переполнено.

voodik
16.05.2015, 14:49
Всем привет, у кого есть свободное время можете либу протестировать ? Мне интересно работает ли с ГЛОНАСС ?

правим настойки в build.prop на свои.
ro.kernel.android.gps=ttyACM0
ro.kernel.android.gps.speed=9600

(vS)
17.05.2015, 15:49
глубоко тему не читал, многа букав... со временем перечитаю
http://ru.aliexpress.com/item/USB-GPS-Receiver-USB-GPS-dongle/2054460180.html
такую свистульку никто не пробовал на андюшу?

DaveMF
18.05.2015, 11:41
глубоко тему не читал, многа букав... со временем перечитаю
http://ru.aliexpress.com/item/USB-GPS-Receiver-USB-GPS-dongle/2054460180.html
такую свистульку никто не пробовал на андюшу?

Глонасса в нем нет, в навителе со стандартной библиотекой нет направления и скорости. В яндексе все хорошо.

(vS)
18.05.2015, 12:14
а можешь попробовать iGo и OsmAnd?
под меня карты только в них есть )) я не в россии, так что и глонасс не актуален.
шум начинать не надо, я не в америке ))

DaveMF
18.05.2015, 12:58
а можешь попробовать iGo и OsmAnd?
под меня карты только в них есть )) я не в россии, так что и глонасс не актуален.
шум начинать не надо, я не в америке ))

Сейчас уже нет этого приемника.

(vS)
18.05.2015, 14:13
тоды куплю, буду пробовать... цена смешная
а стандартная либа откуда родом? и насколько сложно новую нацарапать?

lopus73
18.05.2015, 14:33
Добрый день!
Ребята прочитал всю тему, но так и не понял, речь идёт об устройствах на android.
Теперь вопрос, есть телефон Jiayu G4S, GPS не в дугу, хочу прикрутить к нему шнурок на чипе UBX-G6010, он уже с USB на выходе.
Это возможно, или нет?

gorar
18.05.2015, 15:10
Это возможно, или нет?

если телефон поддерживает USB OTG (можно подключить флешку, мышку, клаву...) тогда можно пытаться подружить его с gps.

0617
18.05.2015, 20:05
У меня вот такой http://ru.aliexpress.com/item/VK-172-GMOUSE-USB-GPS-GLONASS-USB-FZ1007/32222597984.html?recommendVersion=1
Глонасс хм... должно быть. Вижу 3 сообщения "GNSS satellite in view" и потом "GNSS pseudorange error statistics".
Спутники ловит быстро, но фиксируется очень долго и вяло, уровень приёма так себе, часто теряет сигнал. На Вин 7/8 так и не удалось получить данные о геолокации в нави-прогах, хотя в u-center всё работает. На Android-x86 удалось заставить работать только ПроГород, который умеет читать nmea-поток. Остальные проги видят только скачущие спутники.
В помещении 5-7 спутников без фиксации, на улице - 13-15. Направление/азимут есть.
Пробовал не особо дотошно, так что достоверность результата низкая. Если что-то интересует - могу проверить. Из подручных средств Вин 8 на ноуте и android-x86 4.4 на стационарном.

lopus73
18.05.2015, 22:00
Да поддерживает.
Если по возможности в кратце, что для этого надо, или игра не стоит свеч.

gorar
19.05.2015, 08:48
что для этого надо, или игра не стоит свеч.

Для начало надо почитать шапку темы, сделать рут телефону и по инструкциям пытаться установить драйвер и библиотеку. Единственная загвоздка может быть в встроенном модуле GPS (его наверно както нужно удалить чтобы не мешался)
Стоит или не стоит это уже Вам решать. Если пользоваться в автомобиле например для навигации то вполне возможно.

DaveMF
19.05.2015, 09:58
У меня вот такой http://ru.aliexpress.com/item/VK-172-GMOUSE-USB-GPS-GLONASS-USB-FZ1007/32222597984.html?recommendVersion=1
Глонасс хм... должно быть. Вижу 3 сообщения "GNSS satellite in view" и потом "GNSS pseudorange error statistics".
Спутники ловит быстро, но фиксируется очень долго и вяло, уровень приёма так себе, часто теряет сигнал. На Вин 7/8 так и не удалось получить данные о геолокации в нави-прогах, хотя в u-center всё работает. На Android-x86 удалось заставить работать только ПроГород, который умеет читать nmea-поток. Остальные проги видят только скачущие спутники.
В помещении 5-7 спутников без фиксации, на улице - 13-15. Направление/азимут есть.
Пробовал не особо дотошно, так что достоверность результата низкая. Если что-то интересует - могу проверить. Из подручных средств Вин 8 на ноуте и android-x86 4.4 на стационарном.

Объясню тогда подробнее, раз не понятно мое высказывание про глонасс.
В U-blox 7 есть поддержка глонасс, но вот в этом документе (http://www.u-blox.com/images/downloads/Product_Docs/NEO-7_DataSheet_%28GPS.G7-HW-11004%29.pdf) с официального сайта, на странице 8, пункта 1.5.2, черным по белому написано что "ОДНОВРЕМЕННАЯ РАБОТА ГПС И ГЛОНАСС НЕ ПОДДЕРЖИВАЕТСЯ НА ДАННОМ ЧИПЕ", и он софтово отключен. Поэтому если хотите одновременную, то берите U-blox8, а лучше sim68v.

pine
19.05.2015, 12:05
У меня вот такой http://ru.aliexpress.com/item/VK-172-GMOUSE-USB-GPS-GLONASS-USB-FZ1007/32222597984.html?recommendVersion=1
Глонасс хм... должно быть. Вижу 3 сообщения "GNSS satellite in view" и потом "GNSS pseudorange error statistics".


Маленький коммент - GNSS это не Глонасс. Это Global Navigation Satellite System - в это понятие входит и GPS и Глонасс

nrgizer79
19.05.2015, 12:31
Все отлично, у всех тестеровщиков заработало со всеми приемниками, даже не глонасс которые. Плавность заметно лучше чем у старой библиотеки, и скорость не прыгает.
Ну так уж прямо и у всех :wink2:
На Odroidu U3 с прошивкой от Voodik (Android 4.4 CM11.0) не заработало.
Программы спутники не видят, комп ребутится через несколько минут.
Делал все по инструкции.

Всем привет, у кого есть свободное время можете либу протестировать ? Мне интересно работает ли с ГЛОНАСС ?

правим настойки в build.prop на свои.
ro.kernel.android.gps=ttyACM0
ro.kernel.android.gps.speed=9600

Либа своя ? Или с какого телефона дернута ? Сами на Odroid`ах пробовали ?
Может попробуете затестить либу от DaveMF на Odroidu U3 со своей прошивкой ?
У меня не получилось :sad2:

Shino Kuyo
19.05.2015, 13:08
Маленький коммент - GNSS это не Глонасс. Это Global Navigation Satellite System - в это понятие входит и GPS и Глонасс

маленький момент, у меня был u-blox 7
он не умеет одновременно выдавать координаты GPS и Глонасс. либо то либо другое. конфигурится в тулзе
и еще маленький момент: глонасс как раз и есть GNSS (https://en.wikipedia.org/wiki/GLONASS). GPS он кагбэ тоже, он сам по себе GPS или NAVSTAR :wink2:

DaveMF
19.05.2015, 14:00
Ну так уж прямо и у всех :wink2:
На Odroidu U3 с прошивкой от Voodik (Android 4.4 CM11.0) не заработало.
Программы спутники не видят, комп ребутится через несколько минут.
Делал все по инструкции.


Наверно Вы делаете что то неправильно, либо в прошивке косяк, потому как на ODROID-X2 все отлично работает!
Скорее всего нужно gps.default.so переименовать на то как называется у вас в прошивке gps.XXXXX.so, у AlekSher спросите...

И кроме того с новой библиотекой заработали программы синхронизации времени по спутникам!!!

DaveMF
19.05.2015, 14:02
Маленький коммент - GNSS это не Глонасс. Это Global Navigation Satellite System - в это понятие входит и GPS и Глонасс
А вот и нет, GNSS это и есть глонасс! Потому как это сокращение от Глоба́льная навигацио́нная спу́тниковая систе́ма (ГНСС)
А GPS - это Global Positioning System — система глобального позиционирования.

zizigal
19.05.2015, 16:56
Потому как это сокращение от Глоба́льная навигацио́нная спу́тниковая систе́ма (ГНСС)


Я бы написал ГлоНаСС...:whistle:

pine
19.05.2015, 17:46
А вот и нет, GNSS это и есть глонасс! Потому как это сокращение от Глоба́льная навигацио́нная спу́тниковая систе́ма (ГНСС)
А GPS - это Global Positioning System — система глобального позиционирования.

Коллега, давайте не будем спорить, м? Я семь лет писал софт для самолетной навигации и спутниковой связи и в теме вроде бы разбираюсь достаточно неплохо :) Документы с аббревиатурой GNSS были датированы годом этак 2003-м, например, когда Глонасса еще и в помине не было :)

DaveMF
19.05.2015, 17:56
Коллега, давайте не будем спорить, м? Я семь лет писал софт для самолетной навигации и спутниковой связи и в теме вроде бы разбираюсь достаточно неплохо :) Документы с аббревиатурой GNSS были датированы годом этак 2003-м, например, когда Глонасса еще и в помине не было :)

Не будем...
В библиотеке сообщения от глонас обозначаются именно GNSS
И так для сведенья "4 апреля 1991 года в составе ГЛОНАСС в двух орбитальных плоскостях оказалось одновременно 12 работоспособных спутников системы и 24 сентября 1993 года система была официально принята в эксплуатацию Министерством обороны России. "

Denkos
19.05.2015, 18:15
Тема перерастает "у кого яйца круче".

pine
19.05.2015, 18:40
Не будем...
В библиотеке сообщения от глонас обозначаются именно GNSS
И так для сведенья "4 апреля 1991 года в составе ГЛОНАСС в двух орбитальных плоскостях оказалось одновременно 12 работоспособных спутников системы и 24 сентября 1993 года система была официально принята в эксплуатацию Министерством обороны России. "

http://searchnetworking.techtarget.com/definition/GNSS

Почитайте, раз не верите :)

dm66
20.05.2015, 19:20
требуется помощь!

свисток mk802IV. Пытаюсь заставить работать GPS. На данный момент установлена прога YouAreHere GPS. При запуске проги и нажатии в ней кнопки Connect (спрашивает, открыть приложению "YAHGPS" доступ к USB-устройству, выбираю "Да") бегут данные, прогу сворачиваю и можно запускать любую нави прогу, всё работает НО не отображает уровень и кол-во спутников.

Далее....долго пытаюсь вникнуть в пост на первой странице и что в итоге имеем:
1. скачал и бросил по указанному в теме пути файл pl2303.ko для GlobalSat BU-353S4

2. нужно выставить права 644, выставляю права с помощью Total Commander для андроид в свойствах файла pl2303.ko, а всё потому, что при вводе команды "chmod 644 /system/lib/modules/pl2303.ko" получаю в ответ "Unable to chmod /system/lib/modules/pl2303.ko: Read-only file system". В чем проблема не понятно?!

3. Либу "gps.default.so" скачал и забросил /system/lib/hw, права 644 выставил так же с помощью Total Commander.

4. Не понял откуда в итоге берётся /dev/ttyUSB0, но в итоге ttyUSB0 там есть с правами 660, а вот сделать 666 не получается, куда рыть?

5. Проверяем текущую скорость порта командой "busybox stty -F /dev/ttyUSB0". В итоге получаю ответ бла-бла-бла ...speed 9600 baud. Т.е. как я понимаю выставлена 9600, есть ли вообще необходимость менять её на 4800? При попытке "busybox stty -F /dev/ttyUSB0 speed 4800" скорость не меняется! "cannot perform all requested operations".

6. Пробовал читать методику из ссылки.... "ls /sys/bus/usb/devices/" тут вообще выводится несколько строк с цифрами, какую из них брать не пойму. Может я вообще не правильно подключил USB GPS? Я подключил USB GPS к разъёму HOST напрямую, а USB хаб 4-х портовый к разъёму OTG (в него я вставляю флешки и воткнута фишка беспроводной мыши).

7. Ну и самое интересное из поставленных экспериментов. Если перегрузить систему, затем запустить прогу YouAreHere GPS (спрашивает, открыть приложению "YAHGPS" доступ к USB-устройству, выбираю "Да"), остановить её и выйти, а затем в терминале выполнить команду "setprop ro.kernel.android.gps ttyUSB0", то запустив прогу NMEAGps мы видим, что побежали данные, а остальные нави проги также прекрасно работают и видят спутники.

8. При попытке сделать скрипт автозагрузки не вижу чтобы он исполнялся, всё уже проверил на сто раз и по всякому пробовал, подставлял SU в начале команд, толку ноль.
Кстати, в терминале всегда приходится сначала запускать команду SU и только после это выполняется хотя бы часть команд.

HELP!!! Что я делаю не так и как в итоге автоматизировать процесс?!

ABCh
21.05.2015, 18:04
свисток mk802IV. Пытаюсь заставить работать GPS. На данный момент установлена прога YouAreHere GPS. При запуске проги и нажатии в ней кнопки Connect (спрашивает, открыть приложению "YAHGPS" доступ к USB-устройству, выбираю "Да") бегут данные, прогу сворачиваю и можно запускать любую нави прогу, всё работает НО не отображает уровень и кол-во спутников.

Программа YouAreHere GPS получает данные напрямую от usb-устройства, и, работая как mock location provider, делает их доступными другим программам, обращающимся к location provider. При этом, из строк в формате NMEA выделяются только координаты, а все остальное не передается. Почему так - вопрос к автору, могу предположить, что это просто не реализовано.


2. нужно выставить права 644, выставляю права с помощью Total Commander для андроид в свойствах файла pl2303.ko, а всё потому, что при вводе команды "chmod 644 /system/lib/modules/pl2303.ko" получаю в ответ "Unable to chmod /system/lib/modules/pl2303.ko: Read-only file system". В чем проблема не понятно?!

Файловая система смонтирована как read-only, 2 варианта - перемонтировать ее для чтения-записи и выполнить команду chmod, или выставить права через Root Explorer, который выполнит все действия сам.

3. Либу "gps.default.so" скачал и забросил /system/lib/hw, права 644 выставил так же с помощью Total Commander.

4. Не понял откуда в итоге берётся /dev/ttyUSB0, но в итоге ttyUSB0 там есть с правами 660, а вот сделать 666 не получается, куда рыть?
5. Проверяем текущую скорость порта командой "busybox stty -F /dev/ttyUSB0". В итоге получаю ответ бла-бла-бла ...speed 9600 baud. Т.е. как я понимаю выставлена 9600, есть ли вообще необходимость менять её на 4800? При попытке "busybox stty -F /dev/ttyUSB0 speed 4800" скорость не меняется! "cannot perform all requested operations".

При выполнении команды insmod /system/vendor/modules/pl2303.ko
загружается модуль драйвера, в течение некоторого времени происходит поиск и инициализация последовательного порта, в результате в системе создается файл устройства /dev/ttyUSB0. Поскольку инициализация устройства присходит асинхронно, требуется задать некоторую задержку после команды insmod с помощью команды sleep 30, точное время нужно подобрать опытным путем. Далее устанавливаем права на файл устройства, делая его доступным для программ:
chmod 666 /dev/ttyUSB0
затем нужно установить скорость порта, если она отличается от задаваемой по умолчанию 9600

8. При попытке сделать скрипт автозагрузки не вижу чтобы он исполнялся, всё уже проверил на сто раз и по всякому пробовал, подставлял SU в начале команд, толку ноль.

Команду su не нужно использовать в скрипте. Скрипт инициализации и так выполняется с рутовыми правами. Покажите содержимое этого скрипта, где он расположен. И у файла скрипта инициализации должны быть права на исполнение, сделайте ему chmod 755

voodik
21.05.2015, 19:15
Наверно Вы делаете что то неправильно, либо в прошивке косяк, потому как на ODROID-X2 все отлично работает!
Скорее всего нужно gps.default.so переименовать на то как называется у вас в прошивке gps.XXXXX.so, у AlekSher спросите...

И кроме того с новой библиотекой заработали программы синхронизации времени по спутникам!

Где взять новую либу ?

nrgizer79
21.05.2015, 20:33
Где взять новую либу ?

Так у DaveMF и взять ))

dm66
21.05.2015, 22:37
В итоге за 2 дня мучений дошел вот до чего:

посмотрел командой ls /sys/bus/usb/devices/ какое у меня устройство.

долго не мог понять как вычислить какое мне нужно выудить устройство из списка
1-0:1.0
2-0:1-0
2-1
2-1.1
2-1.1:1.0
2-1.2
2-1.2:1.0
2-1.3
2-1.3:1.0
2-1.3:1.1
2-1:1.0
usb1
usb2
в итоге выдернул USB GPS шнурок из хаба и сделал повтор той же команды, в результате увидел, что пропало из списка, воткнул обратно, увидел что появилось! Как то об этом нигде не упоминается....ну да ладно, это видимо для всех очевидно, мне нет.
Далее.... пошёл по пути создания скрипта 01myscript в папке /system/etc/init.d, оговорюсь, что данная папка у меня уже была, там создал только сам скрипт 01myscript:

#!/system/bin/sh
echo -n "2-1.1:1.0" > /sys/bus/usb/drivers/option/unbind
insmod /system/lib/modules/pl2303.ko
sleep 30
chmod 644 /system/lib/modules/pl2303.ko
busybox stty -F /dev/ttyUSB0 4800
busybox chmod 666 /dev/ttyUSB0
setprop ro.kernel.android.gps ttyUSB0

далее, не мог перемонтировать раздел /system в RW, в итоге вычитал в интернете как при помощи Total Commander (а я пользуюсь им) сделать специальную кнопку на панели задач для перемонтирования разделов. Кнопку сделал, раздел /system перевел в RW.
Далее запустил скрипт 01myscript вручную с помощью терминала командой sh /system/etc/init.d/01myscript
команда прошла и всё заработало!
НО после перезагрузки вижу, что скрипт не запускается вообще! более того обратил внимание, что раздел /system стал опять видимо только R вместо RW, при этом в свойствах папки /system вижу права 755, т.е. что R что RW = 755?! При этом кнопка на панели задач тотала четко отображает R. В итоге опять перемонтировал в RW и запустил скрипт вручную, заработало.

Так же для меня пока не ясен вопрос с переводом Unix строк - что это значит???? Я сделал все скрипты с помощью блокнота в Windows, затем всё это скопировал в свой свисток MK802IV. При открытии созданных в Windows файлов скриптов обратил внимание на пробелы в конце каждой строки команд, удалил их.
Ещё момент, у меня в терминале свистка все команды выполняются только если предварительно ввести команду SU, таким образом всё же непонятно, нужно писать SU вначале команд в скриптах или нет?!

Как делал скрипт по инструкции с этого сайта:
1. создал preinstall.sh по пути (его там не было) /system/bin/preinstall.sh. А ВОТ КАКИЕ ЗДЕСЬ Д.Б. ПРАВА - 755?
2. Добавляем в него стоку.
#!/system/bin/sh
exec /system/bin/logwrapper busybox run-parts -a start /system/etc/init.d

3. Папка init.d уже была, поэтому не создавал /system/etc/init.d
сделал ей права 755
chmod 755 /system/etc/init.d

4. Далее по пути /system/etc/init.d создал файл, назвав его 01myscript без расширения!
сделал ему права 755
chmod 755 /system/etc/init.d/01myscript

Что делать со скриптом и как перемонтировать на постоянку ума не приложу.

Как проверить, что система вообще пытается грузить скрипт?

Очень требуется Ваша помощь!

ABCh
22.05.2015, 12:05
посмотрел командой ls /sys/bus/usb/devices/ какое у меня устройство.

долго не мог понять как вычислить какое мне нужно выудить устройство из списка
1-0:1.0
2-0:1-0
2-1
2-1.1
2-1.1:1.0
2-1.2
2-1.2:1.0
2-1.3
2-1.3:1.0
2-1.3:1.1
2-1:1.0
usb1
usb2
в итоге выдернул USB GPS шнурок из хаба и сделал повтор той же команды, в результате увидел, что пропало из списка, воткнул обратно, увидел что появилось!

Вам нет особой нужды заморачиваться с этими файлами, один из них является ссылкой на устройство. Эти цифры отражают адресацию на шине USB.

Далее.... пошёл по пути создания скрипта 01myscript в папке /system/etc/init.d, оговорюсь, что данная папка у меня уже была, там создал только сам скрипт 01myscript:

#!/system/bin/sh
echo -n "2-1.1:1.0" > /sys/bus/usb/drivers/option/unbind
insmod /system/lib/modules/pl2303.ko
sleep 30
chmod 644 /system/lib/modules/pl2303.ko
busybox stty -F /dev/ttyUSB0 4800
busybox chmod 666 /dev/ttyUSB0
setprop ro.kernel.android.gps ttyUSB0

Далее запустил скрипт 01myscript вручную с помощью терминала командой sh /system/etc/init.d/01myscript
команда прошла и всё заработало!

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


НО после перезагрузки вижу, что скрипт не запускается вообще! более того обратил внимание, что раздел /system стал опять видимо только R вместо RW, при этом в свойствах папки /system вижу права 755, т.е. что R что RW = 755?! При этом кнопка на панели задач тотала четко отображает R. В итоге опять перемонтировал в RW и запустил скрипт вручную, заработало.

Права доступа можно посмотреть здесь https://ru.wikipedia.org/wiki/Chmod

Так же для меня пока не ясен вопрос с переводом Unix строк - что это значит???? Я сделал все скрипты с помощью блокнота в Windows, затем всё это скопировал в свой свисток MK802IV. При открытии созданных в Windows файлов скриптов обратил внимание на пробелы в конце каждой строки команд, удалил их.
в Windows строка завершается 2-мя служебными символами "возврат каретки" 0x0A и "перевод строки" 0x0D, в Unix - только "перевод строки". Но присутствие символа 0x0A не мешает работе.


Ещё момент, у меня в терминале свистка все команды выполняются только если предварительно ввести команду SU, таким образом всё же непонятно, нужно писать SU вначале команд в скриптах или нет?!

Еще раз повторю, в скрипте не нужно использовать команду su, поскольку скрипт инициализации исполняется под правами пользователя root, а при работе в терминале эти права нужно сначала получить с помощью этой команды.

Как делал скрипт по инструкции с этого сайта:
1. создал preinstall.sh по пути (его там не было) /system/bin/preinstall.sh. А ВОТ КАКИЕ ЗДЕСЬ Д.Б. ПРАВА - 755?

При загрузке исполняется скрипт init.rc, расположенный в корне файловой системы устройства. Уже из него производятся вызовы все прочих скриптов. На моем устройстве у сервиса, которым вызывается /system/bin/preinstall.sh, установлена опция disabled, и он не исполняется автоматически при загрузке. Возможно, у Вас то же самое. У меня все действия производятся в скрипте /system/etc/install-recovery.sh

Farman
31.05.2015, 13:12
u-blox 7m-c с либом из шапки нормально не работает. Скорость и направления не передается до андройда. До этого подключал другой гпс модуль (от navibi) - всё было хорошо. У кого есть либ для ю-блокс?

voodik
31.05.2015, 13:30
u-blox 7m-c с либом из шапки нормально не работает. Скорость и направления не передается до андройда. До этого подключал другой гпс модуль (от navibi) - всё было хорошо. У кого есть либ для ю-блокс?

Можете эту попробовать ? Мне интересно с чем работает с чем нет.
http://pccar.ru/showpost.php?p=328033&postcount=696

Farman
31.05.2015, 18:33
Проверил ваш либ, не поднимается. У меня Radxa Rock Pro rk3188. Можно собрать для rockchip?

oledv
31.05.2015, 21:40
Проверил ваш либ, не поднимается. У меня Radxa Rock Pro rk3188. Можно собрать для rockchip?

Все прекрасно работает http://www.pccar.ru/showpost.php?p=312523&postcount=622

Farman
31.05.2015, 23:21
Я по этому инструкции подключил свой старый gps.

С u-blox понял в чем дело. По дефолту u-blox передаёт данные ГПС каждый секунд. Почему то при секундом задержки скорость до андройд не доходят. Если снизить скорость до 500мс, скорость появляется. Я так понимаю - в либе есть максимальный таймаут для переменного скоростя который жизненный цикл меньше чем 1 секунд. Подправите если не прав.

DaveMF
02.06.2015, 00:01
Все прекрасно работает http://www.pccar.ru/showpost.php?p=312523&postcount=622

Библиотека из шапки не дружит с ублоксами, не показывает в навителе скорость и направление, только точку. Поэтому еще и карта не вращается...

Farman
02.06.2015, 00:25
Вот вот. А в чем причина? Скорость показывает если снизить рефреш рейт на ниже 600мс. Но одно большое НО - позиция и скорость сильно отстаёт от реальности, где то на секунд 8-10

licki
02.06.2015, 00:34
А ещё либу из шапки не удалось запустить на чипе RK3288 (стик MK903V с ядром 3.10.0). Через костыли с mock location координаты ест, но естественно без спутников.

Rage2
02.06.2015, 01:08
Народ, может кто нибудь компильнуть и проверить...
https://github.com/kconger/android-serial-gps-driver

pine
03.06.2015, 12:52
А ещё либу из шапки не удалось запустить на чипе RK3288 (стик MK903V с ядром 3.10.0). Через костыли с mock location координаты ест, но естественно без спутников.

Версия ядра не та. У самого RK3288. Если не возиться с пересборкой, то работает вариант с pl2303drv, который запускается просто как процесс в фоне с перенаправлением всего вывода в /dev/null. Скачать можно здесь в теме.

Andrew@
04.06.2015, 07:09
Библиотека из шапки не дружит с ублоксами, не показывает в навителе скорость и направление, только точку. Поэтому еще и карта не вращается...

И какие варианты подключения чтобы все показывалось?
Кстати, как под андроидом переключать свисток из GPS в Глонасс? Под виндой в U-center каждый раз галочки менять напряжно, а под андроид эта софтина из маркета не полезла- говорит не поддерживается.
A10 Андроид 4.0.3 ядро 3.0.8+ внутреннего GPS нет.

Mirey
04.06.2015, 10:19
Народ, может кто нибудь компильнуть и проверить...
https://github.com/kconger/android-serial-gps-driver

Напиши, как собрать модуль. Я ни одного внятного мануала не видел. Более-менее есть только информация по сборке самой среды для компиляции системы или ядра, сборка отдельно стоящих модулей из стороннего кода для меня пока что туманна...

Mirey
04.06.2015, 10:25
И какие варианты подключения чтобы все показывалось?
Кстати, как под андроидом переключать свисток из GPS в Глонасс? Под виндой в U-center каждый раз галочки менять напряжно, а под андроид эта софтина из маркета не полезла- говорит не поддерживается.
A10 Андроид 4.0.3 ядро 3.0.8+ внутреннего GPS нет.

u-blox 7-ой версии что ли?

Andrew@
04.06.2015, 11:51
u-blox 7-ой версии что ли?

Именно.
Тут уже писалось на тему ublox, но под другую платформу.
http://pccar.ru/showthread.php?p=326204&highlight=ublox7#post326204
Судя по всему драйвер для него нужен cdc-acm.ko, но в архиве usb_serial_for_A10_3.0.8+.zip его не оказалось. С имеющимися порт не появляется, хотя в USB есть.
Может где еще есть?

Mirey
04.06.2015, 13:32
Именно.
Тут уже писалось на тему ublox, но под другую платформу.
http://pccar.ru/showthread.php?p=326204&highlight=ublox7#post326204
Судя по всему драйвер для него нужен cdc-acm.ko, но в архиве usb_serial_for_A10_3.0.8+.zip его не оказалось. С имеющимися порт не появляется, хотя в USB есть.
Может где еще есть?

Дурацкий вариант. Покупал себе такой же модуль и USB-UART переходник под него. Т.к. совместной работы GPS и ГЛОНАСС он не поддерживает, а ГЛОНАСС-спутников на практически всех устройствах (навиаторы, телефоны) цепляется раза в 3-4 меньше, чем GPS, то смысла переключаться на моно режим ГЛОНАСС нет никакого.
Через u-center под виндой проще всего настроить сам модуль, а уже потом подключать его к android.

licki
04.06.2015, 19:39
Pine, я ж про либу написал, а не про драйвер !? Драйвер у меня запущен именно как "вариант с pl2303drv" и ничего перенаправлять не понадобилось. Или я что-то не до понял ?

Andrew@
05.06.2015, 06:25
Дурацкий вариант. Покупал себе такой же модуль и USB-UART переходник под него. Т.к. совместной работы GPS и ГЛОНАСС он не поддерживает, а ГЛОНАСС-спутников на практически всех устройствах (навиаторы, телефоны) цепляется раза в 3-4 меньше, чем GPS, то смысла переключаться на моно режим ГЛОНАСС нет никакого.
Через u-center под виндой проще всего настроить сам модуль, а уже потом подключать его к android.

НЕ сильно смущает педальное переключение между системами.
Рабочий свисток есть, а вот нужного драйвера нет :(
Хотя на сайте производителя чипов формально заявлено что есть под Андроид:
Package Version Last modified
Android GNSS driver 3.10 May 31, 2015
типа обращайтесь дадим, но молчат как партизаны.

pine
05.06.2015, 11:45
Pine, я ж про либу написал, а не про драйвер !? Драйвер у меня запущен именно как "вариант с pl2303drv" и ничего перенаправлять не понадобилось. Или я что-то не до понял ?

Тогда странно, потому что либа отлично работает на моем 3288. еще можно попробовать прописать настройки в build.prop, но кажется и без них все работать должно.

licki
05.06.2015, 22:55
Может и должно, но не работает. А как можно посмотреть распознал и загрузил ли андроид эту либу, т.е. её текущее состояние в системе?

licki
06.06.2015, 01:12
pine, спасибо за мысль про build.prop -всё заработало. Кому интересно итог: на текущей прошивке стика MK903V (чип RK3288) не работает в принципе механизм init.d, не работает команда "setprop" ни в файле install-recovery.sh, ни вручную если вводить через терминал. Вот такие кытайцы молодцы. :)

alex_spb
06.06.2015, 17:48
pine, спасибо за мысль про build.prop -всё заработало. Кому интересно итог: на текущей прошивке стика MK903V (чип RK3288) не работает в принципе механизм init.d, не работает команда "setprop" ни в файле install-recovery.sh, ни вручную если вводить через терминал. Вот такие кытайцы молодцы. :)
Поделитесь пожалуйста что и как делать, такой же стик. Умучился уже.

licki
08.06.2015, 14:14
Легко. В моём случае приёмник на чипе PL2303 и получен рут. Поэтому первое - это драйвер. Вот отсюда http://pccar.ru/showpost.php?p=321632&postcount=35 качаете архив и из него вытаскиваете файл pl2303drv. Его копируете на стик в папку /data. Затем в файле на стике /system/etc/install-recovery.sh пишем две строчки:/data/pl2303drv /dev/ttyUSB0 4800 и busybox stty -F /dev/ttyUSB0 4800 . Второе - это либа. С первой страницы топика качаете файл new_gps.sun4i.so.zip. Из него вытаскиваете gps.sun4i.so и переименовываете его в gps.default.so . Далее полученный gps.default.so копируете на стик в папку /system/lib/hw. Потом в файле /system/build.prop ищете строчку ro.factory.hasGPS=false и правите на true. И ниже дописываете строчку ro.kernel.android.gps=ttyUSB0 . Перегружаете стик и наслаждаетесь работой GPS. :)
P.S. Не забывать везде про права доступа.

pine
08.06.2015, 18:31
pine, спасибо за мысль про build.prop -всё заработало. Кому интересно итог: на текущей прошивке стика MK903V (чип RK3288) не работает в принципе механизм init.d, не работает команда "setprop" ни в файле install-recovery.sh, ни вручную если вводить через терминал. Вот такие кытайцы молодцы. :)

Для init.d на 3288 я использую Universal init.d
https://play.google.com/store/apps/details?id=com.androguide.universal.init.d

Хотя это и оффтопик в данной теме)

Andrew@
09.06.2015, 15:05
Легко. В моём случае приёмник на чипе PL2303 и получен рут. Поэтому первое - это драйвер. Вот отсюда http://pccar.ru/showpost.php?p=321632&postcount=35 качаете архив и из него вытаскиваете файл pl2303drv. Его копируете на стик в папку /data. Затем в файле на стике /system/etc/install-recovery.sh пишем две строчки:/data/pl2303drv /dev/ttyUSB0 4800 и busybox stty -F /dev/ttyUSB0 4800 . Второе - это либа. С первой страницы топика качаете файл new_gps.sun4i.so.zip. Из него вытаскиваете gps.sun4i.so и переименовываете его в gps.default.so . Далее полученный gps.default.so копируете на стик в папку /system/lib/hw. Потом в файле /system/build.prop ищете строчку ro.factory.hasGPS=false и правите на true. И ниже дописываете строчку ro.kernel.android.gps=ttyUSB0 . Перегружаете стик и наслаждаетесь работой GPS. :)
P.S. Не забывать везде про права доступа.

А если вообще нет строки ro.factory.hasGPS= ? Добавить?
На что она влияет?

licki
10.06.2015, 13:08
На что влияет точно не знаю - это надо доки андроида изучать. Но по смыслу, должна говорить операционке, что есть в девайсе GPS. У меня такая строчка была.
Прошивка правда модифицированная.

Andrew@
10.06.2015, 14:50
После безуспешных попыток подобрать драйвер удалось поднять консоль с Ublox7 через:
echo "1546 01A7" > /sys/bus/usb-serial/drivers/option1/new_id
с соответствующими VID/PID.
Сразу появились /dev/ttyUSB0 и /dev/ttyUSB1 правда поток шел на ttyUSB1, что не помешало подключиться к нему через ExtGps.
Вопрос: есть ли принципиальное отличие для библиотеки откуда получать поток данных- через это или через драйвер ?

Andrew@
15.06.2015, 12:33
Ну короче вариант подключения без драйвера и костылей, для добавления в шапку темы.
Имеем Ublox7 + китайский планшет на А10 родная прошивка 4.0.3 ядро 3.0.8+ внутреннего GPS нет зато есть поддержка свистков 3G. Среди архивов темы подходящего для свистка и платформы драйвера типа cdc-acm.ko не нашлось.
Вместо компиляции по опыту прикручивания неподдерживаемых 3G свистков найден альтернативный путь, без специфичного драйвера.
Под рутом идем сюда /sys/bus/usb-serial/drivers/option1/ видим файл new_id
Дальше втыкаем свисток, 1546 - VID свистка, 01А7 - PID
Проверяем в терминале:
su
echo "1546 01A7" > /sys/bus/usb-serial/drivers/option1/new_id
cat /dev/ttyUSB1 или cat /dev/ttyUSB0
видим поток NMEA.

А дальше все как уже писалось, для автостарта.

Добавляем в /system/build.prop строки
ro.factory.hasGPS=true
ro.kernel.android.gps=ttyUSB1 (или ttyUSB0)

Кладем в \system\etc\permissions android.hardware.location.gps.xml
Заменяем либу gps.XXXX.so (у меня gps.exDroid.so) в /system/lib/hw и выставить права 644

Делаем файл (в конце строк unix-завершения!) /system/etc/install-recovery.sh:
#!/system/bin/sh
echo "1546 01A7" > /sys/bus/usb-serial/drivers/option1/new_id

Скорость ttyUSB1 и права выставлять не потребовалось.

И все, после рестарта или засыпания/переконнекта свистка gps поднимается автоматом, без танцев в терминале.

Осталось выяснить как под андроидом на ходу переключать GPS/Glonass в свистке Ublox7, нужно видимо сунуть какие-то команды в терминал, по аналогии с U-center под Win, которая кстати есть в маркете и под андроид, но конфигуратора свистка в нем нет.

Shadow007
21.06.2015, 15:12
Здравствуйте уважаемые форумчани! Прошу у вас помощи! Уже 5-ую по счету неделю бьюсь с GPS модулем Holux M-215+ и не как не могу подружить свой андроид с ним. Перечитал не однократно всю эту тему, но все ровно не могу понять почему не хотят дружит M-215+ и мой андроид. Покупал тут (http://ru.aliexpress.com/item/Holux-M215-USB-GPS-Receiver-MTK-MT3333-with-Cable-G-Mouse-Dual-GPS-Glonass-satellite-system/1798934233.html#)! (не реклама)
Прошу меня извинить может за полную предоставленную информацию т.к я только начинаю понемногу вникать в эту тему. В общем суть такая:
1) Андроид у меня RK3066 3.0.8+. Рут на борту присутствует #SuperSU
2) Установил соответствующий драйвер или который более менее мне подходит – это pl2303.ko, в /system/lib/modules. Дал права 644 через Root Explorer.
3) Holux M-215+ определился как ttyUSB0
4) Пока работаю без ХАБА.
5) Сделал не однократно все по инструкции как в теме USB GPS for Android пост №1
6) Установил следующий софт для теста Holux M-215+:
-PLUartMultiSimpleTest
-You Are Here GPS
-UsbGPS4Droid_alpha5
-BusyBox+Pro+28_src_zipalign_sign
-Root+Explorer+v3.3.5+Patched+Proper
-Терминал_1.0.70
7) Поместил скрипт install-recovery.sh в /system/etc, дал права 775. В самом скрипте прописано следующее:
#! /system/bin/sh
su
rmmod pl2303
echo -n " 2-1:1.0" > /sys/bus/usb/drivers/option/unbind
rmmod pl2303
insmod /system/lib/modules/pl2303.ko
sleep 2
busybox chmod 666 /dev/ttyUSB0
busybox stty -F /dev/ttyUSB0 ispeed 4800
busybox chmod 666 /dev/ttyUSB0
sleep 1
setprop "ro.kernel.android.gps" "ttyUSB0"
busybox chmod 666 /dev/ttyUSB0
8) Поместил ЛИБУ в /system/lib/hw, переименовал в gps.default.so т.к у меня ядро RK3066 3.0.8+, дал права 644.
9) Перезагрузился…
10) Далее с помощью команды lsmod проверил загрузку драйвера pl2303.ko, все ОК! Загружен!
11) Проверил через команду busybox stty -F /dev/ttyUSB0 параметры скорости это у нас 4800, все ОК! Скорость 4800!
12) Через терминал проверил командой cat /dev/ttyUSB0 данные NMEA. Бегут, да еще как бегут. Далее проверил через PLUartMultiSimpleTest на 4800 и You Are Here GPS данные NMEA, все также бегут строчки с данными!
13) Захожу в Навител или GPSTest спутников нет, даже не моргают (хотя и этому был бы очень рад)
14) Holux M-215+ лежит на подоконнике. Если подключить через комп, находит сразу 8-10 спутников.
15) Добавил строчки в build.prop:
ro.kernel.android.gps=ttyUSB0
ro.kernel.android.gps.speed=4800
Андройд перестал грузится, то есть постоянная загрузка. Пришлась откачивать.
16) В общем вопросы такого характера…
-Все делал строго по иструкциям и советам этой темы…Подскажи, где я допустил ошибку? Я уже измучился 5 недель заниматься этой затеей.
-Я так понял сам модуль определился в андроиде, но не передает данные с Holux M-215+ на андроид и вот из-за чего не видно спутники в прогах. Как можно вылечить или какой можно вставить костыль?
-Если у кого есть точно такой же модуль Holux M-215+ прошу поделитесь рабочими дровами на него для андроида. Перепробовал все дрова из шапки, пока помог мне как я понял только pl2303.ko
Заранее огромное всем спасибо!