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.