ar71xx: add support for Mikrotik RB750P-PBr2
authorRobert Marko <robimarko@gmail.com>
Thu, 5 Oct 2017 12:26:23 +0000 (14:26 +0200)
committerMathias Kresin <dev@kresin.me>
Sat, 14 Oct 2017 08:48:29 +0000 (10:48 +0200)
Specifications:
- SoC: Qualcomm QCA9531 (650MHz)
- RAM: 64MB
- Storage: 16MB NOR SPI flash
- Ethernet: 5x100M (1 PoE in, 4 PoE out)
- Outdoor use ready

This ethernet router is based on the same platform as the hEX PoE lite.

Installation

1. login to the Mikrotik WebUI to backup your licence keys
2. setup a DHCP/BOOTP Server with:
     * DHCP-Option 66 (TFTP server name) pointing to a local TFTP
       Server within the same subnet of the DHCP range
     * DHCP-Option 67 (Bootfile-Name) matching the initramfs filename
       of the to be booted image
3. connect the port labled internet to your local network
4. keep the reset button pushed down and power on the board

The board should load and start the initramfs image from the TFTP
Server. Login as root/without password to the started LEDE via ssh
listing on IPv4 address 192.168.1.1. Use sysupgrade to install LEDE.

Revert to RouterOS

Use the "rbcfg" package on in LEDE:
  * rbcfg set boot_protocol bootp
  * rbcfg set boot_device ethnand
  * rbcfg apply

Open Netinstall and reboot routerboard. Now netinstall sees routerboard
and you can install RouterOS. If NetInstall gets stuck on Sending offer
just wait for it to timeout and then close and open Netinstall again.

Click on install again.

In order for RouterOS to function properly, you need to restore license
for the device. You can do that by including license in NetInstall

Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/ar71xx/base-files/etc/board.d/01_leds
target/linux/ar71xx/base-files/etc/board.d/02_network
target/linux/ar71xx/base-files/etc/board.d/03_gpio_switches
target/linux/ar71xx/base-files/etc/diag.sh
target/linux/ar71xx/base-files/lib/ar71xx.sh
target/linux/ar71xx/base-files/lib/upgrade/platform.sh
target/linux/ar71xx/files/arch/mips/ath79/Kconfig.openwrt
target/linux/ar71xx/files/arch/mips/ath79/mach-rbspi.c
target/linux/ar71xx/image/mikrotik.mk

index 51d21ca917bb44e553466b8f4d0b39e8c92cb4be..80d195301b87639b0170a3a0e1c9c7c776179319 100755 (executable)
@@ -267,6 +267,7 @@ rb-750)
        ucidef_set_led_switch "port5" "port5" "rb750:green:port5" "switch0" "0x02"
        ;;
 rb-750-r2|\
+rb-750p-pbr2|\
 rb-750up-r2)
        ucidef_set_led_timer "user" "USER" "rb:green:user" "1000" "1000"
        ucidef_set_led_netdev "port1" "port1" "rb:green:port1" "eth0"
index 39e819fd3dcb4bf942db9c65ad52685e5ddd678b..d83835204ac599f373ad59f619b8daeb2027441b 100755 (executable)
@@ -160,6 +160,7 @@ ar71xx_setup_interfaces()
                ucidef_set_interfaces_lan_wan "eth1" "eth0"
                ;;
        rb-750-r2|\
+       rb-750p-pbr2|\
        rb-750up-r2)
                ucidef_set_interfaces_lan_wan "eth1.1" "eth0"
                ucidef_add_switch "switch0" \
index add7e47e857c9c9f44f72feb1a2023accb8f8ca3..360a45f695fc5e34e545f8d97c92ec14865aa307 100755 (executable)
@@ -32,6 +32,9 @@ rb-952ui-5ac2nd)
        ucidef_add_gpio_switch "usb_power_switch" "USB Power Switch" "45" "1"
        ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "14"
        ;;
+rb-750p-pbr2)
+       ucidef_add_gpio_switch "poe_passthrough" "PoE Passthrough" "14"
+       ;;
 esac
 
 board_config_flush
index 6794d89115a0c152280c0c103d9a287d315bdc6b..ade726f726d04c1d3af0264fdab1bede6fef9bd8 100644 (file)
@@ -316,6 +316,7 @@ get_status_led() {
                status_led="rb750:green:act"
                ;;
        rb-750-r2|\
+       rb-750p-pbr2|\
        rb-750up-r2|\
        rb-911g-2hpnd|\
        rb-911g-5hpacd|\
index 0bd96c06512f387b395532d127c73d9b4ed40be0..835ced67f361b387f2ac5029b498f2c3a06fd32b 100755 (executable)
@@ -911,6 +911,9 @@ ar71xx_board_detect() {
        *"RouterBOARD 750GL")
                name="rb-750gl"
                ;;
+       *"RouterBOARD 750P r2")
+               name="rb-750p-pbr2"
+               ;;
        *"RouterBOARD 750UP r2")
                name="rb-750up-r2"
                ;;
index 65d90d40090bc0019636a8ad71501676dfb37b22..778faeda5aa42a5afafe150d6138f77b62f69641 100755 (executable)
@@ -655,6 +655,7 @@ platform_check_image() {
        # these boards use metadata images
        fritz300e|\
        rb-750-r2|\
+       rb-750p-pbr2|\
        rb-750up-r2|\
        rb-941-2nd|\
        rb-951ui-2nd|\
@@ -712,6 +713,7 @@ platform_pre_upgrade() {
                nand_do_upgrade "$1"
                ;;
        rb-750-r2|\
+       rb-750p-pbr2|\
        rb-750up-r2|\
        rb-941-2nd|\
        rb-951ui-2nd|\
index 173de346f1c9a4e51e77af7f109c5574b767de11..454aee6268d5935f839edcff7a3af7ae4a07e795 100644 (file)
@@ -1008,6 +1008,7 @@ config ATH79_MACH_RBSPI
          MikroTik RouterBOARD hAP ac lite
          MikroTik RouterBOARD hEX PoE lite
          MikroTik RouterBOARD hEX lite
+         MikroTik RouterBOARD Powerbox
          MikroTik RouterBOARD LHG 5
          MikroTik RouterBOARD cAP (EXPERIMENTAL)
          MikroTik RouterBOARD mAP (EXPERIMENTAL)
index 58e3138b5d3f18ba68a22cd495f46adef6ede523..4cdc171de1ccddaea0b00a939e215d2e5926e4f2 100644 (file)
@@ -7,6 +7,7 @@
  *  - MikroTik RouterBOARD 952Ui-5ac2nD
  *  - MikroTik RouterBOARD 962UiGS-5HacT2HnT
  *  - MikroTik RouterBOARD 750UP r2
+ *  - MikroTik RouterBOARD 750P-PBr2
  *  - MikroTik RouterBOARD 750 r2
  *  - MikroTik RouterBOARD LHG 5nD
  *
@@ -763,7 +764,8 @@ static void __init rb952_setup(void)
  * Init the hEX (PoE) lite hardware (QCA953x).
  * The 750UP r2 (hEX PoE lite) is nearly identical to the hAP, only without
  * WLAN. The 750 r2 (hEX lite) is nearly identical to the 750UP r2, only
- * without USB and POE. It shares the same bootloader board identifier.
+ * without USB and POE. The 750P Pbr2 (Powerbox) is nearly identical to hEX PoE
+ * lite, only without USB. It shares the same bootloader board identifier.
  */
 static void __init rb750upr2_setup(void)
 {
@@ -776,6 +778,10 @@ static void __init rb750upr2_setup(void)
        if (strstr(mips_get_machine_name(), "750UP r2"))
                flags |= RBSPI_HAS_USB | RBSPI_HAS_POE;
 
+       /* differentiate the Powerbox from the hEX lite */
+       else if (strstr(mips_get_machine_name(), "750P r2"))
+               flags |= RBSPI_HAS_POE;
+
        rbspi_952_750r2_setup(flags);
 }
 
index 9ba0f0f2761c798b8d9e2f2270d7fc622d56dddd..8f7d7cce988964d8bea7a632f9cc4f27f6d02f81 100644 (file)
@@ -30,7 +30,7 @@ define Device/rb-nor-flash-16M
   LOADER_TYPE := elf
   KERNEL_INSTALL := 1
   KERNEL := kernel-bin | lzma | loader-kernel
-  SUPPORTED_DEVICES := rb-750-r2 rb-750up-r2 rb-941-2nd rb-951ui-2nd rb-952ui-5ac2nd rb-962uigs-5hact2hnt rb-lhg-5nd rb-mapl-2nd
+  SUPPORTED_DEVICES := rb-750-r2 rb-750up-r2 rb-750p-pbr2 rb-941-2nd rb-951ui-2nd rb-952ui-5ac2nd rb-962uigs-5hact2hnt rb-lhg-5nd rb-mapl-2nd
   IMAGE/sysupgrade.bin := append-kernel | kernel2minor -s 1024 -e | pad-to $$$$(BLOCKSIZE) | \
        append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE)
 endef