我使用 USB 调制解调器将虚拟机连接到互联网。因此主机和客户机不共享相同的 IP/网络。我通过 进行模拟qemu-kvm
,设备转发与 配合得很好*-usb -usbdevice host:1c9e:9603*
。虚拟机使用 Ubuntu 10.04,主机使用 11.10。
不幸的是,调制解调器在大约 3 天后就卸载了。显然,从现在开始无法建立连接。虚拟机重新启动后,可以再次建立连接。
nmcli
可用于建立互联网连接并检查其是否仍处于活动状态。但是如何使用小型 bash 脚本重新安装设备/调制解调器?
下面的系统日志显示了设备使用约 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.
我担心,在虚拟机上重新启动这些 USB 守护程序是不够的 - 因为我必须告诉 qemuKVM 管理器再次转发该设备。但那将是第二步。
答案1
我试过http://marc.info/?l=linux-usb&m=121459435621262&w=2c 程序重置 usb。
$ 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 秒,然后又出现在虚拟机中。幸运的是,它被 qemu 管理器自动重定向了!
问题仍然存在不是已解决,因为 3 天后即使这个 USB 重置也无法让我建立正常运行的连接。
重新启动虚拟机是我的最后手段......
@ppetraki:
调制解调器不会从网络管理器中消失,它仍然在那里,但无法建立连接。