Собрал на базе 1.9.2.7-d-r693 вариант с нормальным управленим madwimax. Основные особенности:
- В web-морде появилась WAN Connection Type: MadWimax. При его выборе wimax работает как основной wan
- На отдельной страничке появился минимальный конфиг wimax. Пока можно задавать ssid и приоритет интерфейса (см.ниже)
- Появился "закос" под мультиван. Можно одновременно задать , например, на страничке <IP Config - WAN & LAN> WAN = PPPoE, а на страничке <WiMax Config> сказать "Enable". При этом взлетают оба интерфейса.
- Запуск madwimax происходит в rc. С разборкой с wan_proto и т.п.
- watchdog следит за madwimax и при его умирании (например, при выдергивании модема) снова его поднимает. Это вместо цикла в post-boot.
- Обработка event'ов mad'a тоже в rc. Кстати, вернул туда же и обработку event'ов udhcpc
- Дополнительно, в морде, в "Status & Log" появилась страница со статусом mad'a.
- Наличие/отсутствие модема определяется по переменной wimax_device в nvram, которая устанавливается/сбрасывается в hotplag'е. Кстати, она отображается на страничке статуса.
Роутинг и DNS
На обоих страницах конфига ( <IP Config - WAN & LAN> и <WiMax Config> ) появилась возможность задасть приоритет (по сути - метрик дефолта). Например, я установил для wimax - 3, а для wan - 4. Соответственно, в нормальных условиях дефолт смотрит на wimax, а при вытыкании оного - разворачивается в wan.
DNS - применен искусственный ход. в resolv.conf , в начало файла пишутся те адреса, которые заданы для интерфейса с меньшей метрикой.
----------------------
Вроде работает. Но тестировал не слишком долго.
Собирал только под wl500gPV2. Вот сама прошивка. Вот дифф
---------------------
Вторая версия прошивки для V2 и для V1 Вот diff. httpd.diff большой по недоразумению. Я там пока разбирался, что зачем, начал текст аккуратно форматировать.
ДОПОЛНЕНИЕ ОТ 3/2010: более свежие прошивки с поддержкой madwimax и текущее состояние дел