GPS в LY-F1

Всем доброго времени суток!

Что же такое LY-F1? Это такой китайский планшетный компьютер за 100 баксов. Вот его обзор  – http://habrahabr.ru/post/143198/ и обсуждение – http://4pda.ru/forum/index.php?showtopic=298444 Штука классная и недорогая. Вещь для тех, кто не знает, нужен ли ему планшет или нет, но попробовать хочет.

Плюсы планшета: мизерная цена,root, usb-host (otg; порта 2, но распаян только один), hdmi.
Минусы: очень слабая батарея, глянцевые корпус, отсутствие gps.

Вот как раз убиранием последнего минуса мы и займёмся.

Нам потребуется следующее:

  1. Планшет. С рутом, busybox’ом и эмулятором терминала.
  2. Шнурок USB-A male — mini-USB female. Обязательно OTG!
  3. Usb-gps dongle.
  4. Шнурок USB-A  – mini-USB.

Итак, первым делом надо убедиться, что gps-приемник работает нормально. Через otg-шнурок подключаем его к планшету. На приемнике загорелись нудные лампочки? Отлично!

Теперь надо убедиться, что у нас тяжёлый случай и ничего так просто не заработает. Запускаем на планшете эмулятор терминала и смело идём в директорию /dev и ищем там ttyUSB0. Там его нету, не так ли? У меня не было. Причина в отсутствия его в том, что у нас нету нужных драйверов. Об этом нам и говорит dmesg:

(...)
<7>[  170.100000] [sw_hcd]: reset port.
<7>[  170.160000] [sw_hcd]: reset port stopped.
<7>[  170.160000] spurious?
<6>[  170.220000] usb 1-1: new full speed USB device number 2 using sw_hcd_host0
<7>[  170.220000] [sw_hcd]: reset port.
<7>[  170.280000] [sw_hcd]: reset port stopped.
<7>[  170.340000] [sw_hcd]: sw_hcd_h_disable, epnum = 0
<7>[  170.340000] [sw_hcd]: sw_hcd_h_disable, epnum = 0
<6>[  172.440000] init: waitpid returned pid 906, status = 00000000
<3>[  172.440000] init: untracked pid 906 exited
(...)

В большинстве случаев используется один из двух самых распространённых преобразователей USB-UART:

  • PL2303 от Prolific
  • CP2102 от Silabs

Для каждого из них в ядре должны быть модули. У меня их не было. Поэтому подключенный gps-приемник не определялся.А где взять модули? Их можно либо скомпилировать самостоятельно либо взять готовые для вашего процессора (здесь). В моём случае мне понадобился модуль для Pl2303. Файл назывался pl2303.ko, который я заботливо положил в корень карты памяти. Установим его (под рутом!):

insmod /sdcard/pl2303.ko

Теперь вновь подключим gps и глянем вывод dmesg.


(...)
<7>[ 1438.780000] [sw_hcd]: reset port.
<7>[ 1438.840000] [sw_hcd]: reset port stopped.
<7>[ 1438.840000] spurious?
<6>[ 1438.900000] usb 1-1: new full speed USB device number 4 using sw_hcd_host0
<7>[ 1438.900000] [sw_hcd]: reset port.
<7>[ 1438.960000] [sw_hcd]: reset port stopped.
<7>[ 1439.020000] [sw_hcd]: sw_hcd_h_disable, epnum = 0
<7>[ 1439.020000] [sw_hcd]: sw_hcd_h_disable, epnum = 0
<6>[ 1439.040000] pl2303 1-1:1.0: pl2303 converter detected
<6>[ 1439.040000] usb 1-1: pl2303 converter now attached to ttyUSB0
<6>[ 1441.050000] init: waitpid returned pid 1056, status = 00000000
<3>[ 1441.050000] init: untracked pid 1056 exited
(...)

Лезем в /dev – действительно, ttyUSB0 там появился. Теперь нам нужно задать скорость этого tty. Это шаг важный! Если указать неправильную скорость, то ничего работать не будет! В моём случае, скорость была 4800 бод.

busybox stty -F /dev/ttyUSB0 4800

А вот теперь можно смело сделать

cat /dev/ttyUSB0

И убедиться в том, что данные с gps-приемника успешно лезут в планешет.

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

Конец.

Advertisements
  1. juray
    29.08.2012 at 04:45
  2. 30.08.2012 at 00:51

    Поправил. Спасибо!

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: