From Fedora Project Wiki

Description

Test the basic functionality of hardware supported in Fedora IoT Edition.

Setup

This testcase needs to be completed on supported hardware. To test the serial console you will need a TTL to USB adapter. To test the display you will need an HDMI cable, monitor and USB keyboard.

How to test

Serial Console

For details on how to use the serial console, refer to this page .

Write the image to be tested using the arm-image-installer with the '--addconsole' option or if writing the image using another tool you will need to manually uncomment the 'uart=1' line in /boot/config.txt. Use minicom or screen to connect the serial console.

sudo minicom -D /dev/ttyUSB0

Power on the Raspberry Pi and complete initial-setup.

Display

Connect a monitor using the HDMI cable and boot the hardware.

Test WiFi

Get a list of available networks:

nmcli device wifi list

Connect to an available network (replace $SSID)

nmcli device wifi connect $SSID --ask

Verify connectivity

ip a

Test connectivity by performing some basic network tasks such as checking for an update ( rpm-ostree upgrade ), adding a layered package or downloading a large file.

Test Wired Network

Check device status and verify expected interface of type "ethernet" appears:

nmcli device status

If state is not "connected", verify cable is connected and attempt to connect:

nmcli connection up $DEVICE

Verify connectivity

ip a

Test connectivity by performing some basic network tasks such as checking for an update ( rpm-ostree upgrade ), adding a layered package or downloading a large file.

Test Bluetooth

Make sure the bluetooth service is running

systemctl status bluetooth

Connect to the bluetoothctl tool

[root@rpi3 ~]# bluetoothctl
Agent registered
[bluetooth]# show
Controller AA:AA:AA:AA:AA:AA (public)
        Name: localhost.localdomain
        Alias: localhost.localdomain
        Class: 0x00000104
        Powered: yes
        Discoverable: no
        Pairable: yes
        UUID: Generic Attribute Profile (00001801-0000-1000-8000-00805f9b34fb)
        UUID: Generic Access Profile    (00001800-0000-1000-8000-00805f9b34fb)
        UUID: PnP Information           (00001200-0000-1000-8000-00805f9b34fb)
        UUID: A/V Remote Control Target (0000110c-0000-1000-8000-00805f9b34fb)
        UUID: A/V Remote Control        (0000110e-0000-1000-8000-00805f9b34fb)
        Modalias: usb:v1D6Bp0246d0532
        Discovering: no
[bluetooth]# list
Controller AA:AA:AA:AA:AA:AA localhost.localdomain [default]
[bluetooth]# scan on
Discovery started
[CHG] Controller AA:AA:AA:AA:AA:AA Discovering: yes
..

This should output a list of devices, when the device you would like to pair with has been listed, turn off Discovery with 'scan off'.

List available devices found during discovery.

[bluetooth]# devices
Device 58:7D:6E:14:22:57 58-7D-6E-14-22-57
Device 79:67:4D:17:76:64 79-67-4D-17-76-64
Device FC:8F:90:AA:C7:17 [TV] UN55JS8500
Device AC:37:43:BC:8D:C5 Pixel

Pair with a device.

[bluetooth]# pair AC:37:43:BC:8D:C5
Attempting to pair with AC:37:43:BC:8D:C5
[CHG] Device AC:37:43:BC:8D:C5 Connected: yes
Request confirmation
[agent] Confirm passkey 591732 (yes/no): yes
....
[CHG] Device AC:37:43:BC:8D:C5 ServicesResolved: yes
[CHG] Device AC:37:43:BC:8D:C5 Paired: yes
Pairing successful

Connect to the device

 [bluetooth]# connect AC:37:43:BC:8D:C5 
Attempting to connect to AC:37:43:BC:8D:C5
Connection successful

Trust the device

[bluetooth]# trust AC:37:43:BC:8D:C5
[CHG] Device AC:37:43:BC:8D:C5 Trusted: yes
Changing AC:37:43:BC:8D:C5 trust succeeded

Results

  1. When using a serial console or display, the output should not be garbled and display boot messages ending with initial-setup.
  2. Wifi device should be available and allow connection to AP. It should be possible to perform basic network tests.
  3. Bluetooth should allow device pairing and provide working functionality.