ipw3945: Не можно найти соединение

Здесь обсуждаются все вопросы, не попадающие под другие категории
Аватара пользователя
red f0x
Неотъемлемая часть форума
Сообщения: 338
Зарегистрирован: 08 мар 2004, 01:41

ipw3945: Не можно найти соединение

Сообщение red f0x »

Проблема в следующем: есть лаптом с Wi-Fi Intel Pro Wireless 3945ABG, ядро (ванильное) 2.6.19, ОС Debian Sarge 3.1.

Выкачал драйвер: ipw3945-1.2.0, демон ipw3945d-1.7.22 + firmware не-помню-какой-точно-версии (последняя).

Собрал модуль (без проблем), положил firmware в /usr/lib/hotplug/firmware. Положил демон в куда-надо (/sbin), добавил в /etc/modprobe.d файлик, чтобы оно пускало демон при загрузке модуля. Модуль грузится нормально, тянет за собой ieee80211. Выделяется ирка. В общем, всё как-будто нормально. Но демон грузиться отказывается и вопит Could not find Intel Pro Wireless connection (кажется так, под руками сейчас нет лаптопа). Модуль при загрузке говорит, к слову, другое: Intel Pro Wireless connection detected. Но не показывает при этом Detected geography ... Как результат, нет второго eth-интерфейса и вообще, девайс неработает. Начал грешить на hotplug, а именно, что он не грузит firmware, но как обосновать, не знаю. Может кто-то что-то сказать по данному поводу?
Ну какая работа со строками может быть в языке, название которого является не строкой, а символом? (c) Sergue E. Leontiev

Аватара пользователя
red f0x
Неотъемлемая часть форума
Сообщения: 338
Зарегистрирован: 08 мар 2004, 01:41

Сообщение red f0x »

А вообще, я не уверен на счёт hotplug - вот это вот connection как-то сбивает с толку, вообще. Непонятно, что они хотели этим сказать...
Ну какая работа со строками может быть в языке, название которого является не строкой, а символом? (c) Sergue E. Leontiev

Аватара пользователя
red f0x
Неотъемлемая часть форума
Сообщения: 338
Зарегистрирован: 08 мар 2004, 01:41

Сообщение red f0x »

Итак, господа, спасибо всем ответившимся 8)
Причину неработы ipw3945 я так и не выяснил. Но, судя по всему, дело было не в hotplug'e, т.к. firmware всё же грузился. Было видно по сообщениям при включенной отладке модуля. Возможно, дело было в демоне ipw3945d. Во всяком случае, если немного подправить /etc/modprobe.d/ipw3945 как показано ниже, он стабильно висит в памяти (бесконечное ожидание?), но интерфейс eth1 всё равно никто не видит.

Код: Выделить всё

install ipw3945 /sbin/modprobe --ignore-install ipw3945 ; sleep 0.5 ; /sbin/ipw3945d --timeout=-1 --quiet
remove ipw3945  /sbin/ipw3945d --kill ; /sbin/modprobe -r --ignore-remove ipw3945
Так он по крайней мере не сдыхает сразу с воплем "Не можно найти соединение". Но толку от этого висения мало. Интерфейс так и не появился. Может дело в firmware - нe знаю.

А теперь succes story

Заменяем неблагонадёжный ipw3945 + ipw3945d на новый iwlwifi. В доках написано, что этот драйвер экспериментальный и может не работать. Но у меня он во всяком случае заработал. Для работы (и сборки?) понадобится подсистема mac80211 (по докам - это кучка фиксов для уже имеющейся в ванильном ядре подсистемы ieee80211 и "ставится" она без проблем на ядра 2.6.18+). Находим и сливаем по возможности последнюю версию, в моём случае это был тарбол mac80211-4.0.4. Распаковываем, говорим make. В ответ на это нам выплёвывают список изменений, которые будут предприняты в ядре. Затем, если всё удачно (этой приблуде может понадобиться rsync) говорим make patch_kernel. В каталоге, где распакован тарбол получаем до кучи новых подкаталогов: compatible, modified, origin, patches, stubs. В compatible лежат пропатченные куски кода. Копируем содержание compatible в /lib/modules/`uname -r`/build. Затем натравливаем на /lib/modules/`uname -r`/build скрипт ieee80211_ptr.sh из <unpacked_tarball>/scripts. Если этого не сделать, компилятор при пересборке ядра под конец начнёт вопеть как резанный, что structure has no member 'ieee80211_ptr'. В любом случае, ядро придётся пересобирать полностью, естественно. Перед сборкой в конфиге доллжны быть определены символы CONFIG_CFG80211=m && CONFIG_MAC80211=m
(Через menuconfig CONFIG_MAC80211 это Networking -> Generic IEEE 802.11 Networking Stack (dscape) где находится CONFIG_CFG80211, сейчас точно не вспомню, но при желании можно найти)

Если всё прошло успешно, ставим модули, ядро. Перезагружаемся. Тащим тарбол с интеловским firmware: iwlwifi-ucode-2.14.1 или выше. Кладём его в /usr/lib/hotplug/firmware (или /lib/firmware, в зависимости от того, где Ваш hotplug хотел бы всё это хозяйство видеть).

Тащим тарбол с самим драйвером: wlwifi-0.0.11 или выше. Распаковываем, говорим make, make install. После того, как модуль собран и установлен, проверяем:

Код: Выделить всё

# ./load debug=0x43fff

<SKIPPED>
выплёвывает кучу всякой полезной и не очень информации, главнй смысл в фразах, что соединение найдено, информация о каналах и тому подобное
</SKIPPED>

# iwconfig
wmaster0  IEEE 802.11a  Channel:0

          RTS thr:off   Fragment thr=2346 B
	  
wlan0     IEEE 802.11a  ESSID:""
	Mode:Managed  Channel:0  Access Point: 00:00:00:00:00:00
	RTS thr:off   Fragment thr=2346 B
	Encryption key:off
	Link Quality:0  Signal level:0  Noise level:0
	Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
	Tx excessive retries:0  Invalid misc:0   Missed beacon:0
Что и требовалось доказать. Демон здесь не нужен, поэтому, установка практически завершена.

PS: последовательность моих действий несколько отличается от той, что описана в документации. Например, мне не удалось запустить даже make menuconfig после пропатчивания ядра на предмет mac80211, т.к. make ругался на отсутствие конфига в net/mac80211 (смого каталога тоже не было). Поэтому я просто порывшись определили, где и что находится и скопировал содержимое compatible /lib/modules/`uname -r`/build. Про то, что в пропатченных сырцах компилятор начнёт жаловаться на неприрведение к нужному типу, тоже сказано ничего не было (по поводу ieee80211_ptr.sh)
Ну какая работа со строками может быть в языке, название которого является не строкой, а символом? (c) Sergue E. Leontiev

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

red f0x, в wiki !
Опыт растет прямо пропорционально выведенному из строя оборудованию

Аватара пользователя
red f0x
Неотъемлемая часть форума
Сообщения: 338
Зарегистрирован: 08 мар 2004, 01:41

Сообщение red f0x »

Llama, ммм... в смысле?
Ну какая работа со строками может быть в языке, название которого является не строкой, а символом? (c) Sergue E. Leontiev

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

В смысле - стркутурировать и загнать в http://www.linux.by/wiki/
Опыт растет прямо пропорционально выведенному из строя оборудованию

Аватара пользователя
red f0x
Неотъемлемая часть форума
Сообщения: 338
Зарегистрирован: 08 мар 2004, 01:41

Сообщение red f0x »

Ниасилил вики :oops::( Как получилось в прошлый раз - понятия не имею :?
Ну какая работа со строками может быть в языке, название которого является не строкой, а символом? (c) Sergue E. Leontiev

Ответить