![물리적 액세스 없이 USB 모뎀 재설정(KVM 가상 머신)](https://rvso.com/image/1108673/%EB%AC%BC%EB%A6%AC%EC%A0%81%20%EC%95%A1%EC%84%B8%EC%8A%A4%20%EC%97%86%EC%9D%B4%20USB%20%EB%AA%A8%EB%8E%80%20%EC%9E%AC%EC%84%A4%EC%A0%95(KVM%20%EA%B0%80%EC%83%81%20%EB%A8%B8%EC%8B%A0).png)
저는 USB 모뎀을 사용하여 가상 머신을 인터넷에 연결하고 있습니다. 따라서 호스트와 게스트는 동일한 IP/네트워크를 공유하지 않습니다. 으로 에뮬레이트했는데 qemu-kvm
, 장치 전달이 에서 잘 작동합니다 *-usb -usbdevice host:1c9e:9603*
. VM은 Ubuntu 10.04, Host 11.10을 사용합니다.
불행하게도 모뎀은 ~3일 후에 마운트 해제됩니다. 분명히 지금부터는 연결을 설정할 수 없습니다. VM이 재부팅되면 다시 연결이 가능합니다.
nmcli
인터넷 연결을 설정하고 여전히 활성화되어 있는지 확인하는 데 사용할 수 있습니다. 하지만 작은 bash 스크립트를 사용하여 장치/모뎀을 어떻게 다시 마운트합니까?
아래 syslog는 3일 정도 사용 후 장치가 어떻게 분리되는지 보여줍니다.
pppd[1369]: LCP terminated by peer
pppd[1369]: Connect time 1104.9 minutes.
pppd[1369]: Sent 1279 bytes, received 790 bytes.
kernel: [66423.705380] device ppp0 left promiscuous mode
pppd[1369]: Modem hangup
pppd[1369]: Connection terminated.
avahi-daemon[424]: Withdrawing workstation service for ppp0.
modem-manager[483]: <info> (ttyUSB2) closing serial port...
NetworkManager[431]: SCPlugin-Ifupdown: devices removed (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
NetworkManager[431]: <info> (ttyUSB2): now unmanaged
NetworkManager[431]: <info> (ttyUSB2): device state change: 8 -> 1 (reason 36)
NetworkManager[431]: <info> (ttyUSB2): deactivating device (reason: 36).
NetworkManager[431]: <warn> could not read ppp stats: No such device
NetworkManager[431]: <info> (ttyUSB2): cleaning up...
NetworkManager[431]: <info> (ttyUSB2): taking down device.
NetworkManager[431]: <info> Unmanaged Device found; state CONNECTED forced. (see http://bugs.launchpad.net/bugs/191889)
nm-dispatcher.action: Error in get_property: Method "Get" with signature "ss" on interface "org.freedesktop.DBus.Properties" doesn't exist#012
modem-manager[483]: <info> (ttyUSB2) serial port closed
modem-manager[483]: <info> Modem /org/freedesktop/ModemManager/Modems/0: state changed (connected -> disconnecting)
modemqemu-kvm-manager[483]: <info> Modem /org/freedesktop/ModemManager/Modems/0: state changed (disconnecting -> connected)
pppd[1369]: Exit.
NetworkManager[431]: <info> disconnect failed: (32) The serial port is not open.
VM에서 이러한 USB 데몬을 다시 시작하는 것만으로는 충분하지 않을 것 같습니다. qemuKVM-Manager에 장치를 다시 한 번 전달하도록 지시해야 하기 때문입니다. 그러나 그것은 두 번째 단계가 될 것입니다.
답변1
나는 이것을 시도했다http://marc.info/?l=linux-usb&m=121459435621262&w=2USB를 재설정하는 C-프로그램.
$ cc usbreset.c -o usbreset
$ lsusb
Bus 002 Device 003: ID 0fe9:9010 DVICO
$ chmod +x usbreset
$ sudo ./usbreset /dev/bus/usb/002/003
UMTS 모뎀이 ~20초 동안 사라졌다가 VM에 다시 나타납니다. 다행히 qemu 관리자에 의해 자동으로 리디렉션됩니다!
문제는 여전히아니다3일이 지나면 USB를 재설정해도 제대로 작동하는 연결을 설정할 수 없으므로 해결되었습니다.
VM 재부팅이 최후의 수단입니다...
@ppetraki:
모뎀은 네트워크 관리자에서 사라지지 않고 여전히 존재하지만 연결을 설정할 수 없습니다.