From Fedora Project Wiki


Test the basic hardware functionality of the Raspberry Pi 3.


This testcase needs to be completed on the Raspberry Pi 3 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.


Connect a monitor using the HDMI cable and boot the Raspberry Pi 3. Boot the image to be tested on the Raspberry Pi 3 and complete initial-setup.

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 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


  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.