Гигабитный сетевой шлюз с двухъядерным CPU, 1 ГБ RAM DDR4 и 8Гб EMMC на OpenWrt и Ubuntu.
Начну с комплекта поставки. Поставляется Brume в интересной коробке с выдвижной крышкой. Тянем вверх и вот уже обычный белый бокс
Внутри нас сразу же встречает инструкция с обозначениями имеющихся портов
В комплекте все необходимое для того, чтобы сразу начать пользоваться устройством. Кабель USB Type C, lan кабель а так же блок питания на 5В/2А со сменными вилками. В комплектации Philips Hue Bridge подобный БП
В комплекте европейская вилка для российских розеток, а так же британская.
Без насадок блок питания представляет собой сложенную китайскую вилку
Корпус Brume из хорошего пластика. Держать в руках приятно.
Размеры — 88×68мм, толщина 24мм. Вес 105г. В характеристиках производитель указал вес 66г. Скорее всего это вес самой платы.
По фото не совсем понятно, что он очень миниатюрный. Корпус чуточку больше чем Raspberry Pi
Интерфейсы — 3 гигабитных Ethernet, (2 lan и 1 wan), 1 USB 2.0, 1 USB3.0 Type-C для подключения питания, слот MicroSD, кнопка reset и переключатель.
В основе Brume лежит двухъядерный Marvell Armada 88F3720 (ARM Cortex-A53) и 1 ГБ ОЗУ DDR4. Флеш память 16Мб + 8Гб EMMC
Wifi нет, но Brume и не для работы роутером.
Полные характеристики ниже:
Ссылка на страницу GL-MV-1000 Brume в официальном магазине GL.iNet на aliexpress: https://aliexpress.ru/item/4000335966018.html
Первое включение
Я напрямую подключил Brume к ПК по витой паре. Адрес стандартен для устройств GL.iNet — 192.168.8.1
Задаем пароль и попадаем в админку.
Из коробки стоит прошивка 3.027 и OpenWrt 19.07
Интерфейс тот же, что и у обозреваемого недавно Mango.
А вот возможности и железо совершенно другие. Поэтому перейду сразу к железу.
Разборка и внешний вид платы
Разбирается Brume достаточно легко. Снимаем две противоскользящие подушечки со стороны разъемов и откручиваем 2 винта.
Помимо винтов корпус держится еще и на защелках
Плата выполнена на черном текстолите, смотрится эффектно.
Радиатор тоже впечатлил
Держится он на 3 винтах, соединяющих радиатор с двух сторон платы.
На памяти маркировка Hynix
Так же видно пустое посадочное место под дополнительный модуль. Если глянуть вот на этот рекламный рендер, то там этот модуль видно.
И судя по двум коннекторам для подключения антенн, могу предположить что это посадочное место под wifi модуль.
Так же как и в Mango, у Brume присутствуют дополнительные gpio на плате.
Распиновка ниже:
Ключевой особенностью Brume является возможность установки Ubuntu
Полный гайд по установке Ubuntu, а так же Docker, Home Assistant и другого софта есть в официальном репозитории GL.iNet на GitHub в соответствующем разделе
Установка Ubuntu в MV-1000 Brume
Для начала нужно проверить версию uboot нашего Brume. Для этого подключаемся по ssh и вводим скрипт в терминал:
uboot_need_update=0; \ [ -n "$(strings /dev/mtd0 | grep "U-Boot 2" | grep dirty)" ] && uboot_need_update=1; \ [ -z "$(strings /dev/mtd0 | grep "U-Boot 2")" ] && uboot_need_update=1; \ [ $uboot_need_update = 1 ] && \ cd /tmp && \ curl -SL https://github.com/gl-inet/mv1000-ubuntu-image/raw/master/uboot-gl-mv1000-20190901-md5-183eade39f35da8f6fc76c713754af85.bin -o /tmp/uboot.bin && \ [ "$(md5sum /tmp/uboot.bin 2>/dev/null | cut -f1 -d" ")" = "183eade39f35da8f6fc76c713754af85" ] && \ echo "updating uboot..." && \ mtd erase /dev/mtd0 && \ mtd write /tmp/uboot.bin /dev/mtd0 && \ mtd erase /dev/mtd1 && \ reboot; \ [ $uboot_need_update = 0 ] && echo && echo && echo "No need to update uboot" && echo && echo
Этот скрипт выполнит обновление uboot, если оно есть, и перезагрузит устройство. В противном случае выйдет сообщение «No need to update uboot», как у меня.
Значит uboot актуальной версии.
Далее приступаем к самой установке. Как сказано на гитхаб GL.iNet по ссылке выше, в настоящее время установка Ubuntu поддерживается только через OpenWrt. Может позже что-то изменится, и будет доступна установка/загрузка через MicroSD карту. Было бы неплохо.
Скачать Ubuntu можно либо с вашего пк, и перекинуть ее на Brume через ssh, либо напрямую через curl в консоли. Так и поступим.
Заходим в директорию tmp
cd /tmp
И скачиваем Ubuntu командой:
curl -SL http://download.gl-inet.com/firmware/mv1000/ubuntu/testing/ubuntu-18.04.3-20200109.tar.gz -o /tmp/ubuntu-18.04.3-20200109.tar.gz
Вес образа 116Мб
После загрузки запускаем установку командой:
ubuntu_upgrade -n /tmp/ubuntu-18.04.3-20200109.tar.gz
Не прошло и минуты, как вышло сообщение об успешной установке Ubuntu:
Чтобы переключиться на Ubuntu нужно выполнить команду из под OpenWrt:
switch_system ubuntu
И наоборот, чтобы переключиться на OpenWrt, из под Ubuntu выполнить:
switch_system openwrt
Выполняю switch_system ubuntu. Brume перезагружается. Теперь нужно подключиться по ssh. Несмотря на то, какой ip вы установили для устройства в OpenWrt, Ubuntu этого, естественно, не знает. Подключаемся через ssh по стандартному ip 192.168.8.1. Логин root, пароль goodlife
Ubuntu версии 18.04.3 LTS с ядром версии 4.4.52
Первым делом меняем стандартный пароль на ваш собственный командой:
passwd
Вывод top на чистой системе:
Или htop для наглядности:
Как видно, загрузка ЦП на чистой системы 2% на 1 ядро. ОЗУ используется 48,3Мб
Так же на странице гитхаб написано, как восстановить OpenWrt и загрузиться с нее, в случае какого-либо сбоя.
Еще интересный момент — внести изменения в Ubuntu и сохранить образ с этими изменениями для быстрого развертывания. Переключаемся на OpenWrt:
switch_system openwrt
Заходим в директорию data, где расположена Ubuntu
cd /data
и сохраняем все в архив образа в директорию tmp командой:
tar czf /tmp/ubuntu.tar.gz *
Затем можно в любой момент выполнить установку этого образа из под OpenWrt. Главное не забыть его перед этим сохранить куда-нибудь, например через WinSCP на ПК
Заключение
Отличное решение для организации всего того, чего не может ваш роутер, ввиду малой вычислительной мощности. С таким железом Brume может выступать в качестве домашнего сервера для тех, кто знает что делает. С прямыми руками с этой машинкой можно сделать все что угодно — и Home Assistant поднять, и настроить тоннели WireGuard/OpenVPN и фильтрацию трафика сделать. И все это в компактном и приятном корпусе. Сюда бы добавить загрузку ОС с microSD, и модуль wifi припаять — будет вообще универсальное устройство.