Table of contents
This page offers information on how to get started with your ESPRESSObin board, boot it for the first time and make sure all components are working fine.
For instructions on how to compile system components and boot them from microSD card, see Software HowTo.
I/O ports and connectors
Available ports and connectors differ depending on the ESPRESSObin hardware version. For an in-detail view of the available connectors, see ESPRESSObin Ports and Interfaces.
The images below show available connectors on ESPRESSObin version 7:
As of hardware revision 7, users can order a plastic or a metal enclosure for their ESPRESSObin boards. I/O ports and connectors with the enclosure are shown on the images below:
The LED locations and interfaces are identical regardless of the chosen enclosure.
ESPRESSObin v5 and older revisions
Click on the images below to see available connectors on ESPRESSObin version 5 and older revisions:
Here is what you will need to power up the board:
- Linux or Windows PC
- ESPRESSObin board with micro SD card containing necessary images and file system
- 12V power adapter
- micro USB cable
- IP router or IP switch
- USB 3.0 Flash disk (optional)
- SATA HDD (optional)
In case you want to flash a different kernel or file system onto the ESPRESSObin board, see Software HowTo page for tutorials on how to build the kernel or supported distributions from source.
Connecting various peripherals to the board functions as following:
- Plug your power adapter to the 12V DC Jack. Make sure that an SD card with a valid, running distribution is inserted in the microSD card slot on the ESPRESSObin board.
- Connect your PC to your board by plugging the micro USB cable to a USB port on your laptop/computer and plugging the other end to the 5V Micro USB port on the ESPRESSObin board.
- Connect one end of an Ethernet cable to the WAN port on your ESPRESSObin and the other end to your IP router or IP switch.
- Connect one end of a second Ethernet cable to one of the GbE LAN ports and the other end to your laptop/computer.
- (Optional) Connect your HDD to the board by connecting the data cable to the SATA HDD data cable slot and the power cable to the SATA HDD power slot.
Step 2 from the above procedure requires that access to the console is acquired using a serial connection. Follow the tutorial for your OS below:
Start using ESPRESSObin
Now let's move onto booting one of the supported distributions on ESPRESSObin. The following subsections show logs for Buildroot and Ubuntu 16.04.
When the ESPRESSObin starts to boot, you can check your U-Boot version:
U-Boot 2017.03-armada-17.10.2-g14aeedc (Jun 01 2018 - 15:39:10 +0800)
Now we are prompted with the Buildroot login:
Welcome to Buildroot buildroot login: root
We log in with
root where no password is needed.
Once in Buildroot, we can check the kernel version using the
uname -a command:
# uname -a Linux buildroot 4.4.8-armada-17.02.1-g4271698 #3 SMP PREEMPT Thu Feb 9 13:36:58 CET 2017 aarch64 aarch64 aarch64 GNU/Linux
When booting Ubuntu you will be logged in automatically:
Ubuntu 16.04.3 LTS espressobin ttyMV0 espressobin login: root (automatic login) Last login: Tue Oct 30 15:21:33 UTC 2018 on ttyMV0 Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.52-armada-17.10.3-g9095f3a aarch64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage root@espressobin:~#
Check the kernel version with
uname -a command:
root@localhost:~# uname -a Linux espressobin 4.4.52-armada-17.10.3-g9095f3a #132 SMP PREEMPT Thu May 31 11:13:10 CST 2018 aarch64 aarch64 aarch64 GNU/Linux
Initial network setup
Following subsections show how to set up basic networking on Buildroot and Ubuntu distributions.
Firstly we will configure ESPRESSObin as a network client, that is, acquire an IP address through the
wan interface. Connect one end of an Ethernet cable to the WAN port on ESPRESSObin and the other end to your router or IP switch. In the Buildroot shell insert the following commands to configure
eth0 interface to use DHCP for obtaining an IP address:
# ifconfig eth0 up # dhclient wan [ 162.790397] IPv6: ADDRCONF(NETDEV_UP): wan: link is not ready [ 164.323110] dsa dsa@0 wan: Link is Down [ 165.331782] dsa dsa@0 wan: Link is Up - 100Mbps/Full - flow control rx/tx [ 165.338761] IPv6: ADDRCONF(NETDEV_CHANGE): wan: link becomes ready
ifconfig command verify that the IP address has been obtained:
# ifconfig -a [...] wan Link encap:Ethernet HWaddr F0:AD:4E:03:5F:30 inet addr:192.168.1.7 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::f2ad:4eff:fe03:5f30%8271552/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:287 errors:0 dropped:0 overruns:0 frame:0 TX packets:22 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:17784 (17.3 KiB) TX bytes:1948 (1.9 KiB)
Check the Internet connection with
# ping www.google.com PING www.google.com (126.96.36.199): 56 data bytes 64 bytes from 188.8.131.52: seq=0 ttl=54 time=49.404 ms 64 bytes from 184.108.40.206: seq=1 ttl=54 time=48.036 ms ^C --- www.google.com ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 48.036/48.720/49.404 ms
See Buildroot - initial network configuration on how to set up routing and more.
To enable router functionality on vanilla Ubuntu, the kernel has to be compiled with several NETFILTER/IPTABLES/NAT features. Instructions on how to do this are described in Ubuntu - initial network configuration.
The following subsections will verify that the USB ports on ESPRESSObin are functional.
Connect your USB to the USB2.0 port to see if it is detected correctly. Example output:
# [ 904.012191] usb 1-1: USB disconnect, device number 3 [ 908.879720] usb 1-1: new high-speed USB device number 4 using orion-ehci [ 909.020837] usb-storage 1-1:1.0: USB Mass Storage device detected [ 909.032505] scsi host4: usb-storage 1-1:1.0 [ 910.038223] scsi 4:0:0:0: Direct-Access SanDisk Cruzer Blade 1.00 PQ: 0 ANSI: 6 [ 910.049274] sd 4:0:0:0: [sdb] 15630336 512-byte logical blocks: (8.00 GB/7.45 GiB) [ 910.058262] sd 4:0:0:0: [sdb] Write Protect is off [ 910.063669] sd 4:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA [ 910.082282] sdb: sdb1 [ 910.087265] sd 4:0:0:0: [sdb] Attached SCSI removable disk
Plug in your USB3.0 in the designated USB3.0 port on the board. Check in the Buildroot to see if your USB was recognized. Example output:
# [ 4476.431702] usb 2-1: new high-speed USB device number 2 using xhci-hcd [ 4476.630042] usb-storage 2-1:1.0: USB Mass Storage device detected [ 4476.640897] scsi host1: usb-storage 2-1:1.0 [ 4477.647064] scsi 1:0:0:0: Direct-Access Verbatim STORE N GO PMAP PQ: 0 ANSI: 6 [ 4479.652782] sd 1:0:0:0: [sda] 15130624 512-byte logical blocks: (7.75 GB/7.21 GiB) [ 4479.661177] sd 1:0:0:0: [sda] Write Protect is off [ 4479.666693] sd 1:0:0:0: [sda] No Caching mode page found [ 4479.671990] sd 1:0:0:0: [sda] Assuming drive cache: write through [ 4479.683392] sda: sda1 [ 4479.687833] sd 1:0:0:0: [sda] Attached SCSI removable disk
Additionally, you can use
lsusb command in the console to get information on devices connected to USB buses:
# lsusb Bus 001 Device 004: ID 0781:5567 Bus 002 Device 002: ID 18a5:0302 Bus 001 Device 001: ID 1d6b:0002 Bus 002 Device 001: ID 1d6b:0002 Bus 003 Device 001: ID 1d6b:0003
Checking reset key
After you press the reset key on your ESPRESSObin board, the system should reboot:
WTMI-armada-17.10.5-bb8f823 WTMI: system early-init SVC REV: 4, CPU VDD voltage: 1.120V Fill memory before self refresh...done Now in Self-refresh Mode Exited self-refresh ... Self refresh Pass. DDR self test mode test done!! Vref read training =================== Final vdac_value 0x00000022 Vref write training =================== Final vref_value 0x0000001F DLL TUNING ============== DLL 0xc0001050[21:16]: [1,33,1a] DLL 0xc0001050[29:24]: [3,2e,18] DLL 0xc0001054[21:16]: [8,2d,1a] DLL 0xc0001054[29:24]: [c,2d,1c] DLL 0xc0001074[21:16]: [0,3f,1f] DLL 0xc0001074NOTICE: Booting Trusted Firmware NOTICE: BL1: v1.3(release):armada-17.10.3:39a62a1 NOTICE: BL1: Built : 15:40:57, Jun 1 2NOTICE: BL2: v1.3(release):armada-17.10.3:39a62a1 NOTICE: BL2: Built : 15:40:59, Jun 1 201NOTICE: BL31: v1.3(release):armada-17.10.3:39a62a1 NOTICE: BL31: U-Boot 2017.03-armada-17.10.2-g14aeedc (Jun 01 2018 - 15:39:10 +0800) Model: Marvell Armada 3720 Community Board ESPRESSOBin CPU @ 1000 [MHz] L2 @ 800 [MHz] TClock @ 200 [MHz] DDR @ 800 [MHz] DRAM: 1 GiB U-Boot DT blob at : 000000003f7161b8 Comphy-0: USB3 5 Gbps Comphy-1: PEX0 2.5 Gbps Comphy-2: SATA0 6 Gbps SATA link 0 timeout. AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl SATA mode flags: ncq led only pmp fbss pio slum part sxs PCIE-0: Link down MMC: sdhci@d0000: 0, sdhci@d8000: 1 SF: Detected mx25u3235f with page size 256 Bytes, erase size 64 KiB, total 4 MiB Net: eth0: neta@30000 [PRIME] [...]
To build various supported distributions from source and boot them on ESPRESSObin, visit Software HowTo.
For various networking, media server and other distribution-specific tutorials, visit Getting Started Tutorials.