# HOWTO Testing Arduino Portenta X8
## Press coverage
*
## Documentation
* [Portenta X8 Getting Started (Beta)](https://docs.arduino.cc/tutorials/portenta-x8/out-of-the-box)
- Sources:
- docs-content/pull/159: [Portenta X8: Getting Started update [PC-889]](https://github.com/arduino/docs-content/pull/159)
* [foundries.io](https://foundries.io/)
-
* [docs.foundries.io](https://docs.foundries.io/latest/index.html)
- [Supported Boards](https://docs.foundries.io/latest/reference-manual/boards/boards.html)
## 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
> Welcome to the **Arduino Portenta X8**
>
> Setup your board to get started
>
> * Configure Wi-Fi
> * Register Factory name
>
> [GO TO DOCUMENTATION](https://docs.arduino.cc/hardware/portenta-x8)
>
> [BOARD INFO](http://192.168.7.1/)
Click on "BOARD INFO"
> **BOARD INFO**
>
> * Hostname: `PORTENTA-X8-A13B209DAB6FAD9`
> * Wi-Fi: `AROLIOT`
> * Ethernet: `USBRNDIS`
> * Factory: [->](https://www.arduino.cc/x8-registerarolred)
>
> [LAUNCH SHELL](http://192.168.7.1/#/shell)
>
> [GO TO ARDUINO CLOUD](https://cloud.arduino.cc/)
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"
```text
To list installed python packages
pip3 list
To add a package
apk add
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
```bash
apk add git
git clone https://github.com/B-AROL-O/ARNEIS
```
### Build ARNEIS documentation
Build ARNEIS documentation from sources in `docs/`:
```bash
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)
```text
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
```bash
uname -a
cat /etc/os-release
cat /proc/cpuinfo
free -h
```
Result:
```text
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:
```bash
df -h
```
Result:
```text
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:
```bash
ip addr
```
Result:
```text
fio@portenta-x8-a13b209dab6fad9:~$ ip addr
1: lo: 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: mtu 1480 qdisc noop state DOWN group default qlen 1000
link/sit 0.0.0.0 brd 0.0.0.0
3: eth0: 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: 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: mtu 16 qdisc noop state DOWN group default qlen 10
link/can
6: can1: mtu 16 qdisc noop state DOWN group default qlen 10
link/can
7: usb0: 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: 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: 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: 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: 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: 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:
```bash
docker version
docker info
docker images
docker ps -a
```
Result:
```text
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 60de54fcb301 2 weeks ago 268MB
hub.foundries.io/arduino/go-webapp-arduino 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:
```bash
hciconfig
```
Result:
```text
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
```bash
sudo hciconfig hci0 up
hcitool dev
sudo hcitool lescan
```
Result:
```text
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:~$
```