openwrtv3/target/linux
Tobias Schramm 5684d08741 ramips: Add support for Mikrotik RouterBOARD RBM33g
This commit adds support for the Mikrotik RouterBOARD RBM33g.

=Hardware=

The RBM33g is a mt7621 based device featuring three gigabit ports, 2
miniPCIe slots with sim card sockets, 1 M.2 slot, 1 USB 3.0 port and a male
onboard RS-232 serial port. Additionally there are a lot of accessible
GPIO ports and additional buses like i2c, mdio, spi and uart.

==Switch==

The three Ethernet ports are all connected to the internal switch of the
mt7621 SoC:

port 0: Ethernet Port next to barrel jack with PoE printed on it
port 1: Innermost Ethernet Port on opposite side of RS-232 port
port 2: Outermost Ethernet Port on opposite side of RS-232 port
port 6: CPU

==Flash==

The device has two spi flash chips. The first flash chips is rather small
(512 kB), connected to CS0 by default and contains only the RouterBOOT
bootloader and some factory information (e.g. mac address).
The second chip has a size of 16 MB, is by default connected to CS1 and
contains the firmware image.

==PCIe==

The board features three PCIe-enabled slots. Two of them are miniPCIe
slots (PCIe0, PCIe1) and one is a M.2 (Key M) slot (PCIe2).
Each of the miniPCIe slots is connected to a dedicated mini SIM socket
on the back of the board.

Power to all three PCIe-enabled slots is controlled via GPIOs on the
mt7621 SoC:

PCIe0: GPIO9
PCIe1: GPIO10
PCIe2: GPIO11

==USB==

The board has one external USB 3.0 port at the rear. Additionally PCIe
port 0 has a permanently enabled USB interface. PCIe slot 1 shares its
USB interface with the rear USB port. Thus only either the rear USB port
or the USB interface of PCIe slot 1 can be active at the same time. The
jumper next to the rear USB port controls which one is active:

open: USB on PCIe 1 is active
closed: USB on rear USB port is active

==Power==

The board can accept both, passive PoE and external power via a 2.1 mm
barrel jack. The input voltage range is 11-32 V.

=Installation=

==Prerequisites==

A USB -> RS-232 Adapter and a null modem cable are required for
installation.

To install an OpenWRT image to the device two components must be built:

1. A openwrt initramfs image
2. A openwrt sysupgrade image

===initramfs & sysupgrade image===

Select target devices "Mikrotik RBM33G" in
openwrt menuconfig and build the images. This will create the images
"openwrt-ramips-mt7621-mikrotik_rbm33g-initramfs-kernel.bin" and
"openwrt-ramips-mt7621-mikrotik_rbm33g-squashfs-sysupgrade.bin" in the output
directory.

==Installing==

**Make sure to back up your RouterOS license in case you do ever want to
go back to RouterOS using "/system license output" and back up the created
license file.**

Serial settings: 115200 8N1

The installation is a two-step process. First the
"openwrt-ramips-mt7621-mikrotik_rbm33g-initramfs-kernel.bin" must be booted
via tftp:

1. Set up a dhcp server that points the bootfile to tftp server serving
   the "openwrt-ramips-mt7621-mikrotik_rbm33g-initramfs-kernel.bin"
   initramfs image
2. Connect to WAN port (left side, next to sys-LED and power indicator)
3. Connect to serial port of board
4. Power on board and enter RouterBOOT setup menu
5. Set boot device to "boot over ethernet"
6. Set boot protocol to "dhcp protocol" (can be omitted if DHCP server
   allows dynamic bootp)
6. Save config
7. Wait for board to boot via Ethernet

On the serial port you should now be presented with the OpenWRT boot log.
The next steps will install OpenWRT persistently.

1. Copy "openwrt-ramips-mt7621-mikrotik_rbm33g-squashfs-sysupgrade.bin" to the device
   using scp.
2. Write openwrt to flash using "sysupgrade
   openwrt-ramips-mt7621-mikrotik_rbm33g-squashfs-sysupgrade.bin"

Once the flashing completes reboot the router and let it boot from flash.
It should boot straight to OpenWRT.

Signed-off-by: Tobias Schramm <tobleminer@gmail.com>
2018-06-21 06:54:42 +02:00
..
adm5120 kernel: mark all v3.18 and v4.4 kernels are source-only 2018-05-24 08:55:52 +02:00
adm8668 kernel: mark all v3.18 and v4.4 kernels are source-only 2018-05-24 08:55:52 +02:00
apm821xx kernel: bump 4.14 to 4.14.48 2018-06-05 22:54:00 +03:00
ar7 kernel: bump 4.9 to 4.9.100 2018-05-18 09:10:21 +02:00
ar71xx ar71xx: add support for TP-LINK Archer C7 v5 2018-06-20 15:36:19 +02:00
arc770 arc770: bump kernel to 4.14 2018-06-19 14:32:47 +02:00
archs38 kernel: enable THIN_ARCHIVES by default 2018-05-22 07:55:20 +02:00
armvirt arm64: enable harden branch predictor 2018-04-27 21:34:18 +02:00
at91 kernel: bump 4.9 to 4.9.100 2018-05-18 09:10:21 +02:00
ath25 ath25: drop 4.9 kernel support 2018-05-22 07:20:13 +02:00
ath79 ath79: ar934x: use irq-ath79-intc driver and enable wmac 2018-06-20 11:12:00 +02:00
au1000 kernel: mark all v3.18 and v4.4 kernels are source-only 2018-05-24 08:55:52 +02:00
bcm53xx bcm53xx: exit if writing kernel during sysupgrade fails 2018-06-18 13:47:08 +02:00
brcm47xx kernel: bump to 4.9.105 2018-06-01 08:25:14 +02:00
brcm63xx kernel: enable THIN_ARCHIVES by default 2018-05-22 07:55:20 +02:00
brcm2708 brcm2708: Add wifi driver, firmware and NVRAM for Raspberry Pi 3 b 2018-06-20 21:50:14 +02:00
cns3xxx kernel: enable THIN_ARCHIVES by default 2018-05-22 07:55:20 +02:00
gemini gemini: Cook SQ201 images 2018-06-18 06:35:33 +02:00
generic mips: fix dynamic ftrace 2018-06-18 20:29:26 +02:00
imx6 kernel: enable THIN_ARCHIVES by default 2018-05-22 07:55:20 +02:00
ipq40xx ipq40xx: add support for ZyXEL WRE6606 2018-06-18 18:21:20 +02:00
ipq806x ipq806x: add support for NEC Aterm WG2600HP 2018-06-19 20:46:01 +02:00
ixp4xx kernel: bump to 4.9.105 2018-06-01 08:25:14 +02:00
kirkwood kernel: enable THIN_ARCHIVES by default 2018-05-22 07:55:20 +02:00
lantiq lantiq: atm: fix ifx_atm driver integration 2018-06-18 15:26:41 +02:00
layerscape kernel: bump to 4.9.105 2018-06-01 08:25:14 +02:00
malta malta: bump tp v4.14 2018-01-09 10:26:16 +01:00
mcs814x kernel: mark all v3.18 and v4.4 kernels are source-only 2018-05-24 08:55:52 +02:00
mediatek mediatek: mt7622: Do not deactivate CONFIG_BLK_DEV 2018-06-18 07:10:19 +02:00
mpc85xx kernel: bump to 4.9.105 2018-06-01 08:25:14 +02:00
mvebu mvebu: enable CONFIG_HW_RANDOM 2018-06-18 20:29:38 +02:00
mxs kernel: enable THIN_ARCHIVES by default 2018-05-22 07:55:20 +02:00
octeon octeon: Add and set CPU type Octeon+ as default 2018-06-20 15:36:02 +02:00
octeontx kernel: enable THIN_ARCHIVES by default 2018-05-22 07:55:20 +02:00
omap kernel: enable EXPORTFS by default 2018-05-22 07:55:05 +02:00
omap24xx omap24xx: remove referece to not existing kmod-usb-musb-tusb6010 2018-01-15 13:13:34 +01:00
orion orion: remove linux 4.4 support 2018-04-19 14:38:57 +02:00
oxnas kernel: bump 4.14 to 4.14.48 2018-06-05 22:54:00 +03:00
pistachio kernel: bump 4.14 to 4.14.42 2018-05-22 20:49:08 +02:00
ppc40x treewide: drop target board_name functions 2017-07-15 23:13:34 +02:00
ppc44x ppc44x: mark as broken 2017-01-10 12:49:34 +01:00
ramips ramips: Add support for Mikrotik RouterBOARD RBM33g 2018-06-21 06:54:42 +02:00
rb532 treewide: move nand_do_upgrade call to platform_do_upgrade 2018-02-16 14:44:02 +01:00
sunxi kernel: bump 4.9 to 4.9.108 2018-06-18 07:10:19 +02:00
uml kernel: bump 4.9 to 4.9.100 2018-05-18 09:10:21 +02:00
x86 kernel: bump 4.9 to 4.9.106 2018-06-07 09:04:46 +02:00
xburst kernel: mark all v3.18 and v4.4 kernels are source-only 2018-05-24 08:55:52 +02:00
zynq zynq: remove support for kernel 4.4 2018-06-07 09:00:49 +02:00
Makefile