# UDOO X86



## Easter (Jan 26, 2017)

UDOO has begun preparing to ship their latest kickstarted boards in the UDOO X86 line. These boards with Intel-based SoCs might be good SBCs for running FreeBSD. Does anyone have any interest in it, or plans to buy one?

editing to add:
I have pre-purchased one through Kickstarter and will be attempting to install FreeBSD on it. It comes with an Intel Dual Band Wireless-AC 3168 M.2/NGFF wifi card, which I suspect will not be compatible with iwm (3165 is listed as working at iwm(), but 3168 seems like the "next generation" of that line). They'll be shipping at the end of March, so I have awhile to speculate!


----------



## dr. Chernobyl (Mar 17, 2017)

I have an interest in UDOO x86, I would like to transition in future from my windows laptop to SBC with FreeBSD as my main system, udoo x86 seems like a simple, low power yet powerful solution for my problem

I did create a thread few days on udoo forums about FreeBSD compatibility of udoo x86, please share your results about FreeBSD compatibility when you get the board


----------



## Easter (Mar 23, 2017)

They will be shipping soon (supposedly they were supposed to start going out today, but UDOO is a little unresponsive when it comes back to keeping their public informed, so they may not have passed testing). I got the basic model, and plan on installing FreeBSD 12-CURRENT and test driving it a bit. I'll post dmesg results as soon as I can get it up and running.

I will test out iwm() with the Intel wifi card that will be coming with it, but I have an older Atheros wifi card as well which should work with no problem if the Intel is not supported.


----------



## mlerota (May 10, 2017)

Just tried to install FreeBSD-11.0-RELEASE-amd64-memstick.img but it fails upon boot. Let us know if you managed to boot and install 12-Current or any other version. 

Thanks


----------



## Phishfry (May 11, 2017)

Does it have a regular BIOS? Does it appear to use EFI only?
Some boards use a 32bit EFI BIOS to save money. I would consider that and try Ubuntu Live and see how it shows up there.
Using FreeBSD 32bit version eliminates EFI problem so I would test with that too..


----------



## tingo (May 12, 2017)

One of the UDOO X86 boards have a X5-E8000 Atom SoC. This is a "Braswell" from the Silvermont architecture line. This also includes infamous members like "Bay Trail" and "Cherry Trail", so yes, I think the 32bit EFI could be an issue here too.


----------



## mlerota (May 13, 2017)

I thought this was x64 cpu. i386 works without a problem.


```
FreeBSD 11.0-RELEASE-p1 #0 r306420: Thu Sep 29 03:40:55 UTC 2016
root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC i386
FreeBSD clang version 3.8.0 (tags/RELEASE_380/final 262564) (based on LLVM 3.8.0)
VT(vga): resolution 640x480
CPU: Intel(R) Celeron(R) CPU  N3160  @ 1.60GHz (1600.05-MHz 686-class CPU)
  Origin="GenuineIntel"  Id=0x406c4  Family=0x6  Model=0x4c  Stepping=4
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x43d8e3bf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,MOVBE,POPCNT,TSCDLT,AESNI,RDRAND>
  AMD Features=0x28100000<NX,RDTSCP,LM>
  AMD Features2=0x101<LAHF,Prefetch>
  Structured Extended Features=0x2282<TSCADJ,SMEP,ERMS,NFPUSG>
  VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID
  TSC: P-state invariant, performance statistics
real memory  = 4294967296 (4096 MB)
avail memory = 1978654720 (1886 MB)
```


----------



## Phishfry (May 14, 2017)

Well it is a 64bit processor. Looks like the 64 bit boot loader has some problem with the board. The 32 bit bootloader is much simplier. The 64 bit boot loader has to choose between legacy bios or efi mode whereas the 32 bit boot loader does not. That is the beauty of the i386 versions they will run on either 32 bit or 64 bit machines and no EFI. With only 4GB memory soldered on I see no drawbacks for you.


----------



## Phishfry (May 14, 2017)

Seems strange that it has 4GB memory but only 2GB free. 
Have you dug through the bios. Something seems amiss there.
So I am assuming with the 3160 CPU you have the udoo x86 advanced or advanced plus.
Is the eMMC storage seen with FreeBSD if you have the advanced plus model?


----------



## mlerota (Jun 13, 2017)

Nice news. New x86-64 beta works!


```
FreeBSD 11.1-BETA1 #0 r319728: Fri Jun  9 02:21:09 UTC 2017
    root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on LLVM 4.0.0)
VT(vga): resolution 640x480
CPU: Intel(R) Celeron(R) CPU  N3160  @ 1.60GHz (1600.05-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x406c4  Family=0x6  Model=0x4c  Stepping=4
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x43d8e3bf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,MOVBE,POPCNT,TSCDLT,AESNI,RDRAND>
  AMD Features=0x28100800<SYSCALL,NX,RDTSCP,LM>
  AMD Features2=0x101<LAHF,Prefetch>
  Structured Extended Features=0x2282<TSCADJ,SMEP,ERMS,NFPUSG>
  VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID
  TSC: P-state invariant, performance statistics
real memory  = 4294967296 (4096 MB)
avail memory = 3969048576 (3785 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <INSYDE INSYDE>
WARNING: L1 data cache covers less APIC IDs than a core
0 < 1
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
FreeBSD/SMP: 1 package(s) x 4 core(s)
random: unblocking device.
ioapic0 <Version 2.0> irqs 0-114 on motherboard
SMP: AP CPU #2 Launched!
SMP: AP CPU #1 Launched!
SMP: AP CPU #3 Launched!
Timecounter "TSC" frequency 1600052980 Hz quality 1000
```


----------



## Phishfry (Jun 14, 2017)

Does the e-MMC 32GB disk work for installation?

Memory looks correct now too.


----------



## mlerota (Jun 16, 2017)

Didn't try to install it on MMC card. Have 32GB SSD version so I installed it there.


----------



## Phishfry (Jun 16, 2017)

Just to be clear the eMMC _is_ the 32GB SSD storage onboard. So FreeBSD does recognize it? To me it would be worth the extra bit of money for the eMMC. Saves a slot onboard. Have you tried any periphery in the slots yet?


----------



## Easter (Jun 17, 2017)

Well I finally got my UDOO X86 and decided to install FreeBSD 11-CURRENT on there. I've added a repurposed 256gb SanDisk X110 M.2 SSD which I found on eBay for a good price, and an Atheros M.2 QCNFA222 WiFi card. I installed via a USB drive with FreeBSD-11.0-RELEASE-amd64-memstick.img, and never had to connect to Ethernet, since the installer set-up rc.conf, resolv.conf, and wpa_supplicant.conf for me. I only have the basic edition, so there is no onboard eMMC.

I haven't really taxed it at all, but it seems to run fine. I ran a C program I wrote that taxed all four cores and it ran fine. I did notice some ACPI errors in the dmesg results, not exactly sure what they're indicative of. Here's my dmesg results:


```
Copyright (c) 1992-2016 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-RELEASE-p1 #0 r306420: Thu Sep 29 01:43:23 UTC 2016
    root@releng2.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
FreeBSD clang version 3.8.0 (tags/RELEASE_380/final 262564) (based on LLVM 3.8.0)
VT(vga): resolution 640x480
CPU: Intel(R) Atom(TM) x5-E8000  CPU @ 1.04GHz (1040.03-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0x406c4  Family=0x6  Model=0x4c  Stepping=4
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x43d8e3bf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,MOVBE,POPCNT,TSCDLT,AESNI,RDRAND>
  AMD Features=0x28100800<SYSCALL,NX,RDTSCP,LM>
  AMD Features2=0x101<LAHF,Prefetch>
  Structured Extended Features=0x2282<TSCADJ,SMEP,ERMS,NFPUSG>
  VT-x: PAT,HLT,MTF,PAUSE,EPT,UG,VPID
  TSC: P-state invariant, performance statistics
real memory  = 2147483648 (2048 MB)
avail memory = 1944514560 (1854 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <INSYDE INSYDE>
WARNING: L1 data cache covers less APIC IDs than a core
0 < 1
FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
FreeBSD/SMP: 1 package(s) x 4 core(s)
random: unblocking device.
ioapic0 <Version 2.0> irqs 0-114 on motherboard
random: entropy device external interface
kbd0 at kbdmux0
netmap: loaded module
module_register_init: MOD_LOAD (vesa, 0xffffffff8101c950, 0) error 19
random: registering fast source Intel Secure Key RNG
random: fast provider: "Intel Secure Key RNG"
cryptosoft0: <software crypto> on motherboard
acpi0: <INSYDE INSYDE> on motherboard
acpi0: Power Button (fixed)
unknown: I/O range not supported
cpu0: <ACPI CPU> on acpi0
ACPI Error: Mutex [0x0] is not acquired, cannot release (20160527/utmutex-386)
ACPI Error: Could not release AML Interpreter mutex (20160527/exutils-147)
ACPI Error: Mutex [0x0] is not acquired, cannot release (20160527/utmutex-386)
ACPI Error: Could not release AML Interpreter mutex (20160527/exutils-147)
cpu1: <ACPI CPU> on acpi0
ACPI Error: Mutex [0x0] is not acquired, cannot release (20160527/utmutex-386)
ACPI Error: Could not release AML Interpreter mutex (20160527/exutils-147)
ACPI Error: Mutex [0x0] is not acquired, cannot release (20160527/utmutex-386)
ACPI Error: Could not release AML Interpreter mutex (20160527/exutils-147)
cpu2: <ACPI CPU> on acpi0
cpu3: <ACPI CPU> on acpi0
attimer0: <AT timer> port 0x40-0x43,0x50-0x53 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
atrtc0: <AT realtime clock> port 0x70-0x77 on acpi0
atrtc0: Warning: Couldn't map I/O.
Event timer "RTC" frequency 32768 Hz quality 0
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pcib0: _OSC returned error 0x4
pci0: <ACPI PCI bus> on pcib0
vgapci0: <VGA-compatible display> port 0x2000-0x203f mem 0x90000000-0x90ffffff,0x80000000-0x8fffffff irq 16 at device 2.0 on pci0
vgapci0: Boot video device
ahci0: <AHCI SATA controller> port 0x2060-0x207f mem 0x91527000-0x915277ff irq 19 at device 19.0 on pci0
ahci0: AHCI v1.31 with 2 6Gbps ports, Port Multiplier not supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich1: <AHCI channel> at channel 1 on ahci0
xhci0: <XHCI (generic) USB 3.0 controller> mem 0x91500000-0x9150ffff irq 20 at device 20.0 on pci0
xhci0: 32 bytes context size, 64-bit DMA
usbus0: waiting for BIOS to give up control
usbus0 on xhci0
pci0: <encrypt/decrypt> at device 26.0 (no driver attached)
hdac0: <Intel (0x2284) HDA Controller> mem 0x91510000-0x91513fff irq 22 at device 27.0 on pci0
pcib1: <ACPI PCI-PCI bridge> at device 28.0 on pci0
pcib1: [GIANT-LOCKED]
pcib2: <ACPI PCI-PCI bridge> irq 18 at device 28.2 on pci0
pci1: <ACPI PCI bus> on pcib2
re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit Ethernet> port 0x1000-0x10ff mem 0x91200000-0x91200fff,0x91000000-0x91003fff irq 18 at device 0.0 on pci1
re0: Using 1 MSI-X message
re0: Chip rev. 0x4c000000
re0: MAC rev. 0x00000000
miibus0: <MII bus> on re0
rgephy0: <RTL8251 1000BASE-T media interface> PHY 1 on miibus0
rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
re0: Using defaults for TSO: 65518/35/2048
re0: Ethernet address: [redacted]
re0: netmap queues/slots: TX 1/256, RX 1/256
pcib3: <ACPI PCI-PCI bridge> irq 19 at device 28.3 on pci0
pci2: <ACPI PCI bus> on pcib3
ath0: <Atheros AR946x/AR948x> mem 0x91100000-0x9117ffff irq 19 at device 0.0 on pci2
ar9300_attach: calling ar9300_hw_attach
ar9300_hw_attach: calling ar9300_eeprom_attach
ar9300_flash_map: unimplemented for now
Restoring Cal data from DRAM
Restoring Cal data from EEPROM
Restoring Cal data from Flash
Restoring Cal data from Flash
Restoring Cal data from OTP
ar9300_hw_attach: ar9300_eeprom_attach returned 0
ath0: [HT] enabling HT modes
ath0: [HT] enabling short-GI in 20MHz mode
ath0: [HT] 1 stream STBC receive enabled
ath0: [HT] 1 stream STBC transmit enabled
ath0: [HT] LDPC transmit/receive enabled
ath0: [HT] 2 RX streams; 2 TX streams
ath0: AR9460 mac 640.3 RF5110 phy 0.0
ath0: 2GHz radio: 0x0000; 5GHz radio: 0x0000
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
acpi_button0: <Power Button> on acpi0
acpi_button1: <Sleep Button> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
acpi_tz1: <Thermal Zone> on acpi0
acpi_tz1: _PSV value is absurd, ignored (-272.1C)
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ppc0: cannot reserve I/O port range
est0: <Enhanced SpeedStep Frequency Control> on cpu0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
est2: <Enhanced SpeedStep Frequency Control> on cpu2
est3: <Enhanced SpeedStep Frequency Control> on cpu3
Timecounters tick every 1.000 msec
nvme cam probe device init
hdacc0: <Realtek (0x0283) HDA CODEC> at cad 0 on hdac0
hdaa0: <Realtek (0x0283) Audio Function Group> at nid 1 on hdacc0
pcm0: <Realtek (0x0283) (Analog 2.0+HP/2.0)> at nid 20,33 and 25 on hdaa0
hdacc1: <Intel (0x2883) HDA CODEC> at cad 2 on hdac0
hdaa1: <Intel (0x2883) Audio Function Group> at nid 1 on hdacc1
pcm1: <Intel (0x2883) (HDMI/DP 8ch)> at nid 7 on hdaa1
pcm2: <Intel (0x2883) (HDMI/DP 8ch)> at nid 5 on hdaa1
pcm3: <Intel (0x2883) (HDMI/DP 8ch)> at nid 6 on hdaa1
usbus0: 5.0Gbps Super Speed USB v3.0
ugen0.1: <0x8086> at usbus0
uhub0: <0x8086 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0
ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
ada0: <SanDisk SD6SP1M256G1012 X231312> ATA8-ACS SATA 3.x device
ada0: Serial Number 140908421518
ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 512bytes)
ada0: Command Queueing enabled
ada0: 244198MB (500118192 512 byte sectors)
SMP: AP CPU #3 Launched!
SMP: AP CPU #1 Launched!
SMP: AP CPU #2 Launched!
Timecounter "TSC" frequency 1040034476 Hz quality 1000
Trying to mount root from ufs:/dev/ada0p2 [rw]...
uhub0: 13 ports with 13 removable, self powered
ugen0.2: <UDOO> at usbus0
wlan0: Ethernet address: [redacted]
ugen0.3: <vendor 0x0cf3> at usbus0
re0: link state changed to DOWN
umodem0: <UDOO UDOO X86, class 2/0, rev 1.10/80.87, addr 1> on usbus0
umodem0: data interface 1, has no CM over data, has no break
wlan0: link state changed to UP
```


----------



## balanga (Dec 14, 2017)

Just wondered how well the UDOO x86 has been performing...

Having just watched a review of one, I see it comes with a SIM slot so maybe it could be used as a 4G router with the aid of PCIe 4G modem...


----------

