Portál AbcLinuxu, 14. prosinec 2017 09:28

RouterBOARD 532A

Podpora: částečná
Ovladač: dodává někdo jiný
Adresa ovladače: http://openwrt.org/

Technické parametry

RB 500 Series User Manual (PDF)

Procesor MIPS32 4kc 200–400 MHz s 16KiB asociativní keší, bez FPU, zapouzdřený v chipsetu od IDT spolu s PCI můstkem, řadičem RS232 portu, ethernetovou kartou Korina (100/10 Mb/s), NAND řadičem a řadičem pro CompactFlash slot.

64 MiB fyzické paměti v provedení DDR.

128 MiB permanentní NAND paměti.

Dvě integrované 100Mb/s ethernetové karty Via Rhine VT6105. RS232 samčí port pro sériovou konzoli, 2 MiniPCI IIIA/B sloty, 1 CompactFlash I/II slot (kartu nelze měnit za běhu), 1 tlačítko, 6 LEDek (modrá napájení, fialová během POSTU a za běhu OS programovatelná, dva páry zeleno-žlutých připojených na MiniPCI sloty) a jeden konektor pro rozšiřující desku (tzv. daughter board).

Napájení po 3,5mm Jack konektoru s vnitřním kolíkem nebo přes Ethernetový port Koriny ve dvou napětových pásmech. Klidová spotřeba 4 W, maximální příkon 24 W.

Deska umí bootovat ze sítě, z NAND a CF. Zavaděč považuje obraz jádra za ELF a do sekce kernparm přidává parametry udávájící MAC adresu Koriny, stav registru určujícího stav jumperů a parametr zapínající konzoli na sériovém portu.

Rozměry jsou 14×14 cm, výška asi 2,5 cm. Provozní teplota −20–+40 ˚C.

Identifikace pod Linuxem

/proc/cpuinfo

system type             : MIPS RB500
processor               : 0
cpu model               : MIPS 4Kc V0.10
BogoMIPS                : 398.33
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 16
extra interrupt vector  : yes
hardware watchpoint     : yes
ASEs implemented        :
VCED exceptions         : not available
VCEI exceptions         : not available

lspci -v

00:00.0 Non-VGA unclassified device: Integrated Device Technology, Inc. Unknown device 0000
        Subsystem: Unknown device 0214:011d
        Flags: bus master, 66MHz, medium devsel, latency 60, IRQ 140
        Memory at <unassigned> (32-bit, prefetchable)
        I/O ports at <ignored>
        I/O ports at <ignored>

00:02.0 Ethernet controller: VIA Technologies, Inc. VT6105 [Rhine-III] (rev 86)
        Subsystem: AST Research Inc Unknown device 086c
        Flags: bus master, stepping, medium devsel, latency 64, IRQ 142
        I/O ports at 18800000 [size=256]
        Memory at 50000000 (32-bit, non-prefetchable) [size=256]
        Capabilities: [40] Power Management version 2

00:03.0 Ethernet controller: VIA Technologies, Inc. VT6105 [Rhine-III] (rev 86)
        Subsystem: AST Research Inc Unknown device 086c
        Flags: bus master, stepping, medium devsel, latency 64, IRQ 143
        I/O ports at 18800100 [size=256]
        Memory at 50000100 (32-bit, non-prefetchable) [size=256]
        Capabilities: [40] Power Management version 2

Výběr z dmesg

Linux version 2.6.21.6-rb500-tlbnop (petr@libra) (gcc version 4.1.2 (Gentoo 4.1.2)) #4 Thu Jul 26 18:17:58 CEST 2007
CPU revision is: 0001800a
Determined physical RAM map:
 memory: 03fffa00 @ 00000400 (usable)
Wasting 32 bytes for tracking 1 unused pages
Initrd not found or empty - disabling initrd
On node 0 totalpages: 16383
  DMA zone: 127 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 16256 pages, LIFO batch:3
  Normal zone: 0 pages used for memmap
Built 1 zonelists.  Total pages: 16256
Kernel command line: root=/dev/nfs ip=dhcp console=ttyS0,115200 gpio=8191 kmac=00:0C:42:0E:22:14 board=500 boot=1 
korina mac = 00:0C:42:0E:22:14
Primary instruction cache 8kB, physically tagged, 4-way, linesize 16 bytes.
Primary data cache 8kB, 4-way, linesize 16 bytes.
Synthesized TLB refill handler (20 instructions).
Synthesized TLB load handler fastpath (32 instructions).
Synthesized TLB store handler fastpath (32 instructions).
Synthesized TLB modify handler fastpath (31 instructions).
Initializing IRQ's: 168 out of 256
PID hash table entries: 256 (order: 8, 1024 bytes)
calculating r4koff... 000c34f8(799992)
CPU frequency 400.00 MHz
Using 199.998 MHz high precision timer.
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 60680k/65528k available (2571k kernel code, 4792k reserved, 380k data, 128k init, 0k highmem)
Calibrating delay loop... 398.33 BogoMIPS (lpj=796672)
Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled
serial8250: ttyS0 at MMIO 0x0 (irq = 104) is a 16550A
cf-mips module loaded
cf-mips: resetting..
cf-mips: identify drive..
cf-mips: CF card detected, C/H/S=1006/16/63 sectors=1014048 (495MB) Serial=0561600140001525
cf-mips: detecting block size
cf-mips: multiple sectors = 1
init done<6> cfa: cfa1 cfa2
Using NAPI with weight 64
eth0: Rx IRQ 40, Tx IRQ 41, 00:0c:42:0e:22:14
via-rhine.c:v1.10-LK1.4.3 2007-03-06 Written by Donald Becker
PCI: Enabling device 0000:00:02.0 (0080 -> 0083)
PCI: Setting latency timer of device 0000:00:02.0 to 64
eth1: VIA Rhine III at 0x50000000, 00:0c:42:0e:22:15, IRQ 142.
eth1: MII PHY found at address 1, status 0x7849 advertising 05e1 Link 0000.
PCI: Enabling device 0000:00:03.0 (0080 -> 0083)
PCI: Setting latency timer of device 0000:00:03.0 to 64
eth2: VIA Rhine III at 0x50000100, 00:0c:42:0e:22:16, IRQ 143.
eth2: MII PHY found at address 1, status 0x7849 advertising 05e1 Link 0000.
block2mtd: version $Revision: 1.30 $
RB500 nand
dev2base 0x18a20000 mask 0xffff0000 c 0x024f2800 tc 0x00001225
NAND device: Manufacturer ID: 0xad, Chip ID: 0xf1 (Hynix NAND 128MiB 3,3V 8-bit)
Scanning device for bad blocks
Creating 2 MTD partitions on "NAND 128MiB 3,3V 8-bit":
0x00000000-0x00400000 : "RouterBoard NAND Boot"
0x00400000-0x08000000 : "RouterBoard NAND Main"

Postup zprovoznění pod Linuxem

Výrobce dodává již nahraný svůj upravený OS (MikrotikOS) založený na Linuxu a nabízí ke stažení patche pro 2.4 jádra.

Řada 2.6 je podporována projektem OpenWrt.

Stáhnětě si poslední stabilní jádro (já jsem použil Linusovo vanilkové 2.6.21.6) a OpenWrt patche (použil jsem vývojové verze).

Můžete zkusit oficiální postup, který instaluje celou infrastrukturu pro OpenWrt, nebo jako já aplikujte patche z podadresáře patches a přikopírujte obsah podstromu files do rozbelných zdrojáků jádra. Jeden patch na jednom místě neuspěje (stav k červnu 2007), ale při troše rozumu lze pochopit, co kam dopsat nebo odmazat.

Po konfiguraci jádra (vzorový .config je v podadresáři config) přeložte jádro. Kompilujete-li na jiné architektuře, nezapomeňte přidat maku parametry ARCH=mips CROSS_COMPILE=mipsel-softfloat-linux-gnu- (hodnota CROSS_COMPILE závisí na toolchainu, který hodláte použít). Stejné parametry musíte použít vždy, když voláte jaderný Makefile, tj. i při menuconfigu.

Stane-li se, že vám bude jádro panikařit na výjimce procesoru stěžující si na více záznamů pro stejnou adresu v translation lookaside bufferu, použijte následující patch:
diff -Naur --exclude=.svn linux-2.6.21.3/arch/mips/mm/tlbex.c linux-2.6.21.3-rb/arch/mips/mm/tlbex.c
--- linux-2.6.21.3/arch/mips/mm/tlbex.c 2007-07-03 10:51:19.000000000 +0200
+++ linux-2.6.21.3-rb/arch/mips/mm/tlbex.c      2007-07-22 23:53:10.000000000 +0200
@@ -872,6 +872,7 @@
                break;
 
        case CPU_R4300:
+       case CPU_4KC:
        case CPU_5KC:
        case CPU_TX49XX:
        case CPU_AU1000:
@@ -887,7 +888,6 @@
        case CPU_R10000:
        case CPU_R12000:
        case CPU_R14000:
-       case CPU_4KC:
        case CPU_SB1:
        case CPU_SB1A:
        case CPU_4KSC:
Případně můžete použít můj patch (proti 2.6.21.3), který obsahuje všechny potřebné úpravy.

Poznámka

Nevím, zda je problém v hardwaru nebo v Linuxu, ale Korina má probémy domluvit se s mojí starou 10Mb/s half duplexní síťovkou a jádro nehlásí změny stavu linky (carrier up/down). Dále jsem nezkoušel, zda funguje ovládání LED, čtení GPIO registeru. Deska by měla obsahovat watch dog, zda je podporován, netuším.

Z těchto důvodů jsem napsal, že je podpora částečná. Přesto moje jádro a Gentoo se na tomto stroji jeví velmi stabilně a nabízí všechny funkce, které požaduji.

Dokument vytvořil: petr_p, 4.8.2007 19:07 | Poslední úprava: petr_p, 27.2.2011 15:08 | Historie změn | Zobrazeno: 2227×

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.