Отладочная плата на MT7688AN с богатым функционалом и поддержкой OpenWRT.

Опубликовал | 22.11.2018

Понадобился мне на дачу роутер, который помимо раздачи интернета еще бы делал немножко полезных дел: собирал данные с датчиков температуры и иногда включал по моей просьбе отопление в доме перед моим приездом. Сначала на эту роль рассматривался 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, возможно это тема для отдельного поста, если найдутся заинтересованные. Для желающих повторить сборку с нуля, могу рассказать подробности отдельным постом, а пока все файлы полученные в результате сборки я выложил пока у себя на страничке

Планирую купить 0 Добавить в избранное 0

(c) 2017 Источник материала

Рекламные ссылки