• 2 Posts
  • 54 Comments
Joined 1 year ago
cake
Cake day: June 17th, 2023

help-circle





  • C920 is good enough for meetings. I solved the focus problem using the traditional Linux method of writing of udev rule which launches a timer when it’s plugged in, which periodically launches a systemd service, which runs a bash script to make sure it self-corrects at least every 5 minutes.

    cat /etc/udev/rules.d/90-video4linux-webcam-config.rules
    KERNEL=="video[0-9]*", SUBSYSTEM=="video4linux", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="0892", TAG+="systemd", RUN{program}="/bin/systemctl start video4linux-webcam-config@$env{MINOR}.timer" ENV{SYSTEMD_WANTS}="video4linux-webcam-config@$env{MINOR}.timer"
    
    ❯ cat /etc/systemd/system/video4linux-webcam-config@.timer
    # This file is managed by ansible-video4linux-webcam-config
    [Unit]
    Description=Periodically restart webcam config service
    
    [Timer]
    # Unit= defaults to service matching .timer name
    OnActiveSec=30
    
    [Install]
    WantedBy=timers.target
    
    ❯ cat /etc/systemd/system/video4linux-webcam-config@.service
    [Unit]
    Description=Set webcam configs
    
    [Service]
    Type=oneshot
    ExecStart=/bin/bash -c "/usr/local/bin/video4linux-webcam-config.sh %I"
    
    [Install]
    WantedBy=multi-user.target
    
    ❯ cat /usr/local/bin/video4linux-webcam-config.sh
    #!/bin/bash
    
    if [[ $# -ne 1 ]]; then
      echo "Expected minor device number as sole argument" 1>&2
      exit 1
    fi
    
       v4l2-ctl -d $1 --set-ctrl focus_automatic_continuous=0
      v4l2-ctl -d $1 --set-ctrl focus_absolute=0
    








  • These days you are likely running some code nobody read closely.

    The author trusted AI and didn’t fully understand it.

    The maintainer trusted the author and merged because the change sounded good and the tests passed and they are grateful anyone contributed at all.

    The packager trusted the maintainer. The security team trusted the packager. The user trusted the distro.