Пробрасываем USB координатор CC2531/CC2538 в KVM виртальную машину на CentOS/Rocky Linux
Мой Home Assistant установлен на Ubuntu, которая крутится в виртуальной машине на гипервизоре KVM, как хост система установлена CentOS. Такая конфигурация выбрана по нескольким причинам:
- Компьютер работающий дома 24/7 уже есть.
- На компьютере установлено два жестких диска в RAID1.
- Home Assistant со всем своим барахлом в виде MQTT сервера и ZigBee2MQTT не засоряют основную систему.
- Виртуальная машина смотрит в отдельную сеть, где находятся только устройства умного дома.
- Железо компьютера мощнее чем мой Raspberry Pi 3 B+.
- При отказе железа виртуальную систему можно перенести на другой хост.
- Флеш накопители, используемые в Raspberry Pi не очень надежные в системах с большими циклами перезаписи.
- Мой Raspberry Pi используется под другие нужды, а новый покупать нет желания.
Устанавливаем утилиты для работы с USB устройствами:
$ sudo dnf install usbutils
При подключении USB координатора CC2531 или CC2538 его необходимо пробросить в гостевую систему, на хостовой системе выполняем:
$ sudo lsusb
Проверяем в списке наше устройство:
Для подключения необходимы ID производителя и продукта, ищем:
$ sudo lsusb -v
Создаем файл /usr/local/etc/usb_cc2531.xml
и добавляем в него в него данные об устройстве:
Если в системе находится два устройства с одинаковыми idVendor
и idProduct
, то необходимо указать Bus
и Device
Добавляем устройство в гостевую систему:
$ sudo virsh attach-device <strong>[VM]</strong> --file /usr/local/etc/usb_cc2538.xml --persistent
Вместо [VM] подставляем имя виртуальной машины.
Ключ --persistent
указывает, что подключать устройство необходимо автоматически при загрузке системы.
Проверяем подключение устройства. В гостевой системе выполняем:
$ ls -l /dev/serial/by-id
При правильном подключении в ответ увидим сообщение:
usb-Texas_Instruments_CC2538_USB_CDC-if00 -> ../../ttyACM0