The downside is that the ethernet controller is run over USB. This is what kills performance drastically on the raspberry pi as well. USB is simply not a good protocol to run high speed network traffic over with low latency. The protocol is extremely chatty!
The block diagram for the "Tiny cubic mini pc" shows a AR8030/AR8035 between the CPU core and the outside world, that's a Gigabit PHY, not a Gigabit to USB chip, so indeed the native ethernet is used.
Are you sure about that? The block diagram shows an Ethernet PHY connected directly to the SoC, and it appears the i.MX6 has a built-in Ethernet controller.
This seems to be an internal limitation of the bus. It is not run over USB! This means it will most likely reach that 400 Mbps claimed in the errata:
Quote:
ERR004512 ENET: 1 Gb Ethernet MAC (ENET) system limitation Description:
The theoretical maximum performance of 1 Gbps ENET is limited to 470 Mbps (total for Tx and Rx). The actual measured performance in optimized environment is up to 400 Mbps.
Projected Impact:
Minor. Limitation of ENET throughput to around 400 Mbps. ENET remains fully compatible to 1Gb standard in terms of protocol and physical signaling.
If you want to really move network packets in embedded computing environments, you need a processor oriented a little differently, the iMX6 is an embedded multimedia processor, and for my 2cents, it's architected to do that job pretty nicely. There's trade between power savings and a faster peripheral bus. The Gigabit ethernet running at those specs I'm guessing pushes streaming video nicely (I'm guessing sized for about enough bandwidth for a compressed 1080p 60fps stream with a little bit of margin).
It's still a limiting factor, especially for someone trying to build a media server out of it for example like some people were already considering home NAS's...
That's actually rather unfortunate—the original Cubox (/pro) based on the Armada 510/Dove has a GigE PHY which is completely capable of ~1000 megabits.
Hmm, I've noticed this on the Raspberry Pi, but I'm curious, do you know if this is a problem for desktop PCs as well? I recently built a mini-ITX PC sort of for fun as a change of pace and then realized that the apartment where I'm moving makes it somewhat annoying to run ethernet cables to my router, so now I'm looking at USB wifi dongles. The annoying thing is mini ITX boards generally only have one PCIe slot, and as it turns out my PC is barely smaller than my previous mATX PC (Bitfenix Prodigy is actually pretty big for mini ITX, which I didn't realize). The annoying thing is that there were mini ITX boards with built in wifi but I figured I wouldn't need it so I decided to save ~$50, but in hindsight I should have just gotten it.
That is the biggest killer for using the Pi for any real file serving needs. If you have it reading from a USB HD and transferring a lot over the network it's pretty slow. You can tweak it a bit to improve the speeds, but it's really not designed for it.
It is actually not, I was wrong. It is an internal limitation on the bus that limits it to about 400 Mbps by default, some people have been able to squeeze a little more out of it. After that point though all kinds of issues start appearing. See the links provided in the discussion below.
Freescale i.MX6 is a really nice platform. Shame it hasn't gotten broader traction, I think because it is moderately more expensive than its competition.
Since May I've been using an imx6 based gk802 ($70 quad core "Android TV" stick) as a personal server (email, RSS, VPN, etc.) Has worked really nicely considering. (Blog post about installing debian on it: http://projectgus.com/2013/05/debian-installer-for-zealz-gk8... )
I haven't tried any of their other products, but the iMX6 has a very large detailed technical manual (publicly available, not under NDA) and their Linux kernel trees are updated in public via git (presumably not everything is public but it's a lot more transparent than the occasional tarball source drop approach), plus they have people involved in yocto development. Better than many/most of the ARM SoC manufacturers.
The only undocumented/secret squirrel business AFAIK is the Vivante GPU. And that's universal across ARM Soc GPUs, sadly.
I've built the Linux kernel and Android AOSP/ICS directly from their git repos and it all runs just fine. You can ask support questions on http://imxcommunity.org but the response you get will be sporadic. Your best bet at getting answers is to be a real customer and get an FAE to help you out. But otherwise I've never had a problem with a lack of "openness" from Freescale.
Just learned about these today. The nice thing about the
Is that they have crypto instructions on the chip and outperform the Raspberry Pi 40 to 1 when using OpenSSL (at least according to benchmarks). With the price point cheaper than the RPi (comes with a case, flash, etc.) these may have just won me over.
Looks like there's a (power gated!) hardware random number generator, too. It uses ring oscillators, so it's not going to pump out hundreds of megabytes per second like RdRand, but it's enough to at least throw a few kilobits of randomish data into Linux's random device at boot time before turning off to save power.
I am keen to set up an emulation box to play MAME - Gamecube or greater. I am not very knowledgeable on hardware... do you think this or the ODROID-XU would be better suited to the job? My understanding is that most emulators rely predominately on the CPU rather then the GPU, unlike most PC games.
Anybody know or dare to guess how warm this thing gets? All I could find is that it needs a 5V@2A power supply, but it doesn't tell how much of that is overprovisioned for e.g. powering USB devices. If most of that is converted to heat inside that box, I guess it gets hot (that's 10W in a package slightly larger than an eighth of the volume and a quarter of the area of a light bulb)
If the whole case is sinking heat, that's a relatively decent amount of surface area to dissipate it. If the heat was a problem it would be pretty simple to add additional surface area. The fact that they have not done so would suggest to me that the heat situation is just fine.
That's my worry :-) _just_ fine, or fine by a wide margin? If this thing dissipates 5W as is (without powering USB devices), I would think it gets fairly warm. 2 inch = 5 cm, so area will be 150 cm^2, or 0.015 m^2, or about 300W/m^2 = one third of summer sunshine, radiating out of what looks like a plastic enclosure.
eSata Sheevaplug: currently NAS, no video, soft floating point.
Raspberry Pi B/512: was a music server but the built-in audio is extremely crappy, unbalanced GPU/CPU power (damn you, DTS tracks), now sitting in a corner.
Cubieboard: (current music server, stable, faster than RPi but no video hardware acceleration in linux).
I just bought this in without much thinking. I hope now I can run XMBC and have hardware acceleration for video directly in Linux.
As some other said, Freescale is much more open than the ones I listed above.
Yes, but most HD content is delivered with DTS audio, and the CPU chokes hard on that. So either you output directly via HDMI passthrough(which in my case means a long ass cable from the projector to the speakers) or reencode.
Also, even if HDMI audio works for you, XBMC interface is sluggish in the RPi. I'd check anything else for serious XBMC use.
I knew there were problems with some audio ouput, but I had read about the possibility of passthrough - in my case it will be ok. I suppose the CPU "choking" is only present when trying to let the RPi transcode the audio, right?
I have a 2012 Panasonic Plasma TV and the integrated media player is so-so: i.e. it doesn't support external srt subtitles when playing mp4 or mkv files, so I have to remux them in mkv with subs in order to play them, and I was thinking about getting a RPi (and also changing my Seagate Dockstar tranmission/minidlna system with 2 or more disks NAS)
Were you using a Class 10 SD card? The preinstalled SD cards you could buy with Raspbian from places like element14 are really slow. Swap in a class 10 and XMBC becomes much more responsive.
Class 10, but it's not the issue, as XFCE + XBMC isn't even close to swapping in the 512MB model. It's more matter of CPU hogging on XBMC code (you can see it using ~20% idling).
Knocking off a ton of connectors and cutting the PCB size down will do that. The Element14/Boundary board has a lot more signal lines broken out to connectors, as a good development board should.
A) slow last gen chip (rk3088), superseded by rockchip's RK3166: far slower than an i.mx6. B) no easy path to run linux, only really intended for Android stick use (Rockchip hasn't had an open source come to jesus meeting & won't- freescale makes docs avail). C) extremely limited I/o on the MK808 and all Android sticks- single USB + HDMI is it.
There are some interesting sticks out if the i/o limitation is ok but the MK808 is obsolete & slow.
That's true, the IO performance is nothing to write home about. But the CPU / GPU is really good. The only Linux I got working on it is Kali Linux. But Ubuntu is also available. I think a SOC with dual SATA for raid would be really cool for a small server.
Many "low-cost" (80-150$) 1 or 2-bay NAS (seagate, netgear, dlink, zyxel etc..) can be "hacked" and the OS can be substituted with Linux.
The difference is that they don't have a video output, and I think the CPUs should be more limited (many have Marvell Kirkwood 800mhz-1.5ghz), but they are designed for NAS usage so multiple SATA ports, eventually gigabit ethernet etc..
Having said that, probably the best home NAS could be built out of an HP Microserver N54L: 250$ for an Amd Turion "small" server that supports up to 8GB of RAM (16GB sometimes), it has 4 (non-hot-swappable) disk slots (but there are guys who have installed more using 2.5 disks and the dvdrom slot).
there are plenty of forums and sites showing how to do it, the only downside is that it is bigger (but 4 slots) and it consumes more power
EDIT: I'm still deciding which way to go in order to substitute my old Seagate Dockstar running Debian (and with a single old 2.5 disk attached to one of the USB ports)
Operating system — ships with optional Android 4.2.2 microSD card; supports Android and Linux
Pedantic, I know, but title sounds like you get a device that dual-boots into Android and Linux. By "optional", I presume that means at added cost. By "supports", I think that means you're on your own as to distro (though I suspect a device-specific distro would come out in short order). The $45 version only ships with 512mb RAM - I run servers without windowing environment in that space all the time, but perhaps one of the smarter Linux gurus can comment as to suitability for running XBMC, etc?
No, it would be pedantic to point out that Android uses a Linux kernel. So it really says "supports Linux and Linux", good to know it supports Linux besides supporting Linux. Don't even think of running anything other than Linux!
Lots of devices come with an Android distro that has a custom kernel for supporting the device. Those ones can not run a GNU/Linux distro, so manufacturers will tell you they don't support Linux.
No, it's not technically correct, but communicates the point quite well.
The Raspberry Pi copes with XBMC even on the 256MB model, 512 should be fine if the GPU is at least roughly equivalent. Video acceleration I gather is the usual issue, I've no idea what the software support is like on this.
I've run Android on an i.MX6 with 512MB of SDRAM. It's tight but you get a little more headroom with a lot of stuff disabled (phone, email, mms, calendar) and only a single app running at a time.
I'm still looking for the optimal device to connect to my HiFi and TV. I used to have a Fit-Pc2 but unfortunately it comes with a GMA500 chipset, for which there aren't proper Linux drivers.
So what I want is:
- something that is actually available in Germany
- Fanless
- At least 2 USB ports (4 would be better), so I can add external HDDs as well as a DAC for good sound output
- Fast enough to run XBMC and similar stuff (no, Raspi doesn't do that trick)
- WiFi
- HDMI
Optimal would be:
- an IR interface for remote controls
- Ethernet
- eSata
- An internal Hard Drive
Will something like this run OpenELEC? There is a Raspberry Pi build for ARM, but the download page [1] says it's specific to the RP. I saw things like the Xtreamer Ultra but it's way out of my budget. Up to a couple hundred dollars is acceptable, but I don't need a full mini-PC. Low power and quiet is far more important to me than say a core i5 CPU.
They run something like openelec (IE XBMC based).
Geexbox is usually what supports these things.
I use a mini-pc (a little asus eeepc box with a "who cares" intel cpu in it and a nvidia gt620m running openelec). The reason is actually simple:
A lot of the embedded processors are much more finicky in terms of hardware decode.
I used to run geexbox on a TI OMAP4460, and it worked wonderfully, right until you hit a track with DTS or DTS-MA audio, and then because it was not hardware supported, it fell right down and couldn't even play at 3fps. Maybe with XBMC now having a new audio engine (This was in the XBMC 11 days) the world is different.
The hardware decoders were also not quite as resilient to restart and had occasionally random failures compared to the nvidia chipset , which were very annoying when watching movies. I have never had this happen on anything in the nvidia/amd/intel world, and anything that can't be hardware decoded, the intel can absolutely handle.
Given the very low idle state of the newer haswell chips, unless you had a strong desire to not be intel based, i'd see if i could find a mobile motherboard and run openelec on a 15w TDP mobile haswell (or at worst, an itx motherboard and core i3 haswell).
Basically, these boxes are fun if you want to futz, but just aren't really "living room ready" unless you have a very fixed set of source video/audio.
I've gone with the WDTV series for my media needs - the earlier gens were very hackable but they've turned on codesigning in the latest WDTV Live Media hub range. They're not bad and play everything I throw at them (Sigmatek decoders, afaicr)
I'm using an older WDTV LIVE and indeed, I never had issues with decoding stuff. The downside is that it's somewhat limited, e.g. I cannot adjust audio sync which sometimes gets quite annoying. Being able to jump 30s (and such) back and forth instead of "analog" rewinding and fast-forwarding would be nice as well.
I'm still waiting for a device that handles XBMC well, is responsive, has an optical audio output and offers DTS pass-through -- apparently there's no such thing. Lack of support for DTS/DD 5.1 pass-through is the main problem; last time I checked Minix seemed to be close, but not there yet.
My current media player is a 3 or 4 year old ACRyan PlayOn Mini, which works wonderfully and has played everything I've ever tried on it. The only downside is that there are some video files which once you start fast-forwarding you can't stop. I _think_ this is due to mkv header compression which my version of the firmware doesn't support.
Since any new media player will be the replacement for my primary TV, it has to pass the wife and daughter test. :)
The market of these kinds of devices is booming... I'm constantly surprised that no major Android company (or Google itself) has invested in this kind of device.
>> The market of these kinds of devices is booming
It certainly seems to be... I'm curious about who the typical buyer is. Is it primarily hobbyists or are real product applications being served with them?
I am one of the early backers of the OUYA, and I can confirm XBMC and Netflix work great (don't know for Pandora).
The only issue I have with the OUYA is the weak Wifi support in XBMC, which forces you to: A) link the device via ethernet B) Copy files via a USB connection to OUYA
I also was an early backer of the OUYA and couldn't run a decent netflix version. I side loaded a netflix apk from a tablet version and the result was really poor (low res and impossible navigation). Do they finally have an "official" version of netflix ?
a new one of these little computer in a box things seem to be popping up every couple weeks, are they selling that well to warrant so many companies making so many varieties?
Is there a good website for keeping track of these ARM SoC PC's ? I'd like to see at a glance what is currently available and detailed spec of the chipsets.
They do reviews on most of these devices. I have two mk802s that I'm trying to setup as a sort of custom monitoring devices. This probably sounds like a form of pen testing (and it is similar) but I'm working on having one of these power up, search out open wifi networks, connect, then vpn into my server and start posting stats.
Among other things I do managed wifi. In the past, I've had to setup some sort of pre-configured desktop or laptop on site to do something like this. I'd like to improve on that (and a < $50 price point is nice) by dropping one of these off and letting it do the work automatically. I can do some access point monitoring remotely (ping, ssh, https, number of clients), but doing a speedtest and signal strength pretty much needs a device on premise.
The OP's site, http://linuxgizmos.com, is pretty good for that kind of thing. The blog to be called Linux Devices but got idled in some kind of Ziff-Davis acquisition. The editor has restarted it at this new address.
Unfortnately there isn't a central chart tracking each of these chip families and their capabilities. You're better off targeting a processor core (MIPS or ARM), speed/core quantity, and then deciding what kind of spice you want added to the mix (USB, UARTs galore, LCD controller, HDMI, Ethernet PHY, etc.)
Also check the Linux Devices subreddit.
http://www.reddit.com/r/linux_devices/
Not hugely active, but most boards from the last year or so will be there.
I have seen too many of the same thing to be supportive of this project. I see nothing here that hasn't been done, and still very little market, target application or vision.