The J3355 is DUAL-core

Regular readers will probably know by now that I’m enamoured of the tiny, all-in-one, Intel-based systems generally referred to as “Mini-PCs”.  They are more expensive than a Raspberry Pi, but they come with a case, a PSU, an on-board RTC, generally a decent amount of memory and sometimes built-in eMMC storage, too.  Prices have increased over the past few months (the C-19 effect, again), but the bottom-end models (generally the quad-core Atom Z8350 equipped systems) are still available for around the $100 range (GearBest, FastTech, CDiscount, etc).

I already have a few of these mini systems and one which underwhelmed me on first impressions was the AP35 Beelink J3355-based box, mainly because it was advertised as “fanless”, but does have a CPU blower and because the eMMC just would not work reliably.  I gave up on the eMMC and put in a small, internal SSD and since then it has been giving sterling service as a mini NAS (ZFS filesystems with TimeMachine as a backup server for various Macs) as well as running a couple of Bhyve virtual machines (doing very light duty).  Once I stopped trying to use the eMMC and put it in the basement “computer room”, my opinion of it increased considerably.  It’s a little work horse and, although not a speed monster, performs well enough for my requirements and has been absolutely reliable over the past year (again, since I gave up on the eMMC).

I mention that system specifically simply because I’ve been keeping an eye on prices, with the idea of adding another machine to the collection, if the price is right and the target machine has more than two USB-3 ports.  I’ve noticed that there are a few other J3355-based models appearing, with a form-factor pretty much the same as the Z8350 systems and priced in the same general area (ie:- the bottom end of the price range).  One thing which I’ve noticed recently though, is that almost all of the advertisments for these systems specify the J3355 as a “quad-core” CPU chip.  It isn’t.  Here’s an excerpt from the dmesg output of the AP35:-

FreeBSD 12.1-RELEASE-p6 GENERIC amd64
FreeBSD clang version 8.0.1 (tags/RELEASE_801/final 366581) (based on LLVM 8.0.1)
VT(efifb): resolution 800×600
Skipping TSC calibration since no legacy devices reported by FADT and CPUID works
CPU: Intel(R) Celeron(R) CPU J3355 @ 2.00GHz (1996.80-MHz K8-class CPU)
Origin=”GenuineIntel” Id=0x506c9 Family=0x6 Model=0x5c Stepping=9
AMD Features=0x2c100800
AMD Features2=0x101
Structured Extended Features=0x2294e283
Structured Extended Features3=0x2c000000
TSC: P-state invariant, performance statistics
real memory = 4294967296 (4096 MB)
avail memory = 3894444032 (3714 MB)
Event timer “LAPIC” quality 600
WARNING: L1 data cache covers fewer APIC IDs than a core (0 < 1)
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
FreeBSD/SMP: 1 package(s) x 2 core(s)

…and, just in case you think FreeBSD might be mis-reporting, you can go to the Intel information page for the CPU and check.

Having said all of that, here’s a link to a system on FastTech’s site to an MII-V with 4GB/64GB, GbE and four USB-3 ports which, at $112.45 (with free shipping), seems to be the best, generally available deal on this class of machine at the moment …just remember, it is DUAL-core (no matter what they say).

[ …and, Beelink please take note, so is the N3350. ]

Tanix TX85 – Z8350/4GB/64GB


Update Jan 2021  —  Two readers, Brian and Gerard, have both reported that the TX85 systems which they bought have significantly different versions of BIOS than the machines which I originally purchased (see the comments section for details).  The changes (an apparent lock-in to booting Windows and the lack of a reboot-after-powerfail setting) mean that the TX85 with these different BIOS versions is not suitable for use as a Linux/BSD mini server, so I would now strongly advise readers against purchasing the TX85 for this type of application.

As anyone who has been checking in over the past couple of years will know, I’ve recently become a great fan of Intel-based, micro/nano servers.  Unlike ARM boxen, they come with a case (rather than as a bare-board), complete with power supply, RTC and battery.  They’re cheap to buy and, with a power requirement of about 1/10th of a standard desktop system, are also cheap to run.  On the flip side, they do run on the warm side and so must be wasting more power as heat than their (generally cooler) ARM cousins.  Taking all of that into consideration (and with enough experience to convince me of their long-term reliability), all of the “servers” on our home network have now been downgraded from power-hungry monsters to these tiny, but powerful workhorses.

I’m always on the lookout for cheaper/better models and, a few weeks ago, I noticed that the TV-box maker, Tanix, had just brought out their own version, the Tanix TX85.  It had a couple of advantages over the other models at the low end of the market:-

  • Tanix has a pretty good reputation as a TV-box manufacturer
  • The TX85 appeared to have a pretty good, fanless ventilation system
  • It was very cheap

Having just completed a firewall/VPN project with a brace of different Intel-based micro/nano servers, the Tanix looked like an ideal candidate for the next step; offsite/offline back-up machines.  The idea behind this is that the separate physical sites (site-X and site-Y) connected via a VPN tunnel will each have a tiny server with an attached USB-3 disk.  The machines will generally be powered off and not accessible over the network.  When site-X wants to do a back-up, they request the operator at site-Y to power on the server and disk.  Once it becomes accessible over the VPN tunnel, site-X sends data to the machine at site-Y and on completion sends a “halt -p” instruction to power off.  The same system works in reverse for site-Y back-ups to the site-X machine.  I should qualify this simplified description by adding that this is suitable for small home or home/office offsites, but doesn’t scale well to anything much bigger that might be handling commerce/database operations  …it also assumes that you have someone capable of restoring data from an offline back-up (something that those same commercial/database operations sometimes tend to overlook).

Anyway, after wandering around the dimly lit alleyways of Alibaba for a couple of days (during which time I found an excellent price advertised by a certain vendor for the Tanix, which morphed into something vastly more expensive when I actually sent in an order — be careful out there, folks!) I finally found the Shenzhen BoxKing Technology Company, where “Nicole” very patiently helped me through the ordering process and gave me a very reasonable quote on shipping, as well as exactly the same (low, $87) price that they were advertising on the actual systems.  From order payment to shipping notification took about a week, but from that point to arrival on my doorstep was only 4 days (despite the box having been stopped and opened by customs).  It’s worth noting here that you might want to insist on the EMS shipment method if the other well-know, big name carriers tend to charge exorbitant service fees in your country (luckily they don’t here).

The normal disclaimers apply here.  I have no relationship with Shenzhen BoxKing Technology (or Tanix), other than being a satisfied customer and, although I recommend them, I do so on the basis of this single order.  I paid the full, advertised price for these systems myself and have not been (nor will be) recompensed in any way for mentioning them here.  ]

Tanix-TX85 retail boxThe systems came in a fairly stout cardboard box (which in my case had been mauled about a bit by customs, but then tidily repackaged and taped up again) contained within an equally stout, waterproof, plastic shipping bag.  The individual boxes containing the systems are very sexy retail versions (see photo), with a thin, slip-on card sleeve, which serves as protection against the box coming open accidentally, while also adding more branding space.

Inside, there’s the system itself (inside a soft bag) on top of a minimal manual and, separated from the system by a card shelf, the metal adapter (and screws) for mounting the CPU to the rear of a monitor.  On the right (see photo below) there’s a second, black and grey box, containing the power supply and an HDMI cable.Unboxed TX85. PSU in lower R/H (black and grey) box.

As you can see from the second photo, this unit comes with a VGA port, as well as an HDMI port, so it seems that it’s possible to run two monitors concurrently (although I haven’t verified that this actually works yet).  The ventilation holes all round the top of the case actually are ventilation holes and not just some fancy, plastic ornamental work.  There are also slots in the bottom of the case to encourage airflow.

Plugging the TX85 in and switching it on produces one of those mail-order “Uh-oh!” moments, as it takes a second or two to realize that there are no external LEDs (not even on the RJ45 connector) and, until the video comes up, the only indication that the unit is alive is a fairly muted blue glow (via those ventilation holes) from an internal LED.

Once the video is enabled, there’s a splash-screen displaying “American Megatrends” where you have a chance to hit F7 on the keyboard to get into the BIOS set-up, or boot selection screen.  The BIOS itself is a very functional one, very, very different from the crippled BIOS which shipped on the first Z8350 I bought.  There are, for instance, options for auto-power-on when mains voltage is reconnected (essential for domestic “servers”) and a comprehensive choice of boot-device options (although I found the method for choosing the latter to be somewhat less than intuitive).

Again, vastly different from that first Z8350 experience, it was absolutely no problem to break into the boot sequence (with F7), select a USB key-drive with Ubuntu as the boot device and never have to see Windows at all (sorry Windows fans, I can confirm that it will try to boot into Windows, which is loaded to the internal 64GB by default, but I have no idea what version it is).  OpenBSD 6.5 also booted (and installed) with no problem on this machine, so I have no doubt that the other distributions of Linux and BSD will run, too.

There will be more to follow on these little boxes once I have the chance to delve a little deeper….

Hint#1 – FreeBSD/Boot  —  If you’re experiencing a freeze during boot immediately after the keyboard is detected, you’ll need to disable the UARTs from the boot command line (this is a frequent problem with newer hardware and not specific to the TX85).  Reboot the system and, when the FreeBSD boot menu appears, select option #3 (boot loader prompt).  This will drop you into a command line, with an “OK> ” prompt.  Enter these lines to disable the UARTs and restart the boot process:-

set hint.uart.0.disabled="1"
set hint.uart.1.disabled="1"

When your installation has completed (and before rebooting the system), edit the /boot/device.hints (or the /boot/loader.conf.local file, if your system has it) and add the two “set hint…” lines (but -not- the “boot” line) to make this a permanent fix.

Hint#2 – Ubuntu/Linux/WiFi  —  You might find that, even if you’ve chosen “Install third-party firmware” at install time, the WiFi doesn’t immediately work on this box.  Don’t panic!  It does have 2.4G/5G dual-band WiFi, as per the advertisments.  What it doesn’t have on initial install is enough information to get the Broadcom firmware up and running on the wireless chip;  it’s missing a file named /lib/firmware/brcm/brcmfmac43455-sdio.TaNix-Tx85.txt.   Luckily, there is a pre-existing brcmfmac43455-sdio.MINIX-NEO Z83-4.txt in the same directory and you can simply copy it to the “TaNix-Tx85” name and everything will (following a reboot) burst into life.

Update 2019 Sept 6th  —  Unfortunately, I have to report the untimely demise of the PSU on one of the two test units.  It had been working for a couple of weeks, but I disconnected the systems while we were away from home and on our return one of them wouldn’t power back up.  As I had a couple of similar 12v PSUs sitting around, it didn’t take too long to isolate the problem.  There was no smoke, or excitement of any sort, it just failed to power-up.  At the moment, this is going down to “infant mortality”.  The system itself is still working perfectly on the replacement PSU.