Сбока модуля драйвера

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

NIMNUL
Сообщения: 4
ОС: ALT-Linux

Сбока модуля драйвера

Сообщение NIMNUL »

Есть USB IrDA донгл ARKMICRO-3118, но под него нигде нет драйвера. Где-то вычитал что он должен заработать под драйвером ark3116 (который входит в дистрибутив Альта-4.0), но в него надо внести ID моего девайса. Как мне объяснили есть два пути: вычленить исходник модуля драйвера из исходника модуля ядра, либо сразу найти исходник модуля драйвера (нашёл) и в них внести изменения. Затем собрать модуль.
Исходник драйвера взял с сайта http://avr.auctionant.de/ark3116_linux_driver/ файл ark3116-0.4.2.tgz
Вопросы:
- Как вычленить модуль драйвера из исходника ядра?;
- Куда внести изменения?;
- Как правильно собрать модуль?
Спасибо сказали:
Alexei_VM
Сообщения: 765
ОС: ALT Linux Sisyphus

Re: Сбока модуля драйвера

Сообщение Alexei_VM »

NIMNUL писал(а):
18.02.2008 18:59
Вопросы:
- Как вычленить модуль драйвера из исходника ядра?;
- Куда внести изменения?;
- Как правильно собрать модуль?


Есть много способов. Есть правильный способ в терминах ALT. Я его, к сожалению, не умею. Поэтому приведу рабочий, но (идеологически) неправильный.

1. Установите пакеты kernel-headers* и kernel-headers-modules* для своего ядра.
2. Создайте символьную ссылку /usr/src/linux -> /usr/src/linux-версия-вашего-ядра (если ее нет)
3. Скачайте с сайта драйвер, распакуйте в любое место (по сути, оттуда понадобится только Makefile).
4. Возьмите исходники вашего ядра (например, из пакета kernel-source-версия), и из каталога drivers/usb/serial скопируйте файл ark3116.c в каталог с драйвером. Там уже есть этот файл, но он старый, его следует заменить новым.
5. Отредактируйте файл под свои нужды.
6. make и (от рута) make install
Спасибо сказали:
NIMNUL
Сообщения: 4
ОС: ALT-Linux

Re: Сбока модуля драйвера

Сообщение NIMNUL »

Alexei_VM писал(а):
19.02.2008 01:20
5. Отредактируйте файл под свои нужды.

Куда внести ID своего девайса?
Спасибо сказали:
Alexei_VM
Сообщения: 765
ОС: ALT Linux Sisyphus

Re: Сбока модуля драйвера

Сообщение Alexei_VM »

NIMNUL писал(а):
19.02.2008 11:46
Alexei_VM писал(а):
19.02.2008 01:20
5. Отредактируйте файл под свои нужды.

Куда внести ID своего девайса?


Не знаю :)
Но могу предположить, что сюда вписать по аналогии еще одни {} с USB_DEVICE(xxx,yyy):

Код: Выделить всё

static struct usb_device_id id_table [] = {
        { USB_DEVICE(0x6547, 0x0232) },
        { },
};
Спасибо сказали: