From owner-freebsd-mips@FreeBSD.ORG Thu Jun 7 18:43:57 2012 Return-Path: Delivered-To: freebsd-mips@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 7E181106566B for ; Thu, 7 Jun 2012 18:43:57 +0000 (UTC) (envelope-from jhay@meraka.csir.co.za) Received: from zibbi.meraka.csir.co.za (zibbi.meraka.csir.co.za [IPv6:2001:4200:7000:2::1]) by mx1.freebsd.org (Postfix) with ESMTP id 064D18FC08 for ; Thu, 7 Jun 2012 18:43:56 +0000 (UTC) Received: by zibbi.meraka.csir.co.za (Postfix, from userid 3973) id 88311B828; Thu, 7 Jun 2012 20:43:54 +0200 (SAST) Date: Thu, 7 Jun 2012 20:43:54 +0200 From: John Hay To: freebsd-mips@freebsd.org Message-ID: <20120607184354.GB90876@zibbi.meraka.csir.co.za> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.4.2.3i Subject: Routerboard RB433AH X-BeenThere: freebsd-mips@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting FreeBSD to MIPS List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jun 2012 18:43:57 -0000 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 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: clock0: 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: on apb0 gpio0: [GIANT-LOCKED] gpio0: gpio pinmask=0x0 gpioc0: on gpio0 gpiobus0: on gpio0 pcib0 at irq 0 on nexus0 pci0: on pcib0 arge0: at mem 0x19000000-0x19000fff irq 2 on nexus0 arge0: No PHY specified, using mask 16 arge0: finishing attachment, phymask 0010, proxy null miibus0: on arge0 ukphy0: PHY 4 on miibus0 ukphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto arge0: Ethernet address: 00:0c:42:90:f9:de arge1: 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: at mem 0x1f000000-0x1f00000f on nexus0 spibus0: on spi0 mx25l0: at cs 0 on spibus0 Unknown SPI flash device. Vendor: 00, device id: 0000 device_attach: mx25l0 attach returned 6 ar71xx_wdog0: 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