From: cobain <cobain@multihost.ru.>
Date: Mon, 29 Jan 2007 14:31:37 +0000 (UTC)
Subject: Смартфон HTC Tornado (Qtek 8310) в качестве USB модема под Linux
Введение
--------
Многие уже усплеи стать поклониками Windows ( Mobile конечно :-)
оставаясь пользователями Linux.
Также возникает потребность использовать мобильное устройство на базе WM
для выхода в интернет, поэтому считаю что нужным опубликовать свои
изыскания на эту тему.
Теория
Не секрет что под OS Windows при соединении по USB смартфона и PC и
выборе на на смарфоне режиму "Модемная связь"->Подключение = USB,
устройсво определяется как "Generic Serial" и работает как обычный
последовательный порт через интерфейс usb (бинарные драйвера для этого
уже включены идут в OS Windows XP/2003).
Исходя из сказаного, выходит что осталось только загрузить модуль ядра
Linux "usbserial" и сразу получить usb модем как устройство
/dev/ttyUSB0. Но не всё так просто, и поэтому модем на этот устройстве
функцианировать не сможет.
Начиная с 2005 года появился доп модуль для usb модемов по названием
"option" (ком. разработчика: "This driver is named "option" because the
most common device it's used for is a PC-Card (with an internal OHCI-USB
interface, behind which the GSM interface sits), made by Option Inc.")
(в ядрах с 2.6.18 уже точно рабочая версия присутствует, а впревые
пришёл из git веток ядра 2.6.xз).
Описание модуля:
USB Driver for GSM modems v0.7.1
Copyright (C) 2005 Matthias Urlichs <smurf@smurf.noris.de.>
This driver exists because the "normal" serial driver doesn't work too well
with GSM modems. Issues:
- data loss -- one single Receive URB is not nearly enough
- nonstandard flow (Option devices) control
- controlling the baud rate doesn't make sense
Но изначально этот модуль не подцепляет WinCE устройства, поэтому
потребуется изменить модуль и пересобрать ядро из исходников.
1. Заходим в папку с исходниками ядра (где и как их взят и вопросы
компиляции отдельная тема описанная много раз на тематических ресурсах)
находим открываем файл и drivers/usb/serial/option.c
Добавлем где то в начало две строки со значения Vendor и ProdID,
нижеприведены значения для устройств типа HTC Tornado (Qtek 8310 и
т.п.), значения для вашего устройства вы найдёте в файле
/proc/bus/usb/devices
будем надеятся, разботчик в следующих версия сам добавит наш любимый
HTC, ведь девайс довольно популярный
3. Созраняем файл и включаем нужные опции в ядре (ядро долно собиратся с
поддержкой ppp и usb) название опции отвечающей за модуль usb modema:
-> Device Drivers
-> USB support
-> USB Serial Converter support = m
-> USB Generic Serial Driver = y
-> USB PocketPC PDA Drive = m (используется для Sync)
-> USB driver for GSM and CDMA modems = m (оно самое)
4. компилим, инсталим модули и ядро, перегрузка
5. подгружаем модуль яздра "option"
modprobe option
и у меня dmesg выдаём (незубудьте правильно смартфон подключить :-) к
компу и вверсти в состоянии "Модемной связи" по usb)
usb 2-1: new full speed USB device using uhci_hcd and address 16
usb 2-1: configuration #1 chosen from 1 choice
option 2-1:1.0: GSM modem (1-port) converter detected
usb 2-1: GSM modem (1-port) converter now attached to ttyUSB0
и в системе появляется новое устройство /dev/ttyUSB0 - наш модем
далее настраеваем dialup соединение на его основе и пользуемся
Параметры для dialup соединения идентичны как под Windows, например
описаны здесь
Дополнительно:
список моих загруженных модулей в системе при установленном соединении:
Вообщем опять подтверждена универсальность платформы HTC и Windows Mobile.
Пост писался из под OS Gentoo Linux, kernel 2.6.18, инет по USB с Qtek 8310 AKU2
876 Прочтений • [Смартфон HTC Tornado (Qtek 8310) в качестве USB модема под Linux (pda modem usb linux kernel)] [08.05.2012] [Комментариев: 0]