USB Access

In the default configuration, as shipped, USB in is peripheral mode and a “wall wart” AC adaptor can be used for power. In this mode, it is also possible to connect the development board to a workstation’s USB 3.0+ port (where VBUS can supply up to 900mA) and access a serial console.

In the latest software images, the development board acts as a multifunction composite gadget which provides both serial and networking support.

USB Console

Connect the board to a workstation using the USB A to USB C cable provided. The haptic motor will sound briefly and the board should appear shortly after as a USB serial device to the workstation:

Bus 001 Device 008: ID 1d6b:0104 Linux Foundation Multifunction Composite Gadget

The bus and device numbers may differ from those shown.

The device will also appear in the /dev/ directory as a serial port, such as /dev/ttyACM0, which you can use to access the board’s serial console if you have permission to read and write to that device:

picocom -b 115200 /dev/ttyACM0

This should produce the output like this:

Debian GNU/Linux buster/sid pureos-test ttyGS0

pureos-test login:

It should be possible to log in using purism as the user name and 123456 as the password.

Note: You may have trouble accessing the serial device if your user is not a member of the dialout group on your workstation. For example, you may get an error like this:

FATAL: cannot open /dev/ttyACM0: Permission denied

In this case, you can either add your user to the dialout group or, as a workaround, run picocom using the sudo command.

Alternate Configuration - USB C Host

In this configuration, USB host mode is used to allow keyboard, mouse and flash memory sticks to be connected to the development board.

Note: Using the board in this mode means that you will lose access to the USB serial console, so it is important to have set up SSH access via Ethernet before following these steps.

  1. On the target, backup the device tree and copy in the USB host version:

    cp /boot/dtbs/librem5-evk.dtb /boot/dtbs/librem5-evk.dtb.bak
    cp /boot/dtbs/librem5-evk-usbhost.dtb /boot/dtbs/librem5-evk.dtb
  2. Attach a USB C hub to the development board.

  3. Attach power to the USB C hub.

  4. Plug in USB devices and they should appear in the output of the dmesg and lsusb tools.

The J5 Create JCA374 USB Type-C Multi-Adapter is known to work as a hub and power the board using USB Power Delivery.