Запущен USB GPS на новом тв-боксе
CS918II с процессором RK3288, андроид 4.4.2, версия ядра 3.10.0 (cdc-acm.ko уже есть в ядре)
Прошивка
EKB328 от 23.9.2014
Аналогично все работает и на тв-боксе
CS918 с процессором RK3188, андроид 4.4.2, версия ядра 3.0.36+ (необходимо только добавить загрузку cdc-acm.ko из шапки под это ядро)
Показываю пример для ttyACM0 под мой
контроллер
Редактируем 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
Если данные бегут с ошибкой проверяем права и все ли сделано из перечисленного...

