物理的にアクセスせずに USB モデムをリセットする (KVM 仮想マシン)

物理的にアクセスせずに USB モデムをリセットする (KVM 仮想マシン)

USB モデムを使用して仮想マシンをインターネットに接続しています。そのため、ホストとゲストは同じ IP/ネットワークを共有しません。 でエミュレートしqemu-kvm、デバイス転送は でうまく機能します*-usb -usbdevice host:1c9e:9603*。VM は Ubuntu 10.04、ホスト 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 マネージャーにデバイスをもう一度転送するように指示する必要があるからです。しかし、それが 2 番目のステップになります。

答え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: ありがとうございます

モデムはネットワーク マネージャーから消えず、まだそこにありますが、接続を確立することはできません。

関連情報