The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Смартфон HTC Tornado (Qtek 8310) в качестве USB модема под Linux (pda modem usb linux kernel)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: pda, modem, usb, linux, kernel,  (найти похожие документы)
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 #define HCT_VENDOR_ID 0x0BB4 #define HTC_PRODUCT 0x00CF Чуть далеее добавляет эти константы в начало масивов, примерно так static struct usb_device_id option_ids[] = { { USB_DEVICE(HTC_VENDOR_ID, HTC_PRODUCT) }, { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_OLD) }, { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUSION) }, ... { } /* Terminating entry */ }; static struct usb_device_id option_ids1[] = { { USB_DEVICE(HTC_VENDOR_ID, HTC_PRODUCT) }, { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_OLD) }, { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUSION) }, ... { } /* Terminating entry */ }; будем надеятся, разботчик в следующих версия сам добавит наш любимый 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, например описаны здесь Дополнительно: список моих загруженных модулей в системе при установленном соединении: ppp_deflate 4192 0 zlib_deflate 17464 1 ppp_deflate zlib_inflate 12960 1 ppp_deflate bsd_comp 4832 0 ppp_async 7296 1 ppp_generic 16660 7 ppp_deflate,bsd_comp,ppp_async slhc 5216 1 ppp_generic option 5792 1 usbserial 22856 4 option af_packet 13480 0 Заключение Вообщем опять подтверждена универсальность платформы HTC и Windows Mobile. Пост писался из под OS Gentoo Linux, kernel 2.6.18, инет по USB с Qtek 8310 AKU2

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1.1, Аноним (-), 16:12, 01/02/2007 [ответить]  
  • +/
    Я подозреваю 2 вещи:
    1) параметры этому модулю можно передать через опции VendorId и ProductID
    2)модуль ipaq если ему передать VendorId и ProductID при первой загрузке делает тоже самое(а можеть и использует этот модуль option)
     
     
  • 2.2, cobain (??), 16:12, 02/02/2007 [^] [^^] [^^^] [ответить]  
  • +/
    > 1) параметры этому модулю можно передать через опции VendorId и ProductID

    нет, этот модуль использует только свой список

    > 2)модуль ipaq если ему передать VendorId и ProductID при первой загрузке делает тоже самое(а можеть и использует этот модуль option)

    модуль ipaq вообще предназначен для другого, для сихронизации и обмена файлами с WM

     

  • 1.3, cobain (??), 16:30, 02/02/2007 [ответить]  
  • +/
    > > 2)модуль ipaq если ему передать VendorId и ProductID при первой загрузке делает тоже самое(а можеть и использует этот модуль option)

    > модуль ipaq вообще предназначен для другого, для сихронизации и обмена файлами с WM

    а кстати да, модуль ipaq использует модуль usbserial, который выдаёт устройство /dev/ttyUSB0 для общение с WM, не знаю пока есть ли глюки если использовать его как модем

     
     
  • 2.4, Аноним (-), 17:11, 02/02/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Использовал ipaq с модемом qtek 8310 с момента его покупки (июнь 2006) - никаких глюков небыло.

    надо только передать vendorid productid

     

  • 1.5, Dimez (??), 08:52, 06/02/2007 [ответить]  
  • +/
    Становиться поклонником этого ужаса, в котором повесившееся приложение(типа блокнота) вешает полностью входящие и исходящие звонки(а ещё и sms и USSD) - нет, увольте.
     
     
  • 2.6, Thump (?), 18:53, 16/06/2007 [^] [^^] [^^^] [ответить]  
  • +/
    Ну зачем же так грубо врать то, не подержа в руках девайса? во-первых там и блокнота нет предустановленного, а во-вторых ничего там не вешается вообще, все процессы можно вырубить. Нокии s60 и то чаще виснут.
     

  • 1.7, sano (??), 16:08, 07/04/2008 [ответить]  
  • +/
    за два года использования мой 8310 вис раза 3 небольше и это с учетом того что софта на нем наставленно очень много до этого была MPX220 вот та часто висла а тут не одного HardReset не делал, а автору статьи огромное спасибо
     
  • 1.8, sles (?), 15:59, 09/05/2009 [ответить]  
  • +/
    Что-то не работает.
    Собрал options в Ubuntu 8.04 с добавлением  
    #define HCT_VENDOR_ID     0x0BB4
    #define HTC_PRODUCT       0x00CF

    модуль создает /dev/ttyUSB0

    но звонить через него не удается!

    minicom тоже не работает :-(

     
  • 1.9, sles (?), 16:00, 09/05/2009 [ответить]  
  • +/
    прошу прощения, у меня qtek s200.
    может в нем что-то нет так?
     
     
  • 2.10, cobain (??), 14:55, 11/05/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Тема как 100 лет не актуальна.
    В ядре линeхи уже есть специальный модуль ipaq для устаревшего serial режима подключения устройств. И прекрасно работает как модем.
    А начиная с ядер >2.6.21 включён и новый (под wm5/6) протокол rndis.
    Ищите соответствующие How-To.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру