Debug board on MT7688AN with rich functionality and OpenWRT support.

I needed a router to the country, which in addition todistributing the Internet would still do a little useful things: collect data from temperature sensors and sometimes turn on the heating in my house at my request before my arrival. At first, Asus RT-N16 with an addition from Arduino was considered as a source of various GPIOs, but he found a problem with the fact that when he connected several usb devices, he started spontaneously and often rebooted, I could not cure the problem (and especially not tried) and I began to look for options for replacement.

A couple of years ago I read about development from MediaTekLinkIt Smart 7688, but in spite of all its goodies, it did not have a ready-made ethernet port, however, a search for Ali gave a module from HiLink HLK-7688AN and most importantly, there were two options for ready-made debugging boards based on this module, this is an audio player board with one ethernet port, SD slot and audio output (maybe I will order it later) and the router card in question, in which the usb port, five-port switch, two com ports, i2c, i2s and spi buses turned out to be just right.
From greed, I immediately ordered a set of two boards,since they cost a little cheaper, and the second board would be useful if the other turned into a brick. The seller turned out to be sociable, and immediately asked if I wanted OpenWRT or Transparent firmware, what I didn’t recognize Transparent, and asked OpenWRT, after a week the boards were sent and two more came to my house. By the way, the seller turned out to be very sociable and gladly shared technical documentation with me, which really didn’t add much, since I already collected all the other information while the boards were coming to me.
The box had two boards, two antennas with pigtails and two power supplies (the seller himself sent with a European plug).

On the debug board there is a board with the HiLink HLK-7688AN module (MT7628 single-core processor with a frequency of 780 MHz, 128 MB memory and 32 MB flash).

/ proc / cpuinfo



Under the module are two MAX232 chipsconnected to the DB-9 connectors on the left side of the board, I did not remove the module for fear of bending the contacts, as it moved with great difficulty. Also on the left side of the board are the Reset and Restart buttons, the WiFi LED and the power supply connector. On the right side of the board are five ethernet connectors labeled WAN and LAN1 - LAN4. On the board itself, serial ports with TTL levels (no more than 3.3V) are duplicated, there are also 4 buttons of which two duplicated Reset and Restart and two connected to the feet of the controller are most likely used in the Transparent version of the firmware, the Restart button resets the controller, the remaining buttons can be used to programmatically configure the legs to which these buttons are connected as GPIO. On the upper part there are contacts usb, i2c, spi, i2s, a controller reset leg, 3.3V module power and 5V parallel to the input connector. The board has five mounting points.

There are no elements on the back of the board, but there is a marking of the contacts on the board.

The hole pitch on the connectors is standard 2.54mm, so I immediately soldered the appropriate combs there.
The router console is located on the RX0 / TX0 ports. After turning on the power, the board booted up, but the OpenWRT version was loaded with the old one (Barrier Breaker) and lacked some packages for full operation, I tried to upgrade the more recent version 18.06 and ran into various problems, of which there were two main ones, the console switched to com port when loading which was not reconfigured / configured and the board hung upon reboot until a power reset. Having tormented the search engine for both problems, I realized that I needed to build OpenWRT from the sources, the LinkIt Smart 7688 board was taken in which the serial port number was fixed in the .dts file and a patch for flash was added to fix the board freezing upon reboot. After the final assembly, there were a few minor problems, but I solved them simply by editing the configuration files manually (for example, from luci I could not configure vlan’s on the switch). It was flashing through u-boot and tftp, after flashing to flash 27MB remained free, which should be enough for more than most tasks, in special cases you can use the block-mount mechanism and transfer all or part of the root partition to an external drive.
On the whole, I am satisfied with the board, my 100 megabytes perIt gives excellent copper ports, on wifi the range in my house is clogged with third-party points, but I received 10 megabits through the air from it. I have not yet figured out the implementation of i2c and gpio, perhaps this is a topic for a separate post, if there are interested ones. For those who want to repeat the assembly from scratch, I can tell the details in a separate post, but for now I have posted all the files received as a result of the assembly at my place on the page