Skip navigation
> RoadTest Reviews

NXP Layerscape® LS1046A Freeway Board - Review

Scoring

Product Performed to Expectations: 9
Specifications were sufficient to design with: 9
Demo Software was of good quality: 8
Product was easy to use: 8
Support materials were available: 9
The price to performance ratio was good: 7
TotalScore: 50 / 60
  • RoadTest: NXP Layerscape® LS1046A Freeway Board
  • Buy Now
  • Evaluation Type: Development Boards & Tools
  • Was everything in the box required?: Yes
  • Comparable Products/Other parts you considered: Raspberry Pi 4 (2/4 GB)
  • What were the biggest problems encountered?: Wifi performance, figuring out the login credentials, missing modules for the custom built Linux kernel

  • Detailed Review:

    Hi Element14 Comunity!

     

    Here is my Road Test of the NXP Layerscape® LS1046A Freeway Board board:

     

    1. Unboxing & Getting Started

     

    The FRWY-LS1046A-AC comes in a fairly big box, which includes a plenty of stuff in it:

    • the FRWY-LS1046A board
    • Metal Enclosure
    • AC/DC Brick Power Supply
    • AC Universal Power Plug Adaptor
    • MicroSD Card with pre-loaded image
    • Wifi Antennas, a set of jumpers
    • Packaging List, Demo Sheet, Quick Start Guide

     

    {gallery} Unboxing

    Packaging List

    Demo Sheet

    Brick Power Supply & Cable

    The device itself and power plug adapter kit

    Quick Reference Card

    Universal Power Plug Adaptor Kit

    Universal Power Plug Adaptor Kit

    FRWY-LS1046A-AC

    FRWY-LS1046A-AC

    Front

    Back

    Accessories

    FRWY-LS1046A Assembled

     

    The build quality of the device looks pretty solid.

     

    The unit comes with a 60W (5A @12V) brick style power supply. The package includes a standard 3-pin power cord with US plug, and a nice mains power adapter (usable in most of the countries). However, I decided to just grab a EU plug power cord and put that nice power adapter away for travels .

     

    To get started, we just need to insert the pre-loaded MicroSD card in the slot at the back of the device, mount the Wifi Antennas and plug in the power supply.

     

    After about a minute the device should be booted, and we should see a Wifi network with SSID: FRWY-LS1046A-XX:XX:

    We can connect to it with the password "frwyls1046a".

     

    Then, if we access 192.168.99.1 from a browser a graphical interface should come up:

    2. Demo Software

    The pre-loaded MicroSD card comes with a Demo Software showcasing different use cases for the device.

     

    2.1 CPU Performance

    The 1st demo comes with two CPU performance tests and some graphics showing the power consumption, CPU temperature and CPU usage.

     

    I ran the tests and got the following results:

    • CoreMark - 40575 iterations / sec
    • Dhrystone - 37614 DMIPS

     

    {gallery} Demo 1: CPU Performance

    CPU Performance demo page

    CoreMark test running (unfortunately the graphics are not real time)

    CoreMark test results

    Dhrystone test running

    Dhrystone test results

     

    2.2 Data Analytics

    The 2nd demo, I think, is meant to demonstrate the data processing capabilities of the device.

     

    It consists of two demo applications:

    • Cold Storage Data Analytics
    • Sensor Data Analytics

     

    {gallery} Demo 2: Data Analytics

    Cold Storage Data Analytics

    Cold Storage Data Analytics running

    Cold Storage Data Analytics running (2)

    Cold Storage Data Analytics running (3)

    Sensor Data Analytics

    Sensor Data Analytics (2)

     

    2.3 Machine Learning / Video Analytics


    The 3rd demo is a little bit more interesting, as it demonstrates real-time video processing using AI.

     

    We need an USB webcam to run it. I used a Logitech C920:

    There are two demo apps:

    • People Counting Demo - an object detection demo
    • Industrial Safety Demo - checks in the webcam image if we ware a safety google or not

     

    {gallery} Demo 3: Video Analytics

    Machine Learning / Video Analytics

    People Counting Demo starting up

    Object detection / People Counting Demo running.

    Industrial Safety Demo starting up

    Industrial Safety demo - no safety google (normal glasses)

    Industrial Safety demo - safety googles detected

     

    2.4 Video Vault

    The 4th demo page is a collection of 6 videos. I think, they are also available somewhere on the NXP website.

     

    I had a little bit of trouble with this page. When I tried to play the first video it was really slow / laggy.

     

    It turned out that the Wifi performance although the signal was full was just crap. If I tried to download the video manually, I got a speed of 153 Kb / sec.

     

    To fix it, I decided to move on to Ethernet. So, I ended up setting up a router with the 192.168.99.* subnet, and connected both the FRWY-LS1046A and my laptop.

     

    Next, I tried to play the again video and it just worked fine. Looks like there is some problem with the Wifi networking, but I did not had the time to check it yet.

     

    {gallery} Demo 4:

    Video Vault

    Playing Video - it can be seen that the pre-buffering is really slow

    Trying to download the video manually. The speed over Wifi is 153 KB/s

     

    2.5 System Metrics

    In the header of the demo pages there is Detailed CPU Analytics button. If we click on it a page with a bunch of real-time metrics about the system are shown. I found this page very interesting, as it has a lot of useful data on it.

     

    It looks like it is netdata install:
    https://github.com/netdata/netdata

     

    {gallery} Demo 5: System Metrics

    System Metrics

    System Metrics (2)

    System Metrics (3)

     

    3. SSH, Networking Performance and Other Stuff

    Next I wanted to check a couple of things in the console.

     

    I tried to SSH into the machine. Initially, I had some trouble figuring out the credentials, as they does not seems to appear in any user guide or documentation. So, I ended up removing the microSD card and manually adding my SSH public to /home/user/.ssh/authorized_keys.

     

    Later, I figured out that the password is just user for user, and root for root.

     

    A first look on the SSH shows that the device runs Ubuntu 18.04.3 LTS with the Linux Kernel 4.14.83. This is nice as we can use apt-get to easily install new stuff on it.

    $ ssh user@192.168.0.116

    Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.14.83 aarch64)

     

    * Documentation:  https://help.ubuntu.com

    * Management:     https://landscape.canonical.com

    * Support:        https://ubuntu.com/advantage

     

    * Overheard at KubeCon: "microk8s.status just blew my mind".

     

         https://microk8s.io/docs/commands#microk8s.status

    Last login: Sat Dec 28 11:03:54 2019 from 192.168.0.109

     

    user@localhost:~$ uname -a

    Linux localhost 4.14.83 #1 SMP PREEMPT Wed May 8 09:33:44 CDT 2019 aarch64 aarch64 aarch64 GNU/Linux

     

    3.1 Networking Performance

     

    One thing I wanted to check is the networking performance. So, I installed iperf3 both on the device and on my laptop and run a quick test:

    $ sudo apt-get install iperf3

    $ iperf3 -s

    -----------------------------------------------------------

    Server listening on 5201

    -----------------------------------------------------------

    Accepted connection from 192.168.0.117, port 52606

    [  5] local 192.168.0.116 port 5201 connected to 192.168.0.117 port 52608

    [ ID] Interval           Transfer     Bandwidth

    [  5]   0.00-1.00   sec   109 MBytes   913 Mbits/sec                

    [  5]   1.00-2.00   sec   112 MBytes   942 Mbits/sec                

    [  5]   2.00-3.00   sec   112 MBytes   942 Mbits/sec                

    [  5]   3.00-4.00   sec   112 MBytes   942 Mbits/sec                

    [  5]   4.00-5.00   sec   112 MBytes   942 Mbits/sec                

    [  5]   5.00-6.00   sec   112 MBytes   942 Mbits/sec                

    [  5]   6.00-7.00   sec   112 MBytes   942 Mbits/sec                

    [  5]   7.00-8.00   sec   112 MBytes   942 Mbits/sec                

    [  5]   8.00-9.00   sec   111 MBytes   932 Mbits/sec                

    [  5]   9.00-10.00  sec   112 MBytes   942 Mbits/sec                

    [  5]  10.00-10.03  sec  3.09 MBytes   940 Mbits/sec                

    - - - - - - - - - - - - - - - - - - - - - - - - -

    [ ID] Interval           Transfer     Bandwidth

    [  5]   0.00-10.03  sec  0.00 Bytes  0.00 bits/sec                  sender

    [  5]   0.00-10.03  sec  1.09 GBytes   938 Mbits/sec                  receiver

    -----------------------------------------------------------

     

    # from my laptop: iperf3 -c 192.168.0.116

    It looks like we have Gigabit speed, as promised .

     

    3.2 Let's open it up

    Next, I thought it would be fun to open up the case and see what's inside.

     

    {gallery} Open it up

    The case can be opened by just unscrewing a few screws.

    On the top part of the board we have: Wifi / BT module (WNFQ-255ACm, 802.11/ac dual band), CPU, Memory, Ethernet PHY, and a bunch of other components

    On the bottom we got: the 2nd M.2 slot, a 4 Gb NAND Flash chip (S34MS04G200BHI000), and some other small components

    The case has a removable cover for the 2nd M.2 port. Nice detail: it means we don't need take apart the device to install a M.2 device.

     

     

    4. Comparison with Raspberry Pi 4

    For at least on the CPU side, the FRWY-LS1046A and the new Raspberry Pi 4 are pretty similar. So, I thought it would be a good idea to compare them.

     

    4.1 Specs

    Here is a comparison between the specs of the two devices:

    Header 1FRWY-LS1046ARaspberry Pi 4
    Price

    FRWY-LS1046A-AC - $495

    FRWY-LS1046A-PA  - $395

    1 GB model - $35

    2 GB model - $45

    3 GB model - $55

    CPU

    LS1046A

    4 x ARM A72 cores @ 1.6Ghz

    32 KB data + 48 KB instruction L1 cache

    2 MB L2 cache

    extra features:

    10G / 2.5G / 1G Ethernet controllers

    3 x PCIe 3.0 (x4, x2, x1)

    1 x SATA 3.0

    BMC2711

    4 x ARM A72 cores @ 1.5 GHz

    32 KB data + 48 KB instruction L1 cache

    1 MB L2 cache

     

    extra features:

    1G Ethernet controller

    H.265 (4Kp60 decode), H.264 (1080p60 decode, 1080p30 encode) support
    OpenGL ES, 3.0 graphics
    CSI and DSI ports for camera and display

    RAM4 GB DDR4 with ECC1 / 2 / 4 GB LPDDR4-3200
    USB2 x USB 3.02 x USB 3.0, 2 x USB 2.0
    Networking

    4 x Gigabit Ethernet

    802.11 ac, dual band Wifi

    Bluetooth 5

    1 x Gigabit Ethernet

    802.11 ac, dual band Wifi

    Bluetooth 5

    Other

    2 x M.2, PCIe slots

    mikroBUS™ socket

    4 GB NAND Flash

    2 x Micro HDMI

    Audio Output

    CSI Camera connector

    DSI Display connector

     

    From the performance point of view, the SoC-s of the FRWY-LS1046A (LS1046A) and the Raspberry Pi 4 (BMC2711) should be about the same. The LS1046A may have a small advantage because of the +0.1GHz clock speed and +1M L2 cache.

     

    On the other hand, with the Raspberry Pi 4 and its BMC2711 SoC we get pretty good display, recording and graphics capabilities. These are unfortunately missing from the FRWY-LS1046A (LS1046A).

     

    The main selling point of the LS1046A looks to be its powerful networking interfaces. It the SoC supports 2 x 10G, 1 X 2G and 4 x 1G connections, from which the four 1 Gigabit one are exposed on the FRWY-LS1046A board.

     

    From the price point of view the FRWY-LS1046A is probably a little too expensive for hobbyists. If you don't need four 1G Ethernet ports, or PCIe, the Raspberry Pi is probably a better option.

     

    4.2 CPU Bechmarks

    One of the most promoted features of the FRWY-LS1046A board / the LS1046A were the powerful CPU core.

     

    I thought it would be fun to run some benchmarks on both on the Raspberry Pi 4 and the FRWY-LS1046A. I wanted a Raspberry Pi 4 anyway, so this was a good excuse to buy one . So, I got a Raspberry Pi 4 (2GB). The benchmarks selected were the CoreMark and Dhrystone, which are also featured in the demo software.

     

    To have a fair comparison, I decided to compile and run the tests in the same way on both board. For FRWY-LS1046A we could have used the results from the demo software, but that probably would not be same version / settings for the benchmarks.

     

    The tests were run on both the boards without special cooling setup.

     

    4.2.1 CoreMark

    # clone repo

    $ git clone https://github.com/eembc/coremark.git

    $ cd coremark

     

    # single threaded run

    $ make XCFLAGS="-DPERFORMANCE_RUN=1" REBUILD=1 run1.log
    # multi threaded run

    $ make XCFLAGS="-DPERFORMANCE_RUN=1 -DMULTITHREAD=4 -DUSE_FORK=1" REBUILD=1 run1.log

    FRWY-LS1046A:

    CoreMark 1.0 : 8880.277711 / GCC7.4.0 -O2 -DPERFORMANCE_RUN=1  -lrt / Heap

    CoreMark 1.0 : 35743.298132 / GCC7.4.0 -O2 -DPERFORMANCE_RUN=1 -DMULTITHREAD=4 -DUSE_FORK=1  -lrt / Heap / 4:Fork


    Raspberry Pi 4 (2GB)
    :

    CoreMark 1.0 : 8289.999246 / GCC8.3.0 -O2 -DPERFORMANCE_RUN=1  -lrt / Heap

    CoreMark 1.0 : 33100.127887 / GCC8.3.0 -O2 -DPERFORMANCE_RUN=1 -DMULTITHREAD=4 -DUSE_FORK=1  -lrt / Heap / 4:Fork

     

    The CoreMark score for the FRWY-LS1046A is about 7% higher than the Raspberry Pi 4. That's about we could expect from the 0.1GHz difference in the clock speeds.

     

    4.2.2 Dhrystone

    # clone repo
    $ git clone https://github.com/Keith-S-Thompson/dhrystone.git

    $ cd dhrystone/v2.2

     

    # run, and collect the results from the last run

    $ CFLAGS=-O3 sh dry.c


    FRWY-LS1046A
    :

    Microseconds for one run through Dhrystone:        0.1

    Dhrystones per Second:                        15625000

     

    Raspberry Pi 4 (2GB):

    Microseconds for one run through Dhrystone:        0.1

    Dhrystones per Second:                         9025271

     

    In the Dhrystone the FRWY-LS1046A gets a little bit better results, about ~40% better then Raspberry Pi 4. I'm not really sure what causing this, maybe the +1 Mb L2 cache or maybe the RPi is just thermal throttling.

     

    5. A Simple NAS and Media Server

    My initial plan was to build a NAS and Media Server using FRWY-LS1046A. I got some progress here, but is not yet quite done. Lets see what we got.

     

    5.1 USB Disk

    There are multiple options to build a NAS with the FRWY-LS1046A, but for the first iteration I wanted to go simple. For this reason, I went with an Inateck SATA to USB 3.0 adapter and a 500 GB HDD from an old laptop:

    For further versions, I plan to use more disks to have redundancy and it would be also useful to NVMe SSD for caching.

     

    The disk was plugged in to one of the USB ports, and it was correctly detected:

    $ sudo fdisk -l

     

    Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors

    Units: sectors of 1 * 512 = 512 bytes

    Sector size (logical/physical): 512 bytes / 512 bytes

    I/O size (minimum/optimal): 512 bytes / 512 bytes

    Disklabel type: dos

    Disk identifier: 0x6641b647

     

    Device     Boot Start       End   Sectors   Size Id Type

    /dev/sda1        2048 976773119 976771072 465.8G 83 Linux

     

    Quick check on the disk speed:

    $ sudo hdparm -tT /dev/sda

     

    /dev/sda:

    Timing cached reads:   4086 MB in  2.00 seconds = 2044.55 MB/sec

    Timing buffered disk reads: 314 MB in  3.00 seconds = 104.51 MB/sec

    We got 104.51 MB / sec. This is about what it should be. It's about the same result I got on my laptop.

     

    Next we can mount the ext4 partition from the disk:

    $ sudo mkdir /media/usbdisk

    $ sudo chmod a+rw /media/usbdisk

    $ sudo mount /dev/sda1 /media/usbdisk

     

    user@localhost:~$ ls -ahl /media/usbdisk/

    total 1.5G

    drwxrwxrwx 3 root root 4.0K Dec 28 12:09 .

    drwxr-xr-x 3 root root 4.0K Dec 26 14:43 ..

    -rw-r--r-- 1 user user 1.5G Jul 28 18:30 archive.tar.gz

    drwx------ 2 root root  16K Dec 22 15:58 lost+found

     

    Performance over SSH?

    $ scp user@192.168.0.116:/media/usbdisk/archive.tar.gz /tmp/

    archive.tar.gz                 100% 1451MB  68.7MB/s   00:21

    Pretty good.

     

    5.2 NFS, Samba Share

    Next, I wanted to do make the mount available over the network.

     

    This can be done in multiple ways:

    • SSH - works, but is not the most convenient
    • Network File System - fist I wanted to go with this, but the device comes with a custom Linux kernel, and the nfsd kernel module required for NFS shares was not included
    • Samba - this was the next option. I went with this.

     

    Setting up a Samba share is pretty straight forward.

     

    First we need to install Samba using apt-get, and we need to enable it in the firewall:

    $ sudo apt install samba

     

    $ sudo ufw allow 'Samba'

    Then we can share our /media/usbdisk folder by adding the following into the /etc/samba/smb.conf:

    [usbdisk]

         path = /media/usbdisk

         comment = USB Disk

         browseable = yes

         read only = no

         writable = yes

         guest ok = yes

    Next, if we restart the smbd and nmbd services:

    $ sudo systemctl restart smbd

    $ sudo systemctl restart nmbd

    we should be able to access the share:

    5.3 KODI Media Server

    As a media server I chose KODI.

     

    First I tried installing KODI using apt-get, which did not worked as apparently KODI does not supports running from without a display.

     

    Then, after a little bit of googling, I found a headless version of KODI for aarch64 available as a Docker image:

    $ mkdir /home/user/kodi-headless

     

    $ docker create --name=kodi-headless -v /home/user/kodi-data:/config/.kodi -e PGID=gid -e PUID=uid -e TZ=timezone -p 8080:8080 -p 9090:9090 -p 9777:9777/udp lsioarmhf/kodi-headless

    ...

    0e502324b7d2e1faf796a0afd62e2cb236bc37fd4a6bb8f46be81be7ed8ca227

     

    $ docker start 0e502324b7d2e1faf796a0afd62e2cb236bc37fd4a6bb8f46be81be7ed8ca227

    Now we should be able to access the KODI web interface at: http://frwy-1046a-ip:8080/

    I works, but I did not managed yet to get the Samba mount recognized.

     

    6. Conclusions and Future Plans

    The FRWY-LS1046A board with the LS1046A SoC has definitely a lot of potential.

     

    The SoC has four powerful ARM A72 CPU cores, which makes it suitable applications involving real-time video or data processing, machine learning and artificial intelligence.

     

    The 2 x 10G, 1 x 2.5G and 4 x 1G networking interfaces, combined the powerful CPU can be used to build capable networking devices like routers, switches and firewalls.

     

    The FRWY-LS1046A board itself also have some interesting features that may worth trying: PCIe M.2 ports, the mikroBUS socket, 4 GB flash storage.

     

    Some thinks I plan to do with the device are:

    • testing network performance on all 4 gigabit port (1Gbps) at once
    • building a Linux kernel / distribution from scratch using the Layerscape Software Development Kit
    • building and running OpenWRT (ref: LS1012A Broadband Home Router)
    • check out the Bluetooth 5.0 support and capabilities
    • figuring out what's wrong with the Wifi performance
    • booting from the 4 GB flash

     

    Hope you enjoyed this RoadTest!


Comments

Also Enrolling

Enrollment Closes: Aug 13 
Enroll
Enrollment Closes: Sep 15 
Enroll
Enrollment Closes: Sep 8 
Enroll
Enrollment Closes: Aug 21 
Enroll
Enrollment Closes: Aug 28 
Enroll
Enrollment Closes: Aug 25 
Enroll
Enrollment Closes: Aug 18 
Enroll
Enrollment Closes: Aug 18 
Enroll
Enrollment Closes: Aug 17 
Enroll