Всем привет! Это альтернативная переделка модели
Beeline Smart BOX Pro роутера на прошивку Padavan, теперь не нужно паять и переделка происходит намного быстрее. Кому интересно прошу под кат.
Для тех кто видит впервые — это роутер!
Он имеет весьма хорошие характеристики, но стоковое ПО очень печальное.
Ранее чтобы прошить этот ротуер на прошивку Padavan приходилось его перепаивать, теперь есть вариант намного быстрее и удобнее.
Итак чтобы прошить роутер нам нужно пройти 3 этапа.
План действий:
1)Бекап прошивки
2)Смена загрузчика (самый опасный момент)
3) Возврат родных калибровок
Поехали: Этап 1 (обязательный )
1) Подключаемся к роутеру смарт бокс про логин SuperUser, пароль будет Beeline$martB0x или SFXXXXXXXXXX где ХХХХ –это серийный номер устройства сзади роутера на наклейке или в меню роутера под обычным пользователем.
Переписываем мак адреса лан и вифи пригодиться.
Получив себе права супер пользователя-открываем доступ по SSH, конектимся программой PuTTY,
Подключите в роутер флешку с файловой системой «FAT32»
В PuTTY после логина и пароля, вбиваете команду
sh
!
далее каждая строка отдельная команда дожидайтесь ее выполнения
"
cd /mnt/shares/A
mkdir mtd_backup
cd mtd_backup
dd if=/dev/mtdblock0 of=mtd0 -иногда может не сняться выдав ошибку.
dd if=/dev/mtdblock1 of=mtd1
самые важные это вот mtd2 и eeprom.bi
dd if=/dev/mtdblock2 of=mtd2
dd if=/dev/mtdblock2 of=/mnt/shares/A/mtd_backup/eeprom.bin count=512
dd if=/dev/mtdblock3 of=mtd3
"
должно получиться
примерно вот так
свернуть/развернуть
view @ Smart Box Pro> sh
BusyBox v1.15.3 () built-in shell (ash)
Enter 'help' for a list of built-in commands.
~ # cd /mnt/shares/A
/tmp/mnt/shares/A # mkdir mtd_backup
/tmp/mnt/shares/A # dd if=/dev/mtdblock0 of=mtd0
dd if=/dev/mtdblock1 of=mtd1
523264+0 records in
523264+0 records out
/tmp/mnt/shares/A # dd if=/dev/mtdblock1 of=mtd1
2048+0 records in
2048+0 records out
/tmp/mnt/shares/A # dd if=/dev/mtdblock2 of=mtd2
2048+0 records in
2048+0 records out
/tmp/mnt/shares/A # dd if=/dev/mtdblock3 of=mtd3
40960+0 records in
40960+0 records out
/tmp/mnt/shares/A #
В корне флешки или папке «mtd_backup» должны появиться файлы с названием mtd(X) X — номера от 0 до 3.
Из роутера вынимаем усб флешку и сохраняем копию прошивки в надежное место.
Убедитесь что есть файлы MTD2 и eeprom.bin
Этап номер 2
Скачиваем загрузчик
sbpro.bin
Благодарности за перевод и кастомизацию inflabz!
Копируем на флешку загручик.
и через
Putty даем команды
cp /mnt/shares/A/sbpro.bin /tmp
Это самый ответственный этап убедитесь в правильном копировании написании команды
dd if=/tmp/sbpro.bin of=/dev/mtdblock1
должно получиться что-то подобное:
/mnt/shares/A # dd if=/tmp/sbpro.bin of=/dev/mtdblock1
1024+0 records in
1024+0 records out
Обратите внимание флешка может монтироваться как
/mnt/shares/A/
/mnt/shares/B/
/mnt/shares/C/ итп
соответственно путь у команд выше может меняться.
Перезагружаем роутер и заходим на 192.168.1.1 попадаем на загручик Breed (разметка сделана от разметки Xiaomi Mi3G)
Сделаем полный бекап еще раз
Этап номер 3
Прошиваем заранее собранную прошивку (
Скачать) для Smart BOX Pro ( конфиг файлы будут доступны в PROMETHEUS репозиторий ALXDM для тех кто хочет собрать самостоятельно прошивку)
Восстанавливаем наши eeprom.bin которы мы забекапили ранее.
Идем в раздел MAC и вбиваем свои мак адреса.(написан на коробке или под роутером) (для мак RF2 и там можете просто изменить последнюю цифру на +1 от того что под коробкой)
Теперь перезагружаем роутер заходим в настройки и делаем сброс. Логин пароль Admin/Admin
Далее настраиваем роутер и наслаждаемся!
Вопрос ответ:
1) А прошивка собрана откуда?
Ответ: Прошивка собрана из нашей репы конфиг файлы доступны в PROMETHEUS репозиторий ALXDM (переданы ALXDM )
2) Я ошибся командой при записи загручика теперь роутер не подает признаков жизни.
Ответ:
План Б
3)Где можно обсудить прошивку по этому роутеру?
Ответ: вот в этом
телеграм канале
4) Зачем все это?
Ответ: Мы делаем эту железку чуть удобнее. "© Без булдрабыз"
5) А почему это не на 4пда или подобном сайте?
Ответ: Все согласовано и это раздел DiY!
DiY — должен быть полезным!
6) а есть для Smart box Turbo + ???
Да вам сюда "
Smart BOX TURBO шьем на Китайский Padavan"
7) а есть на smart box GIGA?
Ответ:
только OPEN WRT и (PAdavan но без сети 5 ггц)
8) А есть прошивка для smart box FLASH?
Ответ: Увы, этого роутера у меня нет на руках. но если подарите ..)
А вот покупать за эту цену такой роутер в 2021 году, с кучей встроенных проблем, смысла не вижу.
Купил 7 штук, один «расковырял» для изучения чипа ZigBee (пока не продвинулись, шить — шьётся, но надо найти связи с CPU), на двух сделал Wi-Fi роуминг — в целом очень даже неплохо, и дёшево.
Они как бы не открыты, для доступа силабс предлагают создать кейс-запрос из своего аккаунта разработчика.
И еще раз про zigbee2mqtt — для этого необходим node.js который на данном роутере просто не заведется (ресурсов не хватит).
Предлагаю идти другим путем: пробросить через vcp рабочий порт efr32 на хост машину, где его может подхватить z2tasmota, z2mqtt, iobrocker и другие.
И ещё вопрос: какого типа прошивка на базе какой версии sdk сейчас скомпилена и залита в efr32?
Какие GPIO используются?
ааа типа «в разработке» тоже :) :)
Т.е. пытаться заставлять работать ZigBee не на родном загрузчике — уже идея не очень. Нужно пробовать как-то инициализировать устройство на Ralink UBoot, через команды типа sc_gpio (Sercomm gpio command) если устройство не видится в стоковой прошивке 1.0.12\2.0.0.9
p.s. Может плохо искал, но не нашел в интернете ни одного устройства на базе «SerComm HC910» не от Beeline. Интересно было найти, а вообще преценденты того что оно хоть где-то работает. Есть?
USB в чипе нет, можно преположить uart или spi
не забываем что для этого чипа так то нужна какая никакая прошивка, реализующая протоколы
они врядли стали заморачиваться, в лучьшем случае сами скомпилировали поддержку EZSP от производителя, а то и тупо взяли готовую, и сделать бы это они должны так как сменить потом не так просто.
собтвенно Home Assistant этот протокол поддерживает
в принципе этот протокол uart или spi поддерживает согласно документации
можно тестером повызванивать пины, но есть загвоздка в том что они для uart или spi могут быть одни и те же.
Я не думаю что uart вызовет проблемму со стороны роутерного линукса, вот со spi дело хитрее может быть
неплохо бы сделать команду ls /dev и посмотреть к чему «драйвера» уже есть
не знаю как breed решает вопросы с деревом устройств, c uboоt есть смысл шаманить если точно не uart
Zigbee этом роутере реализован на EFR32 gen1 (это предшественник популярного чипа gen2 который используется в Sonoff, Ikea и тд).
Этот чип связан с CPU двумя UART линиями и одним GPIO, который служит для входа в режим программирования самого EFR32.
Фишка в том что существующие прошивки для этого чипа работают через ASH over UART и на роутере возможен только проброс UART over IP на хост, который и собственно и будет взаимодействовать по ASH с zigbee устройствами. Например в НА через интеграцию zibgee2tasmota.
вопрос скорее в том что они прописали по умолчанию в этот модуль, можно ли это прошить через бутлоадер и нужно ли.
Через SWD используя JP1 все шьётся без проблем (и бут, и второй бут, и собственно прошивка).
Насчёт нужно ли — мне вот очень интересно использовать этот модуль хотя бы как zigbee роутер.
через бутлоадер ещё куда не шло.
ну и по умолчанию они бы туда че нить подходящее могли прошить чтобы не пререпрошивать.
Этот функционал можно реализовать на кастомных прошивках.
в том то и дело что там непонятно что а то и вообще пусто
Билайн, если уж он сподобился умный дом делать должен был заранее думать что и как в этот модуль прошивать, чтобы он прошился вместе с обновлением прошивки роутера например. вряд ли Билайн расчитывал что все эти модули через SWD шить будут
мог конечно и неподумать и вообще на этот умный дом забить.
пожтому прежде чем через SWD прошивать можно ведь и поглядеть, может там уже годная прошивка, может бутлоадер с прошивальщиком.
да и чтобы из кастомной прошивки самого роутера — тоже надо знать как с этим модулем взаимодействовать.
;)
И дамп прошивки легко снимается тем же SWD.
дамп надо не просто снять а опередить что там, и как с этим работать.
в принципе если он к известному tty на роутере подведен то нужно на ем соотв. софт запустить, а софт этот скорее всего ещё скомпилировать надо.ну или перебросить через TCP и с компа в него тыкаться.
были б там at команды было бы проще
И дамп снимать тоже не требуется, так как уже есть bootloader и прошивка на базе свежего SDK от Silicon labs, скомпиленая именно под этот роутер. Шьется она через SWD один раз и в принципе этого достаточно.
Именно. Потому что node.js для работы z2m на этом роутере физически не запустить — мощности мозгов и объема памяти не хватает.
Комп собственно не нужен, хватит одноплатника с VCP на котором крутится homeassistant.
В порядке теста можно даже не компилировать, а попробовать взять готовую от модулей на таком же силиконе.
Ну и главное — если брать еще и одноплатник то к нему как то проще взять к нему напрямую отдельный модуль (с готовой либо с самокомпилированой прошивкой) и без всяких роутеров, может даже без swd обойтись. Резона _покупать_ для этого роутер особого нет :)
И я бы не то что прям против такого варианта, но это как бы совсем другой вариант
А мне вот любопытно стало в плане именно какова была _оригинальная_ задумка авторов конкретно этого роутера. Всяко она не должна была включать самостоятельную компиляцию прошивки и заливку ее через swd ;) и какой то софт навернео планировался именно в роутере крутить. Поэтому и интересно какую прошивку залили по факту.
Плюс иногда бывают такие истории когда электроники напаяют, а потом и никогда не реализуютт ничего.
Не подойдёт, так как в турбо+ у чипа efr используются другие выходы gpio. Да еще сам чип мало того что gen1, так еще и младшей версии с сокращенным количеством выводов.
Но этот вопрос решен — нужная прошивка готова.
Про задумки Sercomm можно гадать, но разводка микросхемы сделана полная (светодиод активности zigbee забыли). Если бы задумка была только под zigbee роутер то второй UART не потребовался.
но это я все в порядке раширения эрудиции
если будет продолжение истории — продолжу дивоваться…
я запасусь попкорном и буду наблюдать.
Ни на один вопрос нет ответа.
о_О
ps Без usb можно и от 400р. за «lite 2» взять. Прошивки выпускаются по сих пор, функционала с избытком. «Приседаний» не нужно. Ну разве что 1 раз прошивку загрузить из неофф. ветки. Дальше само поедет.
А вот если он захочет экстрима, то прочтёт все здешние комментарии и плавно перетекёт на 4pda.
Если при сборке прошивки этот драйвер не включён, то здравый смысл говорит, что требованием можно пренебречь.
Если же подходить с формальной точки зрения, то придётся из прошивки исключить и драйверы Wi-Fi, т.к. я очень сомневаюсь, что Mediatek разрешала их распространение. Но всё тот же здравый смысл говорит, что вряд ли пользователей заинтересует прошивка, на которой не работает Wi-Fi.
На Flash только KeenticOS, вбейте в гугл, там есть ссылка на страницу нужного человека.
PS Если что я этот девайс имел в виду 4pda.ru/forum/index.php?showtopic=794426
Сейчас основной у меня smart box one. Есть еще тп линк 1043 (опенврт), глумлюсь потихоньку над ним, ну там всякие hame, 703 Tp-Link, upvel и куча всего. Так что подменный фонд имется.
Уже или туда или сюда. А то, как чемодан без ручки: и с ним тяжело и выкинуть жалко.
В вот по one можели на 4пда пишут(правда я бегло читанул), что 5ггц мвоей жизнью дивет и еще что-то, не помню. Пусть в стоке, хоть 5ка работает.
dd if=/dev/mtdblock1 of=mtd1
dd if=/dev/mtdblock2 of=mtd2
dd if=/dev/mtdblock2 of=/mnt/shares/A/mtd_backup/eeprom.bin count=512
dd if=/dev/mtdblock3 of=mtd3
самые важные это вот
dd if=/dev/mtdblock2 of=mtd2
dd if=/dev/mtdblock2 of=/mnt/shares/A/mtd_backup/eeprom.bin count=512
mtd0 это полный образ иногода на него так ругается изза бедов.
Раньше я также думал, пока не появился программатор на нанд и опыт работы с ней(в целом с нанд памятью). И жизнь заиграла новыми красками)
И наделали ее вагоны
Правлю dts с небольшим запасом вниз по частоте и все ок.
Вебморду можно и в zram вынести если тормозит, или после настроек вообще выключить.