MikroTik RouterBoard RB711-5Hn-MMCX
The device is not yet supported but there is some code ready to test in trunk. So far (February 2015), wifi modules crash with a kernel panic, ethernet does not transmit any packages successfully and and the flash layout doesn't look right.
Hardware info
Architecture | MIPS |
---|---|
Vendor | MikroTik |
Bootloader | RouterBOOT |
System-On-Chip | AR7240 (Big Endian) |
CPU Speed | 400 MHz |
Flash size | 64 MiB NAND (St NAND512W3A2DN6) |
RAM | 32 MiB DDR2 (POintec PT461616HG) |
Wireless | AR9280 802.11a/n |
Ethernet | ? |
Serial | Yes |
JTAG | ? |
Power Supply | 18VDC, 1A (PoE DC + Pair 4/5, DC - Pair 7/8) |
Installation
If you flash OpenWrt from NetBoot facility, you will lose your RouterOS licence.
If you build OpenWrt from trunk, you first have to apply a patch:
wget "https://onny.project-insanity.org/files/rb711-openwrt.patch" patch -p0 < rb711-openwrt.patch make defconfig
Then select these menuconfig options:
Target System: Atheros AR71xx
Subtarget: Mikrotik devices with NAND flash
Target Images: ramdisk
You have to adjust following config parameters in this file: target/linux/ar71xx/mikrotik/config-default before compiling
CONFIG_CMDLINE="console=ttyS0,115200 GPIO_RESET=yes gpio=790341 HZ=200000000 mem=32M board=711 boot=0 mlc=2 rootfstype=yaffs noinitrd" CONFIG_CMDLINE_OVERRIDE=y
Here's an easy way to setup Dhcp and Tftp using Dnsmasq:
sudo service network-manager stop sudo ifconfig eth1 192.168.1.2 up sudo dnsmasq -i eth1 --dhcp-range=192.168.1.100,192.168.1.200 --dhcp-boot=openwrt-ar71xx-nand-vmlinux-initramfs.elf --enable-tftp --tftp-root=/tmp/openwrt -d -p0 -K --log-dhcp --bootp-dynamic
Connect ethernet to your RouterBoard device and holt the S301 button pressed while booting it up. LED LD301 starts lighting up, then flashing and than turns off. After this you can release the button and the router starts looking for a TFTP server providing an elf-image. If you want to have a look at the booting process, you can solder RS232 serial connection to your board (see picture below) and connect to it for example with this command:
sudo minicom -D /dev/ttyUSB0 -b 115200
Important to note: Serial output is disabled by default by the bootloader. Therefore, the first output comes with your OpenWrt kernel booting. Here's my bootup log (an older one!, dmesg):
[ 0.000000] Linux version 3.14.30 (onny@playground) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r44236) ) #2 Mon Feb 2 02:41:11 UTC5 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 00019374 (MIPS 24Kc) [ 0.000000] SoC: Atheros AR7241 rev 1 [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 02000000 @ 00000000 (usable) [ 0.000000] User-defined physical RAM map: [ 0.000000] memory: 02000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x00000000-0x01ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x00000000-0x01ffffff] [ 0.000000] On node 0 totalpages: 8192 [ 0.000000] free_area_init_node: node 0, pgdat 8032a420, node_mem_map 81000000 [ 0.000000] Normal zone: 64 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 8192 pages, LIFO batch:0 [ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. [ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128 [ 0.000000] Kernel command line: console=ttyS0,115200 GPIO_RESET=yes gpio=790341 HZ=200000000 mem=32M kmac=00:0C:42:7B:92:72 board=711Gr10d [ 0.000000] PID hash table entries: 128 (order: -3, 512 bytes) [ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000000] Writing ErrCtl register=0003fee0 [ 0.000000] Readback ErrCtl register=0003fee0 [ 0.000000] Memory: 26928K/32768K available (2328K kernel code, 150K rwdata, 492K rodata, 1948K init, 183K bss, 5840K reserved) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:51 [ 0.000000] Clocks: CPU:400.000MHz, DDR:400.000MHz, AHB:200.000MHz, Ref:5.000MHz [ 0.000000] Calibrating delay loop... 265.42 BogoMIPS (lpj=1327104) [ 0.080000] pid_max: default: 32768 minimum: 301 [ 0.080000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.090000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.100000] NET: Registered protocol family 16 [ 0.110000] MIPS: machine is Mikrotik RouterBOARD 711-5Hn-MMCX [ 0.340000] platform gpio-latch: Driver gpio-latch requests probe deferral [ 0.350000] bio: create slab <bio-0> at 0 [ 0.360000] Switched to clocksource MIPS [ 0.370000] NET: Registered protocol family 2 [ 0.370000] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.380000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.380000] TCP: Hash tables configured (established 1024 bind 1024) [ 0.390000] TCP: reno registered [ 0.390000] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.400000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.400000] NET: Registered protocol family 1 [ 0.410000] PCI: CLS 0 bytes, default 32 [ 3.790000] futex hash table entries: 256 (order: -1, 3072 bytes) [ 3.810000] yaffs: yaffs built Feb 2 2015 02:27:12 Installing. [ 3.810000] msgmni has been set to 52 [ 3.820000] io scheduler noop registered [ 3.820000] io scheduler deadline registered (default) [ 3.830000] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled [ 3.850000] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11, base_baud = 12500000) is a 16550A [ 3.860000] console [ttyS0] enabled [ 3.870000] bootconsole [early0] disabled [ 3.880000] ath79-spi ath79-spi: can't setup spi0.1, status -517 [ 3.890000] ath79-spi ath79-spi: can't create new device for 74x164 [ 3.900000] m25p80 spi0.0: found mr25h256, expected m25p80 [ 3.900000] m25p80 spi0.0: mr25h256 (32 Kbytes) [ 3.910000] Creating 4 MTD partitions on "spi0.0": [ 3.910000] 0x000000000000-0x00000000b000 : "routerboot" [ 3.920000] mtd: partition "routerboot" extends beyond the end of device "spi0.0" -- size truncated to 0x8000 [ 3.930000] 0x00000000b000-0x00000000c000 : "hard_config" [ 3.930000] mtd: partition "hard_config" is out of reach -- disabled [ 3.940000] 0x00000000d000-0x00000000e000 : "bios" [ 3.950000] mtd: partition "bios" is out of reach -- disabled [ 3.960000] 0x00000000f000-0x000000010000 : "soft_config" [ 3.960000] mtd: partition "soft_config" is out of reach -- disabled [ 3.970000] NAND flash driver for the RouterBOARD 91x series [ 3.980000] platform rb91x-nand: Driver rb91x-nand requests probe deferral [ 4.000000] libphy: ag71xx_mdio: probed [ 4.600000] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.1:04 [uid=004dd041, driver=Generic PHY] [ 4.610000] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:MII [ 4.610000] platform leds-gpio: Driver leds-gpio requests probe deferral [ 4.620000] TCP: cubic registered [ 4.630000] NET: Registered protocol family 17 [ 4.630000] 8021q: 802.1Q VLAN Support v1.8 [ 4.640000] platform gpio-latch: Driver gpio-latch requests probe deferral [ 4.640000] NAND flash driver for the RouterBOARD 91x series [ 4.650000] platform rb91x-nand: Driver rb91x-nand requests probe deferral [ 4.660000] platform leds-gpio: Driver leds-gpio requests probe deferral [ 4.680000] Freeing unused kernel memory: 1948K (80349000 - 80530000) [ 4.730000] usbcore: registered new interface driver usbfs [ 4.730000] usbcore: registered new interface driver hub [ 4.740000] usbcore: registered new device driver usb [ 4.750000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 4.760000] ehci-platform: EHCI generic platform driver [ 4.770000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 4.780000] ohci-platform: OHCI generic platform driver [ 5.950000] random: mktemp urandom read with 9 bits of entropy available [ 8.600000] eth0: link up (100Mbps/Full duplex) [ 9.080000] eth0: link down [ 11.420000] NET: Registered protocol family 10 [ 11.430000] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 11.450000] Loading modules backported from Linux version master-2014-11-04-0-gf3660a2 [ 11.450000] Backport generated by backports.git backports-20141023-2-g4ff890b [ 11.460000] ip_tables: (C) 2000-2006 Netfilter Core Team [ 11.480000] nf_conntrack version 0.5.0 (451 buckets, 1804 max) [ 11.540000] xt_time: kernel timezone is -0000 [ 11.570000] cfg80211: Calling CRDA to update world regulatory domain [ 11.570000] cfg80211: World regulatory domain updated: [ 11.580000] cfg80211: DFS Master region: unset [ 11.580000] cfg80211: (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp), (dfs_cac_time) [ 11.590000] cfg80211: (2402000 KHz - 2472000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A) [ 11.600000] cfg80211: (2457000 KHz - 2482000 KHz @ 40000 KHz), (N/A, 2000 mBm), (N/A) [ 11.610000] cfg80211: (2474000 KHz - 2494000 KHz @ 20000 KHz), (N/A, 2000 mBm), (N/A) [ 11.620000] cfg80211: (5170000 KHz - 5250000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A) [ 11.620000] cfg80211: (5250000 KHz - 5330000 KHz @ 80000 KHz, 160000 KHz AUTO), (N/A, 2000 mBm), (0 s) [ 11.630000] cfg80211: (5490000 KHz - 5730000 KHz @ 160000 KHz), (N/A, 2000 mBm), (0 s) [ 11.640000] cfg80211: (5735000 KHz - 5835000 KHz @ 80000 KHz), (N/A, 2000 mBm), (N/A) [ 11.650000] cfg80211: (57240000 KHz - 63720000 KHz @ 2160000 KHz), (N/A, 0 mBm), (N/A) [ 11.750000] PPP generic driver version 2.4.2 [ 11.760000] NET: Registered protocol family 24 [ 19.580000] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 19.580000] device eth0 entered promiscuous mode [ 19.600000] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready [ 19.800000] eth0: link up (100Mbps/Full duplex) [ 19.800000] br-lan: port 1(eth0) entered forwarding state [ 19.810000] br-lan: port 1(eth0) entered forwarding state [ 19.810000] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 19.840000] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready [ 21.800000] eth0: link down [ 21.800000] br-lan: port 1(eth0) entered disabled state [ 22.800000] eth0: link up (100Mbps/Full duplex) [ 22.800000] br-lan: port 1(eth0) entered forwarding state [ 22.810000] br-lan: port 1(eth0) entered forwarding state [ 24.810000] br-lan: port 1(eth0) entered forwarding state [ 76.460000] random: nonblocking pool is initialized