Routerboard RB433AH
John Hay
jhay at meraka.org.za
Thu Jun 7 18:43:57 UTC 2012
Hi,
I found a RB433AH that is not doing anything and was wondering if one
can run FreeBSD on it. For a start I thought of just a NFS boot. I
started with the AR71XX_BASE config file and removed the USB and
other stuff that I think I do not need and can get it load the kernel
and start it. But it looks like there is a problem with the ethernet
because I get stuck at:
Timecounters tick every 1.000 msec
Sending DHCP Discover packet from interface arge0 (00:0c:42:90:f9:de)
arge0: link state changed to DOWN
arge0: link state changed to UP
DHCP/BOOTP timeout for server 255.255.255.255
DHCP/BOOTP timeout for server 255.255.255.255
...
This just keeps on repeating.
Maybe I need some specific setup for the ethernet / phy. Anybody with
ideas?
The boot looks like this:
#######################################
RouterBOOT booter 2.29
RouterBoard 433AH
CPU frequency: 680 MHz
Memory size: 128 MB
Press any key within 5 seconds to enter setup.....
trying bootp protocol.... OK
Got IP address: 146.64.84.18
resolved mac address 1C:6F:65:C2:00:A7
Gateway: 146.64.84.1
transfer started ............................................ transfer ok, time=2.55s
setting up elf image... OK
jumping to kernel code
CPU platform: Atheros AR7161 rev 2
CPU Frequency=680 MHz
CPU DDR Frequency=340 MHz
CPU AHB Frequency=170 MHz
platform frequency: 680000000
arguments:
a0 = 00000008
a1 = a0871c00
a2 = 00000000
a3 = 00000000
Cmd line: console=ttyS0,115200 gpio=4031 HZ=340000000 mem=128M kmac=00:0C:42:90:F9:DE board=433 boot=1 mlc=2
Environment:
envp is invalid
Cache info:
picache_stride = 4096
picache_loopcount = 16
pdcache_stride = 4096
pdcache_loopcount = 8
cpu0: MIPS Technologies processor v116.147
MMU: Standard TLB, 16 entries
L1 i-cache: 4 ways of 512 sets, 32 bytes per line
L1 d-cache: 4 ways of 256 sets, 32 bytes per line
Config1=0x9ee3519e<PerfCount,WatchRegs,MIPS16,EJTAG>
Config3=0x20
KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2012 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 10.0-CURRENT #11: Thu Jun 7 18:11:38 SAST 2012
johnnie at ray.cids.org.za:/usr/obj/mips.mips/usr/src/sys/RB433 mips
WARNING: WITNESS option enabled, expect reduced performance.
MEMGUARD DEBUGGING ALLOCATOR INITIALIZED:
MEMGUARD map base: 0xc0400000
MEMGUARD map limit: 0xc1800000
MEMGUARD map size: 20480 KBytes
real memory = 33554432 (32768K bytes)
avail memory = 24969216 (23MB)
random device not loaded; using insecure entropy
nexus0: <MIPS32 root nexus>
clock0: <Generic MIPS32 ticker> on nexus0
Timecounter "MIPS32" frequency 340000000 Hz quality 800
Event timer "MIPS32" frequency 340000000 Hz quality 800
apb0 at irq 4 on nexus0
uart0: <16550 or compatible> on apb0
uart0: console (115200,n,8,1)
gpio0: <Atheros AR71XX GPIO driver> on apb0
gpio0: [GIANT-LOCKED]
gpio0: gpio pinmask=0x0
gpioc0: <GPIO controller> on gpio0
gpiobus0: <GPIO bus> on gpio0
pcib0 at irq 0 on nexus0
pci0: <PCI bus> on pcib0
arge0: <Atheros AR71xx built-in ethernet interface> at mem 0x19000000-0x19000fff irq 2 on nexus0
arge0: No PHY specified, using mask 16
arge0: finishing attachment, phymask 0010, proxy null
miibus0: <MII bus> on arge0
ukphy0: <Generic IEEE 802.3u media interface> PHY 4 on miibus0
ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
arge0: Ethernet address: 00:0c:42:90:f9:de
arge1: <Atheros AR71xx built-in ethernet interface> at mem 0x1a000000-0x1a000fff irq 3 on nexus0
arge1: No PHY specified, using mask 15
arge1: finishing attachment, phymask 000f, proxy null
arge1: unable to attach PHY 0: 6
device_attach: arge1 attach returned 6
spi0: <AR71XX SPI> at mem 0x1f000000-0x1f00000f on nexus0
spibus0: <spibus bus> on spi0
mx25l0: <M25Pxx Flash Family> at cs 0 on spibus0
Unknown SPI flash device. Vendor: 00, device id: 0000
device_attach: mx25l0 attach returned 6
ar71xx_wdog0: <Atheros AR71XX watchdog timer> on nexus0
Timecounters tick every 1.000 msec
Sending DHCP Discover packet from interface arge0 (00:0c:42:90:f9:de)
arge0: link state changed to DOWN
arge0: link state changed to UP
DHCP/BOOTP timeout for server 255.255.255.255
DHCP/BOOTP timeout for server 255.255.255.255
...
#######################################
I did a tcpdump and cannot see any packets coming from the board.
My config looks like this:
#######################################
machine mips mips
ident RB433
cpu CPU_MIPS4KC
makeoptions KERNLOADADDR=0x80050000
options HZ=1000
options HWPMC_HOOKS
files "../atheros/files.ar71xx"
# For now, hints are per-board.
hints "RB433.hints"
makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols
# Build these as modules so small platform builds will have the
# modules already built.
makeoptions MODULES_OVERRIDE="random gpio ar71xx if_gif if_gre if_bridge bridgestp wlan wlan_xauth wlan_acl wlan_wep wlan_tkip wlan_ccmp wlan_rssadapt wlan_amrr ath ath_pci"
options DDB
options KDB
options SCHED_4BSD #4BSD scheduler
options INET #InterNETworking
options INET6 # IPv6
options NFSCL #Network Filesystem Client
options NFS_ROOT #NFS usable as /, requires NFSCL
options BOOTP
options BOOTP_NFSROOT
options BOOTP_NFSV3
#options BOOTP_WIRED_TO=arge0
options BOOTP_COMPAT
options ROOTDEVNAME=\"nfs:146.64.84.9:/export/mips\"
# options NFS_CL #Network Filesystem Client
options PSEUDOFS #Pseudo-filesystem framework
options _KPOSIX_PRIORITY_SCHEDULING #Posix P1003_1B real-time extensions
# options NFS_LEGACYRPC
# Debugging for use in -current
options INVARIANTS
options INVARIANT_SUPPORT
options WITNESS
options WITNESS_SKIPSPIN
options DEBUG_REDZONE
options DEBUG_MEMGUARD
options FFS #Berkeley Fast Filesystem
# options SOFTUPDATES #Enable FFS soft updates support
# options UFS_ACL #Support for access control lists
# options UFS_DIRHASH #Improve performance on big directories
# options MSDOSFS # Read MSDOS filesystems; useful for USB/CF
device pci
device ar71xx_pci
# 802.11 framework
options IEEE80211_DEBUG
options IEEE80211_ALQ
options IEEE80211_SUPPORT_MESH
# This option is currently broken for if_ath_tx.
options IEEE80211_SUPPORT_TDMA
options IEEE80211_AMPDU_AGE
device wlan # 802.11 support
device wlan_wep # 802.11 WEP support
device wlan_ccmp # 802.11 CCMP support
device wlan_tkip # 802.11 TKIP support
device wlan_xauth # 802.11 hostap support
# Atheros wireless NICs
device ath # Atheros interface support
device ath_pci # Atheros PCI/Cardbus bus
options ATH_DEBUG
options ATH_DIAGAPI
options ATH_ENABLE_11N
options AH_DEBUG
options AH_DEBUG_ALQ
options ALQ
device ath_hal
option AH_SUPPORT_AR5416
device ath_rate_sample
option AH_RXCFG_SDMAMW_4BYTES
option AH_AR5416_INTERRUPT_MITIGATION
# There's no DFS radar detection support yet so this won't actually
# detect radars. It however does enable the rest of the channel change
# machinery so DFS can be debugged.
option ATH_ENABLE_DFS
device mii
device arge
#device usb
#options USB_EHCI_BIG_ENDIAN_DESC # handle big-endian byte order
#options USB_DEBUG
#options USB_HOST_ALIGN=32 # AR71XX (MIPS in general?) requires this
#device ehci
device scbus
#device umass
device da
# On-board SPI flash
device spibus
device ar71xx_spi
device mx25l
device ar71xx_wdog
device uart
device loop
device ether
device md
device bpf
device random
device if_bridge
device gif # ip[46] in ip[46] tunneling protocol
device gre # generic encapsulation - only for IPv4 in IPv4 though atm
options ARGE_DEBUG # Enable if_arge debugging for now
# Enable GPIO
device gpio
device gpioled
#######################################
# $FreeBSD: src/sys/mips/conf/AR71XX_BASE.hints,v 1.1 2011/12/29 05:51:48 adrian Exp $
#
hint.apb.0.at="nexus0"
hint.apb.0.irq=4
# uart0
hint.uart.0.at="apb0"
# see atheros/uart_cpu_ar71xx.c why +3
hint.uart.0.maddr=0x18020003
hint.uart.0.msize=0x18
hint.uart.0.irq=3
#ohci
hint.ohci.0.at="apb0"
hint.ohci.0.maddr=0x1c000000
hint.ohci.0.msize=0x01000000
hint.ohci.0.irq=6
#ehci
hint.ehci.0.at="nexus0"
hint.ehci.0.maddr=0x1b000000
hint.ehci.0.msize=0x01000000
hint.ehci.0.irq=1
# pci
hint.pcib.0.at="nexus0"
hint.pcib.0.irq=0
hint.arge.0.at="nexus0"
hint.arge.0.maddr=0x19000000
hint.arge.0.msize=0x1000
hint.arge.0.irq=2
# phymask, media and fduplex depend upon the specific
# board.
# So each board will override the settings as needed.
hint.arge.1.at="nexus0"
hint.arge.1.maddr=0x1a000000
hint.arge.1.msize=0x1000
hint.arge.1.irq=3
# SPI flash
hint.spi.0.at="nexus0"
hint.spi.0.maddr=0x1f000000
hint.spi.0.msize=0x10
hint.mx25l.0.at="spibus0"
hint.mx25l.0.cs=0
# Watchdog
hint.ar71xx_wdog.0.at="nexus0"
# GPIO
hint.gpio.0.at="apb0"
hint.gpio.0.maddr=0x18040000
hint.gpio.0.msize=0x1000
hint.gpio.0.irq=2
# Each board should override the GPIO bus pins with the configuration
# relevant to it. Thus no pins are defined here.
# hwpmc device
hint.ar71xx_pmc.0.at="apb0"
hint.ar71xx_pmc.0.irq=5
#######################################
Thanks
John
--
John Hay -- jhay at meraka.csir.co.za / jhay at FreeBSD.org
More information about the freebsd-mips
mailing list