devices

Sets up hardware.

Currently input devices. video and audio sources.

Installs packages and kernel parameters, udev rules.

Tasks

packages - install packages grub - add kernel parameters udev - creates udev rules for each usb device ingest - creates systemd .path and .service for each ingest.py

Available variables

  • usb_sources: List of usb devices.

  • usb_sources.[].name: filename fragment: 7n-{name}.rules

  • usb_sources.[].description: Reminder of what it is. (becomes a #comment.)

  • usb_sources.[].subsystem: udev usb subsystem ex: “video4linux”

  • usb_sources.[].idVendor: usb Vendor ID (hex, as seen in lsusb.)

  • usb_sources.[].idProduct: usb Product ID

  • usb_sources.[].index: used as ATTR{index}==”0” - set 0 for v4l device, don’t set otherwise.

  • usb_sources.[].devname: the dev node to assign example: “v4l/grabber”

  • ingest_sources: List of ingests - create a .path and .service for each.

  • ingest_sources.[].description: Description used in .service

  • ingest_sources.[].name: Feed name. Example: Grabber

  • ingest_sources.[].path_exists: trigger on. example: /dev/v4l/grabber

  • ingest_sources.[].video_source: –video-source for ingest.py

  • ingest_sources.[].audio_source: –audio-source for ingest.py

  • `ingest_sources.[].port: –port for ingest.py example: 10001

  • kernel_parameters: Additional kernel_parameters to append to GRUB_CMDLINE_LINUX=

Other variables used are:

  • skip_unit_test: Used internally by the test suite to disable actions that can’t be performed in the gitlab-ci test runner.