Skip to main content

Linux Setup

Guide for connecting the PinOne Config Tool on Linux. Tested on Ubuntu 24.04 XFCE, VPX 10.8.1 BGFX, and PinOne Config Tool 2.2.1.

Background

On Linux, the PinOne board is detected correctly and works fine in VPX, but the Config Tool may fail to connect: Auto Connect fails, and manually selecting the correct serial port causes the app to hang indefinitely. This is caused by a HID interface being claimed by the Linux hid-generic driver. The fix below unbinds that interface just long enough to connect.

Prerequisites

Confirm the board is detected:

lsusb

Look for a device with Vendor ID 0e8f and Product ID 9207.

Confirm your user is in the dialout group (required for serial port access):

groups

Step 1 - Identify the correct serial port

Don't assume the PinOne is ttyACM0 — check each ACM device until you find one reporting idVendor==0e8f and idProduct==9207:

udevadm info -a -n /dev/ttyACM0 | grep -E "idVendor|idProduct|KERNELS" | head -20
udevadm info -a -n /dev/ttyACM1 | grep -E "idVendor|idProduct|KERNELS" | head -20

Step 2 - Launch the Config Tool

cd ~/Downloads
chmod +x pinone-config-tool-2.2.1.AppImage
./pinone-config-tool-2.2.1.AppImage --no-sandbox

Select the port identified in Step 1 (auto connect does not work) and click Connect. Without the fix in Step 3, this will hang.

Step 3 - Apply the HID fix

Close the Config Tool completely, then unbind interface .0003:

echo "0003:0E8F:9207.0003" | sudo tee /sys/bus/hid/drivers/hid-generic/unbind

Verify it's no longer attached — you should only see .0002 and .0004 remaining:

ls /sys/bus/hid/drivers/hid-generic/ | grep 0E8F

Step 4 - Connect

cd ~/Downloads
./pinone-config-tool-2.2.1.AppImage --no-sandbox

Select the PinOne's ACM port and click Connect. A successful connection shows:

  • Connect changes to Disconnect
  • Inputs, Outputs, Plunger, and Accelerometer pages load
  • Settings and Controller pages are available

Step 5 - Restore normal operation

Once you're done configuring, rebind the interface:

echo "0003:0E8F:9207.0003" | sudo tee /sys/bus/hid/drivers/hid-generic/bind

Verify all three interfaces (.0002, .0003, .0004) are present again.

Optional - One-click launcher script

Create ~/bin/pinone-config.sh:

#!/bin/bash
echo "0003:0E8F:9207.0003" | sudo tee /sys/bus/hid/drivers/hid-generic/unbind
APP="$HOME/Downloads/pinone-config-tool-2.2.1.AppImage"
"$APP" --no-sandbox
echo "0003:0E8F:9207.0003" | sudo tee /sys/bus/hid/drivers/hid-generic/bind

Make it executable and run it:

chmod +x ~/bin/pinone-config.sh
~/bin/pinone-config.sh

This unbinds the interface, launches the tool, and rebinds the interface automatically when the tool closes.

Optional - Remote administration with Remmina

The Config Tool can be launched remotely after interface .0003 is unbound, but input indicators may not update properly over RDP. For input testing, use the tool locally at the cabinet.