FreeBSD/mips on the Ubiquiti LS-SR71A

Adrian Chadd adrian.chadd at gmail.com
Tue Jan 18 13:50:40 UTC 2011


Hi all,

Here's another mostly-functioning MIPS board that I've gotten my mittens on.

The default RSPRO_STANDALONE kernel that I've been using simply
netbooted without change. But arge0 doesn't (yet) work - this device
doesn't actually have a switch phy on either interface. Yes, it just
has a bog standard, normal phy attached somewhere :-)

+Looking for PHY for MAC unit 0
Eth KSZ8721B found.
Looking for PHY for MAC unit 1
Eth KSZ8721B found.
Ethernet eth0: MAC address 00:15:6d:c1:35:af
IP: 192.168.1.20/255.255.255.0, Gateway: 0.0.0.0
Default server: 0.0.0.0

RedBoot(tm) bootstrap and debug environment [ROMRAM]
Ubiquiti Networks certified release, version 0.9.6.1 - built 15:39:29,
Nov  4 2008

Copyright (C) 2000, 2001, 2002, 2003, 2004 Red Hat, Inc.

Board: Ubiquiti AR71xx-based board
RAM: 0x80000000-0x81000000, [0x8003ab60-0x80fe1000] available
FLASH: 0xbf000000 - 0xbf800000, 128 blocks of 0x00010000 bytes each.
== Executing boot script in 1.000 seconds - enter ^C to abort
^C
RedBoot> ip -h 10.61.8.18 -l 10.61.8.5
IP: 10.61.8.5/255.255.255.0, Gateway: 0.0.0.0
Default server: 10.61.8.18
RedBoot> load kernel.RSPRO_STANDALONE
Using default protocol (TFTP)
Entry point: 0x80050100, address range: 0x80050000-0x804e6788
RedBoot> exec
Now booting linux kernel:
 Base address 0x80050000 Entry 0x80050100
 Cmdline : console=ttyS0,115200 init=/init
CPU platform: Atheros AR7161 rev 2
CPU Frequency=680 MHz
CPU DDR Frequency=170 MHz
CPU AHB Frequency=85 MHz
platform frequency: 680000000
arguments:
  a0 = 00000002
  a1 = 80050020
  a2 = 80050000
  a3 = 0000001b
Cmd line:  console=ttyS0,115200 init=/init
Environment:
  memsize = 0x01000000
  modetty0 = 0,n,8,1,hw
  ethaddr = 00.15.6d.c1.35.af
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-2010 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 9.0-CURRENT #139 r213668+eb4d690-dirty: Tue Jan 18 19:33:52 WST 2011
    adrian at pcbsd-3114:/data/freebsd/git/obj/rspro/mips.mips/data/freebsd/git/adrianchadd-freebsd/sys/RSPRO_STANDALONE
mips
real memory  = 16777216 (16384K bytes)
avail memory = 10309632 (9MB)
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)
ehci0: <AR71XX Integrated USB 2.0 controller> at mem
0x1b000000-0x1bffffff irq 1 on nexus0
usbus0: set host controller mode
usbus0: EHCI version 1.0
usbus0: set host controller mode
usbus0: <AR71XX Integrated USB 2.0 controller> on ehci0
pcib0 at irq 0 on nexus0
pci0: <PCI bus> on pcib0
pci0: <old, non-VGA display device> at device 0.0 (no driver attached)
ath0: <Atheros 9280> irq 0 at device 17.0 on pci0
need_swap: 1
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath_hal_computetxtime: rateix 0x8: this function shouldn't see MCS
rates (hw ratecode 0x80)!
ath0: enabling HT modes
ath0: HT rxstreams: 2; txstreams: 2
ath0: AR9280 mac 128.2 RF5133 phy 13.0
arge0: <Atheros AR71xx built-in ethernet interface> at mem
0x19000000-0x19000fff irq 2 on nexus0
arge0: MII without any phy!
device_attach: arge0 attach returned 6
arge1: <Atheros AR71xx built-in ethernet interface> at mem
0x1a000000-0x1a000fff irq 3 on nexus0
arge1: Ethernet address: 00:15:6d:c1:35:b0
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: 20, device id: 2017
device_attach: mx25l0 attach returned 6
rtc0: <PCF2123 SPI RTC> at cs 1 on spibus0
ar71xx_wdog0: <Atheros AR71XX watchdog timer> on nexus0
Timecounters tick every 1.000 msec
usbus0: 480Mbps High Speed USB v2.0
Root mount waiting for: usbus0
ugen0.1: <Atheros> at usbus0
uhub0: <Atheros EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
Root mount waiting for: usbus0
uhub0: 2 ports with 2 removable, self powered
sleeping for 5 seconds to let USB device busses be enumerated..
Trying to mount root from ufs:da0s1a
ROOT MOUNT ERROR:
If you have invalid mount options, reboot, and first try the following from
the loader prompt:

     set vfs.root.mountfrom.options=rw

and then remove invalid mount options from /etc/fstab.

Loader variables:
vfs.root.mountfrom=
vfs.root.mountfrom.options=

Manual root filesystem specification:
  <fstype>:<device>  Mount <device> using filesystem <fstype>
                       eg. zfs:tank
                       eg. ufs:/dev/da0s1a
                       eg. cd9660:/dev/acd0
                       This is equivalent to: mount -t cd9660 /dev/acd0 /

  ?                  List valid disk boot devices
  <empty line>       Abort manual input

mountroot>


More information about the freebsd-mips mailing list