За основу взята инструкция описание установки прошивки с форума wl500g.info, а также настройка драйвера madwimax.
В прошивку wl500g были добавлены:
• в каталог /usr/sbin файл madwimax с драйвером для модема от Yota Samsung SWC-U200.
• в каталог /lib файлы libusb-1.0.so.0 и librt.so.0
• в каталог /usr/sbin архив madwimax-scripts.tgz со скриптами от madwimax. Честно говоря, не придумал куда их можно ещё засунуть в прошивку, чтобы не качать из интернета.
Драйвер madwimax был перекомпилирован для того, чтобы:
• использовать уже находящуюся в прошивке библиотеку /lib/ld-uClibs.so.0 вместо устанавливаемой в /opt/usr/lib/ld-uClibc.so.0
• жестко прописать путь к скрипту "events.sh" /opt/etc/madwimax/events.sh (по умолчанию используется путь относительно madwimax)
Итак, инструкция:
1. Берем архив с прошивкой dlink-320-madwimax-yota.rar. Прошивка основана на:
o Прошивке от Олега, ily, theMiron: wl500g-1.9.2.7-d-r285 (тут)
o Драйвере WiMax: madwimax-0.1.0-r160 (тут)
2. Подключаем сетевой кабель к dlink dir-320 и компьютеру. У компьютера прописываем IP адрес 192.168.0.2, маску 255.255.255.0 и шлюз 192.168.0.1. Не включайте автополучение адреса, т.к. тогда компьютер просто не успеет поймать момент отработки бутлоадере в dlink'е и залить прошивку.
3. Распаковываем архив, запускаем flashing.cmd и подключаем модем к питанию. Если вам повезло, то вы попадете на тот момент, когда бутлоадер "ждет" команды. Если не повезло - переподключите питание к dlink'у. В случае успешной отработки перестанет запускаться ping и напишется что-то типа:
4. *** Start Flashing ***
5. Успешная передача: 3592480 байт за 11 cs, 281134 байт/с
6. После того, как загорится индикатор статуса (~1-2 минуты) произведем сброс настроек роутера по умолчанию. Для этого выключаем питание роутера, нажимаем кнопку сброса и не отпуская ее включаем питание. Через 5 секунд отпускаем кнопку. После этого можно изменить IP адрес сетевой карты компьютера на получение адреса автоматически по DHCP.
7. Заходим телнетом (telnet 192.168.1.1) на роутер (логин и пароль по умолчанию admin) и вводим следующие команды:
8. # Создаем директорию, куда будем все ставить
9. mkdir /tmp/local/opt
10. mount /tmp/local/opt /opt
11.
12. # Создаем директорию var, чтобы в логах не ругалось на ее отсутствие
13. mkdir /opt/var
14. mkdir /opt/var/run
15.
16. # Копируем в /tmp и распаковываем архив с madwimax'овыми скриптами
17. cp /usr/sbin/madwimax-scripts.tgz /tmp/madwimax-scripts.tgz
18. cd /
19. tar -xzf /tmp/madwimax-scripts.tgz
20. rm /tmp/madwimax-scripts.tgz
21.
22. # Создаем директорию для пользовательских скриптов
23. mkdir /usr/local/sbin
24.
25. # Создаем в ней файл post-boot и прописываем нужные нам параметры
26. echo "#!/bin/sh" > /usr/local/sbin/post-boot
27. echo "mount /tmp/local/opt /opt" >> /usr/local/sbin/post-boot
28. echo "insmod tun.o" >> /usr/local/sbin/post-boot
29. echo "(while true; do /usr/sbin/madwimax -qof ; sleep 10; done )&" >> /usr/local/sbin/post-boot
30.
31. # Делаем скрипты исполняемыми
32. chmod +x /usr/local/sbin/*
33.
34. # Говорим роутеру что мы хотим сохранять во флэш наши скрипты
35. echo "/usr/local/sbin/post-boot" > /usr/local/.files
36.
37. # Сохраняем все и выходим
38. flashfs save
39. flashfs commit
40. flashfs enable
41. reboot
42. Все, конец.