Skip to content

Allow hot plugging devices #1

Open
@xarantolus

Description

@xarantolus

Sometimes I take the CI STM to test something on it, and then plug it back in. However, then all CI runs afterwards result in an error:

2025-02-17T19:47:09 ERROR usb.c: Failed to open USB device 0x0483:0x374b, libusb error: -4)

The error is LIBUSB_ERROR_NO_DEVICE.

Even the following will not work in config.sh:

...

docker run --pull always --name "${CONTAINER_NAME}" -d \
    --privileged \
    -v "$(pwd)/chips.yml:/actions-runner/chips.yml:ro" \
    --device /dev/bus/usb --device-cgroup-rule 'c 189:* rwm' \
    --cap-add SYS_RAWIO --cap-add CAP_MKNOD \
    -v /sys:/sys:ro \
    -v /run/udev:/run/udev:ro \
    --restart unless-stopped \
    ghcr.io/osirisrtos/hardware-ci:latest \
    "$@"

One alternative would be to restart CI every a device is plugged in / out, as that could also update the labels of what is available for the runner.

In total, this is kind of low priority, as usually hot plugging does not happen that often (and we can just restart the runner then), but it would still be nice

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions