чего то запутали, правильно я понял что существующая версия драйвера старая для текущей ОС, и про установку этого драйвера можно забыть?
лучше забыть ... чтоб кошмары не снились по ночам wink
sasch написал:
Как тогда запустить вайфай адаптер?
1. отправляемся на сайт изготовителя (не только чипа RealTec, но и девайса) ... ищем
2. отправляемся в интернет ... ищем
3. ищем совместимость...
4. бывает что и никак wink
я вам говорю: то, что написано для 2.6.18 (с обработкой IRQ) почти никогда не компилируется 2.6.19 ... а здесь: и 2.4, и 2.6 ... может и 3.0?[/quote]
Не на заборе, а в Makefile, *.c, *.h в районе if, #ifdef, условная компиляция называется ;)
Про конкретный помянутый архив -- исходники не содержат исправлений под 2.6.3х и выше, "в лоб" на этих версиях не соберутся.
[quote=Olej][quote=bormant]Olej,
... для ядер 2.4 и 2.6 ...
Вы всему верите, что на заборе читаете? :lol:
я вам говорю: то, что написано для 2.6.18 (с обработкой IRQ) почти никогда не компилируется 2.6.19 ... а здесь: и 2.4, и 2.6 ... может и 3.0?[/quote]
Не на заборе, а в Makefile, *.c, *.h в районе if, #ifdef, условная компиляция называется ;)
[/quote]
Я такой "букварь" - давно просчитал. Но только это все называется: просто сказки :(
Никакие #ifdef вам, или любому разработчику модулей, сильно не помогут, потому как не сможете вы отследить последовательно всё, что начудит kernel-команда, а чудит она безмерно, потому как не связана никакими стандартами, как, например, разработчики GNU повязаны стандартами POSIX, и там не побалуешь :lol:
И уж конечно, никакие #ifdef не помогут вам предсказать, что они там начудят в .h файлах следующего релиза ... а каждый следующий релиз kernel выходит с периодом 12 недель :(
По поводу невозможности предугадать смену ABI/API в будущих версиях -- с этим и не спорил.
По поводу
Olej написал:
Никакие #ifdef вам, или любому разработчику модулей, сильно не помогут
и остального -- извините, бред чистой воды.
Драйвер в универсальном тарболе зачем распространяется? Чтобы пользователь/админ сказал:[console]
# tar xf name.tar.gz
# cd name
# make
# make install
[/console]и получил одинаково успешный результат на всех поддерживаемых версиях ядер.
Выйдет ядро с новым API, разработчик что, заново пишет весь код драйвера? Очень редко что-то заново и ещё многократно реже весь. На стандартные изменения с переименованием полей структур -- стандартные ветвления в коде по KERNEL_VERSION. Если изменения зело существенны -- изменения в Makefile из каких исходников компоновать итоговый модуль в зависимости от версии.
Но концепция от этого не страдает. Внешне и для для 2.4, и для 2.6 единый тарбол и унифицированная процедура.
И не надо сюда впутывать прекращение поддержки в виде выпуска версий под новые ядра -- это другой случай. Мухи отдельно, котлеты отдельно.
и получил одинаково успешный результат на всех поддерживаемых версиях ядер.
Выйдет ядро с новым API, разработчик что, заново пишет весь код драйвера? Очень редко что-то заново и ещё многократно реже весь. На стандартные изменения с переименованием полей структур -- стандартные ветвления в коде по KERNEL_VERSION. Если изменения зело существенны -- изменения в Makefile из каких исходников компоновать итоговый модуль в зависимости от версии.
Это всё теория ... в изложении для пыанэров среднего школьного уровня :lol:
И благие намерения ... которыми, как утверждается у Данте: "дорога в Ад вымощена" :lol:
А на практике ... вот вам VPN от бренда - более не бывает - Cisco ... у меня лог сохранился:
text
[olej@notebook vpnclient]$ sudo ./vpn_install
Cisco Systems VPN Client Version 4.8.02 (0030) Linux Installer
...
make[1]: Entering directory `/usr/src/kernels/2.6.32.9-70.fc12.i686.PAE'
CC [M] /usr/src/vpnclient/linuxcniapi.o
CC [M] /usr/src/vpnclient/frag.o
CC [M] /usr/src/vpnclient/IPSecDrvOS_linux.o
CC [M] /usr/src/vpnclient/interceptor.o
/usr/src/vpnclient/interceptor.c: В функции ‘interceptor_init’:
/usr/src/vpnclient/interceptor.c:132: ошибка: ‘struct net_device’ не содержит элемента с именем ‘hard_start_xmit’
...
И поехали пляски с бубном по интернету в поисках патчей ... а вопросом этим, оказывается, интернет полнится :lol: , тысячи (!) народу решают проблему каждый для своей (под-)версии ядра.
И начинается:
И этот путь прошли все кто возился с Cisco Systems VPN Client...
Так что: теория теорией, пыанэры пыанэрами wink ... а на практике оказывается, что драйвера-модули больше 8-10 подверсий ядра не переживают, и то, что писалось, скажем, для 2.6.19 с ба-а-а-альшущей вероятностью в 2.6.30 компилироваться не станет. Но и компилироваться - это ведб тоже только пол-беды, правда? wink Оно даже если откомпилируется, то достаточно часто модуль в более позднем ядре просто неправильно работает ... тонкие могут вылезать артефакты, но они есть!
bormant написал:
Но концепция от этого не страдает. Внешне и для для 2.4, и для 2.6 единый тарбол и унифицированная процедура.
Я не знаю как там концепция поживает....
Но (если вы заглядывали в kernel API wink ) то в 2.4 & 2.6 там практически ничего общего не осталось!
Вот вам и #ifdef ...
то, что писалось, скажем, для 2.6.19 с ба-а-а-альшущей вероятностью в 2.6.30 компилироваться не станет. Но и компилироваться - это ведб тоже только пол-беды, правда?
bormant написал:
И не надо сюда впутывать прекращение поддержки в виде выпуска версий под новые ядра -- это другой случай. Мухи отдельно, котлеты отдельно.
Итогом к этому месту обсуждения может быть то, что:
- вопрос был поставлен в теме: "Научите устанавливать linux-приложения"
- вопрос был поставлен неправильно, потому как в такой формулировке он охватывает 99.9...% Linux проектов, но именно те, которые не собирают и не устанавливают в своём составе модулей ядра.
- а вот когда вопрос переходит к сборке и установке модулей ядра? ... здесь всё гораздо изощрённее, и могут быть всякие варианты, и тут я просто категорически не советовал бы заниматься этим тем, кто ещё не освоил в совершенстве (понимая что и каким телодвижением делается) технику сборки ординарных Linux-приложений ... - можете легко остаться без своей системы :D
хотя впрочем - обсуждаем. ТС давно слился, так и не сказав, что у него за ОС... Продолжайте... Я уже указал ТСу на первую его ошибку: http://linuxforum.ru/viewtopic.php?pid=232164#p232164
что дальше делать - не знаю. Я не телепат. Даже ни одного модуля не написал.
Отчего ж не собрать-то... Есть вероятность, что ТС использует иные, несовместимые с моими, параметры сборки ядра. В этом случае ему нужно будет собрать драйвер самостоятельно.
Realtek rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401 driver
Собран для 2.6.39.4-smp 32-бит http://ifolder.ru/27465728
Установка (от root):
[console]# tar zxf /путь/к/тарболу/rtl8712u_2.6.39.4.tar.gz
# cd rtl8712u_2.6.39.4
# ./install.sh
[/console]
Отчего ж не собрать-то... Есть вероятность, что ТС использует иные, несовместимые с моими, параметры сборки ядра. В этом случае ему нужно будет собрать драйвер самостоятельно.
Realtek rtl8712_8188_8191_8192SU_usb_linux_v2.6.6.0.20110401 driver
Собран для 2.6.39.4-smp 32-бит http://ifolder.ru/27465728
Установка (от root):
[console]# tar zxf /путь/к/тарболу/rtl8712u_2.6.39.4.tar.gz
# cd rtl8712u_2.6.39.4
# ./install.sh
[/console]
Можно уточнить?
у меня уже 2 ос, и вот что пишут обе:
linuxMintGnom
саш@минтовый /media/0616B26816B2587F/rtl_8712u_2.6.39.4/rtl_8712u_2.6.39.4 $ su
Пароль:
минтовый rtl_8712u_2.6.39.4 # install.sh
install.sh: command not found
минтовый rtl_8712u_2.6.39.4 # ./install.sh
bash: ./install.sh: Отказано в доступе
минтовый rtl_8712u_2.6.39.4 #
Debian 6.0.3 Gnom
root@debian:/home/sasch# install -p -m 644 8712u.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/
root@debian:/home/sasch#
второй вариант, если пробовать ./install.sh - то то же пишет что отказано в доступе...