Przygotowanie i instalacja OpenWrt na RouterBOARD 433 UAH
Ostatnia zmiana: 2015-06-25 23:24

Krótka specyfikacja:

- architektura: Atheros ar71xx
- bootloader: RouterBOOT 2.0
- procesor Atheros AR7161 rev 2 680MHz (z możliwością przetaktowania do 800MHz z poziomu bootloadera)
- Flash: 512 MiB (NAND)
- RAM: 128MiB
- WLAN: brak (3x złącze miniPCI)
- chipset Ethernet: 3x 10/100 Mbps, w tym jedno PoE
- 2x USB 2.0
- 1x rs232c (normalny)
- przycisk reset
- złącze karty microSD
- jtag, buzzer

Stan projektu

Ruter obecnie obsługiwany przez OpenWrt w wersji rozwojowej (trunk) oraz Attitude Adjustment.

Port szeregowy

Dostępny jest na płytce, 115200 8n1

Kompilacja

Należy użyć i skompilować aktualną wersję OpenWrt trunk pobraną z svn. Jako platformę należy wybrać Atheros AR71xx/AT7240/AR913x, Subtarget - Devices with NAND flash (mostly Mikrotik), Target Images - ramdisk oraz tgz. Obrazem wynikowym przeznaczonym do uruchomienia w pamięci jest plik openwrt-ar71xx-nand-vmlinux-initramfs.elf.

Instalacja

Wykorzystując port szeregowy należy najpierw załadować obraz przeznaczony do uruchomienia w ramie, a następnie przy jego pomocy zainstalować w pamięci właściwy obraz.
Po podłączeniu RS232C i uruchomieniu terminala (115200 8n1) należy podłączyć zasilanie do płytki. Wystartuje bootloader, który należy przerwać naciskając dowolny przycisk:


RouterBOOT booter 2.20

RouterBoard 433UAH

CPU frequency: 680 MHz
    Memory size: 128 MB

Press any key within 2 seconds to enter setup

RouterBOOT-2.20
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
your choice:

Najpierw należy dowiedzieć się o mac adresie karty sieciowej. Jest on na naklejce na płytce lub dostępna jest ta informacja po wybraniu opcji i


i - board info

Board Info:

Board type: 433UAH
Serial number: 1E4400000000
Firmware version: 2.20
CPU frequency: 680 MHz
Memory size: 128 MB
eth1 MAC address: 00:0C:42:44:xx:xx
eth2 MAC address: 00:0C:42:44:xx:xx
eth3 MAC address: 00:0C:42:44:xx:xx

press any key to continue...

Eth1 to port oznaczone PoE. Następnie należy wybrać opcję o


    Select boot device:
        e - boot over Ethernet
        * n - boot from NAND, if fail then Ethernet
        1 - boot Ethernet once, then NAND
        o - boot from NAND only
        b - boot chosen device

A następnie e lub 1. x wychodzi z bootloadera wraz z zapisem zmian.

Na komputerze niezbędne są dwa elementy - serwer bootp (np. dnsmasq), serwer tftp (np. atftpd) oraz serwer http (np. httpd z busybox). Plik openwrt-ar71xx-nand-vmlinux-initramfs.elf należy skopiować do katalogu głównego serwera tftpd, a następnie skonfigurować serwer dhcp/bootp podając informacje niezbędne do pobrania przez RouterBOARD obrazu i jego uruchomienia. Sprowadza się do umieszczenia w pliku konfiguracyjnym dnsmasq.conf np. następujących wpisów


    dhcp-range=192.168.10.50,192.168.10.150,12h
    dhcp-host=00:0C:42:xx:xx:xx,192.168.10.60
    dhcp-boot=/openwrt-ar71xx-nand-vmlinux-initramfs.elf,boothost,192.168.10.1

Gdzie mac adres to adres portu eth1 płytki. Karta sieciowa powinna zostać ustawiona na adres 192.168.10.1.
Resztę plików (*.elf, *.tar.gz, *.bin) z kompilacji firmware należy skopiować do katalogu głównego serwera http.

Uruchomienie ponowne płytki powinno spowodować pobranie i uruchomienie wskazanego obrazu:


    your choice: x - exit setup
    
    writing settings to flash... OK


    RouterBOOT booter 2.20

    RouterBoard 433UAH

    CPU frequency: 680 MHz
        Memory size: 128 MB

Press any key within 2 seconds to enter setup..
writing settings to flash... OK
trying bootp protocol.... OK
Got IP address: 192.168.10.60
resolved mac address 00:1B:38:xx:xx:xx
Gateway: 192.168.10.1
transfer started .......................... transfer ok, time=1.36s
setting up elf image... OK
jumping to kernel code
Linux version 2.6.32.16 (cezary@eko.one.pl) (gcc version 4.3.3 (GCC) ) #1 Fri Jul 23 14:09:50 CEST 2010
bootconsole [early0] enabled
CPU revision is: 00019374 (MIPS 24Kc)
Atheros AR7161 rev 2, CPU:680.000 MHz, AHB:170.000 MHz, DDR:340.000 MHz
Determined physical RAM map:
    memory: 08000000 @ 00000000 (usable)
User-defined physical RAM map:
    memory: 08000000 @ 00000000 (usable)
Initrd not found or empty - disabling initrd
Zone PFN ranges:
        Normal 0x00000000 -> 0x00008000
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
                0: 0x00000000 -> 0x00008000
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
Kernel command line: rootfstype=squashfs,yaffs,jffs2 noinitrd console=ttyS0,115200 console=ttyS0,115200 gpio=4031 HZ=340000000 mem=128M kmac=00:0C:42:44:E7:E4 board=433U boot=1 mlc=1
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes
Writing ErrCtl register=0006bf90
Readback ErrCtl register=0006bf90
Memory: 125864k/131072k available (2014k kernel code, 5020k reserved, 389k data, 980k init, 0k highmem)
SLUB: Genslabs=7, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:56
Calibrating delay loop... 452.19 BogoMIPS (lpj=2260992)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
MIPS: machine is MikroTik RouterBOARD 433UAH
registering PCI controller with io_map_base unset
bio: create slab <bio-0> at 0
pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot
pci 0000:00:00.0: PME# disabled
Switching to clocksource MIPS
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
NET: Registered protocol family 1
squashfs: version 4.0 (2009/01/31) Phillip Lougher
Registering mini_fo version $Id$
JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
yaffs Jul 23 2010 14:06:44 Installing.
msgmni has been set to 246
io scheduler noop registered
io scheduler deadline registered (default)
Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11) is a 16550A
console [ttyS0] enabled, bootconsole disabled
console [ttyS0] enabled, bootconsole disabled
NAND flash driver for RouterBoard 4xx series version 0.1.10
NAND SPI clock 28333 kHz (AHB 170000 kHz / 6)
FLASH SPI clock 28333 kHz (AHB 170000 kHz / 6)
NAND device: Manufacturer ID: 0xad, Chip ID: 0xdc (Hynix NAND 512MiB 3,3V 8-bit)
Scanning device for bad blocks
Creating 3 MTD partitions on "NAND 512MiB 3,3V 8-bit":
0x000000000000-0x000000040000 : "booter"
0x000000040000-0x000000400000 : "kernel"
0x000000400000-0x000020000000 : "rootfs"
mtd: partition "rootfs" set to be root filesystem
split_squashfs: error occured while reading from "NAND 512MiB 3,3V 8-bit"
Atheros AR71xx SPI Controller driver version 0.2.4
IP17xx: Found IP175D at ag71xx-mdio:00
ag71xx_mdio: probed
eth0: Atheros AG71xx at 0xba000000, irq 5
eth1: Atheros AG71xx at 0xb9000000, irq 4
Atheros AR71xx hardware watchdog driver version 0.1.0
TCP westwood registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
Freeing unused kernel memory: 980k freed
gpio-buttons driver version 0.1.2
input: gpio-buttons as /devices/platform/gpio-buttons/input/input0
Button Hotplug driver version 0.4.0
- preinit -
Registered led device: rb4xx:yellow:user
Press the [f] key and hit [enter] to enter failsafe mode
eth0: link up (100Mbps/Full duplex)
- regular preinit -
- init -

Please press Enter to activate this console. eth0: link down
device eth1 entered promiscuous mode
PPP generic driver version 2.4.2
ip_tables: (C) 2000-2006 Netfilter Core Team
NET: Registered protocol family 24
nf_conntrack version 0.5.0 (1984 buckets, 7936 max)
eth0: link up (100Mbps/Full duplex)
eth1: link up (100Mbps/Full duplex)
br-lan: port 1(eth1) entering forwarding state

Mając uruchomione OpenWrt można wgrać je na stałe wykonując polecenie


    # wget2nand http://192.168.10.1

Przetaktowanie procesora

Będąc w bootloaderze należy wybrać opcję f


    Select CPU frequency:
        1 - 100MHz
        2 - 150MHz
        3 - 200MHz
        4 - 300MHz
        5 - 400MHz
        6 - 600MHz
    * 7 - 680MHz
        8 - 800MHz
your choice:

a następnie jedną z częstotliwości. Wybranie x wychodzi i zapisuje zmiany.