понедельник, 8 мая 2017 г.

nethead on ZBT wg3526

И так, на руках есть сабж. Что теперь? Делаем голову для домашней сети.

О САБЖе

Для любопытных ТТХ следующие:
  • CPU: MT7621A
  • chipset 2.4GHz: MT7603E
  • chipset 5GHz: MT7612E
  • FLASH: 16MB
  • RAM: 512MB

Бэкапы

Бэкап загрузчика - весьма полезная вещь. Вот ман по бэкапам. Признаюсь, честно, я не вникал в особенности файловой системы и ART backup у меня не завелся. Вероятно, потому что ART предназначен для чипов Atheros, а у меня Mediatek. Но вот full MTD-backup получился но с бубном.
Сначала пробовал из пол windows+cmder+MINGW64(from git), но меня постиг неуспех: сначала скрипт с wiki падал на строке 23 ""${SSH_CMD[@]}" -O stop", видимо бинарник для windows не понимал инструкцию "-O", после невнятных манипуляций скрипт таки подключился но не мог сделать бэкап из-за кривого pipe "Brocken pipe". Вообще pipline довольно сложно поднять под windows и я надеялся, что эти проблемы решили, когда сделали дистрибутив git, но видимо нет. В любом случае всковыривать причины неуспеха куда дольше, чем поднять виртуалку с убунтой и родными для скрипта протоколами. Вот тут собственно все и получилось. Ну а потом по shared_folder скинул все на файловую систему хост ОС и положил в dropbox. Кстати у меня вот такие разделы:
cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00030000 00010000 "u-boot"
mtd1: 00010000 00010000 "u-boot-env"
mtd2: 00010000 00010000 "factory"
mtd3: 00fb0000 00010000 "firmware"
mtd4: 001837f9 00010000 "kernel"
mtd5: 00e2c807 00010000 "rootfs"
mtd6: 00c20000 00010000 "rootfs_data"

Прошивка

Для начала нужно получить доступ в админку: http://192.168.1.1, user:root, pwd: написан на днище устройства. Но поверьте все везде одинаково.
На ресурсе прошивок есть много всякого, в том числе и
https://downloads.openwrt.org/chaos_calmer/15.05.1/ramips/mt7621/openwrt-15.05.1-ramips-mt7621-zbt-wg2626-squashfs-sysupgrade.bin
но особенность в том, что при прошивке может не распознаваться wifi модуль, так как у нас старшее поколение: 3526. По этому ставим
https://downloads.openwrt.org/snapshots/trunk/ramips/mt7621/openwrt-ramips-mt7621-zbt-wg3526-squashfs-sysupgrade.bin

Конфиги

Теперь можно заняться стандартной конфигурацией. У меня не сразу завелись интерфейсы radio, потребовалось явно выставить каналы - auto почему то не работал и интерфейс показывал, что не ассоциирован "Wireless is disabled or not associated", что подозрительно. Гугление показало, что просто прошивка собрана с багами или кривыми настройками. Так что либо пересобирать самому, либо - оставить как есть.

Подключение MicroSD

По мотивам переноса рута на флешку, решил сделать аналогично на текущем устройстве. Но возникли некоторые проблемы при подключении microSD из коробки. Вот какие устройства видно
root@nethead:~# ls /dev
bus                 mtd2                mtdblock2           random              ttyS3
console             mtd2ro              mtdblock3           shm                 ttyS4
cpu_dma_latency     mtd3                mtdblock4           tty                 ttyS5
full                mtd3ro              mtdblock5           ttyS0               ttyS6
hwrng               mtd4                mtdblock6           ttyS1               ttyS7
kmsg                mtd4ro              network_latency     ttyS10              ttyS8
log                 mtd5                network_throughput  ttyS11              ttyS9
memory_bandwidth    mtd5ro              null                ttyS12              ubi_ctrl
mtd0                mtd6                port                ttyS13              urandom
mtd0ro              mtd6ro              ppp                 ttyS14              watchdog
mtd1                mtdblock0           ptmx                ttyS15              watchdog0
mtd1ro              mtdblock1           pts                 ttyS2               zero
И я не один задавался этим вопросом, в гугде есть следы (раз, два) где явно перечислены списки пакетов для работы с mmc и microSD. После установки пакетов:
opkg install kmod-scsi-core kmod-scsi-generic kmod-sdhci kmod-sdhci-mt7620
opkg install kmod-mmc kmod-mmc-spi mmc-utils
Перезапускаемся и получаем кирпич. Потому что mmc библиотеки для этого семейства процов полны багов и пул-реквесты что то не принимают. Очень странная ситуация. Но решение есть: форк всего проекта, название клона - LEDE.

Восстановление

Загружаем родной режим хад ресета: зажимает кнопку reboot и включаем питание. Далее уже можно пойти в вебморду PandoraBox, но одна не задача - там все на китайском:
固件恢复模式
恢复
备份
备份
Но если заранее знаешь что тебе надо и что есть, но можно перевести иероглифы в гугле, переключить витую пару на сломанный роутер и прошить его. Кстати вот бинарь для прошивки.

Настройки

Есть хорошая статья про настройку безопасности в LEDE, но если вы знаете openwrt достаточно хорошо, то ничего нового там не найдете. Но как ленивый чувак ssl в luci ставил по простому рецепту, без возни. С остальным - не особо заморачивался.