написание драйвера для USB устройства (модем airplus mcd-650)
Модератор: Модераторы разделов
-
- Сообщения: 20
- ОС: Mint 7
написание драйвера для USB устройства
Всем доброго времени суток...
у меня на днях возникла проблема с модемом airplus mcd-650...нет драйвера под Linux тока под виндовозы...
теперь вопрос...Как написать этот драйвер самому?
у меня на днях возникла проблема с модемом airplus mcd-650...нет драйвера под Linux тока под виндовозы...
теперь вопрос...Как написать этот драйвер самому?
-
- Сообщения: 3692
- ОС: Mandriva => Gentoo (~amd64)
Re: написание драйвера для USB устройства
Ну народ вроде как запускает. Хотя бы тут
А вообще, в том же гугле строку запроса делаете такой linux+"airplus mcd-650" и читаете.
Драйвер устройства писать, не имея навыков, довольно сложно. Хотя книжки есть.
А вообще, в том же гугле строку запроса делаете такой linux+"airplus mcd-650" и читаете.
Драйвер устройства писать, не имея навыков, довольно сложно. Хотя книжки есть.
-
- Сообщения: 20
- ОС: Mint 7
Re: написание драйвера для USB устройства
Читал я этот форум...пробовал дома повторить ничего не получается...может я чего не допонял...вобщем решил написать драйвер сам...что для этого нужно? если кто умеет писать поделитесь опытом...хочется не то чтобы побострее выйти в инет а написать драйвер и положить его на общий доступ естественно...пусть это займет больше времени зато будет работать четко...
-
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: написание драйвера для USB устройства
BlacklabeLSD
Для начала нужен Linux Driver Development Kit - http://www.kernel.org/pub/linux/kernel/people/gregkh/ddk/ (с документацией), затем документация по аппаратному устройству MCD-650, либо по устройству аналогичных девайсов. Сам девайс. Ну и свободное время. Пожалуй всё.
Для начала нужен Linux Driver Development Kit - http://www.kernel.org/pub/linux/kernel/people/gregkh/ddk/ (с документацией), затем документация по аппаратному устройству MCD-650, либо по устройству аналогичных девайсов. Сам девайс. Ну и свободное время. Пожалуй всё.
-
- Сообщения: 20
- ОС: Mint 7
Re: написание драйвера для USB устройства
Для начала нужен Linux Driver Development Kit
Скачал...
Сам девайс в наличии из документации всё что было в комплекте при покупке...
время тоже есть...меня интересует на чем писать? и какое нить руководство по написанию...
за ссылку благодарен...
возникла идея...читал что модемы any data ложаться на линь без проблем...может попробовать переделать их драйвер под мой девайс?
-
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: написание драйвера для USB устройства
Оно есть в LDDK.
С примерами.
C, вестимо.
-
- Сообщения: 1913
- Статус: zzz..z
Re: написание драйвера для USB устройства
BlacklabeLSD
это как бы спецификация, а не
собственно поэтому не под все устройства есть драйвера :-(
это как бы спецификация, а не
собственно поэтому не под все устройства есть драйвера :-(
[x] close
-
- Сообщения: 2
Re: написание драйвера для USB устройства
Вообще говоря, вряд ли стоит вам браться за написание собственных модулей ядра, если уж вы не осилили даже элементарного подключения данного модема к существующей системе. Слишком много нужно иметь специфичных знаний для этого. Но даже если такой модуль в конце концов будет написан, то это будет просто более глючный клон стандартного usbserial, заточенный под специфический VID и PID.
Тут ведь уже давали ссылку. Модем представляет собой обыкновеннейшее USB-SERIAL устройство, просто с необычными идентификаторами, о которых стандартный модуль ничего не знает. Надо подключить модем, дать команду lsusb, и посмотреть идентификаторы модема. Они будут такими - vendor=0x1011 product=0x3198
Далее находим файл параметров модулей - /etc/modprobe.conf и дописываем туда строчку
options usbserial vendor=0x1011 product=0x3198
В вашей системе вместо этого файла может быть каталог /etc/modprobe.d. Тогда в нем надо создать файл usbserial.conf с вышеукащанной строкой.
После этого выгружаем модуль usbserial - rmmod usbserial, проверяем по lsmod что модуль действительно выгрузился, вынимаем и снова втыкаем модем. Смотрим dmesg и видим, что модему назначились два устройства - /dev/ttyUSB0 и ttyUSB1. Вот теперь через ttyUSB0 можно работать.
Вместо игр с загрузкой-выгрузкой модуля можно просто отключить модем, перезагрузить систему и воткнуть модем обратно.
Тут ведь уже давали ссылку. Модем представляет собой обыкновеннейшее USB-SERIAL устройство, просто с необычными идентификаторами, о которых стандартный модуль ничего не знает. Надо подключить модем, дать команду lsusb, и посмотреть идентификаторы модема. Они будут такими - vendor=0x1011 product=0x3198
Далее находим файл параметров модулей - /etc/modprobe.conf и дописываем туда строчку
options usbserial vendor=0x1011 product=0x3198
В вашей системе вместо этого файла может быть каталог /etc/modprobe.d. Тогда в нем надо создать файл usbserial.conf с вышеукащанной строкой.
После этого выгружаем модуль usbserial - rmmod usbserial, проверяем по lsmod что модуль действительно выгрузился, вынимаем и снова втыкаем модем. Смотрим dmesg и видим, что модему назначились два устройства - /dev/ttyUSB0 и ttyUSB1. Вот теперь через ttyUSB0 можно работать.
Вместо игр с загрузкой-выгрузкой модуля можно просто отключить модем, перезагрузить систему и воткнуть модем обратно.
-
- Сообщения: 20
- ОС: Mint 7
Re: написание драйвера для USB устройства
Благодарю всех за содействие и понимание ситуации...если уж всё таки напишу более менее живой и здоровый драйвер обязательно поделюсь им...думаю тему можно закрывать так как не вижу смысла дальнейшего обсуждения(если будут какие то идеи и советы пишите в личку)
-
- Сообщения: 498
- ОС: Fedora
Re: написание драйвера для USB устройства
Проблема актуальная.
Читал тут не работает этот способ
Не помогло.
Ядро 2.6.28-13-generic
Модем Airplus MCD-650
Читал тут не работает этот способ
Не помогло.
Ядро 2.6.28-13-generic
Модем Airplus MCD-650
-
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
-
- Сообщения: 2
Re: написание драйвера для USB устройства
Да не может этот способ не работать в принципе. По крайней мере, во всех ядрах линейки 2.6, где есть модуль usbserial, он обязан работать.
После того, как пропишите параметры модуля usbserial в modprobe.conf или modprobe.d, перезагрузитесь, дайте от рута команду
modprobe usbserial
и посмотрите вывод dmesg. Должно появиться 2 устройства - /dev/ttyUSB0 и ttyUSB1
Если не появились - давайте сюда вывод dmesg, будем разбираться.
А писать аналог стандартного usbserial - пустая затея. Оно, конечно, полезно в плане научиться писать ядерные модули, но практической пользы от такой затеи - 0. Впрочем, если человек способен написать модуль ядра, то уж подключить стандартный usbserial у него не будет никаких проблем.
Гораздо интереснее разобраться с пропиетарными командами данного модема (те, которые at*skt* ), для использования смс и голосовых функций. Например, команда at*skt*ori=номертелефона набирает телефонный номер для голосовой связи, а команда at*skt*keyemul=e прерывает голосовую сессию.
-
- Сообщения: 20
- ОС: Mint 7
Re: написание драйвера для USB устройства
Да не может этот способ не работать в принципе. По крайней мере, во всех ядрах линейки 2.6, где есть модуль usbserial, он обязан работать.
После того, как пропишите параметры модуля usbserial в modprobe.conf или modprobe.d, перезагрузитесь, дайте от рута команду
modprobe usbserial
и посмотрите вывод dmesg. Должно появиться 2 устройства - /dev/ttyUSB0 и ttyUSB1
Если не появились - давайте сюда вывод dmesg, будем разбираться.
Я всё таки выгрузил usbserial способом описаным здесь
Настроил широкополосное но к инету всё равно не подключается,сразу обрывается связь...
-
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: написание драйвера для USB устройства
i Уведомление от модератора serzh-z Voler, forth32, BlacklabeLSD, господа, вы чего? Этот топик про написание драйверов, а не про "как завести мой модем?", для этого есть другие разделы.
-
- Сообщения: 8
- ОС: Linux mandriva 2009.1 pwp
Re: написание драйвера для USB устройства
Может автору ветки поможет вот этот материальчик?
Спасибо сказали:
-
- Сообщения: 220
- ОС: Lubuntu 18.04, Lubuntu 14.04
Re: написание драйвера для USB устройства
Ну это так обзорчик поверхностный. Внизу идет отсыл на спецификации USB и Kernel. Вот оно и отбивает желание заниматься написанием драйверов.
Для меня тема пока актуальна, т.к. имею USB-девайс с дровами только под винду. Спецификации и исходники открыты остается дело за малым - написать драйвер

-
- Сообщения: 1744
- Статус: Ъ-участник
- ОС: Debian/Ubuntu/etc
Re: написание драйвера для USB устройства
Малость не в тему, но иногда есть устройство на USB, которое работает только в винде, а нужно его запустить под Линуксом. Спеков как всегда нет. Но это не повод впадать в уныние. Можно заюзать сниффер USB для винды USB Snoopy.
-
- Сообщения: 2566
- ОС: Debian
-
- Сообщения: 2041
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Re: написание драйвера для USB устройства
Для начала надо написать хоть что-то, что можно подгрузить в ядро. Потом что-то, что будет "подавать хоть какие-то признаки жизни". Затем несколько книг по сабсистемам ядра и драйверам. Может быть после этого получится реализовать хоть какой-то минимальный функционал.
Но настроения в этой ветке форума мне больше всего нравятся (:
Labor omnia vincit
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
-
- Сообщения: 2566
- ОС: Debian
Re: написание драйвера для USB устройства
Stauffenberg писал(а): ↑16.02.2010 18:38Для начала надо написать хоть что-то, что можно подгрузить в ядро. Потом что-то, что будет "подавать хоть какие-то признаки жизни". Затем несколько книг по сабсистемам ядра и драйверам. Может быть после этого получится реализовать хоть какой-то минимальный функционал.
Ну первые пукты достаточно просты, примеров достаточно. Не знаю как там с USB, но я бы не забывал просматривать имеющиеся драйвера и, никто не мешает, использовал бы их как "рыбу".
Всё это конечно при условии, что драйвер не планируется вносить в основную ветку ядра, в этом случае без хорошего знания теории и достаточного навыка пожалуй не обойтись. Хорошо, что мне это не светит в ближайшее время и я могу себе позволить ряд волностей.

Ну а чем хорош метод "от простого к сложному" думаю объяснять не надо. Возьмём, для примера, меня - я сейчас работаю с CMOS-матрицами, представленные в ядре V4L2 драйвера для них нам не подходят, по ряду причин. Пишим свой - сейчас я реализовал минимальный базовый фукционал: загрузка модуля, в другом режиме не проверял, выгрузка, обращение к нему из kernel/user-space по V4L2-ioctl. По мере необходимости буду наращивать фукционал.
P.S. Я всё это к тому, что глаза боятся, а руки делают.
-
- Сообщения: 220
- ОС: Lubuntu 18.04, Lubuntu 14.04
-
- Сообщения: 2041
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Re: написание драйвера для USB устройства
Да, это очень помогает. Я еще люблю писать авторам и спрашивать "ну как же это работает?" (:
Было бы здорово если бы кернел хакеры максимально подробно документировали свою работу (:
Это было бы интересно ОЧЕНЬ многим, в том числе и мне.
Labor omnia vincit
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
-
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
-
- Сообщения: 220
- ОС: Lubuntu 18.04, Lubuntu 14.04
Re: написание драйвера для USB устройства
А это кто-нибудь пробовал?
-
- Сообщения: 16
- ОС: Debian.
Re: написание драйвера для USB устройства
Внизу идет отсыл на спецификации USB и Kernel. Вот оно и отбивает желание заниматься написанием драйверов.
Было желание :-) но русской документации по написанию драйверов не нашел=) чтож) придеться винду на 2 харде держать для принтера(LEXMARK X3550)
-
- Сообщения: 2566
- ОС: Debian
Re: написание драйвера для USB устройства
Плохо искали. Не конкретно по USB, но информация на русском есть, например http://www.opennet.ru/docs/RUS/lkmpg/ , http://electronix.ru/forum/index.php?act=A...st&id=14159
Ну и классика http://lwn.net/Kernel/LDD3/ , на английском, но если поскать можно найти переводы отдельных глав.
-
- Сообщения: 812
- ОС: Slackware64
Re: написание драйвера для USB устройства
BlacklabeLSD писал(а): ↑13.07.2009 00:15Всем доброго времени суток...
у меня на днях возникла проблема с модемом airplus mcd-650...нет драйвера под Linux тока под виндовозы...
теперь вопрос...Как написать этот драйвер самому?
Драйвера в ядре есть. не знаю как с этим, но у Alcatel можемы в Linux по умолчанию модемами не являются. Здесь скорее всего так-же. Надо через usb_swtich поменять режим и все.