Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Jun 2012 20:43:54 +0200
From:      John Hay <jhay@meraka.org.za>
To:        freebsd-mips@freebsd.org
Subject:   Routerboard RB433AH
Message-ID:  <20120607184354.GB90876@zibbi.meraka.csir.co.za>

next in thread | raw e-mail | index | archive | help
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@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@meraka.csir.co.za / jhay@FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120607184354.GB90876>