![Сброс настроек USB-модема без физического доступа (виртуальная машина KVM)](https://rvso.com/image/1108673/%D0%A1%D0%B1%D1%80%D0%BE%D1%81%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BA%20USB-%D0%BC%D0%BE%D0%B4%D0%B5%D0%BC%D0%B0%20%D0%B1%D0%B5%D0%B7%20%D1%84%D0%B8%D0%B7%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%BE%D0%B3%D0%BE%20%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0%20(%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F%20%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0%20KVM).png)
Я использую 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-Manager снова перенаправить устройство. Но это будет второй шаг.
решение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:
Модем не исчезает из сетевого менеджера, он все еще там, но соединение установить не удается.