Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
pegas
Зарегистрирован: 17.03.2005 Сообщения: 231
|
Добавлено: Ср Ноя 09 2005 14:13 Заголовок сообщения: Не получается проинсталить драйвер rtl8139 |
|
|
Операционка REDHAT 7.2
ядро 2.4.20-20.7
пытаюсь откомпилить драйвер для сетевухи rtl8139
и получаю следующий результат
make
gcc -O6 -Wall -DCONFIG_KERNELD -DMODULE -D__KERNEL__ -DLINUX -DUSE_MEM_OPS -I/usr/src/linux-2.4.20/include/ -c 8139too.c -o 8139too.o
In file included from /usr/src/linux-2.4.20/include/linux/config.h:4,
from 8139too.c:106:
/usr/include/linux/autoconf.h:1:2: #error Invalid kernel header included in userspace
make: *** [8139too] Ошибка 1
пожалуйста подскажите где мой промах? |
|
Вернуться к началу |
|
|
McZim
Зарегистрирован: 09.08.2005 Сообщения: 275 Откуда: Omsk
|
Добавлено: Ср Ноя 09 2005 14:33 Заголовок сообщения: |
|
|
возможно проблема в gcc, скачай по свежей версию и смотри что бы у тебя не было установлено лишних пакетов, например gcc-compact, они мешают друг другу при определенном методе компиляции _________________ Я странный... |
|
Вернуться к началу |
|
|
fLamer
Зарегистрирован: 05.04.2004 Сообщения: 462 Откуда: Тула
|
Добавлено: Чт Ноя 10 2005 07:08 Заголовок сообщения: |
|
|
судя по ошибке, gcc тут ни при чём, расскажи как ты драйвер инсталируешь и зачем ты инсталируешь драйвер к rtl8139, когда это самый стандартный и поддерживаемый всеми ядрами с древних времён ? |
|
Вернуться к началу |
|
|
pegas
Зарегистрирован: 17.03.2005 Сообщения: 231
|
Добавлено: Чт Ноя 10 2005 10:28 Заголовок сообщения: |
|
|
fLamer писал(а): | судя по ошибке, gcc тут ни при чём, расскажи как ты драйвер инсталируешь и зачем ты инсталируешь драйвер к rtl8139, когда это самый стандартный и поддерживаемый всеми ядрами с древних времён ? |
Дело в том что пришлось вместо старой сетевухи rtl 8029
установить rtl 8139 система её не обнаружила и мне пришлось скачать драйвер (в пакете бало 3 файла
8139too.c
Makefile
readme.txt)
вот содержимое readme.txt
1.This driver was originally based on 8139too.c version "0.9.15".
2.It has been enhanced to support RTL8139C+ PCI ethernet controller.
3.RTL8139C+ PCI ethernet chips is set to support C+ mode by default.
If FORCE_C_Mode below is enabled, the RTL8139C+ chip will be forced to support C mode
after reboot.
4.This program can be compiled using the attached Makefile.
Please remember to SPECIFY "NEW_INCLUDE_PATH" in Makefile according to your linux environment.
The object file named 8139too.o should be moved to the directory
/lib/modules/<linux-version>/kernel/drivers/net/
The driver could be brought up by the following steps:
'insmod 8139too'
'ifconfig eth0 up'
5.It can support Auto-Negotiation ability,that is
10-half 0x01
10-full 0x02
100-half 0x04
100-full 0x08
If 10-half mode is expected, it can be achieved by the following steps:
#ifconfig eth0 down
#rmmod 8139too
#insmod 8139too media=0x01
6.If the "Install Type", selected during the Linux install procedure, is "laptop",
this driver can work normally for CardBus application without any modification.
Otherwise, reinstall Linux and select "Install Type" as "laptop".
Then this driver can also work.
---------------------------------------------------------------------------------------
8139too.c version 1.5.0 release note
вот содержимое Makefile
# Makefile for a basic kernel module
# ----------------------------------------------------------------------------------------------------
# This flag specifies access type to operation register on PCI ethernet chips.
# If you apply 8139/8139CP ethernet controller via cardbus interface on linux distribution Red Hat 7.3
# please turn on this macro.
# ----------------------------------------------------------------------------------------------------
#RTL_MEM_ACCESS = USE_IO_OPS
RTL_MEM_ACCESS = USE_MEM_OPS
# ----------------------------------------------------------------------------------------------------
# Please specify the include path according to your kernel.
# ----------------------------------------------------------------------------------------------------
NEW_INCLUDE_PATH = /usr/src/linux-2.4.20/include/
# ----------------------------------------------------------------------------------------------------
# GNU C compiler and its flags
# ----------------------------------------------------------------------------------------------------
CC=gcc
MODCFLAGS := -O6 -Wall -DCONFIG_KERNELD -DMODULE -D__KERNEL__ -DLINUX -D${RTL_MEM_ACCESS}
all: 8139too
8139too: 8139too.c /usr/include/linux/version.h
$(CC) $(MODCFLAGS) -I$(NEW_INCLUDE_PATH) -c 8139too.c -o $@.o
По этому пути у меня лежат исходники моего ядра /usr/src/linux-2.4.20
Мои действия:
выполняю команду маке в каталоге с драйверами сетевухи и получаю вышеописанную ошибку |
|
Вернуться к началу |
|
|
fLamer
Зарегистрирован: 05.04.2004 Сообщения: 462 Откуда: Тула
|
Добавлено: Чт Ноя 10 2005 12:11 Заголовок сообщения: |
|
|
в ядре уже есть драйвер, включи опцию в ядре и скомпили его заново |
|
Вернуться к началу |
|
|
pegas
Зарегистрирован: 17.03.2005 Сообщения: 231
|
Добавлено: Чт Ноя 10 2005 15:33 Заголовок сообщения: |
|
|
fLamer писал(а): | в ядре уже есть драйвер, включи опцию в ядре и скомпили его заново |
А обязятельно в ядро встраивать? Я хотел модулем сделать |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Пн Ноя 14 2005 16:21 Заголовок сообщения: |
|
|
На ядрах 2.4.3Х замечен глюк со сборкой модулей.
Лечение нашел такое:
make clean
make distclean
И make menuconfig с повторным выставлением нужных опций. |
|
Вернуться к началу |
|
|
fLamer
Зарегистрирован: 05.04.2004 Сообщения: 462 Откуда: Тула
|
Добавлено: Вт Ноя 15 2005 10:53 Заголовок сообщения: |
|
|
pegas писал(а): | fLamer писал(а): | в ядре уже есть драйвер, включи опцию в ядре и скомпили его заново |
А обязятельно в ядро встраивать? Я хотел модулем сделать |
не обязательно, но выбирается там же |
|
Вернуться к началу |
|
|
|