К сожалению, лишних usb хабов и флэшек не было под рукой, а интернет хотелось сделать. Готовых решений найдено не было, поэтому был создан данный набор.
За основу взята инструкция описание установки прошивки с форума 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. Прошивка основана на:
* Прошивке от Олега, ily, theMiron: wl500g-1.9.2.7-d-r256
* Драйвере 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 и напишется что-то типа:
*** Start Flashing ***
Успешная передача: 3592480 байт за 11 cs, 281134 байт/с
4. После того, как загорится индикатор статуса (~1-2 минуты) произведем сброс настроек роутера по умолчанию. Для этого выключаем питание роутера, нажимаем кнопку сброса и не отпуская ее включаем питание. Через 5 секунд отпускаем кнопку. После этого можно изменить IP адрес сетевой карты компьютера на получение адреса автоматически по DHCP.
5. Заходим телнетом (telnet 192.168.1.1) на роутер (логин и пароль по умолчанию admin) и вводим следующие команды:
# Создаем директорию, куда будем все ставить
mkdir /tmp/local/opt
mount /tmp/local/opt /opt
# Создаем директорию var, чтобы в логах не ругалось на ее отсутствие
mkdir /opt/var
mkdir /opt/var/run
# Копируем в /tmp и распаковываем архив с madwimax'овыми скриптами
cp /usr/sbin/madwimax-scripts.tgz /tmp/madwimax-scripts.tgz
tar -xzf /tmp/madwimax-scripts.tgz
rm /tmp/madwimax-scripts.tgz
# Создаем директорию для пользовательских скриптов
mkdir /usr/local/sbin
# Создаем в ней файл post-boot и прописываем нужные нам параметры
echo "#!/bin/sh" > /usr/local/sbin/post-boot
echo «mount /tmp/local/opt /opt» >> /usr/local/sbin/post-boot
echo «insmod tun.o» >> /usr/local/sbin/post-boot
echo "(while true; do /usr/sbin/madwimax -qof; sleep 10; done )&" >> /usr/local/sbin/post-boot
# Делаем скрипты исполняемыми
chmod +x /usr/local/sbin/*
# Говорим роутеру что мы хотим сохранять во флэш наши скрипты
echo "/usr/local/sbin/post-boot" > /usr/local/.files
# Сохраняем все и выходим
flashfs save
flashfs commit
flashfs enable
reboot
6. Все, конец.
За основу взята инструкция описание установки прошивки с форума 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. Прошивка основана на:
* Прошивке от Олега, ily, theMiron: wl500g-1.9.2.7-d-r256
* Драйвере 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 и напишется что-то типа:
*** Start Flashing ***
Успешная передача: 3592480 байт за 11 cs, 281134 байт/с
4. После того, как загорится индикатор статуса (~1-2 минуты) произведем сброс настроек роутера по умолчанию. Для этого выключаем питание роутера, нажимаем кнопку сброса и не отпуская ее включаем питание. Через 5 секунд отпускаем кнопку. После этого можно изменить IP адрес сетевой карты компьютера на получение адреса автоматически по DHCP.
5. Заходим телнетом (telnet 192.168.1.1) на роутер (логин и пароль по умолчанию admin) и вводим следующие команды:
# Создаем директорию, куда будем все ставить
mkdir /tmp/local/opt
mount /tmp/local/opt /opt
# Создаем директорию var, чтобы в логах не ругалось на ее отсутствие
mkdir /opt/var
mkdir /opt/var/run
# Копируем в /tmp и распаковываем архив с madwimax'овыми скриптами
cp /usr/sbin/madwimax-scripts.tgz /tmp/madwimax-scripts.tgz
tar -xzf /tmp/madwimax-scripts.tgz
rm /tmp/madwimax-scripts.tgz
# Создаем директорию для пользовательских скриптов
mkdir /usr/local/sbin
# Создаем в ней файл post-boot и прописываем нужные нам параметры
echo "#!/bin/sh" > /usr/local/sbin/post-boot
echo «mount /tmp/local/opt /opt» >> /usr/local/sbin/post-boot
echo «insmod tun.o» >> /usr/local/sbin/post-boot
echo "(while true; do /usr/sbin/madwimax -qof; sleep 10; done )&" >> /usr/local/sbin/post-boot
# Делаем скрипты исполняемыми
chmod +x /usr/local/sbin/*
# Говорим роутеру что мы хотим сохранять во флэш наши скрипты
echo "/usr/local/sbin/post-boot" > /usr/local/.files
# Сохраняем все и выходим
flashfs save
flashfs commit
flashfs enable
reboot
6. Все, конец.