Москва+7 (495) 103-4-103
Заказать звонок
  • Заказать звонок
  • Отложить 0 шт.
  • Сравнить 0 шт.
 12 Июл 2016    Ubiquiti, Практика и программирование

Бывало такое, когда во время процесса обновления прошивки Rocket M, NanoBeam, NanoStation и других Ubiquiti устройств пропадало питание, либо случались какие-то другие проблемы после которых на устройство нельзя было зайти через web-интерфейс и оно не работало.

Опишем по пунктам как можно восстановить прошивку:

1. Скачать прошивку с официального сайта ubnt.com которой необходимо прошить устройство, или с других ресурсов.

2. Запустить TFTP сервер. Опишем данный процес:

Запуск TFTP сервера на Windows

Один из вариантов запуска tftp сервера на Windows скачать и запустить приложение по ссылке ниже:
https://tftpd32.jounin.net/tftpd32_download.html
 
После запуска приложения чтобы проверить необходимо запустить tftp клиент, если он не установлен в Windows, ставим набрав в командной строке:
 
dism /online /Enable-Feature /FeatureName:TFTP
 
либо можно также открыв «Панель управления» -> «Удаление программы» или «Программы и компоненты» -> «Включение или отключение компонентов Windows», поставить галочку напротив «Клиент TFTP» и нажать «ОК».
 
Чтобы передавать и скачивать файлы c TFTP сервера открываем командную строку и выполняем команды:
 
tftp 192.168.1.2 GET file.txt
tftp 192.168.1.10 PUT file.txt
 

Установка и настройка TFTP сервера в Ubuntu

TFTP (Trivial File Transfer Protocol — простой протокол передачи файлов) используется главным образом для первоначальной загрузки бездисковых рабочих станций. TFTP, в отличие от FTP, не содержит возможностей аутентификации (хотя возможна фильтрация по IP-адресу) и основан на транспортном протоколе UDP.
atftpd — сервер
atftp — клиент

Устанавливаем:

sudo apt-get install atftpd atftp

Сервер использует порт: 69/udp
Стандартно создается директория /srv/tftp если ее нету, создаем:

sudo mkdir -p /srv/tftp
sudo chown nobody /srv/tftp
 
Для автоматического запуска необходимо закомментировать (поставить # в начале строки) строку запуска в /etc/inetd.conf:
 
#tftp dgram udp4 wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd —tftpd-timeout 300 —retry-timeout 5 —mcast-port 1758 —mcast-addr 239.239.239.0-255 —mcast-ttl 1 —maxthread 100 —verbose=5 /srv/tftpd
 
И поменять значение переменной USE_INETD в файле /etc/default/atftpd с true на false.
Это можно сделать в любом редакторе, например используя nano:
 
sudo nano /etc/default/atftpd
 

(в редакторе комбинация клавиш Ctrl+O используется для сохранения изменений, а Ctrl+X для выхода).

Для применения изменений и запуска atftpd выполним команду:
sudo /etc/init.d/atftpd restart

Все, TFTP сервер должен работать, принимать и отдавать файлы из директории /srv/tftp.

Пример правила iptables для TFTP (где 192.168.1.0/24 подсеть с которой разрешено подключатся к TFTP серверу):

sudo iptables -A INPUT -p udp -s 192.168.1.0/24 --dport 69 -j ACCEPT
sudo service iptables save

3. Обязательно назначить компьютеру именно этот IP-адрес 192.168.1.254 и маску подсети 255.255.255.0.

4. Выключить устройство в котором необходимо восстановить прошивку, при выключенном устройстве нажать кнопку RESET и держа ее включить питание устройству, продолжать держать RESET 8-10 секунд, после чего опустить. Этими манипуляциями мы активируем режим восстановления и светодиодные индикаторы начнут поочередно мигать. IP-адресс устройства 192.168.1.20 должен начать пинговаться, если не пингуется, то восстановить увы не получится. Для проверки пинга выполняется команда в командной строке:

ping 192.168.1.20

5. Теперь скачанный ранее файл прошивки положим в директорию TFTP сервера и отправим его. Из windows это можно выполнить командой:

tftp -i 192.168.1.20 put XM-v5.5.4.build16501.bin

Из Ubuntu это делается командами (возможно придется файл прошивки положить в домашнюю директорию пользователя):

tftp
connect 192.168.1.20
bin
trace
put XM-v5.5.4.build16501.bin
exit
 
Когда файл прошивки с TFTP сервера будет отправлен на устройство, необходимо подождать пока произойдет процесс обновления прошивки и устройство автоматически перезагрузится.

Как включить Compliance Test?

Понадобилось как-то выставить по лицензии частоту на AirMAX PowerBeam M5 с прошивкой 5.6.2, но увы её нету в списке!

До этого мастера понижали прошивку до 5.5.6 и появлялась возможность выбрать страну Compliance Test, в которой доступны все частоты, но на на этих антеннах что пришли AirMAX PowerBeam M5 с прошивкой 5.6.2 после понижения прошивки настройки перестали сохранятся, сброс выполнить нельзя, повысить прошивку на последнюю тоже стало нельзя!

Самым простым решением проблемы будет подключение к устройстсву через SSH и ввод команды которая добавит возможность выбора Compliance Test:

enable_ct

Но этот способ работает не на всех устройствах, на Rocket M2, Rocket M5 например работает, а на PowerBeam 5ac не работает, в этом случае есть скрипт ниже.

Второе решение проблемы, если вдруг точка PowerBeam прошита уже на 5.5.6 и нельзя обновится, то закачиваем самую новую прошивку через TFTP, на момент написания статьи использовалb 5.6.3. Как это делать описано выше.

После завершения процесса прошивки через web-интерфейс не заходим (иначе придется сбрасывать настройки и делать снова), а подключаемся через SSH используя например программу PuTTY и введем указанную выше команду enable_ct, либо создадим скрипт, сделаем его исполняемым, сохраним настройки и перезагрузим устройство выполнив указанные ниже команды по очереди:


echo "echo '<option value=\"511\">Compliance Test</option>' >> /etc/ccodes.inc" > /etc/persistent/rc.poststart
chmod +x /etc/persistent/rc.poststart
save
reboot

После перезагрузки устройства заходим в web-интерфейс, выбираем страну Compliance Test и уже видим что доступные все частоты.

Если сбросить настройки, скрипт придется добавлять снова.

На PowerBeam 5AC например нет Compliance Test, но получить доступ к всем частотам можно скачав конфигурационный файл, изменив в нём указанные ниже строки и закачав обратно в устройство, после этого в поле страна будет отображена Argentina:


radio.1.countrycode=5000
radio.countrycode=5000
 
Все.

Источник:https://ixnfo.com/compliance-test-ubnt.html