воскресенье, 5 января 2014 г.

Прошивка точки доступа D-Link g700ap (wive-ng)

Немного о точке доступа, сердцем устройства является микросхема RTL8186 (на базе её выпущено огромное количество роутеров и точек доступа).  В данной точке доступа 2 МБ флеш-памяти и 8 МБ ОЗУ. По-нынешним меркам - это очень мало. g700ap - это именно точка доступа, а не роутер!
Рис - наша точка доступа (фото с сайта производителя)
 
Немного о прошивке wive-ng: является альтернативной, свободной, не имеет WEB-интерфейса, использует все заявленные функции wifi-модуля, основана на ядре линукс 2.4 Данная прошивка позволяет произвести тонкую настройку точки доступа и использовать режимы, которые не доступны в официальной прошивке - например, режим клиента. Все настройки выполняются через терминал, подключение к точке доступа по средством ssh.

Зачем мне это нужно? Как ни странно с целью самообразования :)

Что нужно для этих целей:
  1. точка доступа
  2. патчкорд (прямой)
  3. спичка или тонкая отвёртка
  4. компьютер с ос линукс
  5. прямые руки (желательно)

Что сподвигло написать эту небольшую инструкцию? Дело в том, что следуя статьям в интернете - я никак не мог получить доступ после прошивки. Более того, в архиве последней прошивки с сайта автора - присутствую малопонятные файлы... Назначение которых порой совсем непонятно. Цель - показать, как прошить данную точку доступа прошивкой 0.3.18

Что в архиве  wive-ng-0.3.18.tar.7z с сайта http://wive-ng.sourceforge.net/:

  • black_fw.bin - прошивка-занулялка, очищает флеш от старой прошивки
  • Changelog.en - чэйнжлог на басурманском
  • Changelog.rus - чэйнжлог на русском
  • fw_clear.sh - скрипт очистки флеши
  • fw_upload.sh - скрипт загрузки прошивки
  • rev_B-A_converter.pl - конвертер прошивки для ревизии A (изначально всё сделано для ревизии B)
  • wive.bin - сама прошивка (ревизия B)
Я предпочёл не использовать скрипты. Все команды из под обычного юзера. Дистрибутив Opensuse 13.1 c NetworkManager.

Эта инструкция - почти полная копия инструкции http://chelaxe.ru/zyxel-p-330w-ee-wive-ng/ по прошивке роутера Zyxel p-330w. Что делаем:

  1. Получаем прошивку с сайта.
  2. Распаковываем в домашнюю директорию пользователя линукс. Желательно, чтобы путь не содержал кириллицы в имени и пробелов.
  3. Убеждаемся, что в системе стоит tftp. Для примера в Opensuse 13.1 по-умолчанию не установлен.
  4. Подключаем блок питания в розетку, предварительно отключив от точки доступа
  5. Подключаем патчкорд к компьютеру и точке доступа
  6. выставляем на компьютере сетевые настройки через NetworkManager: ip 192.168.1.1 mask 255.255.255.0 Очевидно, что вместо 192.168.1.1 можно взять любой ip в диапазоне 192.168.1.1-192.168.1.254, кроме 192.168.1.6 - это ip tftp сервера нашей точки доступа в режиме загрузки прошивки. Важно - в NetworkManager - ставим галочку в настройках на проводном соединении - Подключаться автоматически.
  7. Открываем терминал  и переходим в папку с файлами прошивок и скриптов.
  8. Вводим команду в терминал, но не нажимаем ENTER!

    tftp -m binary 192.168.1.6 -c put black_fw.bin


  9. Спичкой зажимаем ресет на точке доступа и удерживая его включаем БП. Смотрим на индикатор WLAN - загорелся? Отсчитываем 5-10 секунд. Отпускаем ресет. Быстро активируем окно терминала и жмём ENTER, Ждём - WLAN должен моргать. Ожидаем минуту и выключаем точку доступа (блок из точки). Тем самым мы обнулили флеш от прошлой прошивки, загрузчик мы не трогали!
  10. Вводим команду в терминал, но не нажимаем ENTER!

    tftp -m binary 192.168.1.6 -c put wive.bin
  11. Спичкой зажимаем ресет на точке доступа и удерживая его включаем БП. Смотрим на индикатор WLAN - загорелся? Отсчитываем 5-10 секунд. Отпускаем ресет. Быстро активируем окно терминала и жмём ENTER, Ждём - WLAN должен моргать. Не отключайте точку доступа хотя бы 7 минут (лучше 10 минут). После отключаем блок питания. 
  12. Выставляем на компьютере сетевые настройки через NetworkManager: ip 10.200.200.1 mask 255.255.255.0 Очевидно, то вместо 10.200.200.1 можно взять любой ip в диапазоне 10.200.200.241-10.200.200.254 кроме 10.200.200.249 - это ip tftp нашей точки доступа с новой прошивкой. Важно - в NetworkManager - ставим галочку в настройках на проводном соединении - Подключаться автоматически.
  13. Включаем питание точки доступа и через пару минут (на самом деле загрузка с этой прошивкой очень быстрая, но при первой загрузке лучше подождать) уже можем приступать к настройке точки доступа через ssh. Одним из признаков успешной прошивки будет пинг до 10.200.200.249 и появлением wifi сети с ssid SL-WL.
  14. Как получить доступ к нашей точке доступа? Вводим в терминал команду:

    ssh root@10.200.200.249

    По-умолчанию логин root и пароль rtl8186
  15. Что делать дальше? Настраивать - всё правкой конфигов, в интернете полно годных инструкций. Я пока ещё ничего не настроил - а посему написать об этом интересном и наверное увлекательном процесс ничего не могу.
Примечание: во многих инструкциях пишут, что должен быть пинг до 192.168.1.6, но данная точка доступа в режиме прошивки не отзывается. После прошивки во всех инструкция пишут, что ip будет 192.168.0.50, а у меня он был 10.200.200.249!  Ещё хочу акцентировать, что у меня не получилось сразу очистить флешку нулевой прошивкой и тут же залить новую - без перезагрузки между этими действиями tftp сервер точки доступа отказывался принимать файл прошивки wive.bin и писал: timed out (время вышло или превышено время ожидания). Моя ревизия точки доступа B2, родная прошивка 2.12.