Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Драйвер под Android 3G модем
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Linux
Kirill_Good
Здравствуйте!

Появилась задача найти/написать драйвер под Android для платы с 3g модемом. Ни разу не имел опыта разработки драйверов и поэтому не знаю как подступиться к задаче, где начать копать. Общение между отладочной платой c Android и 3g платой осуществялется через usb. Означает ли это что нужно использовать драйвер usb? Как сообщить ядру что нужно для звонка использовать именно этот драйвер? И как построить план решения этой задачи, например я поищу тут, возьму то, скомпилирую это, запущу то. Извините , если много вопросов, буду рад если поможете хотя бы с одним)

Спасибо!
Pyku_He_oTTyda
Я под андроидом без проблем использовал 3G модем без установки драйверов. Следовательно они есть готовые.
Или я Вас не понял?
Kirill_Good
Цитата(Pyku_He_oTTyda @ Sep 27 2011, 21:58) *
Я под андроидом без проблем использовал 3G модем без установки драйверов. Следовательно они есть готовые.
Или я Вас не понял?


У меня просто существует недостаток знаний и в голове немного не укладывается взаимодействие железа, ядра и драйверов и user space. Вот я соединю кабелем модем и android и могу звонки делать? как ядро понимает что это 3g модем? и что запросы на звонки из приложений нужно пересылать через этот драйвер?
san822
В Windows создаются виртуальные СОМ-порты, через которые можно работать с модемом через АТ-команды. Вероятно, в Adroid должно быть нечто подобное.
gormih
Цитата(san822 @ Sep 28 2011, 08:42) *
В Windows создаются виртуальные СОМ-порты, через которые можно работать с модемом через АТ-команды. Вероятно, в Adroid должно быть нечто подобное.

Спешу Вас огорчить, но даже в Windows для того чтобы появился виртуальный ком порт в системе должен присутвовать подходящий драйвер (что то типа USB2Com от Features Technologies)/


Для начала нужно понять, что в вашем модеме является реализацией USB интерфейса. Возможно, это стандартный чип USB to com - тогда все действительно просто. Все сложнее, если это специфический девайс... на который еще и драйверов никто никогда не писал.
Kirill_Good
Спасибо за ответы!

Нет, микросхемы USB<->COM нет, да и вроде COM и 3G по data rate не соотносятся. Я позагружал различные драйвера и вот что на данный момент имею в dmesg

<6>usb 1-1: new high speed USB device using fsl-ehci and address 5
<4>usb 1-1: config 1 has an invalid interface number: 7 but max is 3
<4>usb 1-1: config 1 has no interface number 2
<6>sierra 1-1:1.0: Sierra USB modem converter detected
<6>usb 1-1: APM supported, enabling autosuspend.
<6>usb 1-1: Sierra USB modem converter now attached to ttyUSB0
<6>sierra 1-1:1.1: Sierra USB modem converter detected
<6>usb 1-1: APM supported, enabling autosuspend.
<6>usb 1-1: Sierra USB modem converter now attached to ttyUSB1
<6>sierra 1-1:1.3: Sierra USB modem converter detected
<6>usb 1-1: APM supported, enabling autosuspend.
<6>usb 1-1: Sierra USB modem converter now attached to ttyUSB2
<6>usb1: register 'sierra_net' at usb-fsl-ehci.1-1, Sierra Wireless USB-Ethernet Modem, 9a:1f:2a:ad:04:07

как дальше связать с приложениями я не знаю, и вообще проверить те ли драйверы загружены. В busybox есть microcom, но после microcom /dev/ttyUSBn ничего не происходит, печатал АТ.

В Android есть Property Manager , может быть там как то связь устанавливается?
gormih
Цитата(Kirill_Good @ Oct 4 2011, 15:50) *
Спасибо за ответы!

Нет, микросхемы USB<->COM нет, да и вроде COM и 3G по data rate не соотносятся. Я позагружал различные драйвера и вот что на данный момент имею в dmesg

<6>usb 1-1: new high speed USB device using fsl-ehci and address 5
<4>usb 1-1: config 1 has an invalid interface number: 7 but max is 3
<4>usb 1-1: config 1 has no interface number 2
<6>sierra 1-1:1.0: Sierra USB modem converter detected
<6>usb 1-1: APM supported, enabling autosuspend.
<6>usb 1-1: Sierra USB modem converter now attached to ttyUSB0
<6>sierra 1-1:1.1: Sierra USB modem converter detected
<6>usb 1-1: APM supported, enabling autosuspend.
<6>usb 1-1: Sierra USB modem converter now attached to ttyUSB1
<6>sierra 1-1:1.3: Sierra USB modem converter detected
<6>usb 1-1: APM supported, enabling autosuspend.
<6>usb 1-1: Sierra USB modem converter now attached to ttyUSB2
<6>usb1: register 'sierra_net' at usb-fsl-ehci.1-1, Sierra Wireless USB-Ethernet Modem, 9a:1f:2a:ad:04:07

как дальше связать с приложениями я не знаю, и вообще проверить те ли драйверы загружены. В busybox есть microcom, но после microcom /dev/ttyUSBn ничего не происходит, печатал АТ.

В Android есть Property Manager , может быть там как то связь устанавливается?

Не там смотрите :-)
Проще всего залезьть во внутрь модема, и посмореть, какая именно микросхема (чип) отвечает в нем за интерфейс USB. Отсюда уже и танцы начинаются.
Если не хочется лезть во внутрь:
1)Если этот модем серийно выпускается где либо - наверняка инфа о том, что внутри просочилась в сеть.
2) Можно узнать инфу и у производителя/разработчика модема.

И на последок - некоторые виртуальные COM порты поддеживают скорости значительно превышающие 3G data rate. Это так, для справки :-)
Kirill_Good
Цитата(gormih @ Oct 4 2011, 17:36) *
И на последок - некоторые виртуальные COM порты поддеживают скорости значительно превышающие 3G data rate. Это так, для справки :-)


Я не про виртуальные порты, а про микросхему, там ограничение по битрэйту.
gormih
Цитата(Kirill_Good @ Oct 4 2011, 19:02) *
Я не про виртуальные порты, а про микросхему, там ограничение по битрэйту.


Тут,знаете ли, вопрос какая у Вас микросхема является, вообще говоря наиболее принципиальным. Не зная, какая у Вас микросхема - никто не сможет сказать, как под данное устройство пишется драйвер.
AT команды - наиболее распространенный и широко используемый протокол обмена данными с модемами. Но для того чтобы эти команды передать на модем - необходим программно - аппаратный туннель для передачи этих команд к ЦП модема, это наиболее сложная часть в реализации драйвера в вашем случае, как я понял biggrin.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.