Ноутбук MSI S310 с wi-fi картой на чипе RaLink RT2561/RT61 rev B 802.11g (это вывод lspci)
На ноут поставил Mandriva Spring Free 2007.
Из коробки шло ядро 2.6.17-13-mdv, оно успешно подхватило все мое железо (кроме кардридера). Беспроводная карта успешно функционировала. единственное, что потребовалось - это скачать проприетарные дрова, которые у меня попросила мандрива.
Но вот захотелось мне, чтоб еще и кардридер работал! Скачал ядро 2.6.24, собрал. Причем начиная как раз с 2.6.24 в ядро стали включаться свободные дрова от проекта http://rt2x00.serialmonkey.com/, которые я и скомпилил с ядром модулем.
Далее, перегрузился с новым ядром, кардридер, ура, заработал (правда все равно через не то место он как-то работает), но вот сетевуха беспроводная моя, увы,не заработала. Ядро само подгружает модуль rt61, но мандривовская утилита настройки говорит, что "не удается найти серевой интерфейс, используя драйвер rt61".
Ручная загрузка модуля в память ни к чему не приводит - в сисеме появляется сетевая карта ra0, но она никак не функционирует - не видит беспроводные сети и сама их не создает. Т.е. получилось что-то вроде "пустышки". Ну тут я подумал, что модуль как-то коряво работает, тем более на http://rt2x00.serialmonkey.com/так и указывается, что он бажный.
Поэтому решил сам собрать из драйвер из исходников.
Сначала попробовал скомпилить драйвера производителя, скачаные с офсайта, но получил кучу ошибку:
Код: Выделить всё
[max@MSI Module_ralink]$ sh Configure
-------------------- Ralink RT61 Station Configuration --------------------
Linux kernel source directory : /usr/src/linux-2.6.24
Module install directory : /lib/modules/2.6.24/kernel/drivers/net
[max@MSI Module_ralink]$ make
make -C /lib/modules/2.6.24/build SUBDIRS=/home/max/Загрузка/Module_ralink modules
make[1]: Entering directory `/usr/src/linux-2.6.24'
scripts/Makefile.build:46: *** CFLAGS was changed in "/home/max/Загрузка/Module_ralink/Makefile". Fix it to use EXTRA_CFLAGS. Останов.
make[1]: *** [_module_/home/max/Загрузка/Module_ralink] Ошибка 2
make[1]: Leaving directory `/usr/src/linux-2.6.24'
make: *** [all] Ошибка 2
[max@MSI Module_ralink]$
После чего открыл Makefile, нашел там строчку CFLAGS+= $(WFLAGS) и тупо поменял ее на EXTRA_CFLAGS+= $(WFLAGS) - не уверен, что это верно, где-то в нете нашел, что так можно. Повторил попытку сборки:
Код: Выделить всё
[max@MSI Module_ralink]$ make
make -C /lib/modules/2.6.24/build SUBDIRS=/home/max/Загрузка/Module_ralink modules
make[1]: Entering directory `/usr/src/linux-2.6.24'
CC [M] /home/max/Загрузка/Module_ralink/rtmp_main.o
/home/max/Загрузка/Module_ralink/rtmp_main.c: In function ‘rt61_get_drvinfo’:
/home/max/Загрузка/Module_ralink/rtmp_main.c:68: warning: unused variable ‘pAd’
/home/max/Загрузка/Module_ralink/rtmp_main.c: In function ‘rt61_get_regs’:
/home/max/Загрузка/Module_ralink/rtmp_main.c:94: warning: unused variable ‘counter’
/home/max/Загрузка/Module_ralink/rtmp_main.c:93: warning: unused variable ‘pAd’
/home/max/Загрузка/Module_ralink/rtmp_main.c: In function ‘rt61_ethtool_get_link’:
/home/max/Загрузка/Module_ralink/rtmp_main.c:110: warning: unused variable ‘pAd’
/home/max/Загрузка/Module_ralink/rtmp_main.c: In function ‘rt61_get_eeprom’:
/home/max/Загрузка/Module_ralink/rtmp_main.c:136: warning: unused variable ‘counter’
/home/max/Загрузка/Module_ralink/rtmp_main.c:135: warning: unused variable ‘pAd’
/home/max/Загрузка/Module_ralink/rtmp_main.c: At top level:
/home/max/Загрузка/Module_ralink/rtmp_main.c:159: warning: initialization from incompatible pointer type
/home/max/Загрузка/Module_ralink/rtmp_main.c: In function ‘RT61_probe’:
/home/max/Загрузка/Module_ralink/rtmp_main.c:241: error: implicit declaration of function ‘SET_MODULE_OWNER’
/home/max/Загрузка/Module_ralink/rtmp_main.c:323: warning: passing argument 1 of ‘dev_get_by_name’ from incompatible pointer type
/home/max/Загрузка/Module_ralink/rtmp_main.c:323: error: too few arguments to function ‘dev_get_by_name’
/home/max/Загрузка/Module_ralink/rtmp_main.c: In function ‘RT61_open’:
/home/max/Загрузка/Module_ralink/rtmp_main.c:437: error: ‘SA_SHIRQ’ undeclared (first use in this function)
/home/max/Загрузка/Module_ralink/rtmp_main.c:437: error: (Each undeclared identifier is reported only once
/home/max/Загрузка/Module_ralink/rtmp_main.c:437: error: for each function it appears in.)
/home/max/Загрузка/Module_ralink/rtmp_main.c:437: warning: passing argument 2 of ‘request_irq’ from incompatible pointer type
make[2]: *** [/home/max/Загрузка/Module_ralink/rtmp_main.o] Ошибка 1
make[1]: *** [_module_/home/max/Загрузка/Module_ralink] Ошибка 2
make[1]: Leaving directory `/usr/src/linux-2.6.24'
make: *** [all] Ошибка 2
[max@MSI Module_ralink]$
После чего, я решил попытать судьбу со свободными дровами от http://rt2x00.serialmonkey.com/ :
Код: Выделить всё
[max@MSI Module]$ make
make[1]: Entering directory `/usr/src/linux-2.6.24'
CC [M] /home/max/Загрузка/Module/rtmp_main.o
/home/max/Загрузка/Module/rtmp_main.c: In function ‘RT61_probe’:
/home/max/Загрузка/Module/rtmp_main.c:222: error: implicit declaration of function ‘SET_MODULE_OWNER’
/home/max/Загрузка/Module/rtmp_main.c: In function ‘RT61_open’:
/home/max/Загрузка/Module/rtmp_main.c:405: error: ‘SA_SHIRQ’ undeclared (first use in this function)
/home/max/Загрузка/Module/rtmp_main.c:405: error: (Each undeclared identifier is reported only once
/home/max/Загрузка/Module/rtmp_main.c:405: error: for each function it appears in.)
/home/max/Загрузка/Module/rtmp_main.c: In function ‘rt61_init_module’:
/home/max/Загрузка/Module/rtmp_main.c:1044: error: implicit declaration of function ‘pci_module_init’
make[2]: *** [/home/max/Загрузка/Module/rtmp_main.o] Ошибка 1
make[1]: *** [_module_/home/max/Загрузка/Module] Ошибка 2
make[1]: Leaving directory `/usr/src/linux-2.6.24'
rt61.ko failed to build!
make: *** [module] Ошибка 1
[max@MSI Module]$
Ради интереса пергрузился обратно в старое ядро и попробовал там скомпилить драйвера. И у меня получилось!
Т.е. отсюда вывод - либо я криво собрал ядро, либо исходники не соответствуют ядру.
Конфиг ядра запостить не могу - что-то не могу я найти тут кнопочку, чтоб присоединить файл. Поэтому, если кому понадобится посмотреть с радостью

Помгите плиз, а то уже запарился нафиг