Flashing OpenWRT to Smartbox / Установка OpenWRT для роутера Beeline Smartbox
Внимание! Данная последовательность пока протестирована только на обычных роутерах Beeline Smart Box aka N300 (никак не One и не Pro)! Для One на чипе Realtek ещё возможны эксперименты в этом поле, тогда как Pro базируется на совершенно другом чипе другой архитектуры и другого производителя (MediaTek)!!
Внимание! Пользователям ОС MS Windows любых версий крайне рекомендуется найти и обезвредить (отключить на время всей процедуры) любые встроенные или сторонние программы защиты от сетевых атак: файерволлы, брандмауэры, сетевые экраны — всё это.
1) Образ загрузчика ссылка 1 , ссылка 2 — он понадобится, чтобы разблокировать возможность замены фирмвари на стороннюю.
2) Образ OpenWRT : можно взять 1.1 или 1.2 здесь , 1.3 здесь или собрать самостоятельно (HDD для VM с Ubuntu доступен в архиве ubuntu.7z по первой ссылке в этом пункте).
3) Клиенты протоколов Telnet ( Putty for Windows ) и TFTP ( MicoTFTP for Windows — Google Chrome ругается!); пользователи ОС GNU/Linux, xBSD и прочих подобных легко найдут нужный софт в репозиториях или соберут самостоятельно.
4) Патч-корд (небольшой кабель для подключения к порту роутера; есть в комплекте большинства роутеров и других сетевых устройств).
5) Если желаете сохранить возможность отката на заводское состояние, запаситесь небольшим USB Flash-накопителем , 32МБ объёма хватит. Если решили не делать бэкап, но в какой-то момент передумали, — вот и архив с бэкапом. На всякий случай.
Сам процесс установки:
Включаем доступ к роутеру по Telnet.
Для этого на компьютере, соединённом с LAN-портом роутера патч-кордом, переходим в браузере по адресу роутера , указываем имя пользователя SuperUser и пароль (серийный номер роутера, указан на корпусе); в меню Расширенные настройки -> Другие -> Контроль доступа ставим галочку Telnet Admin: Разрешить для LAN . Сохраняем и применяем настройки.
Далее подключаемся через Telnet к роутеру (в Putty и подобных клиентах указываем адрес роутера и режим Telnet), вводим те же логин и пароль, что и на предыдущем шаге.
Для доступа к shell (командной оболочке) вводим sh и нажимаем [Enter] . Теперь можно работать с роутером изнутри.
Делаем бэкап разделов роутера (необязательно).
Подключите USB-накопитель к роутеру (предполагается файловая система FAT32), затем вводите в консоли подключенного на предыдущем этапе Telnet-клиента следующие команды:
cd /mnt/shares/A
mkdir mtd_backup
cd mtd_backup
for p in 0 1 2 3 4 5 6 7 8 9 10
do
dd if=/dev/mtdblock$p of=mtd$p
done
cd /
/etc.ro/usb/usb_u.sh
После этого отключите накопитель от роутера, подключите к ПК и убедитесь, что в папке mtd_backup 11 файлов с именами mtd0 до 10. Желательно также сохранить их в надежное место (например в облачное хранилище).
Перезаписываем версию загрузчика.
Меняем версию загрузчика во flash:
Внимание! В случае __ошибки__ при вводе следующих команд есть ненулевая вероятность __окирпичить__ роутер.
sc_flash -w 1ffa0 -o 30
sc_flash -w 1ffa1 -o 31
sc_flash -w 1ffa2 -o 30
sc_flash -w 1ffa3 -o 33
Проверяем, что все записалось верно:
Если видим 30 31 30 33 , то всё отлично. Если нет — повторяем предыдущий шаг.
Перезаписываем загрузчик:
Переходим в браузере в меню Расширенные настройки -> Другие -> Обновление ПО , выбираем ранее сохранённый образ загрузчика smartbox-to-boot_97d.img и нажимаем кнопку Выполнить обновление .
По прошествии минут 3-7 минут роутер заменит загрузчик и перезагрузится, Вы можете заметить это по загоревшимся на передней панели устройства светодиодам.
Устанавливаем OpenWRT:
В настройках ПК выставляем статический IP 192.168.1.10, шлюз 192.168.1.6.
В TFTP-клиенте устанавливаем подключение к IP 192.168.1.6, указываем файл образа OpenWRT и отправляем его на запись в роутер.
Если загрузка не происходит, то, удерживая кнопку reset, включаем роутер и продолжаем держать reset ещё секунд 15.
После окончания записи возвращаем динамическое (автоматическое) получение IP-адреса на ПК, заходим по адресу роутера , входим в его настройки с логином admin без пароля и производим все нужные нам настройки.
Затем по SSH или Telnet подключаемся к роутеру и выполняем в консоли команду mtd erase rootfs_data , чтобы удалить оставшиеся после стоковой фирмвари ненужные данные (например, настройки).
Если остались пожелания и предложения, пишите в комментариях. И помните: ни автор этой, ни автор исходной статьи, ни пострадавшие в ходе экспериментов британские учёные — никто вам ничего не должен, свобода развития и разрушения в ваших собственных руках.