Компиляция драйвера usb-модема (Netronix MN-01)

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Jenyay
Сообщения: 18
ОС: WinXP / Ubuntu 11.10

Компиляция драйвера usb-модема

Сообщение Jenyay »

Привет. Решил в очередной раз попробовать запустить свой модем под линухом.

Имеется:
USB ADSL модем Netronix MN-01, также известный как Turbolink AU700 чип ST70137.
Поиск выдает кучу ссылок на драйвер, который надо брать с сайта http://www.bewan.com/bewan/users/downloads/index.php (если честно, какое отношение bewan имеет к этому модему не понятно). По фотографиям модем совсем не похож.

Сначала получал кучу ошибок, начинались которые с

make CC=gcc -C /usr/src/linux SUBDIRS=/home/jenyay/unicorn/unicorn_usb modules
make[1]: Entering directory `/usr/src/linux-2.6.22'

WARNING: Symbol version dump /usr/src/linux-2.6.22/Module.symvers
is missing; modules will have no dependencies and modversions.

CC [M] /home/jenyay/unicorn/unicorn_usb/unicorn_usbdrv.o
/home/jenyay/unicorn/unicorn_usb/unicorn_usbdrv.c:7:26: error: linux/config.h: Нет такого файла или каталога
/home/jenyay/unicorn/unicorn_usb/unicorn_usbdrv.c:8:27: error: linux/version.h: Нет такого файла или каталога
/home/jenyay/unicorn/unicorn_usb/unicorn_usbdrv.c:9:37: warning: "LINUX_VERSION_CODE" is not defined
/home/jenyay/unicorn/unicorn_usb/unicorn_usbdrv.c:9:58: warning: "KERNEL_VERSION" is not defined

После долгого поиска в гугле выяснилось, что с новыми ядрами надо заменять с исходнике строку #include <linux/config.h> на <linux/autoconf.h>. Теперь ошибки стали такими:

make CC=gcc -C /usr/src/linux SUBDIRS=/home/jenyay/unicorn/unicorn_usb modules
make[1]: Entering directory `/usr/src/linux-2.6.22'
CC [M] /home/jenyay/unicorn/unicorn_usb/unicorn_usbdrv.o
In file included from /home/jenyay/unicorn/unicorn_usb/unicorn_usbdrv.c:16:
include/linux/usb.h: In function ‘usb_register’:
include/linux/usb.h:918: error: ‘KBUILD_MODNAME’ undeclared (first use in this function)
include/linux/usb.h:918: error: (Each undeclared identifier is reported only once
include/linux/usb.h:918: error: for each function it appears in.)
In file included from /home/jenyay/unicorn/unicorn_usb/unicorn_usbdrv.c:22:
/home/jenyay/unicorn/unicorn_usb/../include/types.h: At top level:
/home/jenyay/unicorn/unicorn_usb/../include/types.h:33: error: conflicting types for ‘bool’
include/linux/types.h:36: error: previous declaration of ‘bool’ was here

Что дальше делать не знаю.
Suse Linux 10.2. Ядро 2.6.22.
Спасибо сказали: