[d-kernel] Re: [sisyphus] ipw2x00

Alexey Shabalin a.shabalin на gmail.com
Ср Июл 13 14:11:54 MSD 2005


> > >> >> Кстати, просьба мантейнеру ipw2200
> > >> >> подумать, как уживать ipw2100 и ipw2200 в одной
> > >> >> системе. Ибо текущая схема сборки
> > >> >> дистрибутива не позволяет размещать в
> > >> >> одном дистрибутиве два _конфликтующих_ пакета.
> > >> >>
> > >> > Вот не знаю как это можно решить. конфликт идет по куче файлов типа
> > >> > ieee80211_crypt_*.ko.
> > >> > у ipw2100 и ipw2200 они разные. апстрим их синхронизировать похоже не
> > >> > собирается. Разве что извращатся и делать разные файлы типа
> > >> > ipw2100_ieee80211_crypt_* и   ipw2200_ieee80211_crypt_*.
> > >>
> > >> Почему бы и нет ?
> > >
> > > Как срочно это надо сделать?
> >
> > Чем быстрее - тем лучше.
> 
> Но так, как только что было сделано в kernel CVS, делать нельзя.  После
> выполнения depmod получается следующее:
> 
> /lib/modules/2.6.12-std26-up-alt1/kernel/drivers/net/wireless/ipw2100/ipw2100.ko:
> /lib/modules/2.6.12-std26-up-alt1/kernel/drivers/base/firmware_class.ko
> /lib/modules/2.6.12-std26-up-alt1/kernel/drivers/net/wireless/ipw2200/ipw2200_ieee80211.ko
> /lib/modules/2.6.12-std26-up-alt1/kernel/drivers/net/wireless/ipw2200/ipw2200_ieee80211_crypt.ko
> 
> Т.е., модуль ipw2100 получил в зависимости модули ieee80211 от ipw2200.
> При этом версии ieee80211 там, похоже, разные, поэтому ничего хорошего не
> выйдет - в зависимости от того, в каком порядке depmod прочитает файлы,
> будет работать либо ipw2100, либо ipw2200.
> 
> Зависимости модулей определяются по именам экспортируемых функций; если
> два модуля экспортируют функции с одинаковыми именами, неизвестно, какой
> из них будет выбран.  Таким образом, чтобы разделить похожие модули,
> необходимо как минимум в одном из них переименовать все экспортируемые
> функции (и соответствующим образом исправить те модули, которые используют
> эти функции). :(
> 
> Кстати, при переименовании модулей в данном случае ещё надо учитывать, что
> в драйверах есть вызовы request_module("ieee80211_crypt_wep") и т.п. - эти
> имена тоже нужно менять.
> 
> В данном случае возможен другой вариант - попробовать подобрать пару
> версий ipw2100 и ipw2200, выпущенных примерно в одно время и имеющих
> одинаковые компоненты ieee80211, и собирать эти модули в одном пакете,
> чтобы они использовали один и тот же набор общих модулей.

Давйте подождем пару дней. примерно 12 часов назад вышли новей
ipw2x00, где ieee80211 - у них общий и вообще выделен в отдельный
проект.
Так сто дайте денек - будут новые драйвера.

-- 
Alexey Shabalin


Подробная информация о списке рассылки devel-kernel