HOWTO Testing Arduino Portenta X8
Press coverage
Documentation
First experiences with Portenta X8
Connect the patch antenna to the Portenta X8 uFL connector
Connect the Portenta X8 to a laptop using a USB-A to USB-C cable
Wait until the upper LED turns green
Browse http://192.168.7.1/
Welcome to the Arduino Portenta X8
Setup your board to get started
Configure Wi-Fi
Register Factory name
Click on “BOARD INFO”
BOARD INFO
Hostname:
PORTENTA-X8-A13B209DAB6FAD9
Wi-Fi:
AROLIOT
Ethernet:
USBRNDIS
Factory: ->
Expand “AROLIOT”
Hostname:
portenta-x8-a13b209dab6fad9
IPv4:
172.30.48.28/24
MAC:
74:7A:90:CE:F3:94
Expand “USBRNDIS”
Hostname:
portenta-x8-a13b209dab6fad9
IPv4:
192.168.7.1/24
MAC:
32:2E:E3:05:3D:31
Click on “LAUNCH SHELL”
To list installed python packages
pip3 list
To add a package
apk add <packagename>
To explore list of available packages
https://pkgs.alpinelinux.org/packages
Arduino Portenta-X8 documentation under
https://docs.arduino.cc/hardware/portenta-x8
portenta-x8:~#
Clone ARNEIS sources from GitHub
Logged in as root@portenta-x8
from the shell accessible from the web interface
apk add git
git clone https://github.com/B-AROL-O/ARNEIS
Build ARNEIS documentation
Build ARNEIS documentation from sources in docs/
:
cd ~/ARNEIS/docs
pip install -r requirements.txt
apk add make
make html
Result: TODO
Inspect the host OS on the Portenta X8
From a laptop connected on the same network (172.30.48.0/24)
gpmacario@HW2457 MINGW64 ~
$ ssh fio@172.30.48.28
fio@172.30.48.28's password:
fio@portenta-x8-a13b209dab6fad9:~$
Inspect the host OS
Logged in as fio@portenta-x8-xxxx
, type the following commands to inspect the host OS
uname -a
cat /etc/os-release
cat /proc/cpuinfo
free -h
Result:
fio@portenta-x8-a13b209dab6fad9:~$ uname -a
Linux portenta-x8-a13b209dab6fad9 5.4.134-lmp-standard #1 SMP PREEMPT Tue Jul 20 21:09:28 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
fio@portenta-x8-a13b209dab6fad9:~$ cat /etc/os-release
ID=lmp-xwayland
NAME="Linux-microPlatform XWayland"
VERSION="3.3.2-391-83-21-g3ad61e0"
VERSION_ID=3.3.2-391-83-21-g3ad61e0
PRETTY_NAME="Linux-microPlatform XWayland 3.3.2-391-83-21-g3ad61e0"
HOME_URL="https://foundries.io/"
SUPPORT_URL="https://support.foundries.io/"
LMP_MACHINE="portenta-x8"
LMP_FACTORY="arduino"
LMP_FACTORY_TAG="devel"
fio@portenta-x8-a13b209dab6fad9:~$ cat /proc/cpuinfo
processor : 0
BogoMIPS : 16.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 1
BogoMIPS : 16.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 2
BogoMIPS : 16.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
processor : 3
BogoMIPS : 16.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x0
CPU part : 0xd03
CPU revision : 4
fio@portenta-x8-a13b209dab6fad9:~$ free -h
total used free shared buff/cache available
Mem: 1.9Gi 308Mi 1.3Gi 26Mi 343Mi 1.6Gi
Swap: 1.9Gi 0B 1.9Gi
fio@portenta-x8-a13b209dab6fad9:~$
Inspect disk utilization
Logged in as fio@portenta-x8-xxxx
, type the following commands:
df -h
Result:
fio@portenta-x8-a13b209dab6fad9:~$ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 976M 26M 950M 3% /run
devtmpfs 651M 0 651M 0% /dev
/dev/mmcblk2p2 14G 2.1G 11G 16% /sysroot
tmpfs 976M 0 976M 0% /dev/shm
tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
tmpfs 976M 0 976M 0% /tmp
tmpfs 976M 12K 976M 1% /var/volatile
/dev/mmcblk2p1 84M 28K 83M 1% /var/rootdirs/mnt/boot
tmpfs 196M 0 196M 0% /run/user/63
overlay 14G 2.1G 11G 16% /var/lib/docker/overlay2/71bfdab5583038b5068957a0ac6808c843636759bd1e8e23610686a294748ec5/merged
overlay 14G 2.1G 11G 16% /var/lib/docker/overlay2/ebf99a4712b01bd0d3e6a27f6c4f7b1dda3c1018f4abe2598b083240d29b9875/merged
fio@portenta-x8-a13b209dab6fad9:~$
Inspect the network interfaces
Logged in as fio@portenta-x8-xxxx
, type the following command:
ip addr
Result:
fio@portenta-x8-a13b209dab6fad9:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
3: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 6e:4f:24:e2:aa:4b brd ff:ff:ff:ff:ff:ff
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 74:7a:90:ce:f3:94 brd ff:ff:ff:ff:ff:ff
inet 172.30.48.28/24 brd 172.30.48.255 scope global dynamic noprefixroute wlan0
valid_lft 598757sec preferred_lft 598757sec
inet6 fe80::d422:768c:a623:311d/64 scope link noprefixroute
valid_lft forever preferred_lft forever
5: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN group default qlen 10
link/can
6: can1: <NOARP,ECHO> mtu 16 qdisc noop state DOWN group default qlen 10
link/can
7: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 46:f2:7f:29:29:18 brd ff:ff:ff:ff:ff:ff
inet 192.168.7.1/24 brd 192.168.7.255 scope global noprefixroute usb0
valid_lft forever preferred_lft forever
inet6 fe80::67f4:afe1:2c7d:abe8/64 scope link noprefixroute
valid_lft forever preferred_lft forever
8: usb1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 32:f2:98:46:1b:c2 brd ff:ff:ff:ff:ff:ff
inet 192.168.8.1/24 brd 192.168.8.255 scope global noprefixroute usb1
valid_lft forever preferred_lft forever
inet6 fe80::f0db:a7c1:d850:58d8/64 scope link tentative noprefixroute
valid_lft forever preferred_lft forever
9: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether 02:42:b0:7b:86:28 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
10: br-9a0e17781cd2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether 02:42:59:99:dc:7b brd ff:ff:ff:ff:ff:ff
inet 172.18.0.1/16 brd 172.18.255.255 scope global br-9a0e17781cd2
valid_lft forever preferred_lft forever
inet6 fe80::42:59ff:fe99:dc7b/64 scope link
valid_lft forever preferred_lft forever
12: veth7267f54@if11: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-9a0e17781cd2 state UP group default
link/ether 9a:a2:8f:91:28:58 brd ff:ff:ff:ff:ff:ff link-netnsid 1
inet6 fe80::98a2:8fff:fe91:2858/64 scope link
valid_lft forever preferred_lft forever
14: veth68241db@if13: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-9a0e17781cd2 state UP group default
link/ether 5a:a7:6c:72:19:e6 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet6 fe80::58a7:6cff:fe72:19e6/64 scope link
valid_lft forever preferred_lft forever
fio@portenta-x8-a13b209dab6fad9:~$
Inspect Docker configuration
Logged in as fio@portenta-x8-xxxx
, type the following commands:
docker version
docker info
docker images
docker ps -a
Result:
fio@portenta-x8-a13b209dab6fad9:~$ docker version
Client:
Version: 20.10.7
API version: 1.41
Go version: go1.16.7
Git commit: e9b8231d6a
Built: Tue Feb 15 18:02:50 2022
OS/Arch: linux/arm64
Context: default
Experimental: true
Server:
Engine:
Version: 20.10.7
API version: 1.41 (minimum version 1.12)
Go version: go1.16.7
Git commit: 013d6655bb0f4c86bcd9d48372ef67afd0ded65e
Built: Tue Feb 15 18:01:38 2022
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: v1.5.4-12-g1c13c54ca.m
GitCommit: 1c13c54cae4f53510a7a45ae3e4af49030a76193.m
runc:
Version: 1.0.0-rc95+dev
GitCommit: bfcbc947d5d11327f2680047e2e6e94f4ee93d2a-dirty
docker-init:
Version: 0.19.0
GitCommit: b9f42a0-dirty
fio@portenta-x8-a13b209dab6fad9:~$ docker info
Client:
Context: default
Debug Mode: false
Server:
Containers: 2
Running: 2
Paused: 0
Stopped: 0
Images: 2
Server Version: 20.10.7
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
userxattr: false
Logging Driver: journald
Cgroup Driver: cgroupfs
Cgroup Version: 1
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc io.containerd.runc.v2 io.containerd.runtime.v1.linux
Default Runtime: runc
Init Binary: docker-init
containerd version: 1c13c54cae4f53510a7a45ae3e4af49030a76193.m
runc version: bfcbc947d5d11327f2680047e2e6e94f4ee93d2a-dirty
init version: b9f42a0-dirty (expected: de40ad007797e)
Security Options:
seccomp
Profile: default
Kernel Version: 5.4.134-lmp-standard
Operating System: Linux-microPlatform XWayland 3.3.2-391-83-21-g3ad61e0
OSType: linux
Architecture: aarch64
CPUs: 4
Total Memory: 1.905GiB
Name: portenta-x8-a13b209dab6fad9
ID: 6YE7:I5FE:OINP:4YR2:ZMSQ:CC24:GZVF:QRDX:PB3V:KDQO:XMDL:OQFJ
Docker Root Dir: /var/lib/docker
Debug Mode: false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
fio@portenta-x8-a13b209dab6fad9:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hub.foundries.io/arduino/python-devel-arduino <none> 60de54fcb301 2 weeks ago 268MB
hub.foundries.io/arduino/go-webapp-arduino <none> 495e2e950a62 2 weeks ago 127MB
fio@portenta-x8-a13b209dab6fad9:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
49c117163405 hub.foundries.io/arduino/go-webapp-arduino "/entrypoint.sh" 13 months ago Up 5 days 0.0.0.0:80->1323/tcp, :::80->1323/tcp x8-setup
782933c5d575 hub.foundries.io/arduino/python-devel-arduino "/entrypoint.sh" 13 months ago Up 5 days x8-devel
fio@portenta-x8-a13b209dab6fad9:~$
Verify Bluetooth subsystem of the Portenta X8
Logged in as fio@portenta-x8-xxxx
, type the following commands:
hciconfig
Result:
fio@portenta-x8-a13b209dab6fad9:~$ hciconfig
hci0: Type: Primary Bus: UART
BD Address: 43:43:A1:12:1F:AC ACL MTU: 1021:8 SCO MTU: 64:1
DOWN
RX bytes:2045 acl:0 sco:0 events:190 errors:0
TX bytes:37360 acl:0 sco:0 commands:190 errors:0
fio@portenta-x8-a13b209dab6fad9:~$
Bring up the Bluetooth interface, then scan nearby BLE devices
sudo hciconfig hci0 up
hcitool dev
sudo hcitool lescan
Result:
fio@portenta-x8-a13b209dab6fad9:~$ sudo hciconfig hci0 up
fio@portenta-x8-a13b209dab6fad9:~$ hcitool dev
Devices:
hci0 43:43:A1:12:1F:AC
fio@portenta-x8-a13b209dab6fad9:~$ sudo hcitool lescan
LE Scan ...
2E:75:1E:87:EB:CF (unknown)
7C:64:56:88:EF:A7 (unknown)
2F:ED:4A:2E:A5:B5 (unknown)
72:D4:7E:59:0D:F8 (unknown)
65:4E:A0:F6:BE:B4 (unknown)
65:4E:A0:F6:BE:B4 (unknown)
1F:F2:44:20:1A:28 (unknown)
2C:9B:97:13:4A:9B (unknown)
28:C4:3F:11:AB:CE (unknown)
02:93:45:6B:9E:AB (unknown)
CD:1B:AC:76:93:BF (unknown)
6E:E5:2C:AB:EB:DD (unknown)
6E:E5:2C:AB:EB:DD (unknown)
1B:9E:4C:3A:9B:B1 (unknown)
55:37:EF:1F:3B:86 (unknown)
7C:81:F0:23:19:98 (unknown)
07:DD:3B:78:21:46 (unknown)
62:27:88:AC:C0:F0 (unknown)
62:A4:EB:0B:D6:AE (unknown)
5C:1B:DB:65:60:57 (unknown)
7C:49:DF:24:CE:3B (unknown)
37:9F:05:BE:F8:E9 (unknown)
F5:83:BC:3A:7B:93 (unknown)
62:A4:EB:0B:D6:AE (unknown)
62:27:88:AC:C0:F0 (unknown)
44:E8:BB:5E:76:AB (unknown)
D9:04:87:92:BE:06 (unknown)
D9:04:87:92:BE:06 BT510
44:E8:BB:5E:76:AB (unknown)
E3:A2:5D:E5:24:9C (unknown)
^Cfio@portenta-x8-a13b209dab6fad9:~$