USB 직렬 장치를 사용하여 QEMU VM을 시작하면 권한이 거부되어 실패하지만 VM이 시작된 후에 연결하면 문제가 없습니다.

USB 직렬 장치를 사용하여 QEMU VM을 시작하면 권한이 거부되어 실패하지만 VM이 시작된 후에 연결하면 문제가 없습니다.

다음 위치에 정의된 USB 장치가 있습니다 virt/usb-serial.xml.

    <serial type="dev">
      <source path="/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2403534-if00"/>
      <target type="usb-serial" port="1">
        <model name="usb-serial"/>
      </target>
      <address type="usb" bus="0" port="5"/>
    </serial>

아래와 같이 성공적으로 연결했습니다.

virsh # detach-device hass4 virt/usb-serial.xml --persistent
Device detached successfully

VM은 USB 장치에 완벽하게 액세스할 수 있습니다. 그러나 호스트 장치를 다시 시작한 후 다음 USB 직렬 장치로 인해 가상 머신이 시작되지 않습니다.

virsh # start hass4
error: Failed to start domain 'hass4'
error: internal error: process exited while connecting to monitor: 2023-06-01T20:28:52.153257Z qemu-system-x86_64: -chardev serial,id=charserial1,path=/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2403534-if00: Could not open '/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2403534-if00': Permission denied

장치를 분리하면 VM이 정상적으로 부팅되지만 이상하게도 부팅 후에 장치를 다시 성공적으로 연결할 수 있습니다.

virsh # detach-device hass4 virt/usb-serial.xml --persistent
Device detached successfully

virsh # start hass4
Domain 'hass4' started

virsh # attach-device hass4 virt/usb-serial.xml
Device attached successfully

처음 시작할 때 왜 실패합니까? 권한 문제를 해결하는 방법은 무엇입니까? 맥락에 따라 다음과 같이 정의했습니다 /lib/udev/rules.d/51-qemu-usb-passthrough.rules.

SUBSYSTEM=="usb", ATTRS{idVendor}=="1cf1" ATTRS{idProduct}=="0030" GROUP="libvirt"

이 장치에 해당하는 공급업체 및 제품 ID는 다음과 같습니다.

$ lsusb -d 1cf1:0030
Bus 003 Device 010: ID 1cf1:0030 Dresden Elektronik ZigBee gateway [ConBee II]

/etc/libvirt/qemu.conf내가 설정한 것 :

user = "henrik"
group = "libvirt"

henrik사용자 로서 나는 다음 명령을 실행합니다.

관련 정보