Mikrotik RouterBoard 450G (RB-450G)

The good news: Attitude Adjustment 12.09 works very well on the RB-450G. The device is built with good hardware, almost all of which is fully supported. The switch chipset (Atheros AR8316) however does not provide support for mixing tagged and untagged VLAN's on the same port. With a fast processor, gigabit ethernet, and relatively huge amounts of RAM and flash, this is a very capable device once OpenWRT is installed.

The bad news: getting OpenWRT installed in the first place is not straightforward.

Installing a New Firmware Image

OpenWRT doesn't provide a firmware image that can be written directly to the flash memory via the firmware update system in Mikrotik's RouterOS. So installing OpenWRT is a two step process that requires two separate kernel images.

You're going to need a computer that can build OpenWRT from source. You're also going to need a desktop computer that has a working serial port and an ethernet interface. This computer will also need to have:

  • some kind of serial terminal software
  • a DHCP server; this documentation will use dnsmasq
  • a TFTP server; also dnsmasq

The following instructions illustrate installing Attitude Adjustment 12.09, but should be easily adaptable to other versions.

Create a netboot image for the RB450G

  1. You could configure the system entirely by hand, but it's easier to just start with an existing configuration that works for the RB450G.
    • here is a smaller configuration made for Backfire (r24027). It will not take as long to compile as the default OpenWRT configuration, and works fine for Attitude Adjustment 12.09-rc1.
  2. Configure the system to use a ramdisk:
    Target Images  --->
        [*] ramdisk
  3. The build will create the file bin/ar71xx/openwrt-ar71xx-nand-vmlinux-initramfs-lzma.elf. This is the kernel+ramdisk that the RB450G will use to boot.

TODO: is it possible to directly combine a kernel and the rootfs provided by OpenWRT? This would get around needing to build an image from source.

Boot the RB450G from the network

  1. Connect the ethernet adapter of your desktop computer to Eth1 of the RB450G using either a straight or crossover cable. The RB450G will figure out the crossover on its own.
  2. Manually assign an IPv4 address (anything other than 192.168.1.1, or anything in the range of IPs used in your local LAN) to the ethernet adapter on your desktop computer. Here I'll use 10.2.3.4.
  3. Set up dnsmasq on the desktop computer.
    1. The RB450G's bootloader apparently ignores all DHCP options, such as tftp-server or bootp-filename, normally used to instruct a netboot device how to find its image. So you need to set up dnsmasq with specific options to work around this quirk.
    2. Copy the file openwrt-ar71xx-nand-vmlinux-initramfs-lzma.elf from your OpenWRT build tree to a clean directory like ~/tftproot/. Rename the file to vmlinux.
    3. Run sudo dnsmasq -a 10.2.3.4 -z -d -p 0 -F 10.2.3.5,10.2.3.6 –enable-tftp –tftp-root=~/tftproot/ –dhcp-boot=~/tftproot/vmlinux.
    4. dnsmasq should start in the foreground writing all its output to the terminal; you're only going to run it temporarily, and having the debugging information may come in handy.
  1. Connect the serial port of your desktop computer to the serial port of your RB450G using a null modem cable. Start your terminal server program. The RB450G serial interface uses 8N1 with hardware flow control at 115200 bps.

TIP: Try setting hardware flow control to off if you can't get to the bootloader menu (i.e. it always times out without detecting a key press). If using minicom, try minicom -o –color=on –device=/dev/ttyS#, then once minicom opens, type CONTROL A Z and find your way to disable hardware flow control. Or try screen /dev/ttyS# 115200 To figure out which ttyS device you should use, the command dmesg | grep ttyS can be helpful.

  1. Power up the RB450G. Immediately hit any key to go to the bootloader menu:
    What do you want to configure?
      d - boot delay
      k - boot key
      s - serial console
      o - boot device
      u - cpu mode
      f - cpu frequency
      r - reset booter configuration
      e - format nand
      g - upgrade firmware
      i - board info
      p - boot protocol
      t - do memory testing
      x - exit setup
  2. Select o - boot device and then select 1 to boot once from the network, and then boot from the nand after that. Hit x to exit setup.
  3. The RB450G will reboot. Let the bootloader menu time out, and it should get an address via DHCP and then load the netboot image from your desktop computer. After a minute or so, you should be able to hit <enter> and get to the OpenWRT prompt.

Install the OpenWRT distribution

  1. Don't bother configuring anything while in netboot. Any changes you make won't be written back to the original image, so they'll all be lost when you reboot anyway.
  2. You can disconnect the ethernet connection between your RB450G and your desktop system. Do not disconnect the serial connection.
  3. Wipe out any network self-configuration that the RB450 has done: ifconfig eth0 down and ifconfig br-lan down. While not absolutely necessary, I suggest doing this so that anything that the RB450G has done on its own doesn't conflict with your existing LAN setup.
  4. Now you'll need to establish a connection between the RB450G and the internet so that it can download the OpenWRT packages it needs for installation. Since personal LANs vary so much, I will leave this as an exercise to the reader.
  • Use Eth0/PoE port to connect the RB450G to your local LAN because the netboot image will only have this port with a dynamic DHCP config. All other ports are static to 192.168.1.1, so they will require further configuration changes which are pointless at this stage given that anything you do to your system now will not be persisted;
  • You may need to change the dns nameserver by editing the file /etc/resolv.conf (vi /etc/resolv.conf). Replace 127.0.0.1 with 8.8.8.8 or any other public dns server. For vi beginners: once the file is open type *i to enter editing mode and when done type ESC and then :wq;
  • Issue the command /etc/init.d/network restart so all configuration changes are reloaded and applied;
  • Try ping bing.com and see if it works;
  • If networking is not okay, try editing /etc/config/network to your needs and remember to /etc/init.d/network restart after you make any changes;
  1. Once the internet connection is established, use the wget2nand script to install OpenWRT into the flash of the RB450G: wget2nand http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/nand/.
  2. Once wget2nand finishes, you can reboot the router. This time, the router should boot from flash and give you a working OpenWRT installation that you can configure as you like.

Hardware

CPU Ram Flash Network Gigabit USB Serial JTag
Atheros 256MB 512MB 5x1 Yes No Yes Yes

Official Specification for Microtik RouterBoard 450G

Info

Architecture: MIPS
Vendor: Atheros
Bootloader: RouterBoot
System-On-Chip: Atheros (AR7161) MIPS 24K
CPU Speed: 680Mhz (Max 800Mhz)
Flash-Chip: Hynix NAND 512MiB 3,3V 8-bit (HY27UF082G2A, HY27UT084G2A) or Samsung 4Gibit (K9F4G08U0B-PIB0)
Flash size: 512 MiB
RAM: 256 MiB DDR
Boot Flash: PMC Pm25LV512 512Kbit 3.0V
Wireless: No extension ports
Switch: Atheros AR8316
CPLD: Xilinx XC9536XL
Ethernet ports: 1+4 Gbit
Storage: MicroSD
USB: No
Extras: Beeper
Serial: Yes (Standard RS232)
JTAG: Yes (But no pins)
  • Some information about Atheros AR8316 network Switch capabilities is available on the MikroTik Wiki
  • CPU can be overclocked to 800Mhz from firmware (bootloader)
  • :!: Warning: Unit uses a proprietary max. 28V PoE (Power over Ethernet), the RB450G don't work with standard 48V PoE solutions !!!

Photos

Schematic Component layout with naming is in RB450G Quick Guide

Serial

RB450G have standard RS232 connector, work with simple null modem cable. Testing with standard port in PC. Connection use 1150008n, with hardware flow control (handshaking).

Serial connection is last resort for bootloare RouterBOOT update with XMODEM Microtik Manual:Bootloader upgrade.

JTAG

JTag port is present on board, but pins are not soldered and there is no empty to solder in pins holes.

Another product from Microtik RB443 use this JTAG configuration:

   CPU JTAG in RB433 includes this 7 pins.
      7    6    5    4   3   2    1
    TRST  TDI  TDO  TMS  X  TCK  GND

How to connect to JTAG interface, and how to reflash the device with JTAG tools

See port.jtag for more JTAG details.

MicroSD Card Slot

The MicroSD slot needs the kmod-mmc, kmod-mmc-over-gpio, and kmod-mmc-spi kernel module packages. The driver configuration is:

DI_pin 1
DO_pin 3
CLK_pin 4
CS_pin 7
. The SD card device will be called /dev/mmcblk0, with the first partition called /dev/mmcblk0p1. You will need to format the card from the command line before you can use it. For more information about setting up the card as a permanently-mounted filesystem, the USB storage instructions can be adapted, using /dev/mmcblk0* as the device names.

Some users of the RB450G state that the MicroSD slot is not designed for regular push/pull operations and microSD cards are now fit there well, plus the microSD slot is on the opposite side of the board and is not accessible in many RB450G enclosures designed originally for older RB450 model (no access hole), so when using an old RB450 enclosure you need to fully disassemble the unit to fix / add / remove the microSD card.

List of microSD cards know to work on RB450G with original Microtik RouterOS. Note that since RouterOS uses a different kernel version and MMC driver, cards that don't work with RouterOS may work with OpenWRT, and vice versa.

Specific Configuration

Switch Ports (for VLANs)

FIXME Verify and make a nice table after similar to one in RouterStation Pro

From AR8316 Switch Support forum

The AR7161 has two Ethernet controllers, therefore there are two interfaces, eth0 and eth1. one of these is the wan port, the other is the connection to the CPU port of the switch. The AR8316 provides the physical ports for both controllers, but they are separated internally.

On the RB450G, it looks like this:

  +-----------+       +-----------+
  |           | eth0  |           |
  |           +-------+----------5+-Eth1 (POE)
  |           |       |           |
  |  AR7161   |       | AR8316 +-1+-Eth2
  |           | eth1  |        +-4+-Eth3
  |           +-------+0-------+-3+-Eth4
  |           |       |        +-2+-Eth5
  +-----------+       +-----------+

Buttons and Jumpers

  • BIOS Reset Button between Power and LEDs – loads backup RouterBOOT Loader Firmware. Just hold button after power unit on.
  • ROS Reset Jumper – Inside unit (on board) in corner market reset, originally used in RouterOS to reset (load) RouterOS software to defaults.
  • Note: On board is also one classic Jumper - just another power connection.

FIXME Categories …


Tags

Back to top

toh/mikrotik/rb450g.txt · Last modified: 2014/05/28 13:38 by lisicky