Bug 10663

Summary: При конфигурировании WiFi не учитывается состояние передатчика
Product: Sisyphus Reporter: А. Китайкин <cetus>
Component: etcnetAssignee: Mikhail Efremov <sem>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: kopilo4ka, ktirf, ldv, rider, sem, shaba, vseleznv
Version: unstable   
Hardware: all   
OS: Linux   

Description А. Китайкин 2007-01-15 14:22:48 MSK
Ноутбук Acer TM 8104 с WiFi-карточкой Intel╝ PRO/Wireless
2915ABG, оборудован кнопочкой включения-выключения передатчика.

При установке ALC3 зацепился модуль ipw2200. Карточка
в принципе работает и ifplugstatus возвращает вполне реальное
состояние связи в связи с состоянием передатчика.

Однако, работает она только если передатчик при запуске сети
включен, и USE_IFPLUGD=no. При этом запускается dhcpcd и
нормально определяется ip-адрес. Интерфейс остается
сконфигурированным до истечения интервала времени, связанного
с DHCP LEASE TIME. Если к моменту подтверждения аренды ip-адреса
передатчик окажется выключен, dhcpcd отключит интерфейс по
причине недоступности сети, вообще.

При USE_IFPLUGD=yes интерфейс не конфигурируется, и я не
заметил попыток запустить dhcpcd. Что интересно, при 
этом и ifplugstatus не работает, все время считает, что 
коннекта нет. Запуск dhcpcd вручную отрабатывает, но
выключение/включение передатчика оставляет интерфейс
расконфигурированным.

При USE_IFPLUGD=no и LINKDETECT=yes интерфейс автоматически
не конфигурируется. Можно запустить ручками dhcpcd, ok!
После выключения/включения передатчика опять облом.
При этом некий ifplugd() сообщает об страшной ошибке:
установлен IN_IFPLUGD при USE_IFPLUGD=no!!! Собственно,
так и должно быть, если всмотреться в /etc/net/scripts.

Попытки включения debug у модуля ipw2200 не навело на
какие-нибудь здравые мысли. Кнопочку он обрабатывает.

Хочется иметь автоматическое конфигурирование интерфейса
по появлению/отсутствию связи. Готов предоставить необходимые
логи и конфиги, какие?
Comment 1 А. Китайкин 2007-01-21 00:29:39 MSK
При внимательном изучении вывода ifplugstatus -v обнаружилось что:

1. в сочетании с USE_IFPLUGD=no работают все методы проверки наличия связи кроме
SIOCDEVPRIVATE (не поддерживается)

2. в сочетании с USE_IFPLUGD=yes правильно работают только метод IFF_RUNNING.
Прочие методы (включая auto) говорят об отсутствии связи.

Добавление строчки IFPLUGD_EXTRA_ARGS='--api-mode=iff' решило проблему.

Не вижу где поставить CLOSED
Comment 2 Denis Ovsienko 2007-01-25 23:18:46 MSK
Спасибо за инициативу.