FreeBSD-11 on Wandboard

Adding Wandboard support to Crochet-FreeBSD has been a project of mine for a while.  After this fascinating kernel fix, I can now build a working image and boot FreeBSD-Current.   Here is an example boot log, and here's an image file.

The output of dmesg, with a USB wireless adapter in the board, is:

KDB: debugger backends: ddb
KDB: current backend: ddb
Copyright (c) 1992-2014 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 11.0-CURRENT #0 r261638: Sat Feb 8 13:46:47 MST 2014
 tom@bernice:/storage/home/tom/crochet/crochet-freebsd/work/obj/arm.armv6/storage/home/tom/crochet/src/FreeBSDHead/head/sys/WANDBOARD-QUAD arm
FreeBSD clang version 3.3 (tags/RELEASE_33/final 183502) 20130610
Preloaded elf kernel "kernel" at 0xc24e0c6c.
CPU: Cortex A9-r2 rev 10 (Cortex-A core)
 Supported features: ARM_ISA THUMB2 JAZELLE THUMBEE ARMv4 Security_Ext
 WB disabled EABT branch prediction enabled
LoUU:2 LoC:1 LoUIS:2 
Cache level 1: 
 32KB/32B 4-way data cache WB Read-Alloc Write-Alloc
 32KB/32B 4-way instruction cache Read-Alloc
real memory = 2147483648 (2048 MB)
Physical memory chunk(s):
 0x10000000 - 0x11ffffff, 32768 KBytes (8192 pages)
 0x12620000 - 0x8d77ffff, 2016640 KBytes (504160 pages)
avail memory = 2095054848 (1998 MB)
Static device mappings:
 0x00a00000 - 0x00afffff mapped at VA 0xffe00000
 0x02000000 - 0x020fffff mapped at VA 0xffd00000
 0x02100000 - 0x021fffff mapped at VA 0xffc00000
null: <null device, zero device>
openfirm: <Open Firmware control device>
mem: <memory>
Falling back to <Software, Yarrow> random adaptor
random: <Software, Yarrow> initialized
nfslock: pseudo-device
ofwbus0: <Open Firmware Device Tree>
ofwbus0: <cpus> type unknown (no driver attached)
simplebus0: <Flattened device tree simple bus> on ofwbus0
gic0: <ARM Generic Interrupt Controller> mem 0xa01000-0xa01fff,0xa00100-0xa001ff on simplebus0
gic0: pn 0x390, arch 0x1, rev 0x2, implementer 0x43b sc->nirqs 160
l2cache0: <PL310 L2 cache controller> mem 0xa02000-0xa02fff irq 124 on simplebus0
l2cache0: Part number: 0x3, release: 0x7
l2cache0: L2 Cache: 1024KB/32B 16 ways
l2cache0: L2 Cache enabled
l2cache0: Early BRESP response: disabled
l2cache0: Instruction prefetch: disabled
l2cache0: Data prefetch: disabled
l2cache0: Non-secure interrupt control: disabled
l2cache0: Non-secure lockdown: disabled
l2cache0: Share override: disabled
l2cache0: Double linefil: disabled
l2cache0: Instruction prefetch: disabled
l2cache0: Data prefetch: disabled
l2cache0: Double linefill on WRAP request: disabled
l2cache0: Prefetch drop: disabled
l2cache0: Incr double Linefill: disabled
l2cache0: Not same ID on exclusive sequence: disabled
l2cache0: Prefetch offset: 0
simplebus1: <Flattened device tree simple bus> mem 0x2000000-0x20fffff on simplebus0
ccm0: <Freescale i.MX6 Clock Control Module> mem 0x20c4000-0x20c7fff irq 119,120 on simplebus1
imx6_anatop0: <Freescale i.MX6 Analog PLLs and Power> mem 0x20c8000-0x20c8fff on simplebus1
imx_gpt0: <Freescale i.MX GPT timer> mem 0x2098000-0x209bfff irq 87 on simplebus1
imx_gpt0: Running on 11000KHz clock, base freq 66000000Hz CR=0x0000027d, PR=0x00000005
Event timer "i.MXxxx GPT Eventtimer" frequency 11000000 Hz quality 1000
Timecounter "i.MX GPT Timecounter" frequency 11000000 Hz quality 1000
uart0: <imx_uart> mem 0x2020000-0x2023fff irq 58 on simplebus1
uart0: console (115200,n,8,1)
uart0: fast interrupt
simplebus1: <serial@021e8000> mem 0x21e8000-0x21ebfff irq 59 type unknown (no driver attached)
simplebus1: <serial@021ec000> mem 0x21ec000-0x21effff irq 60 type unknown (no driver attached)
simplebus1: <serial@021f0000> mem 0x21f0000-0x21f3fff irq 61 type unknown (no driver attached)
simplebus1: <serial@021f4000> mem 0x21f4000-0x21f7fff irq 62 type unknown (no driver attached)
usbphy0: <Freescale i.MX6 USB PHY> mem 0x20c9000-0x20c9fff irq 44 on simplebus1
usbphy1: <Freescale i.MX6 USB PHY> mem 0x20ca000-0x20cafff irq 45 on simplebus1
simplebus2: <Flattened device tree simple bus> mem 0x2100000-0x21fffff on simplebus0
ffec0: <Freescale Gigabit Ethernet Controller> mem 0x2188000-0x218bfff irq 150,151 on simplebus2
ffec0: MAC address 00:1f:7b:b4:06:7f:
ffec0: PHY preamble disabled
miibus0: <MII bus> on ffec0
atphy0: <Atheros F1 10/100/1000 PHY> PHY 1 on miibus0
atphy0: OUI 0x00c82e, model 0x0007, rev. 4
atphy0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseSX-FDX, 1000baseT-FDX, 1000baseT-FDX-master, auto
ffec0: bpf attached
ffec0: Ethernet address: 00:1f:7b:b4:06:7f
ehci0: <Freescale i.MX integrated USB controller> mem 0x2184000-0x21841ff irq 75 on simplebus2
ehci0: [GIANT-LOCKED]
usbus0: EHCI version 1.0
usbus0 on ehci0
ehci0: usbpf: Attached
ehci1: <Freescale i.MX integrated USB controller> mem 0x2184200-0x21843ff irq 72 on simplebus2
ehci1: [GIANT-LOCKED]
usbus1: EHCI version 1.0
usbus1 on ehci1
ehci1: usbpf: Attached
simplebus2: <usb@02184400> mem 0x2184400-0x21845ff irq 73 type unknown (no driver attached)
simplebus2: <usb@02184600> mem 0x2184600-0x21847ff irq 74 type unknown (no driver attached)
simplebus2: <usbmisc@02184800> mem 0x2184800-0x21849ff type unknown (no driver attached)
simplebus2: <usdhc@02190000> mem 0x2190000-0x2193fff irq 54 type unknown (no driver attached)
sdhci_imx0: <Freescale uSDHC controller> mem 0x2194000-0x2197fff irq 55 on simplebus2
sdhci_imx0-slot0: 200MHz HS 4bits 3.3V 3.0V PIO
sdhci_imx0-slot0: ============== REGISTER DUMP ==============
sdhci_imx0-slot0: Sys addr: 0x00000000 | Version: 0x00000002
sdhci_imx0-slot0: Blk size: 0x00000000 | Blk cnt: 0x00000001
sdhci_imx0-slot0: Argument: 0x00000000 | Trn mode: 0x00000000
sdhci_imx0-slot0: Present: 0xff888088 | Host ctl: 0x00000000
sdhci_imx0-slot0: Power: 0x0000000d | Blk gap: 0x00000080
sdhci_imx0-slot0: Wake-up: 0x00000008 | Clock: 0x00000002
sdhci_imx0-slot0: Timeout: 0x00000080 | Int stat: 0x00000000
sdhci_imx0-slot0: Int enab: 0x017f00fb | Sig enab: 0x017f00fb
sdhci_imx0-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000
sdhci_imx0-slot0: Caps: 0x0377c800 | Max curr: 0x80000000
sdhci_imx0-slot0: ===========================================
sdhci_imx1: <Freescale uSDHC controller> mem 0x2198000-0x219bfff irq 56 on simplebus2
sdhci_imx1-slot0: 200MHz HS 4bits 3.3V 3.0V PIO
sdhci_imx1-slot0: ============== REGISTER DUMP ==============
sdhci_imx1-slot0: Sys addr: 0x00000000 | Version: 0x00000002
sdhci_imx1-slot0: Blk size: 0x00000200 | Blk cnt: 0x00000001
sdhci_imx1-slot0: Argument: 0x000095df | Trn mode: 0x00000011
sdhci_imx1-slot0: Present: 0xff8d8088 | Host ctl: 0x00000002
sdhci_imx1-slot0: Power: 0x0000000d | Blk gap: 0x00000080
sdhci_imx1-slot0: Wake-up: 0x00000000 | Clock: 0x00000002
sdhci_imx1-slot0: Timeout: 0x0000008b | Int stat: 0x00000000
sdhci_imx1-slot0: Int enab: 0x017f00fb | Sig enab: 0x017f00fb
sdhci_imx1-slot0: AC12 err: 0x00000000 | Slot int: 0x00000000
sdhci_imx1-slot0: Caps: 0x0377c800 | Max curr: 0x80000011
sdhci_imx1-slot0: ===========================================
mmc0: <MMC/SD bus> on sdhci_imx1
simplebus2: <usdhc@0219c000> mem 0x219c000-0x219ffff irq 57 type unknown (no driver attached)
Timecounters tick every 4.000 msec
vlan: initialized, using hash tables with chaining
tcp_init: net.inet.tcp.tcbhashsize auto tuned to 32768
lo0: bpf attached
sdhci_imx1-slot0: Divider 250 for freq 400000 (max 200000000)
mmc0: Probing bus
usbus0: 480Mbps High Speed USB v2.0
usbus1: 480Mbps High Speed USB v2.0
mmc0: SD 2.0 interface conditions: OK
mmc0: SD probe: OK (OCR: 0x00ff8000)
mmc0: Current OCR: 0x00ff8000
ugen0.1: <Freescale> at usbus0
uhub0: <Freescale EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
ugen1.1: <Freescale> at usbus1
uhub1: <Freescale EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
mmc0: Probing cards
mmc0: New card detected (CID 02544d534131364710279259a100bc00)
mmc0: New card detected (CSD 400e00325b59000075077f800a400000)
mmc0: Card at relative address 0x1234 added:
mmc0: card: SDHC SA16G 1.0 SN 663902625 MFG 12/2011 by 2 TM
mmc0: bus: 4bit, 50MHz, high speed timing
mmc0: memory: 30679040 blocks, erase sector 8192 blocks
mmc0: setting transfer rate to 50.000MHz (high speed timing)
sdhci_imx1-slot0: Divider 2 for freq 50000000 (max 200000000)
mmcsd0: 16GB <SDHC SA16G 1.0 SN 663902625 MFG 12/2011 by 2 TM> at mmc0 50.0MHz/4bit/65535-block
GEOM: new disk mmcsd0
mmc0: setting bus width to 4 bits
GEOM_PART: partition 1 is not aligned on 4194304 bytes
GEOM_PART: partition 2 is not aligned on 4194304 bytes
GEOM_PART: partition 1 is not aligned on 4194304 bytes
GEOM_PART: partition 1 is not aligned on 4194304 bytes
random: unblocking device.
uhub0: 1 port with 1 removable, self powered
uhub1: 1 port with 1 removable, self powered
Spurious interrupt detected [0x000003ff]
ugen1.2: <vendor 0x0bda> at usbus1
Trying to mount root from ufs:mmcsd0s2a []...
WARNING: / was not properly dismounted
WARNING: /: mount pending error: blocks 0 files 5
warning: no time-of-day clock registered, system time will not be set accurately
start_init: trying /sbin/init
GEOM_PART: partition 1 is not aligned on 4194304 bytes
wlan: <802.11 Link Layer>
urtwn0: <vendor 0x0bda product 0x8176, class 0/0, rev 2.00/2.00, addr 2> on usbus1
urtwn0: MAC/BB RTL8188CUS, RF 6052 1T1R
urtwn0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
urtwn0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps

 

8 Responses to "FreeBSD-11 on Wandboard"

  • HarryW
    July 22, 2014 - 3:16 am Reply

    Hi Tom,

    thanks for posting the log – that helped tremendously in making a purchasing decision of a USB WiFi dongle 😉

    Out of curiosity, have you ever investigated getting the Wandboard on-board WiFi to work?

    Thanks & cheerio, Harry.

    • tom@khubla.com
      July 24, 2014 - 8:12 pm Reply

      If I recall, the Wifi chip on Wandboard isn’t yet supported by FreeBSD.

      • HarryW
        July 28, 2014 - 7:52 pm Reply

        bummer – have you had any luck with recognizing drives on the SATA port?

        Thanks & cheerio, Harry.

  • tom@khubla.com
    July 31, 2014 - 8:53 pm Reply

    Haven’t tried yet.

    • HarryW
      August 13, 2014 - 3:21 pm Reply

      I dug a little deeper… The flattened device tree was missing a sata node. Adding it worked to the point I could list it at the FreeBSD loader prompt. However, there is no ahci_imx driver in FreeBSD at this point so obviously nothing attaches :-/.

      Cheerio, Harry.

  • LBH
    September 19, 2014 - 12:57 pm Reply

    Hi Harry what do you mean for “nothing attaches?” neither an usb audio card?

    Thanks

    • HarryW
      November 10, 2014 - 3:35 pm Reply

      No driver attaches (since no driver exists).

      Cheerio, Harry.

Leave a Reply