# Zotac Zbox Nano ID61 mini review



## aragon (Jul 3, 2012)

Hi,

I've finally gotten my hands on one of Zotac's latest Zbox releases - the Zbox Nano ID61.  For those who haven't been waiting for this, it's their first foray into putting an Intel CULV chipset into a product line that has otherwise been dominated by Atom and AMD Fusion chips.  The chip in question is a Celeron 867.  Do some research, but I think you'll find that this little guy could make for a neat little lite duty server, better than any Atom/AMD equivalent.  Intel even threw in hardware virtualisation for us!

So far most things seem to work well.

My only complaint is the fan is a bit noisy - not something you want on your desk.

USB and PXE booting both work.  On the whole the BIOS seems good, and POSTs quickly.

I'm testing with a recent checkout of FreeBSD 9.0-STABLE, and components that don't work include:


MMC/SD card reader (no boot support either)
USB3
Bluetooth
ICH watchdog

USB3 half works in that the kernel detects an xhci(4) device, but when a USB3 device is plugged in, it takes a few seconds before a timeout kernel error is printed and the device ends up connecting to an ehci(4) controller.

The ICH watchdog attracts an ichwd(4) device attachment, but running watchdogd(8) and then killing it does nothing.  Strangely if a timeout is manually set with the watchdog(8) utility, the system will reboot if watchdogd is not running.  No combination of these two seems to make the watchdog practically usable though.

MMC/SD shows up as a USB device, but no drivers attach to it.

Bluetooth gets an ng_ubt(4) device attachment, but the bluetooth stack fails to start.

Things I haven't tested:


eSATA
Displayport
HD Audio
Infrared
X11/DRI

This isn't the best media center PC, so I probably won't test the last 3 items.  I have no other Displayport hardware, so I can't test that either.

Next post will have the nerdy bits.


----------



## aragon (Jul 3, 2012)

```
# cat /var/run/dmesg.boot 
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 9.0-STABLE #0: Tue Jul  3 15:56:49 SAST 2012
    toor@igor.geek.sh:/usr/obj/i386.i386/usr/src/sys/GENERIC i386
CPU: Intel(R) Celeron(R) CPU 867 @ 1.30GHz (1297.09-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x206a7  Family = 6  Model = 2a  Stepping = 7
  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=0x5bae3bf<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,TSCDLT,XSAVE>
  AMD Features=0x28100000<NX,RDTSCP,LM>
  AMD Features2=0x1<LAHF>
  TSC: P-state invariant, performance statistics
real memory  = 2147483648 (2048 MB)
avail memory = 2017161216 (1923 MB)
Event timer "LAPIC" quality 600
ACPI APIC Table: <ALASKA A M I>
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s)
 cpu0 (BSP): APIC ID:  0
 cpu1 (AP): APIC ID:  2
ioapic0 <Version 2.0> irqs 0-23 on motherboard
kbd1 at kbdmux0
ctl: CAM Target Layer loaded
acpi0: <ALASKA A M I> on motherboard
acpi0: Power Button (fixed)
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff on acpi0
Timecounter "HPET" frequency 14318180 Hz quality 950
Event timer "HPET" frequency 14318180 Hz quality 550
Event timer "HPET1" frequency 14318180 Hz quality 440
Event timer "HPET2" frequency 14318180 Hz quality 440
Event timer "HPET3" frequency 14318180 Hz quality 440
Event timer "HPET4" frequency 14318180 Hz quality 440
Event timer "HPET5" frequency 14318180 Hz quality 440
Event timer "HPET6" frequency 14318180 Hz quality 440
atrtc0: <AT realtime clock> port 0x70-0x77 irq 8 on acpi0
atrtc0: Warning: Couldn't map I/O.
Event timer "RTC" frequency 32768 Hz quality 0
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
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
pci0: <ACPI PCI bus> on pcib0
vgapci0: <VGA-compatible display> port 0xf000-0xf03f mem 0xf7800000-0xf7bfffff,0xe8000000-0xefffffff irq 16 at device 2.0 on pci0
agp0: <SandyBridge mobile GT1 IG> on vgapci0
agp0: aperture size is 128M, detected 32764k stolen memory
pci0: <simple comms> at device 22.0 (no driver attached)
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xf7e04000-0xf7e043ff irq 16 at device 26.0 on pci0
usbus0: EHCI version 1.0
usbus0 on ehci0
pcib1: <ACPI PCI-PCI bridge> irq 16 at device 28.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pcib2: <ACPI PCI-PCI bridge> irq 18 at device 28.2 on pci0
pci2: <ACPI PCI bus> on pcib2
xhci0: <XHCI (generic) USB 3.0 controller> mem 0xf7d00000-0xf7d07fff irq 18 at device 0.0 on pci2
xhci0: 64 byte context size.
usbus1 on xhci0
pcib3: <ACPI PCI-PCI bridge> irq 19 at device 28.3 on pci0
pci3: <ACPI PCI bus> on pcib3
iwn0: <Intel Centrino Wireless-N 130> mem 0xf7c00000-0xf7c01fff irq 19 at device 0.0 on pci3
pcib4: <ACPI PCI-PCI bridge> irq 16 at device 28.4 on pci0
pci4: <ACPI PCI bus> on pcib4
re0: <RealTek 8168/8111 B/C/CP/D/DP/E/F PCIe Gigabit Ethernet> port 0xe000-0xe0ff mem 0xf0004000-0xf0004fff,0xf0000000-0xf0003fff irq 16 at device 0.0 on pci4
re0: Using 1 MSI-X message
re0: turning off MSI enable bit.
re0: ASPM disabled
re0: Chip rev. 0x2c800000
re0: MAC rev. 0x00000000
miibus0: <MII bus> on re0
rgephy0: <RTL8169S/8110S/8211 1000BASE-T media interface> PHY 1 on miibus0
rgephy0:  none, 10baseT, 10baseT-FDX, 10baseT-FDX-flow, 100baseTX, 100baseTX-FDX, 100baseTX-FDX-flow, 1000baseT, 1000baseT-master, 1000baseT-FDX, 1000baseT-FDX-master, 1000baseT-FDX-flow, 1000baseT-FDX-flow-master, auto, auto-flow
re0: Ethernet address: 00:01:2e:47:31:e2
ehci1: <EHCI (generic) USB 2.0 controller> mem 0xf7e03000-0xf7e033ff irq 23 at device 29.0 on pci0
usbus2: EHCI version 1.0
usbus2 on ehci1
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
ahci0: <Intel Cougar Point AHCI SATA controller> port 0xf0b0-0xf0b7,0xf0a0-0xf0a3,0xf090-0xf097,0xf080-0xf083,0xf060-0xf07f mem 0xf7e02000-0xf7e027ff irq 19 at device 31.2 on pci0
ahci0: AHCI v1.30 with 6 6Gbps ports, Port Multiplier not supported
ahcich0: <AHCI channel> at channel 0 on ahci0
ahcich1: <AHCI channel> at channel 1 on ahci0
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
acpi_button0: <Power Button> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
acpi_tz1: <Thermal Zone> on acpi0
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
pmtimer0 on isa0
orm0: <ISA Option ROM> at iomem 0xcf000-0xcffff pnpid ORM0000 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
ata0: <ATA channel> at port 0x1f0-0x1f7,0x3f6 irq 14 on isa0
ata1: <ATA channel> at port 0x170-0x177,0x376 irq 15 on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
ppc0: parallel port not found.
est0: <Enhanced SpeedStep Frequency Control> on cpu0
est1: <Enhanced SpeedStep Frequency Control> on cpu1
Timecounters tick every 10.000 msec
usbus0: 480Mbps High Speed USB v2.0
usbus1: 5.0Gbps Super Speed USB v3.0
usbus2: 480Mbps High Speed USB v2.0
ugen0.1: <Intel> at usbus0
uhub0: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
ugen1.1: <0x1b6f> at usbus1
uhub1: <0x1b6f XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus1
ugen2.1: <Intel> at usbus2
uhub2: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus2
uhub1: 4 ports with 4 removable, self powered
uhub0: 2 ports with 2 removable, self powered
uhub2: 2 ports with 2 removable, self powered
ugen0.2: <vendor 0x8087> at usbus0
uhub3: <vendor 0x8087 product 0x0024, class 9/0, rev 2.00/0.00, addr 2> on usbus0
ugen2.2: <vendor 0x8087> at usbus2
uhub4: <vendor 0x8087 product 0x0024, class 9/0, rev 2.00/0.00, addr 2> on usbus2
uhub3: 6 ports with 6 removable, self powered
uhub4: 6 ports with 6 removable, self powered
ugen2.3: <Generic> at usbus2
ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
ada0: <WDC WD3200BPVT-75JJ5T0 03.01A03> ATA-8 SATA 2.x device
ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
ada0: Command Queueing enabled
ada0: 305245MB (625142448 512 byte sectors: 16H 63S/T 16383C)
ada0: Previously was known as ad4
SMP: AP CPU #1 Launched!
Timecounter "TSC-low" frequency 10133543 Hz quality 1000
Root mount waiting for: usbus2
ugen2.4: <vendor 0x8086> at usbus2
Trying to mount root from nfs: []...
NFS ROOT: 172.18.87.132:/data/freebsd/pxe/FreeBSD_90_i386/
ubt0: <vendor 0x8086 product 0x0189, class 224/1, rev 2.00/69.19, addr 4> on usbus2
WARNING: attempt to domain_add(bluetooth) after domainfinalize()
WARNING: attempt to domain_add(netgraph) after domainfinalize()
```



```
# usbconfig
ugen0.1: <EHCI root HUB Intel> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
ugen1.1: <XHCI root HUB 0x1b6f> at usbus1, cfg=0 md=HOST spd=SUPER (5.0Gbps) pwr=SAVE
ugen2.1: <EHCI root HUB Intel> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
ugen0.2: <product 0x0024 vendor 0x8087> at usbus0, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
ugen2.2: <product 0x0024 vendor 0x8087> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=SAVE
ugen2.3: <USB2.0-CRW Generic> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON
ugen2.4: <product 0x0189 vendor 0x8086> at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON
```

MMC/SD controller:

```
# usbconfig -d ugen2.3 dump_device_desc
ugen2.3: <USB2.0-CRW Generic> at usbus2, cfg=0 md=HOST spd=HIGH (480Mbps) pwr=ON

  bLength = 0x0012 
  bDescriptorType = 0x0001 
  bcdUSB = 0x0200 
  bDeviceClass = 0x00ff 
  bDeviceSubClass = 0x00ff 
  bDeviceProtocol = 0x00ff 
  bMaxPacketSize0 = 0x0040 
  idVendor = 0x0bda 
  idProduct = 0x0129 
  bcdDevice = 0x3960 
  iManufacturer = 0x0001  <Generic>
  iProduct = 0x0002  <USB2.0-CRW>
  iSerialNumber = 0x0003  <20100201396000000>
  bNumConfigurations = 0x0001
```

P4TCC is disabled in /boot/loader.conf.

```
# sysctl dev.cpu
dev.cpu.0.%desc: ACPI CPU
dev.cpu.0.%driver: cpu
dev.cpu.0.%location: handle=\_PR_.CPU0
dev.cpu.0.%pnpinfo: _HID=none _UID=0
dev.cpu.0.%parent: acpi0
dev.cpu.0.freq: 800
dev.cpu.0.freq_levels: 1300/17000 1200/15462 1100/13956 1000/12481 900/11201 800/9787
dev.cpu.0.cx_supported: C1/1 C2/104
dev.cpu.0.cx_lowest: C1
dev.cpu.0.cx_usage: 100.00% 0.00% last 2337us
dev.cpu.0.coretemp.delta: 60
dev.cpu.0.coretemp.resolution: 1
dev.cpu.0.coretemp.tjmax: 100.0C
dev.cpu.0.coretemp.throttle_log: 0
dev.cpu.0.temperature: 40.0C
dev.cpu.1.%desc: ACPI CPU
dev.cpu.1.%driver: cpu
dev.cpu.1.%location: handle=\_PR_.CPU1
dev.cpu.1.%pnpinfo: _HID=none _UID=0
dev.cpu.1.%parent: acpi0
dev.cpu.1.cx_supported: C1/1 C2/104
dev.cpu.1.cx_lowest: C1
dev.cpu.1.cx_usage: 100.00% 0.00% last 2948us
dev.cpu.1.coretemp.delta: 57
dev.cpu.1.coretemp.resolution: 1
dev.cpu.1.coretemp.tjmax: 100.0C
dev.cpu.1.coretemp.throttle_log: 0
dev.cpu.1.temperature: 43.0C
```


```
# ifconfig wlan0 create wlandev iwn0
# ifconfig wlan0 list caps
drivercaps=2581e001<STA,TXPMGT,SHSLOT,SHPREAMBLE,MONITOR,WPA1,WPA2,WME,BGSCAN>
htcaps=5006e<CHWIDTH40,SHORTGI20,SHORTGI40>
```


----------



## SirDice (Jul 4, 2012)

Nice, last week I bought an Zbox ID80 plus. It has an Intel Atom dual core with hyper-threading and an NVidia GT520 graphicscard. Perfect little mediaplayer. Got it hooked up to my 55" TV. I haven't installed FreeBSD yet, been to busy playing games on it :e

The only downside I found with it is the harddrive. It's rather slow. You may want to opt for the 'regular' ID80 and stick a faster harddrive or an SSD in there.


----------



## aragon (Jul 6, 2012)

aragon said:
			
		

> The ICH watchdog attracts an ichwd(4) device attachment, but running watchdogd(8) and then killing it does nothing.  Strangely if a timeout is manually set with the watchdog(8) utility, the system will reboot if watchdogd is not running.  No combination of these two seems to make the watchdog practically usable though.


Turns out this is totally bogus, and I was being a bit retarded in my testing methodology.  Killing watchdogd causes it to uninitialise the watchdog timer, so it's no wonder the system never rebooted.  I've tested now by suspending watchdogd, and the system reboots.  The watchdog works perfectly!


----------



## TheDreamer (Jul 6, 2012)

I've been thinking about getting the Zotac ZBOX Nano ID61, to use as an X Terminal driving a pair of 23" displays.

I sure hope it all works


----------



## aragon (Jul 6, 2012)

TheDreamer said:
			
		

> I've been thinking about getting the Zotac ZBOX Nano ID61, to use as an X Terminal driving a pair of 23" displays.


I'm curious to know if it can drive two displays.  That would be kinda neat!  PXE boot works great on it. 

So I'm really liking this little system.  Perhaps even to the point of obsession.  Today my curiosity got the best of me and I decided to void my warranty.  I was mostly interested to see if there was a PCB header for the UART that shows up in a bootup dmesg.  There is one!  But sadly it's not a common 0.1" pitch pin header, so I'll need to do some hunting for a plug that mates with it.  Attached are some glorious photos of the bits Zotac don't want you playing with.

If anyone recognises the "COM1" plug, please let us know.


----------



## SirDice (Jul 6, 2012)

The connector marked with COM1 looks like an FFC connector.

http://en.wikipedia.org/wiki/Flexible_flat_cable


----------



## SirDice (Jul 6, 2012)

On second look, especially picture number 4, it looks more like an 90 degree IDC connector. It's the same kind of connector IDE cables have, only with 2x10 pins and a smaller pitch (0.05").

http://www.alibaba.com/product-gs/546545827/JST_IDC_right_angle_SMT_connector/showimage.html


----------



## aragon (Jul 6, 2012)

Thanks SirDice.  That last link does look very similar, and might be it!!  I've made a post on the AVRfreaks forum too, and will visit some local supply stores next week.


----------



## SirDice (Jul 6, 2012)

I think the bigger problem will be finding out which pin has what signal. I don't think they used any standard.

Definitely have a look at this: http://vip.asus.com/forum/view.aspx...board_id=1&model=P5K-E&page=1&SLanguage=en-us

It should be reasonably safe if you try to make a null-modem cable based on that. If those pins match up it's probable the other's do to.


----------



## aragon (Jul 6, 2012)

SirDice said:
			
		

> I think the bigger problem will be finding out which pin has what signal.


Nah, I reckon I can figure that out, hehe.


----------



## wblock@ (Jul 6, 2012)

Digikey shows some similar looking connectors when searching on "JST 0.8mm".  A quick look did not show how the female socket pins for those are attached.  Many of those are crimp pins, where the pins are cheap but the tools are ridiculously expensive (over $1,000 in some cases).  Sometimes that can be faked with pliers or solder or both.  These are tiny, which just makes it more of a challenge.

I'd mail Zotac or post in their forums.  The implication is that that they would sell the accessory cable to go with this.


----------



## aragon (Jul 6, 2012)

Thanks guys!  All suggestions seem to lead the way of JST, and I think I've found them:

JST SH connector

I've studied JST's spec sheet closely now, and it must be these, hehe.  Thanks for the Zotac forum suggestion!  I'm going to post there too.

I've already found a local supplier of JST SH connectors if I need to make my own cable.  Actually the nice thing I just noticed with these plugs is that JST sell the pins with a length of 30 AWG cable factory crimped, hoorah!

Here are the RS-Components links:

http://za.rs-online.com/web/p/connector-hoods-shells/3116552/
http://za.rs-online.com/web/p/crimp-terminals/3116647/

Will keep ya posted.


----------



## aragon (Jul 12, 2012)

I've been playing with this hardware more lately, and it's as fast as I'd hoped.  Maybe a little slower, but very usable as a small server.

To give you an idea, a 9-STABLE GENERIC kernel build takes 33 minutes.  Building databases/db48 takes 2m3s.

On my (admittedly old) Atom 330, databases/db48 takes 3m57s.


----------



## aragon (Jul 18, 2012)

Hi, quick update...

The JST SH plug was the correct choice.  Received mine a day ago.

I've sent a mail to Zotac requesting the COM1 pinout.  If they're not forthcoming I'll try get it the hard way. 

In the mean time I decided to measure the idle power consumption of this system.  I've removed the WLAN card for this testing, and I've also included results without an HDD too.  Testing was done with a current meter on the DC input of the board.

powerd(8) was enabled, and /boot/loader.conf had these settings:


```
hw.pci.do_power_nodriver=3
kern.hz="100"
hint.p4tcc.0.disabled="1"
hint.acpi_throttle.0.disabled="1"
```

Results:

```
650 mA      No HDD
550 mA      No HDD, C2 state enabled

730 mA      HDD
690 mA      HDD, AHCI PM enabled
630 mA      HDD, C2 state enabled
595 mA      HDD, AHCI PM + C2 state enabled
```

DC supply is 19 Volts if you want to calculate Watts.

C2 state saves 50 mA per core.  AHCI power management saves 40 mA with the included HDD.

Out of interest I also bogged the system down with lots of CPU and disk+network I/O - highest current spike I measured was 1170 mA, with 1130 mA average.  I guess it might be a bit higher with the onboard GPU rendering graphics.

So with the HDD the system power consumption ranges from about 11.3 Watts to 22.2 Watts.  Pretty cool!

It ships with a 60 Watt supply.


----------



## aragon (Aug 3, 2012)

Good news... I got the COM1 pinout from Zotac (thanks Zotac!), but I'm still verifying it before I post here.

Other news - Zotac's latest BIOS with improved fan control causes a noticeable reduction in noise levels.

I recently upgraded an oldish Atom system with an ID61.  It was for a low power, 1U dedicated hosting setup I built a while ago.  The 1U case is a Travla C159.  It only takes Mini-ITX form factor boards, so I had to make a reducer.  The end result is pretty awesome.  Enough space in the case for active+backup power supplies now.  Even enough space for two ID61 boards if you want to get really creative!

Pics and plans attached.


----------

