Archive

Posts Tagged ‘server’

Getting Started with MicroPython on ESP32 – Hello World, GPIO, and WiFi

October 16th, 2017 12 comments

I’ve been playing with several ESP32 boards over the months, and tried several firmware images. I started with a tutorial for Arduino Core on ESP32, a few month later I tested ESP32 JavaScript programming with Espruino on ESPino32 board, and recently Espressif Systems sent me ESP32 PICO core development board powered by their ESP32-PICO-D4 SiP, and while I took some pretty photos, I had not used it so far.

So I decided to go with yet another firmware, and this time, I played with MicroPython on ESP32, and will report my experience with basic commands, controlling GPIOs, and WiFi in this getting started post.

Flashing Micropython Firmware to ESP32 Board

Source code is available on Github, as a fork of MicroPython repo as ESP32 support has not been upstreamed yet. We could built the firmware from source, but there’s also a pre-built binary which you can download on MicroPython website.

I’ll be using Ubuntu 16.04 for the instructions, which should be pretty similar for other Linux distributions, especially the ones based on Debian, and if you’re using Windows 10, you should be able to follow the same instructions after installing Windows Subsystem for Linux with Ubuntu on your computer.

Let’s open a terminal, to download the firmware (October 14):

If you have not done so already, install the latest version of esptool:

Now connect the board via a micro USB to USB cable to your computer. The log should like like:

In my case, the device is ttyUSB0, but it may vary depending on the board used. We can now erase the flash, and copy the firmware to the board:

If the last step is successfull,  the output should be similar to the one below:

As a side note, version 2.1 of esptool does not know about ESP32-PICO-D4, but it can still detect an ESP32 device, and the update went through normally.

Hello World Sample / Boot Log with MicroPython

We can test the firmware, by connecting to the board using minicom, screen, putty, or whatever software you feel most comfortable with. I went with minicom, setup a connection to /dev/ttyUSB0 device with 115200 bps baudrate. I immediately tested the print function, and made an hard reset to check out the boot log:

The reset command will first generate some errors message, before rebooting the board:

We can type help function to get some more help:

I also often refered to MicroPython 1.9.2 documentation to write this quick start guide.

LED Blink Sample with MicroPython

The easiest way to test GPIOs is to connect an LED, since the board does not have user LED, only the power lED. I connected a 5V LED to pin 21 via a transistor to make the 3.3V to 5V conversion.

Controlling the LED in the command line interface is easy. Import the machine library, set the pin to output, and change the pin level as needed:

Success! But what about doing a proper blink sample? MicroPython developers’ official PyBoard would show as a USB mass storage drive in you computer, where can copy Python files like boot.py and main.py files, but in the case of ESP32 PICO core, it appears the only option is to use the serial console for programming, as we can’t simply copy files to the board from the host computer.

I  found a solution on Techtutorialsx – which also has plenty of articles about MicroPython on ESP32/ESP8266. We need ampy script that can be install from our Linux terminal:

However, the first time I tried it I got an error:

I installed files module, but the error remained. So instead I installed it for Python 3:

I then created blink.py on my computer to blink the LED every 500 ms:

Before uploading the file to the board, you can try to run it as follow:

If you have plenty of errors here, that’s probably because your code is incorrect. Since I’m not very familiar with Python, it happened to me a couple of times, until I got the code right, and the LED was blinking as expected.

Now that we’ve made sure the code works, we can now copy our sample to the board…

… reconnect to the serial console, and verify the file is there:

To run the program type the following:

The LED should blink again. You can interrupt the program with Ctrl+C, and if you want to soft reset the board, press Ctrl+D.

In order to automatically start the blink program at each boot, rename blink.py to main.py, delete blink.py, and copy main.py instead:

Power cycle the board, and the LED should start blinking almost immediately.

ESP32 WiFi with MicroPython (Station and AP modes)

We’ve got GPIOs working, but one of the most important feature of ESP32 is obvisouly WiFi. I’ll start by configuring the board in station mode. First import the network library, set the board to station mode, and scan access points:

The latter should return a list of access points with ssid, bssid, channel, RSSI, authmode, and hidden status as explained here.

I can then connect the board to one of the access points with:

The log above with IP address should give  a clue, but you can check connection status with the following function:

and use ifconfig to get the IP info:

Switching to AP mode is easy with the three commands below configuring the board with ESP32-PICO-CNX SSID:

At this stage I can see ESP32-PICO-CNX on my phone, but it’s an open connection. We can change that with authmode option that can take 5 values:

  • 0 – open
  • 1 – WEP
  • 2 – WPA-PSK
  • 3 – WPA2-PSK
  • 4 – WPA/WPA2-PSK

I’ll use WPA2-PSK and define the password with the config function.

Working as planned…

ESP32 Web Server with Micropython

Many ESP32 project will require a web interface for monitoring or configuration. Let’s first setup the board as an access point using the command we’ve used above:

Now create webserver.py file based on Python code found here that’s supposed to return the status of some GPIO pins in an HTML table:

Copy the file to the board:

Start the serial console again, import/run the python sample we’ve copied, and connect to the board (in my case http://192.168.4.1):

 

It works as expected, but we wrote the HTML code inside the Python file, and you need to handle socket programming by yourself. To further simply the task, some MicroPython web servers such as MicroWebSrv, and Picoweb are available.

MicroWebSrv (Not working yet for me)

I tried to install MicroWebSrv first, but never managed to make it work. I still reproduce the step I followed in case somebody finds out what I did wrong. I got the code, and copied files from the Linux terminal:

We can check the files are where they are supposed to be:

Go into the terminal (aka REPL console) to start a basic example, after setting up a connection:

I could connect to the server, but I would always get 404 error.

PicoWeb

So instead I switched to picoweb, adapting the instructions here and there. It’s very easy to install.  First make sure you have a working Internet connection in your board (i.e. set station mode), and install the web server with upip:

That’s the output if everything goes according to plans:

Now let’s go back to the host computer to create an html document, for example index.html:

as well as picowebtest.py sample file that will request the HTML page from the board, and return it to the client.

You’ll need to change “192.168.0.108” by the IP address of your board.

Let’s copy both files to the board…

… go back to the serial console, connect in station mode, and run the sample:

Type or copy/paste the URL in the last line into a web browser, and you should get the output below.

ESP32 Bluetooth with MicroPython

There’s no Bluetooth support in the official MicroPython documentation, because it’s work in progress, and for the most adventurous MrSulry released an alpha version  a few days ago. The Bluetooth API is also in flux, but the basic code to enable Bluetooth should look like:

I’ll update that section once Bluetooth makes it to the stable release, and/or when I’m sure the API is frozen.

Other ESP32 (Micro)Python Resources

I’ve just covered a few things that can be done with MicroPyhon on ESP32, and beside the official documentation, you can also check the various MicroPython ESP32 tutoral on techtutorialsx blog. Loboris also made another MicroPython ESP32 firmware that supports pSRAM as MicroPython may use a lot of RAM. If you’re interested in Python for ESP32, but Zerynth is another option for Python on ESP32 that works with an IDE/GUI available for Windows, Linux and MAC OS X. [Update: Yet other options are Pumbaa a port of MicroPython running on top of Simba, and Pycom version of MicroPython]

NComputing RX300 Thin Client Review – Part 2: Hardware Setup, Windows Server 2016

October 8th, 2017 8 comments

Ncomputing RX300 is a thin client based on Raspberry Pi 3 board, allowing to run Windows operating systems on a powerful server with the Raspberry Pi 3 handling the display, audio, and keyboard/mouse inputs.

The company sent me a sample for review, and I checked out the hardware and accessories in the first part entitled “NComputing RX300 Thin Client Review – Part 1: Unboxing and Teardown“, so in the post I’ve started the thin client, and connected it to vSpace Pro server.

Hardware Setup

RX300 uses the same peripherals as any mini PC, so I connected USB keyboard and mouse, an Ethernet cable (WiFi is also possible), and the power adapter. You could also connect other devices, and I added a USB flash drive which, as we’ll see later, will be properly recognized by the server. I was also sent a USB to VGA adapter that you can connect to the remaining USB port to add a secondary display, but it would never work with through my TV, maybe because VGA is limited to 1600×1050, and the resolution confused the adapter.

Server Options

You’ll also need to setup a server, and you have two main option here:

  • Download vSpace Pro 10 to install and manage a self-hosted server. I did not do this in this review, because my main PC is running Ubuntu 16.04, and the program only support Windows operating systems, and server virtualization infrastructure solutions from VMWare, Citrix and Microsoft.
  • So instead I used a vSpace Pro server hosted in Singapore using AWS (Amazon Web Services) with a demo account prepared by the company for the review

If you’re interested in the first solution, you may want to read to Quick Installation Guide to find out more.

Ncomputing RX300 and Windows Server 2016 AWS instance

Once the thin clients are installed, and the server is configured, you can start your RX300 devices. About an animated boot logo, you should soon (around 15 to 20 seconds total boot) time see vSpace Pro client interface as shown below. Please ignore the vertical lines in the photos and video below, it’s just a problem with my TV.
You’ll see two sections with a list of auto-detected servers if you have setup any local vSpace Pro 10 machine, and/or server groups with other vSpace Pro servers. I’m located in the north of Thailand, and Thailand->Thailand was already setup, so I had nothing to do except click on Connect, and within a few short second, I was asked to login into Windows.

I typed the credentials provided by the demo, and I ended up in Windows right away, and could use it normally. A few times later however, I was automatically disconnected during the login process: I would type the user name and password to login, Windows desktop will appear, only go to back to vSpace Pro client interface. Trying again once or twice usually did the trick.

As soon as I entered into the server, I wanted to find out what kind of hardware the virtual machine was running on. Intel Xeon CPU E5-2676 v3 @ 2.40 GHz running Windows Server 2016 64-bit with 4 GB RAM, and a 39.9 GB Windows partition.

Click to Enlarge

Quite a powerful machine so we should expect good performance that may be affected by the Internet connection between my ISP’s modem router and the server. You’ll also notice “Ubuntu 16.10” D: drive. That’s my own flash drive connected to one of the USB port of the Raspberry Pi 3 board.

The company had install several programs such as Chrome and LibreOffice, as well as demo files.  I also tried to install my own program (Gimp), and I could do that, and persistent storage mean even after I disconnect the client, or reboot the server, my programs and files were still present in the system.

So I went on to use it like I would for a desktop machine in a business setting, browsing the web, and loading multiple programs.

Click to Enlarge

More specifically, I ran the following tests:

  • Launching Chrome, LibreOffice Calc (excel spreadsheet), LibreOffice Impress (powerpoint presentation), LibreOffice Writer (word doc), and Gimp in succession to demonstrate the speed to launch apps
  • Multi-tab browsing in Chrome and Octane 2.0 benchmarks
  • Playing 1080p YouTube video in embedded and full screen modes
  • Playing local 1080p video with VLC

Overall the performance is impressive for a remote system, and in many cases, it’s hard to know we are not using a “normal” computer. The fonts may not be as sharp as on a normal PC, but it’s hardly noticeable, and the screen updates while scrolling up or down web pages are slower than on my main computer. However, I did not feel either issues were a big problem, and they will likely depend on your network performance, in my case “low to moderate”. It feels much better than the few times I used VNC in the past.

The first time however, YouTube video playback was very choppy, but then I saw Chrome complaining about “vCAST feature not available”. vCast streaming technology is a premium feature allowing you to watch videos smoothly on thin clients. After the company enable vCAST in the server, I could streaming 1080p YouTube videos, and play local video in VLC smoothly.

You can watch the video below to have an idea of the performance, and a look at the client settings.

Once you are done, you can click on the power icon and select Disconnect to go back to vSpace Pro client user interface.

vSpace Pro client configuration options and Going back to Raspbian

If you’ve watched the video above, you’ll know that the gear icon on the bottom right brings use to the configuration menu.

Click to Enlarge

The menu has eight sub-menus:

  • General to select between Thin client mode and Raspbian Desktop mode
  • Connections to select servers manually or automatically
  • Server Groups to manage servers
  • Kiosk Mode to automatically login and/or launch a program when connecting to the vSpace server
  • Display to change HDMI resolution, or manage dual display setups.
  • Audio to select audio output and input priority
  • Network to configure Ethernet or WiFi
  • Support for firmware update option
  • About with some information about the thin client.

I tried the Raspbian desktop mode, and sure enough it will be into Raspbian, and you could potentially use it as a normal Raspberry Pi 3 board too.

Once you’ve selected this mode, it will boot to Raspbian by default. If you want to use it as a thin client again, the Switch to Thin Client Mode icon will reboot RX300 to vSpace client user interface.

Recycling older Windows computer with vSpace Pro Client

If your organization owns some older Windows PCs or laptops that lack the performance or memory to run recent programs, you could download vSpace Pro client for Windows to put them to good use. Just to the the Software Downloads page, register or/and login, and select vSpace Pro Client for WIndows 7, 8.1 or 10 as needed. Linux clients are not available for download.

You could then have a “fleet” a thin clients mixing older hardware and NComputing RX300. You’d have to consider electricity charges while calculating your TCO, as RX300 only consumes around 3.0 to 3.4 Watts, and older hardware may consume much more than that.

The Costs

Larger organizations should probably contact the company to find out the best way to match their requirements. But if you have smaller needs, or just want to evaluate the system, you could purchase Ncomputing RX300 for $99 MSRP with a 1-year license, or $174.99 with a 3-year license. I understand vCAST streaming is included for free for 6 months, but after you’d have to pay extra for the feature. What I could not find is public pricing for the various licenses. The company however has a cost calculator allowing you to check how much you’d save with thin clients compared to having PCs, but again premium features license costs such as vCAST or dual display are not included. You’d also have to consider Windows server license requirements.

GIGABYTE SynQuacer 96Boards Enterprise Platform is Powered by SocioNext SC2A11 24-core ARMv8 SoC

September 24th, 2017 19 comments

GIGABYTE, Socionext and Linaro have partnered to design a software development platform compliant with 96Boards Enterprise specifications, with GIGABYTE taking care of manufacturing the hardware based on Socionext SC2A11 processor, while Linaro will provide support via 96Boards community.

Click to Enlarge

GIGABYTE SynQuacer platform preliminary specifications (based on photos and SC2A11 specifications):

  • SoC – Socionext SynQuacer SC2A11 24x ARM Cortex-A53 MPCore cores @ up to 1GHz, with 32KB/32KB I/D L1 cache, 256 KB L2 cache, and 4MB L3 cache (5W power consumption)
  • System Memory – 4x DIMM slots for 64-bit DDR4-2133Mbps with ECC up to 64GB
  • Storage – 32GB Samsung KLMBG2JENB-B041 eMMC 5.1 flash + 2x SATA interfaces
  • Connectivity – 2x Gigabit Ethernet (RJ45) with IPSec Network Offload Engine
  • USB – 2x USB 3.0 ports on motherboard (via Renesas D720201), 4x USB ports on front panel via expansion board
  • Audio – 1x microphone input, 1x speaker output on front panel
  • Expansion – 1x PCie x16 slot (limited to 4-lanes), 2x PCIe x4 slots, other headers for expansion and/or debugging
  • Misc – Power button, power and activity LEDs, reset and power switches, configuration switches, RTC battery
  • Power Supply – ATX connector + ATX power supply
  • Dimensions – board: microATX board (96Board Enterprise compliant)

Linaro have been working on Socionex SC2A11 SoC using their PEC boards for a while, and if you want more details you may check out Linaro Connect Budapest 2017’s presentation. Multiple PEC boards can be interconnected offering up to 1536-core servers, with those systems suitable for IoT gateways, edge computing and servers running programs such as Hadoop/Spark, e-Commerce platforms, OpenStack, and so on. As of March 2017, Socionext SC2A11 supported ARM Trusted firmware, UEFI (edk2), Linux 4.5 with all drivers, Centos 7 Aarch64 rootfs, and Hadoop.

Click to Enlarge

The new development platform should become available in December 2017, and a prototype will be demonstrated during Linaro Connect San Francisco next week on September 25-29, and Yasuo Nishiguchi (Socionext) will present a related keynote at the event.

Arm Research Summit 2017 Streamed Live on September 11-13

September 11th, 2017 2 comments

The Arm Research Summit is “an academic summit to discuss future trends and disruptive technologies across all sectors of computing”, with the second edition of the even taking place now in Cambridge, UK until September 13, 2017.

Click to Enlarge

The Agenda includes various subjects such as architecture and memory, IoT, HPC, computer vision, machine learning, security, servers, biotechnology and others. You can find the full detailed schedule for each day on Arm website, and the good news is that the talks are streamed live in YouTube, so you can follow the talks that interest you from the comfort of your home/office.

Note that you can switch between rooms in the stream above by clicking on <-> icon. Audio volume is a little low…

Thanks to Nobe for the tip.

Qualcomm Provides Details about 64-bit ARM Falkor CPU Cores used in Centriq 2400 Server-on-Chip

August 21st, 2017 8 comments

Qualcomm officially announced they started sampling Centriq 2400 SoC with 48 ARMv8 cores for datacenters & cloud workloads using a 10nm process, but at the time the company did not provide that many details about the solution or the customization made to the CPU cores.

Qualcomm has now announced that Falkor is the custom CPU design in Centriq 2400 SoC with the key features listed by the company including:

  • Fully custom core design – Designed specifically for the cloud datacenter server market, with a 64-bit only micro-architecture based on ARMv8 (Aarch64).
  • Scalable building block The Falkor core duplex includes two custom Falkor CPUs, a shared L2 cache and a shared bus interface to the Qualcomm System Bus (QSB) ring interconnect.
  • Designed for performance, optimized for power
    • 4-issue, 8-dispatch heterogeneous pipeline designed to optimize performance per unit of power, with variable length pipelines that are tuned per function to maximize throughput and minimize idle hardware.
    • power management techniques: independent p-state control for each of the CPUs and L2, with entry to and exit from low-power states controlled by hardware state machines, and hardware state retention for power-collapsed sleep states with ultra-fast recovery.
  • Performance under memory-intensive workloads Falkor is designed to fulfill the demand for larger instruction footprints using an innovative split instruction cache comprised of a single-cycle, low-power 24KB L0 I-cache complementing its 64KB L1 I-cache. The core also supports a 32KB L1 D-cache with a 3-cycle load-use latency. The L1 D-cache is augmented by a sophisticated multi-level hardware prefetch engine that dynamically adapts to system conditions.
  • Datacenter features
    • ARM Execution Levels (EL0-EL3) and TrustZone secure execution environment.
    • ARMv8 instruction extensions to accelerate cryptographic transform and secure hash operations such as AES, SHA1, and SHA2-256
    • RAS mechanisms needed to keep a datacenter running, such as fault isolation, reporting, and handling techniques.
  • System on a chip – The 48 Falkor CPUs are brought together in a fully-integrated SoC with high-bandwidth and low-latency ring interconnect, large L3 cache and multiple memory controllers. It also includes an on-die hardware-based immutable root of trust that authenticates firmware before the first line of firmware is ever executed

Centriq 2400 SoC is scheduled to start shipping later this year. You’ll find an in-depth overview of Falkor micro-architecture, and more slides on Anandtech.

GIGABYTE MA10-ST0 Server Motherboard is Powered by Intel Atom C3958 “Denverton” 16-Core SoC

August 15th, 2017 27 comments

Last year, we wrote about Intel Atom C3000 series processor for micro-servers with the post also including some details about MA10-ST0 motherboard. GIGABYTE has finally launched the mini-ITX board with an unannounced Atom C3958 16-core Denverton processor.

Click to Enlarge

GIGABYTE MA10-ST0 server board specifications:

  • Processor –  Intel Atom C3958 16-core processor @ up to  2.0GHz with 16MB L2 cache (31W TDP)
  • System Memory – 4x DDR4 slots for dual channels memory @ 1866/2133/2400 MHz with up to 128GB ECC R-DIMM, up to 64GB for ECC/non-ECC UDIMM
  • Storage
    • 32GB eMMC flash
    • 4x Mini-SAS up to 16 x SATA 6Gb/s ports
    • 2x Mini-SAS ports are shared with PCIe x8 slot
  • Connectivity
    • 2x 10Gb/s SFP+ LAN ports
    • 2x 1Gb/s LAN ports (Intel I210-AT)
    • 1x 10/100/1000 management LAN
  • Video – VGA port up to 1920×[email protected] 32bpp; Aspeed AST2400 chipset with 2D Video Graphic Adapter with PCIe bus interface
  • USB – 2x USB 2.0 ports
  • Expansion Slots – 1x PCIe x8 (Gen3 x8 bus) slot; shared with Mini-SAS ports, Mini_CN2, Mini_CM3
  • Misc
    • 1x CPU fan header, 4x system fan headers
    • 1x TPM header with LPC interface
    • 1x Front panel header
    • 1x HDD back plane board header
    • 1x JTAG BMC header
    • 1x Clear CMOS jumper
    • 1x IPMB connector
    • 1x PMBus connector
    • 1x COM (RS-232)
    • Power and ID buttons with LEDs; status LED
  • Board Management – Aspeed AST2400 management controller; Avocent MergePoint IPMI 2.0 web interface
  • Power Supply – 1x 24-pin ATX main power connector; 1x 8-pin ATX 12V power connector
  • Dimensions –  170 x 170 mm (Mini-ITX form factor)
  • Temperature Range – 10 to 40°C
  • Relative Humidity – 8-80% (non-condensing)

The dual core Atom C3338 is the only processor listed on Intel’s formerly Denverton page, with now info about the 16-core Atom C3958 processor so far.

Click to Enlarge

The board is said to support Windows Server 2016, Red Hat Enterprise Linux Server 7.1, SuSE Linux Enterprise Server 12, Ubuntu 14.04.2 LTS, Fedora 22, and CentOS 7.1. The board is sold with an I/O shield and a quick start guide. There’s no word about pricing or availability on the product page, but Anandtech reports that the “board is essentially ready to go, and interested parties should get in contact with their local reps”. For reference, SuperMicro  A2SDI-H-TP4F-O board based on the same processor is sold for $820+ on Atacom.

Supermicro A2SDi-2C-HLN4F Server Mini-ITX Motherboard is Based on Intel Atom C3338 “Denverton” Processor

July 5th, 2017 15 comments

Almost exactly one year ago, I wrote about Intel Atom C3000 Series “Denverton”  processor based on the same Goldmont architecture used in Apollo Lake processor, and used in an early GIGABYTE MA10-ST0 server motherboard prototype. The latter is not out yet, but according to a YouTube video, the 16-core motherboard should be launched in H2 2017. In the meantime, Supermicro also made their own Denverton motherboard based on a lower-end Atom C3338 dual core processor.

Supermicro A2SDi-2C-HLN4F board specifications:

  • Processor – Intel Atom C3338 dual core Denverton processor @ 1.50 / 2.20 GHz with 4 MB  cache; 9W TDP
  • System Memory
    • Up to 64GB Register DIMM RDIMM and DDR4-1866MHz
    • Up to 32GB Unbuffered ECC/non-ECC UDIMM, DDR4-1866MHz, in 2 DIMM slots
  • Storage – 4x SATA 3 ports, but up to 8x SATA 3 (6 Gbps) ports are configurable; N.B.: total combined PCI-E lanes and SATA ports is up to 8
  • Connectivity – 4x GbE Ethernet via Intel C3000 SoC
  • USB – 4x USB 2.0 ports including 2x via headers, 1x USB 3.0 port
  • Expansion – 1x PCI-E 3.0 up to x4 (in x4 slot); number of PCI-E lane is configurable via BIOS setup: 0, 2, or 4.
  • Video Output – VGA
  • Serial – 1x COM port via header
  • IPMI & 2D Graphics – ASPEED AST2400 BMC
  • Misc – TPM header; AMI UEFI 2.4/SMBIOS 2.7.1 “BIOS”;  HW monitoring: 4-fan status and tachometer, CPU voltage monitoring, system temperature, VBAT, etc…
  • Power Supply – ATX power connector; 12V DC power input; CPU thermal trip support for processor protection; power-on mode for AC power recovery
  • Dimensions –  17.02cm x 17.02cm (Mini-ITX)
  • Temperature Range – Operating: 0°C ~ 60°C; storage: -40°C – 85°C

The board supports Windows 64-bit operating systems like Windows 10, Windows Server 2016, Hyper-V Server 2016, etc.. as well as various 64-bit Linux distributions such as RedHat Linux EL 7.3, Fedora 25, SuSE SLES 11 SP4, Ubuntu 16.04 LTS and others, as well as FreeBSD. You may find the full list here.

If you’d like a complete system, the company also offer SuperServer 5029A-2TN4 with the board, and the company’s SC721TQ-250B mini tower with four hot-swap 3.5″ SATA drive bays, two internal 2.5″ drive bays, and 1 slim DVD-ROM drive bay shared with one internal 2.5″ bay.

Supermicro A2SDi-2C-HLN4F motherboard is sold for just above $200 on websites such as Atacom and WiredZone. I found the barebone “SuperServer” sold for $405 on Newegg. The latter has been reviewed on ServeTheHome in April with the conclusion rather positive:

If you are looking for a 1GbE NAS unit, this is a great option. The performance is well above the previous generation dual core and sometimes quad core models. The ability to maintain a low power profile will help ROI.

Over time, we expect to see better support for the X553 NIC. The major competition for this unit will be when the higher core count variants come out and iterations that support 10GbE.

In many environments, this is going to be a perfect NAS/ network services platform. If you wanted a simple 1GbE Linux NAS or caching appliance, the Supermicro SYS-5029A-2TN4 should be high on your list.

They also ran several benchmarks to put the CPU performance into perspective.

OpenSSL Sign Benchmark – Higher is Better

You’ll find more details about the motherboard on the product page.

Thanks to Paul for the tip.

 

 

The First Amlogic S912 Development Board is Coming Soon with Khadas VIM2

July 2nd, 2017 49 comments

We have a decent choice of Amlogic S905 development boards like ODROID-C2 or NanoPi K2, but I was recently asked whether I knew of any Amlogic S912 development boards. I’m sure Amlogic has one for internal development, but those are hard to get, and probably expensive, and while you could probably get an S912 TV box board those lack I/Os, and software support may truly be a challenge. So I’m pleased to announce that Shenzhen Wesion will soon provide an update to their Khadas VIM Pro board with Khadas VIM2 powered by Amlogic S912 octa-core processor.

Click to Enlarge

The company will actually offer three variants of Khadas VIM2 boards (Basic/Pro/Max) specifications with highlights in bold showing differences with Khadas VIM Pro board:

  • SoC –  Amlogic S912 octa core ARM Cortex-A53 @ up to 1.5 GHz with ARM Mali-820MP GPU
  • System Memory
    • Basic – 2 GB DDR4
    • Pro/Max – 3 GB DDR4
  • Storage
    • micro SD card and 2MB SPI flash
    • eMMC Flash – Basic: 16GB; Pro: 32GB; Max: 64GB
  • Video & Audio  Output – HDMI 2.0a up to 4K @ 60 Hz with CEC support
  • Connectivity
    • Basic – Gigabit Ethernet with WoL support, 802.11 b/g/n/ac and Bluetooth 4.1 via Ampak AP6356S module
    • Pro/Max – Gigabit Ethernet with WoL support, 802.11 b/g/n/ac with RSDB and Bluetooth 4.2 via Ampak AP6359SA module
  • USB – 2x USB 2.0 host ports supporting 900mA and 500mA loads, 1x USB 2.0 type C port supporting power and data only
  • Expansion header
    • 40-pin 2.54mm pitch header with USB, UART, I2C, ADC, PWM, I2S, SPDIF, and ISO7816
    • 10-pin FPC connector with I2C and IOs
    • 8 “pin” pogo pads array with USB, I2C, DVB bus, and I/Os
  • Misc – Blue LED, white LED, dual channel IR, power/function/reset buttons, header for RTC battery, fan header
  • Power Supply –  5V to 9V via USB type C, 4-pin VIN 1.25mm pitch header, or pogo pads for VIN (5V recommended for better efficiency); programmable current limit switch up to 4A (Set to 3A by default)
  • Dimensions – 82.0 x 57.5 x 11.5 mm (4x M2 mounting holes)

We can see that it’s not just a processor update with many new features added to the new boards. If like me, you’ve never heard about RSDB, it stands for Real Simultaneous Dual Band, and allows to use both 5 GHz and 2.4 GHz at the same time, while for most dual band modules only one frequency can be used at a given time. That’s a clear advantage if you’re going to use the board as an access point.

Click to Enlarge

The company will provide Android 7.1 Nougat and Ubuntu 16.04 or greater operating systems and SDKs for the board, and work on UEFI support is in progress. The board will be launched last that month, and for now, the only VIM2 specific documentation provided is Amlogic S912 datasheet, but you can be sure there will be a lot more on Khadas Docs page at launch, although I expect many of the instructions available for Khadas VIM (Pro) will still work on VIM2 board.

You’ll find more details on the announcement forum post, such as Linux OpenGL ES not working natively, i.e. without libhybris and Android libraries, and the board has been designed with micro servers in mind with features like WoL and SPI flash for network boot, as well as UEFI support.

Thanks to Geokon for the tip.