Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   *nix (https://forum.antichat.xyz/forumdisplay.php?f=43)
-   -   Драйвер usb-сетевой карты (https://forum.antichat.xyz/showthread.php?t=32707)

Noman 04.02.2007 18:20

Драйвер usb-сетевой карты
 
Народ, скажите, как правильно устанавливать эти самые драйвера. Ситуация такая:

Купил usb-сетевую карту (размером с флэшку), к ней в комплекте диск с драйверами. В том числе и для линукса. В папку 2 файла - мануал и сам драйвер (RTL8150.C)

В мануале содержиться следующий текст:
Цитата:

The procedure to activate rtl8150 on linux is as follows:

step 1: compile:
gcc -DMODULE -D__KERNEL__ -c RTL8150.C

step 2: insert the driver as module:
insmod rtl8150.o
(run 'lsmod' to see if the module is inserted)

step 3: bind your card to an IP address:

/sbin/ifconfig eth0 ${IPADDR} netmask ${NETMASK} broadcast ${BROADCAST}
(run 'netstat -i' to see if there is a interface 'eth0')

step 4: add your card to IP routing table and add gateway:
/sbin/route add default gw ${GATEWAY} dev eth0


*make sure that your kernel is version 2.4.0 above. Otherwise, you have to
upgrade your kernel.


Начало более-менее ясное, но до 2-ого шага я недошел. Вот лог bash-а:
Цитата:

[root@localhost ~]# gcc -DMODULE -D__KERNEL__ -c RTL8150.C
RTL8150.C:50:26: error: linux/module.h: Нет такого файла или каталога
RTL8150.C:52:26: error: linux/malloc.h: Нет такого файла или каталога
RTL8150.C:53:24: error: linux/init.h: Нет такого файла или каталога
RTL8150.C:54:25: error: linux/delay.h: Нет такого файла или каталога
RTL8150.C:56:31: error: linux/etherdevice.h: Нет такого файла или каталога
RTL8150.C:57:23: error: linux/usb.h: Нет такого файла или каталога
RTL8150.C:1329:40: error: missing binary operator before token "("
RTL8150.C:319: error: field ‘ctrl_urb’ has incomplete type
RTL8150.C:319: error: field ‘rx_urb’ has incomplete type
RTL8150.C:319: error: field ‘tx_urb’ has incomplete type
RTL8150.C:319: error: field ‘intr_urb’ has incomplete type
RTL8150.C:320: error: ‘devrequest’ does not name a type
RTL8150.C:321: error: ‘wait_queue_head_t’ does not name a type
RTL8150.C:322: error: field ‘ctrl_sem’ has incomplete type
RTL8150.C:323: error: requested alignment is not a constant
RTL8150.C:324: error: requested alignment is not a constant
RTL8150.C:325: error: requested alignment is not a constant
RTL8150.C:341: error: expected unqualified-id before ‘private’
RTL8150.C:350: error: expected constructor, destructor, or type conversion before ‘(’ token
RTL8150.C:351: error: expected constructor, destructor, or type conversion before ‘(’ token
RTL8150.C:352: error: expected constructor, destructor, or type conversion before ‘(’ token
RTL8150.C:353: error: expected constructor, destructor, or type conversion before ‘(’ token
RTL8150.C:354: error: expected constructor, destructor, or type conversion before ‘(’ token
RTL8150.C:355: error: expected constructor, destructor, or type conversion before ‘(’ token
RTL8150.C:362: error: too many initializers for ‘usb_eth_dev’
RTL8150.C:362: error: too many initializers for ‘usb_eth_dev’
RTL8150.C:362: error: too many initializers for ‘usb_eth_dev’
RTL8150.C:364: error: variable or field ‘set_registers_callback’ declared void
RTL8150.C:364: error: ‘urb_t’ was not declared in this scope
RTL8150.C:364: error: expected primary-expression before ‘)’ token
RTL8150.C:365: error: expected ‘,’ or ‘;’ before ‘{’ token
Посоветуйте, что делать?

Если поменять путь linux/ на /usr/src/kernels/2.6.18-1.2798.fc6-i586/include/linux/ то возникает еще больше ошибок...

Deem3n® 04.02.2007 20:58

Видимо нет символической ссылки на сорцы ядра или они вообще не установлены.
Попробуй это:
ln -s /usr/src/kernels/2.6.18-1.2798.fc6-i586/ /usr/src/linux

Noman 04.02.2007 21:12

Никакой реакции на команду(

Noman 04.02.2007 23:02

Немного поковырялся во всем этом деле, теперь по команде ln -s /usr/src/kernels/2.6.18-1.2798.fc6-i586/ /usr/src/linux интерпритатор говорит, что файл уже существует. Но общая картина не меняется...

L0rd_Ha0S 04.02.2007 23:55

Насколько я знаю, gcc ищет хидеры не в /usr/src/linux, а в /usr/include. И у тебя ошибки возникают именно потому что компилятор не может найти module.h malloc.h init.h delay.h etherdevice.h usb.h которые лежат в /usr/include/linux (по крайней мере должны там лежать). Хотя очень много хидеров одинаковые как /usr/src/linux, так в /usr/include. Если их там нет, тогда скачай их в инете, они много где выложены.
Вот например тут можешь глянуть, там есть пару нужных тебе файлов , в гугле запрос вбей linux/{имя_файла}.h увидишь еще кучу ссылок где их можно слить.

karabym 05.02.2007 18:18

Хех токо щас прочитал и узнал что есть сетевухи usb :)))))))) отстаю от прогресса нах :)

pop_korn 05.02.2007 18:43

путь до сорсов ядра должен быть правильным, возможно у тебя они вообще не установлены ...

зы сорсы должны быть от ядра, которое юзается в данный момент

зыы я не уверен, но в федоре selinux, возможно неполучается из за этого откомпилить модуль :)

зыыы

ls -R /usr/src/

в студию

Noman 05.02.2007 21:51

2karabym
До недавнего времени я сам о существовании таких устройств не подозревал, но когда увидел, решил приобрести.

2pop_korn
Цитата:

зы сорсы должны быть от ядра, которое юзается в данный момент
Я понимаю, похоже и придется искать драйвера для этого чипсета в нете, просто пока у меня проблемы с выходом в сеть, сижу через мобилу.
Цитата:

зыы я не уверен, но в федоре selinux, возможно неполучается из за этого откомпилить модуль
Что есть "selinux"?
Цитата:

ls -R /usr/src/
Лог сюда не влез. Залил на http://alex81.h17.ru/log.txt

pop_korn 05.02.2007 22:30

Цитата:

Что есть "selinux"?
http://ru.wikipedia.org/wiki/SELinux


Время: 00:34