написание драйверов (если у кого опыт написания драйверов)

Выбор и настройка HardWare

Модератор: Модераторы разделов

xapmc
Сообщения: 48
ОС: red had linux

написание драйверов

Сообщение xapmc »

Проблема следующая
есть мобильный телефон skylink u-520
так вот соответственно дров под него нету
нужно что бы линуха увидела его модем больше ничего не надо
Если есть какие-то подсказки вплоть до написания дров для встроенного модема
Я вот задумался
они же - производители для сетей CDMA наверное используют унифицированные модемы
зачем придумывать заново велосипед
Надо будет узнать какой модем точно стоит в телефоне
тем более что сеть всё-таки 450 Mgh но это наверное не имеет значения
хотя и драйвера тогда должны быть унифицироанные
Спасибо сказали:
u1`
Сообщения: 123
ОС: Debian Lenny

Re: написание драйверов

Сообщение u1` »

У меня есть желание написать USB драйвер для своего диктофона.
Литература есть, вот сдам экзамен - и приступлю.
Debian Etch, kernel 2.6.21, XFCE 4.2
Celeron-2.8GHz,ECS 865-M7 (V1.1), 2048GB RAM, Integrated Intel Extreme Graphics II
Спасибо сказали:
Аватара пользователя
DiS
Сообщения: 296
ОС: Gentoo

Re: написание драйверов

Сообщение DiS »

xapmc писал(а):
16.05.2007 10:45
Проблема следующая
есть мобильный телефон skylink u-520
так вот соответственно дров под него нету
нужно что бы линуха увидела его модем больше ничего не надо
Если есть какие-то подсказки вплоть до написания дров для встроенного модема
Я вот задумался
они же - производители для сетей CDMA наверное используют унифицированные модемы
зачем придумывать заново велосипед
Надо будет узнать какой модем точно стоит в телефоне
тем более что сеть всё-таки 450 Mgh но это наверное не имеет значения
хотя и драйвера тогда должны быть унифицироанные


А Вы его как подключаете? Через USB или Bluetooth?
Если правильно задать вопрос, то он сам по себе будет ответом.
Спасибо сказали:
xapmc
Сообщения: 48
ОС: red had linux

Re: написание драйверов

Сообщение xapmc »

забыл добавить
что подключаюсь через USB кабель
что самое интересное для винды этот драйвер на сайте скайлинка так и называется Ubiquam_USBdriver.zip
http://skylink.ru/info/phone.aspx?id=93&p=1&r=77
файл этот экзешный
хотел его просмотреть может какую инфу вытащить
придётся наверное како-нибудь резхак ставить что бы его посмотреть
а вообщем наверное можно посмотреть дрова от других телефонов ubiqam в формате .inf
вот такую инфу показывает драйвер с расширением .inf для телефона u-100

Код:

;******************************************************************** ;* ;* File: ubmddrv.inf ;* ;* Description: ;* Installs PCMCIA modem driver ;* Ubiquam PCMCIA modem (Win2000/XP) version 0.3 ;* Version 0.1 : Initial Release ;* Version 0.2 : Device Name modification ;* Version 0.3 : Change initial at command "AT$qcso=2<cr>" ;* ;******************************************************************** [version] Signature="$Windows NT$" Class=Modem ClassGUID={4D36E96D-E325-11CE-BFC1-08002BE10318} Provider=&#11;IQUAM% DriverVer=09/20/2004, 4.1.3 [ControlFlags] ExcludeFromSelect=PCMCIA\UBIQUAM-UM100_CDMA_CF_Card-0699 [Manufacturer] &#11;IQUAM% = UBIQUAM [UBIQUAM] %UM100%=UM100, PCMCIA\UBIQUAM-UM100_CDMA_CF_Card-0699 %UM100%=UM100, UNIMODEM0A1C273D [UM100.NT] DriverVer=09/20/2004, 1.1.4.4 AddReg=All, UM100AddReg, GenReg, PCMCIA CopyFiles=Drv.NT.Copy, dll.NT.Copy LogConfig=c14,c1a,c23,c2a,c34,c3a,c43,c4a,caa [UM100.NT.LogConfigOverride] LogConfig = cfconfig [UM100.NT.HW] AddReg=UM100HWService [UM100HWService] HKR,,"LowerFilters", 0x00010000,Ubmddrv HKR,,"95xSpecific", 0x00000001,01,00,00,00,00,00,c9,16,20,00,01,00,04,64,10,70,08,00,00,00,00,00,00, 10 HKR,,"ClockRate", 0x00010001, 7372800 HKR,,"DisablePowerManagement", 0x00010001, 1 [UM100.NT.Services] AddService = Ubmddrv, 0x00000000, UM100_Service_Inst [UM100_Service_Inst] AddReg = ServiceReg DisplayName = Ubmddrv ServiceType = 1 StartType = 3 ErrorControl = 1 ServiceBinary = %12%\Ubmddrv.sys LoadOrderGroup = Base [DestinationDirs] DefaultDestDir = 11 Drv.NT.Copy = 12 [Drv.NT.Copy] ubmddrv.sys,,,2 [ServiceReg] HKR,,RxFIFO, 0x00010001, 0x40 ; 64 byte HKR,,TxFIFO, 0x00010001, 0x80 ; 128 byte [GenReg] HKR,, Properties, 1, 80,01,00,00, 00,00,00,00, 00,00,00,00, 00,00,00,00, 00,00,00,00, 10,00,00,00, 00,C2,01,00, 00,C2,01,00 HKR,, DCB, 1, 1C,00,00,00, 00,C2,01,00, 15,20,00,00, 00,00, 0a,00, 0a,00, 08, 00, 00, 11, 13, 00, 00, 00 [All] HKR,,FriendlyDriver,,Ubmddrv.sys HKR,,DevLoader,0,*ntkern HKR,,NTMPDriver,0,Ubmddrv.sys HKR,,ConfigDialog,0,modemui.dll HKR,,EnumPropPages,0,modemui.dll,EnumPropPages HKR,,PortSubClass,1,02 HKR,,PortDriver,,Ubmddrv.sys ; 115200 Maximum Port Speed (Steve Nam) HKR,,MaximumPortSpeed, 0x00010001, 0x1C200 HKR,,AdvancedSettings,,"INVALID" [PCMCIA] HKR,, DeviceType, 1, 03 [Strings] UM100 = "UBIQUAM UM-100 CDMA 1x Modem" UBIQUAM = "Ubiquam Co., LTD" WIN2000DiskName = "Ubiquam_Software" ПРОДОЛЖЕНИЕ ФАЙЛА [UM100AddReg] HKR, Init, 1,, "AT$qcso=2<cr>" HKR, Init, 2,, "ATE0V1<cr>" HKR, Monitor, 1,, "ATS0=0<cr>" HKR, Monitor, 2,, "None" HKR, Answer, 1,, "ATA<cr>" HKR, Hangup, 1,, "ATH<cr>" HKR,, Reset,, "AT&F<cr>" HKR,, UserInit,, "AT+crm=1" HKR, Settings, Prefix,, "AT" HKR, Settings, DialSuffix,, "" HKR, Settings, Terminator,, "<cr>" HKR, Settings, DialPrefix,, "D" HKR, Settings, Pulse,, "P" HKR, Settings, Tone,, "T" ;HKR, Settings, Blind_On,, "X1" ;HKR, Settings, Blind_Off,, "X4" ;HKR, Settings, FlowControl_Off,, "+IFC=0,0;" ;HKR, Settings, FlowControl_Hard,, "+IFC=2,2;" ;HKR, Settings, FlowControl_Soft,, "+IFC=1,1;" ; DTE/DCE speeds will not be exact for generic modems because we will ; treat CONNECT ### as a DCE speed when some modems will report it as DTE. HKR, Responses, "<cr>", 1, 01, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<lf>", 1, 01, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>OK<cr><lf>", 1, 00, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>CONNECT<cr><lf>", 1, 02, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>NO CARRIER<cr><lf>", 1, 04, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>NO DIALTONE<cr><lf>", 1, 05, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>ERROR<cr><lf>", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>BUSY<cr><lf>", 1, 06, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>NO ANSWER<cr><lf>", 1, 07, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>RING<cr><lf>", 1, 08, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "0<cr>", 1, 00, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "2<cr>", 1, 08, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "3<cr>", 1, 04, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "4<cr>", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "6<cr>", 1, 05, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "7<cr>", 1, 06, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "8<cr>", 1, 07, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>FAX<cr><lf>", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>VOICE<cr><lf>", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>RINGING<cr><lf>", 1, 01, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>DIALING<cr><lf>", 1, 01, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>RRING<cr><lf>", 1, 01, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>DELAYED<cr><lf>", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>BLACKLISTED<cr><lf>", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>+FCERROR<cr><lf>", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "OK", 1, 00, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "RING", 1, 08, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "NO CARRIER", 1, 04, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "ERROR", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "NO DIALTONE", 1, 05, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "NO DIAL TONE",1, 05, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "BUSY", 1, 06, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "NO ANSWER", 1, 07, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "FAX", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "DATA", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "VOICE", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "RINGING", 1, 01, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "DIALING", 1, 01, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "RRING", 1, 01, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "DELAYED", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "BLACKLISTED", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "+FCERROR", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "CONNECT", 1, 02, 00, 00,00,00,00, 00,00,00,00 ПРОДОЛЖЕНИЕ ФАЙЛА [UM100AddReg] HKR, Init, 1,, "AT$qcso=2<cr>" HKR, Init, 2,, "ATE0V1<cr>" HKR, Monitor, 1,, "ATS0=0<cr>" HKR, Monitor, 2,, "None" HKR, Answer, 1,, "ATA<cr>" HKR, Hangup, 1,, "ATH<cr>" HKR,, Reset,, "AT&F<cr>" HKR,, UserInit,, "AT+crm=1" HKR, Settings, Prefix,, "AT" HKR, Settings, DialSuffix,, "" HKR, Settings, Terminator,, "<cr>" HKR, Settings, DialPrefix,, "D" HKR, Settings, Pulse,, "P" HKR, Settings, Tone,, "T" ;HKR, Settings, Blind_On,, "X1" ;HKR, Settings, Blind_Off,, "X4" ;HKR, Settings, FlowControl_Off,, "+IFC=0,0;" ;HKR, Settings, FlowControl_Hard,, "+IFC=2,2;" ;HKR, Settings, FlowControl_Soft,, "+IFC=1,1;" ; DTE/DCE speeds will not be exact for generic modems because we will ; treat CONNECT ### as a DCE speed when some modems will report it as DTE. HKR, Responses, "<cr>", 1, 01, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<lf>", 1, 01, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>OK<cr><lf>", 1, 00, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>CONNECT<cr><lf>", 1, 02, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>NO CARRIER<cr><lf>", 1, 04, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>NO DIALTONE<cr><lf>", 1, 05, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>ERROR<cr><lf>", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>BUSY<cr><lf>", 1, 06, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>NO ANSWER<cr><lf>", 1, 07, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>RING<cr><lf>", 1, 08, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "0<cr>", 1, 00, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "2<cr>", 1, 08, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "3<cr>", 1, 04, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "4<cr>", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "6<cr>", 1, 05, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "7<cr>", 1, 06, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "8<cr>", 1, 07, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>FAX<cr><lf>", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>VOICE<cr><lf>", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>RINGING<cr><lf>", 1, 01, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>DIALING<cr><lf>", 1, 01, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>RRING<cr><lf>", 1, 01, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>DELAYED<cr><lf>", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>BLACKLISTED<cr><lf>", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "<cr><lf>+FCERROR<cr><lf>", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "OK", 1, 00, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "RING", 1, 08, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "NO CARRIER", 1, 04, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "ERROR", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "NO DIALTONE", 1, 05, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "NO DIAL TONE",1, 05, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "BUSY", 1, 06, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "NO ANSWER", 1, 07, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "FAX", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "DATA", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "VOICE", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "RINGING", 1, 01, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "DIALING", 1, 01, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "RRING", 1, 01, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "DELAYED", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "BLACKLISTED", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "+FCERROR", 1, 03, 00, 00,00,00,00, 00,00,00,00 HKR, Responses, "CONNECT", 1, 02, 00, 00,00,00,00, 00,00,00,00
Спасибо сказали:
Аватара пользователя
DiS
Сообщения: 296
ОС: Gentoo

Re: написание драйверов

Сообщение DiS »

Я это к тому что во многих телефонах модем работает без дополнительных драйверов, а дрова нужны только для доступа к телефонной книге и пр. По крайней мере свой L2 я подключал и настраивал без лишних дров.
Если правильно задать вопрос, то он сам по себе будет ответом.
Спасибо сказали:
Аватара пользователя
Debian GreS
Сообщения: 126
Статус:      The One
ОС: Debian Wheezy

Re: написание драйверов

Сообщение Debian GreS »

xapmc писал(а):
16.05.2007 10:45
нужно что бы линуха увидела его модем больше ничего не надо

А Линукс вообще никак не видит Ваш телефон? Какие сообщения появляются в /etc/message.log после подключения? Можно еще сразу после подключения шнурка к РС в терминале написать "dmesg | tail"(без ковычек, естественно). Так, если линукс видит Ваш телефон, можно будет узнать имя, под которым он прячется в папке /dev/ :) А затем нужно будет просто использовать это имя в программах дозвона.
Registered Linux user number 448029
А ты зарегистрировался? -> http://counter.li.org/ ;)
Спасибо сказали:
xapmc
Сообщения: 48
ОС: red had linux

Re: написание драйверов

Сообщение xapmc »

модем стоит вернее чип qualcomm MSM
все модемы которые показывает линуха при подключении перепробывал
хотя она точно видет его
странно может
в файле изминить option изминить настройки подключения
Спасибо сказали:
Аватара пользователя
drujebober
Сообщения: 179
ОС: Debian GNU/Linux lenny

Re: написание драйверов

Сообщение drujebober »

модем он должен видеть без проблем
терминале написать "dmesg | tail"(без ковычек, естественно)

ищеш что то типа cdc_acm 2-2:1.1: ttyACM0: USB ACM device - значит телефон прицепился к ttyACM0 прописываеш это в kppp или что ты там пользуеш, заполняеш все остальное типо телефоны пароли строки инициализации и будет щастье
Спасибо сказали:
Аватара пользователя
Ali1
Сообщения: 2250

Re: написание драйверов

Сообщение Ali1 »

xapmc писал(а):
16.05.2007 14:21
забыл добавить
что подключаюсь через USB кабель
что самое интересное для винды этот драйвер на сайте скайлинка так и называется Ubiquam_USBdriver.zip
http://skylink.ru/info/phone.aspx?id=93&p=1&r=77
файл этот экзешный
хотел его просмотреть может какую инфу вытащить
придётся наверное како-нибудь резхак ставить что бы его посмотреть
а вообщем наверное можно посмотреть дрова от других телефонов ubiqam в формате .inf
вот такую инфу показывает драйвер с расширением .inf для телефона u-100
....

Как узнать каким устройством Ваш модем виден drujebober рассказал. Далее ищете справочник по AT командам Вашего модема.
И в програме minicom или kppp(терминал) смотрите как модем на них реагирует. О настройке соединения на форуме есть.
ЗЫ в виндос в devmgmt.msc есть кнопка "сведения о фалах драйвера"
ЗЫ2 по тому .инф файлу который Вы выложили AT-команды установить можно для "других телефонов ubiqam". Скорее всего они совпадают.
ЗЫ3 разобранный .ехе
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:
xapmc
Сообщения: 48
ОС: red had linux

Re: написание драйверов

Сообщение xapmc »

блин
чего-то не пойму
надо всё разложить по полочкам
kppp нашёл
нашёл где ставятся at команды модема
один фиг не работает
хотя может быть команды не правильно поставил
etc/ppp/option
в этом файле стоит только строка lock больше ничего нет
у телефона ubiquam u-100 стоит другой модем вернее чип так что его каманды AT не подходят
народ разложите по полочкам как должно всё быть
а то какая-то каша в бошке
Спасибо сказали:
xapmc
Сообщения: 48
ОС: red had linux

Re: написание драйверов

Сообщение xapmc »

var/log/message.log
находит модем и показывает его и что он весит на
May 28 10:26:57 localhost kernel: drivers/usb/class/cdc-acm.c: Ignoring extra header
May 28 10:26:57 localhost kernel: cdc_acm 4-2:1.0: ttyACM0: USB ACM device
May 28 10:26:57 localhost kernel: usbcore: registered new driver cdc_acm
May 28 10:26:57 localhost kernel: drivers/usb/class/cdc-acm.c: v0.23:USB Abstract Control Model driver for USB modems and ISDN adapters
тоесть модем телефона видит
Спасибо сказали:
Agеnt
Сообщения: 1

Re: написание драйверов

Сообщение Agеnt »

drujebober писал(а):
27.05.2007 00:37
модем он должен видеть без проблем
терминале написать "dmesg | tail"(без ковычек, естественно)

ищеш что то типа cdc_acm 2-2:1.1: ttyACM0: USB ACM device - значит телефон прицепился к ttyACM0 прописываеш это в kppp или что ты там пользуеш, заполняеш все остальное типо телефоны пароли строки инициализации и будет щастье

У меня есть GPRS USB модем который видится как ttyACM0. При соединении kppp посылает чтото вроде ATS11=xx и получает ERROR, дальше соединение не идет (у модема нет этой команды). Как его заставить работать?
Спасибо сказали:
Аватара пользователя
Debian GreS
Сообщения: 126
Статус:      The One
ОС: Debian Wheezy

Re: написание драйверов

Сообщение Debian GreS »

Уважаемые Агент и топик-стартер. Попробуйте использовать альтернативные программы дозвона. Когда сам настраивал свой gprs-модем также столкнулся с некорректной работой kppp(скорее всего что-то не так делал:)) Альтернатив существует масса- поищите в сети. Успехов.
Registered Linux user number 448029
А ты зарегистрировался? -> http://counter.li.org/ ;)
Спасибо сказали: