Понадобился мне на дачу роутер, который помимо раздачи интернета еще бы делал немножко полезных дел: собирал данные с датчиков температуры и иногда включал по моей просьбе отопление в доме перед моим приездом. Сначала на эту роль рассматривался Asus RT-N16 с добавкой из Arduino как источник различных GPIO, но у него обнаружилась проблема связанная с тем, что при подключении нескольких usb устройств он начинал самопроизвольно и часто перезагружаться, проблему вылечить я не смог (да и особо не старался) и я стал искать варианты на замену.
Пару лет назад я читал про разработку от MediaTek плату LinkIt Smart 7688, но несмотря на все её вкусности у неё не было готового порта ethernet, однако поиск по али дал модуль от HiLink HLK-7688AN и самое главное нашлись два варианта готовых отладочных плат на базе этого модуля, это плата аудиоплеера с одним ethernet портом, SD слотом и аудивыходом (может быть я её закажу её позже) и рассматриваемая плата роутера, в которой как раз удачно оказался usb порт, пятипортовый коммутатор, два ком-порта, i2c, i2s и spi шины.
От жадности заказал сразу набор из двух плат, так-как они стоили несколько дешевле, да и вторая плата была-бы полезна в случае превращения другой в кирпич. Продавец оказался общительным, и сразу спросил желаю ли я прошивку OpenWRT или Transparent, что такое Transparent я не узнавал, и попросил OpenWRT, через неделю платы были отправлены и еще через две пришли ко мне домой. Продавец кстати оказался очень общительным и с удовольствием поделился со мной технической документацией, которая правда особо ничего не добавила, так-как всю остальную информацию я уже собрал за то время, пока платы ехали ко мне.
В коробке было два платы, две антенны с пигтейлами и два блока питания (продавец сам отправил с европейской вилкой).
На отладочной плате расположена плата с модулем HiLink HLK-7688AN (одноядерный процессор MT7628 c частотой 780МГц, память 128Мб и флеш 32Мб).
/proc/cpuinfo
root@OpenWrt:~# cat /proc/cpuinfo
system type: MediaTek MT7688 ver:1 eco:2
machine: MediaTek LinkIt Smart 7688
processor: 0
cpu model: MIPS 24KEc V5.5
BogoMIPS: 385.84
wait instruction: yes
microsecond timers: yes
tlb_entries: 32
extra interrupt vector: yes
hardware watchpoint: yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb]
isa: mips1 mips2 mips32r1 mips32r2
ASEs implemented: mips16 dsp
shadow register sets: 1
kscratch registers: 0
package: 0
core: 0
VCED exceptions: not available
VCEI exceptions: not available
Под модулем находятся две микросхемы MAX232 подключенным к разъемам DB-9 на левой стороне платы, модуль я снимать не стал из опасения погнуть контакты, так-как двигался он с большим трудом. Так-же на левой части платы находятся кнопки Reset и Restart, светодиод WiFi и разъем блока питания. На правой стороне платы находятся пять разъемов ethernet, помеченных WAN и LAN1 — LAN4. На самой плате продублированы последовательные порты с TTL уровнями (не более 3,3В), так-же находятся 4 кнопки из которых две продублированные Reset и Restart и две подключенные к ногам контроллера и скорее всего используются в Transparent версии прошивки, Кнопка Restart сбрасывает контроллер, остальные кнопки можно использовать программно конфигурируя ножки к которым подключены эти кнопки как GPIO. На верхней части размещены контакты usb, i2c, spi, i2s, ножка сброса контроллера, 3,3В питания модуля и 5В параллельно входному разъему. Плата имеет пять крепежных точек.
На обратной стороне платы элементов нет, но зато там есть маркировка контактов на плате.
Шаг отверстий на разъемах, стандартные 2,54мм, поэтому я сразу туда впаял подходящие гребенки.
Консоль роутера находится на портах RX0/TX0. После включения питания плата загрузилась, но версия OpenWRT была загружена старая (Barrier Breaker) и недоставало некоторых пакетов для полноценной работы, я попытался прошить более свежую версию 18.06 и столкнулся с различными проблемами из которых было две основных, консоль при загрузке переключалась на ком-порт который не был разведен/сконфигурирован и плата при перезагрузке повисала до сброса по питанию. Помучав поисковик на обе проблемы понял, что надо собирать OpenWRT из исходников, за базу была взята плата LinkIt Smart 7688 в которой в .dts файле было исправлен номер последовательного порта и добавлен патч для flash исправляющий зависание платы при перезагрузке. После итоговой сборки осталось несколько мелких проблем, но я их решил просто правкой конфигурационных файлов вручную (например из luci я не смог настроить vlan'ы на свитче). Прошивал через u-boot и tftp, после прошивки на flash осталось свободным 27Мб, чего должно хватить более чем для большинства задач, в особых случаях можно использовать механизм block-mount и перенести весь или часть корневого раздела на внешний накопитель.
В целом платой я доволен, свои 100 мегабит по медным портам отдает отлично, по wifi диапазон у меня дома забит сторонними точками, но 10 мегабит по воздуху я от неё получил. Пока еще не разбирался с реализацией i2c и gpio, возможно это тема для отдельного поста, если найдутся заинтересованные. Для желающих повторить сборку с нуля, могу рассказать подробности отдельным постом, а пока все файлы полученные в результате сборки я выложил пока у себя
на страничке
как в анекдоте про таблетки от жадности, да и побольше.
видео — www.youtube.com/watch?v=jxEqv9jd130
Тот же Pi 3B+, UDOO, BananaPi, ODROID и т.п.
Они до сих пор вешают на USB 2.0 сетевуху, что делает малинки неюзабельными. Да и порт там один(хотя учитывая, что он все равно на USB 2.0 это к лучшему)
Всё зависит от целей. Для меня лично 300 — это уже хорошо. Очень спорно, что это можно назвать «неюзабельным» совсем.
Но ещё кроме Pi я и другие варианты тоже предложил.
Есть Orange Pi R1 (но там 10/100), есть GrapeBoard, есть… поиск:
Оранджи не подходят мне, емнип, то ни одна из них. А вот про виноградную (вроде верно называю) плату я не знал. Спасибо!
> В идеале же, роутер-нас-облако-сервер, умный дом и иже
> Есть такие платы за 50 баксов?
А сами как думаете? Вы хотите всего и сразу: и производительный, и роутер, и NAS, и облако… И всё за $50?
Получите так себе роутер (по нынешним временам), слабенький NAS (потому что по USB скорость так себе, а SATA почти нигде нет)…
Вообще, это разные задачи, и их лучше разносить.
Есть много разных плат, но обычно вне указанного ценового диапазона… Поиск никто не отменял.
UPD: Насчет цены могу ошибаться.
UPD#2: Держите ссылку, покопался в закладка и нашел: www.solid-run.com/product/SRM6828S00D01GE008P00CE
В «гугле не забанен», но подбирая плату под роутер не смог найти норм вариант за приемлемую цену. Либо цена 100+ баксов, либо шлак. Дайте совет: какую взять, если вы столько компетентны в данном вопросе?
UPD: Под мощный роутер и за 50. Спасибо!
«Под роутер» — просто купите роутер. Хотите «большего» — купите роутер, полностью поддерживаемый OpenWRT.
Открывайте openwrt.org/toh/views/toh_extended_all (да, она очень неудобная, раньше была лучше), и ищите.
Сложно? Берите Xiaomi WiFi Router 3G, ставьте OpenWRT, и реалтьзуйте все «хотелки» — вот Вам тут и порту 1Gbit/s, и USB 3.0 (можно сделать какой-никакой, а NAS)… А раз OpenWRT — то и любой софт, в принципе — «умный дом», VPN и т. д.
Не мой вариант. Неудобная в плане юза или? Как по мне, то наоборот стало юзабельней чем было. Тут на вкус и цвет, как говорится.
Сложностей там не много, а вот покупать роутер под врт конкретно, имхо не очень дальновидно. Уже купил, где-то в пути/едет ко мне. Вообще «нас» у меня есть. Но запас "@опу" не дерет, как говорила моя бабуля. :)
Берите любой гигабитный роутер с OpenWRT, и…
x86 будет много больше, горячее, прожорливее. Если это не критично — да хоть старый комп…
Вы меня не уговаривайте, у меня есть и NASы (не один) на Mini-ITX, и роутеры, и неттопы… Я даже с «большого» компа i5, 32GB, GTX 1070 и т. д., за которым играл и работал много лет, пересел на nettop размером меньше книги. И доволен.
35*76 = около 2 700 рублей.
в искомую сумму можно найти несколько предложении, можно если поискать и микротик/и найти…
п.с — к сожалению сайт ссылку на авито не пропускает.
А мне вот нет. Поэтому дома Netgear R8000, до него (а сейчас в другом месте) Archer C7.
Вот сейчас на TP-Link TL-MR6400 делал dual link VPN L3 (BGP с 7206) с L2 туннелем поверх (резервирование линка). И WireGuard. Сможет его Mikrotik? Нет. И OpenVPN/UDP. Тоже не сможет.
А приложения? Скрипты?
Вот человек NAS тут же хочет. Поможет Mikrotik?
А, да. Вспомнил. Что там с мультикастом?..
У всех свои цели и инструменты.
И да, есть и другие, для меня более весомые аргументы, по которым я никогда не выберу Mikrotik.
согласен. каждый… как он хочет.
и и «всё сразу и можно без хлеба». зачем он нужен вообще на данном историческом этапе?
поможет. не очень быстро будет, но это вполне возможно.
А сравнивать 7206 и R8000 с микротиком за 3-5 тыр не очень корректно.
Речь же об OpenVPN? А почему нет? Чем он плох?
Ну, я 7206 и не сравнивал. Да и «другой конец» — CPE, и не R8000 (он был только упомянут), а TL-MR6400 — я не сравнивал. Я сравнивал возможности, даже при сравнимом железе.
в бюджетах моих задач обычно кроме микротика просто ничего нет. но вы меня убедили, что не стоит зацикливаться и я определенно внимательнее присмотрюсь к OpenWRT. Видимо, со времен DIR-320 всё же ситуация сильно изменилась.
И OpenWRT изменился, и железо стало лучше с тех пор, конечно.
Если интересуют подробности отписывался здесь: www.forumhouse.ru/posts/21456698/
напильникадобавления супервизора. Если Вы с этим не сталкиваетесь — ну, значит Ваш опыт нельзя назвать всесторонним.Тот же Orange Pi ZERO (или PC+ или Lite) + простейший хаб, если нужен.
Я же конкретно про R1 писал, у нее две набортные сетевухи, сама она слабенькая и жрет немного, в отличии от Zero не греется сильно даже без радиатора. Один минус, что под нее готовых корпусов не продают, у меня на столе валяется без корпуса, все никак не дойду до товарища с 3D-принтером :)
www.unix.ck.ua/content/tp-link3020-arduino
Планирую USB порт и SD карту.
Вопрос к ТСу,
Tк я первый раз вижу OpenWRT и сам собрать не смогу, в корне выложенного каталога лежит бинарник (openwrt-ramips-mt76x8-LinkIt7688-squashfs-sysupgrade.bin) — это уже готовый и пропатченный?
Я смогу через веб интерфейс OpenWRT подсунуть этот файл и прошить?
Как можно забекапить существующую прошивку?
Образ вот тут wormhole.ru/openwrt/targets/ramips/mt76x8/openwrt-ramips-mt76x8-LinkIt7688-squashfs-sysupgrade.bin
Со стоковой прошивки устанавливать новую через sysupgrade не пробовал, ставил сразу через u-boot и tftp
Для бекапа есть смысл сохранить /dev/mtd3
Установочные пакеты можно брать и из официального репозитария, кроме модулей ядра, они немного отличаются из-за версии ядра, можно использовать пакеты из моей сборки (я постарался максимально охватить свои потребности в плане программ и пакетов).
Для использования пакетов скомпилированных мной надо в /etc/opkg/customfeeds.conf добавить следующие строки
И в /etc/opkg/distfeeds.conf закомментировать все пакеты.
P.S. Завидую за ЛУТ, сам так не умею.
Не утерпел и до получения сообщения прошил через luci. Сейчас пробую сборку с сообщения через boot и tftp и ничего не выходит. Wireshark тоже при попытке обращения к tftp ничего не видит.
Хотя когда загружен openwrt сеть пашет. Tftp сервер проверил клиентом, работает.
2. Конфигурационный файл можно взять за основу мой wormhole.ru/openwrt/targets/ramips/mt76x8/config.seed, положить в .config и поправить под себя (make menuconfig).
3. Патчи взять отсюда wormhole.ru/openwrt/mt7688-patches/
3.1. Те что с 999- положить в ./target/linux/ramips/patches-4.14/ они сами подхватятся при сборке.
3.2. MTK-7688-dts-serialconsole.patch надо наложить вручную (командой patch) на файл target/linux/ramips/dts/LINKIT7688.dts для переопределения консольного порта и выключения лишних портов по умолчанию.
Дальше собрать и залить образ первый раз через u-boot и консольный кабель, потом штатно через sysupgrade.
хотел попробовать вашу сборку
P.S.: ссылка не работает, хром ругается на небезопасность ресурса
> insmod i2c-gpio-custom bus0=0,19,18 # инициализация 19 — SDA, 18 — SCL
> i2cdetect 0 # сканирование шины
На шину подключено одно устройство, при сканировании адрес устройства не находится
Очень интересная тема, спасибо.
У вас в 999-fix-inifinite-loop-ds1308.patch пропущены a/b в первых строках (на Debian 9.6) патч не накладывается.
У меня два вопроса:
1. Настройка switch0 (rt305x-esw) если настраивали можно ли увидеть конфиг, а то один сетевой интерфейс угнетает как и надпись (Коммутатор «switch0» имеет неизвестную топологию — настройки VLAN не могут быть точными.)
2. Также как-то непонятно отсутствие UAR-ов в /dev/.
1. Я настраиваю не из luci, обычно прямой правкой в /etc/config/network
=== Кусь ===
config switch
option name 'switch0'
option reset '1'
option enable_vlan '1'
config switch_vlan
option vlan '1'
option ports '6t 1 2 3 4 5'
option device 'switch0'
config switch_vlan
option vlan '2'
option ports '6t 0'
option device 'switch0'
=== Кусь ===
Но когда я ставил luci, и после первичного включения vlan'ов вручную через правку конфига, у меня управлялся коммутатор нормально из web. Если проблемы сохранятся, то скажите, я посмотрю.
2. UAR или UART?
[ 0.453126] 10000c00.uartlite: ttyS0 at MMIO 0x10000c00 (irq = 28, base_baud = 2500000) is a 16550A
[ 0.501277] 10000d00.uart1: ttyS1 at MMIO 0x10000d00 (irq = 29, base_baud = 2500000) is a 16550A
— |--- drivers/rtc/rtc-ds1307.c.orig 2019-02-26 10:48:23.278291725 +0000
|+++ drivers/rtc/rtc-ds1307.c 2019-02-26 11:11:58.173121403 +0000
— No file to patch. Skipping patch.
1 out of 1 hunk ignored
Patch failed! Please fix /home/user/openwrt/target/linux/ramips/patches-4.14/999-fix-inifinite-loop-ds1308.patch!
make[4]: *** [Makefile:36: /home/user/openwrt/build_dir/target-mipsel_24kc_musl/linux-ramips_mt76x8/linux-4.14.113/.prepared_81a419e4126c42c315234c0a13a13131] Error 1
make[4]: Leaving directory '/home/user/openwrt/target/linux/ramips'
make[3]: *** [Makefile:13: compile] Error 2
make[3]: Leaving directory '/home/user/openwrt/target/linux'
time: target/linux/compile#6.63#33.57#34.65
make[2]: *** [target/Makefile:25: target/linux/compile] Error 2
make[2]: Leaving directory '/home/user/openwrt'
make[1]: *** [target/Makefile:18: /home/user/openwrt/staging_dir/target-mipsel_24kc_musl/stamp/.target_compile] Error 2
make[1]: Leaving directory '/home/user/openwrt'
make: *** [/home/user/openwrt/include/toplevel.mk:218: world] Error 2
Полученную прошивку не заливал. С модулем какая-то беда — при запуске загрузчика пролетает меню и запускает сразу по умолчанию без таймера пункт 4 — загрузка с флеша. Выбрать 2 — ТFTP нельзя, не реагирует на клавиатуру.
В версии ядра 4.14.119 файл должен выглядеть вот так:
HLK-7688A
собрана прошивка 19.07.1
Стоит
kmod-i2c-code
kmod-i2c-mt7628
i2c-tools
kmod-hwmon-core
kmod-hwmon-ads1015
Может кто сталкивался
Вопрос по hwmon. Точнее kmod-hwmon-ads1015 модулю
в /sys/class/hwmon пусто
https://aliexpress.ru/item/item/32873950934.html
или
www.kosmodrom.com.ua/el.php?name=DLJ06A-0512