[ADD] usb-права для уже подключённого HackRF, fish по умолчанию, run.sh

This commit is contained in:
arseny
2026-09-15 00:45:19 +03:00
parent 43408fe9ce
commit 33af395c8d
3 changed files with 32 additions and 3 deletions
+1 -1
View File
@@ -32,6 +32,6 @@ all:
ansible_host: 192.168.1.42
sdr_id: 4
static_ip: 11.0.0.106
sdr_serial: ""
sdr_serial: a32868dc346d2847
x: 0.00
y: 0.50
+22 -2
View File
@@ -19,16 +19,36 @@
- name: Зависимости сборки и утилиты HackRF
become: true
ansible.builtin.apt:
name: [cmake, g++, pkg-config, git, rsync, libhackrf-dev, libusb-1.0-0-dev, libfftw3-dev, hackrf]
name: [cmake, g++, pkg-config, git, rsync, libhackrf-dev, libusb-1.0-0-dev, libfftw3-dev, hackrf, fish]
state: present
tags: [base]
- name: pi в группе plugdev (udev HackRF)
- name: pi в группе plugdev, login-shell fish
become: true
ansible.builtin.user:
name: pi
groups: plugdev
append: true
shell: /usr/bin/fish
tags: [base]
- name: Права udev на уже подключённый HackRF (устройство старше правил)
become: true
ansible.builtin.shell: |
bad=0
for d in /sys/bus/usb/devices/*; do
[ -f "$d/idVendor" ] || continue
case "$(cat "$d/idVendor"):$(cat "$d/idProduct")" in 1d50:6089|1d50:604b) ;; *) continue;; esac
node=/dev/bus/usb/$(printf %03d "$(cat "$d/busnum")")/$(printf %03d "$(cat "$d/devnum")")
[ "$(stat -c %G "$node")" = plugdev ] || bad=1
done
if [ "$bad" = 1 ]; then
udevadm control --reload-rules && udevadm trigger --subsystem-match=usb && echo FIXED
else
echo OK
fi
register: usb
changed_when: "'FIXED' in usb.stdout"
tags: [base]
- name: Имя узла
Executable
+9
View File
@@ -0,0 +1,9 @@
#!/bin/sh
# run.sh [аргументы ansible-playbook] примеры:
# ./run.sh весь парк, все теги
# ./run.sh --tags base -l node106
# ./run.sh --check --diff сухой прогон
set -e
cd "$(dirname "$0")"
[ -f keys/gitea_deploy ] || { echo "[!] нет keys/gitea_deploy -- запустите scripts/gen-key.sh"; exit 1; }
exec ansible-playbook playbook.yml "$@"