[linux] программно сбросить зависший USB 3G модем
и то, сомнительно, что это можно сделать.
USB-модем обычно виден в системе как 2-3 USB-serial порта (что-то типа /dev/ttyUSB0 ... /dev/ttyUSB2)
один из портов - модемный собственно для ppp
второй порт - управляющий, например опросить уровень сигнала, вариант сети (3G/HDSPA), поморгать лампочками, запросить баланс, почитать смс-ки.
третий порт - сервисный, типа для обновления прошивки.
ещё он из себя может изображать CD-ROM и кард-ридер.
возможно, сам модем можно сбросить через управляющий или сервисный порт, но тут надо искать документацию на конкретные модемы.
команды для хуавея будут отличаться от команд для ZTE
В идеале хотелось бы выключить питание на USB порту и потом снова включить, поскольку это видится самым надежным способом сброса. Состояние модема мне беречь не нужно, я всего лишь СМСки шлю.
usb_modeswitch -R что делает?
так это ты смс-ками спамишь?!
А к нему еще один.
usb_modeswitch -R что делает?Троицу ioctl-ов делает:
IOCTL_USBFS_RELEASEINTF
IOCTL_USBFS_RESET
IOCTL_USBFS_DISCONNECT_CLAIM
Не похоже на передергивание питания.
http://blog.andrew.net.au/2009/01/01#usb_power_control
http://askubuntu.com/questions/645/how-do-you-reset-a-usb-de...
Как вариант - воткнуть модем во что-нибудь другое, которое можно передёргивать по питанию и "пробросить" его на сервер.
вот эту програмку
у меня хаб встроенный в ноут успешно включает-выключает.
можешь попробовать у меня хаб встроенный в ноут успешно включает-выключает.
Спасибо, попробую.
Если не удается сбрасывать питание re-plugом устройства, попробуй делать re-plug всего usb контроллера (через /sys/), мне помогало.
http://www.clearchain.com/blog/posts/resetting-the-usb-bus-u...
и вот таким для конкретного порта:
echo -n "0000:00:12.0" | tee /sys/bus/pci/drivers/ohci_hcd/unbind
sleep 5
echo -n "0000:00:12.0" | tee /sys/bus/pci/drivers/ohci_hcd/bind
вероятность работы около 80%.
модемы были Йота.
но все равно иногда они входили в состояние, когда ничего не помогало - приходилось ехать и передергивать вручную.
Оставить комментарий
psm-home
Дано: USB 3G модем подключенный к машинке со свежим Ubuntu. Хочется программно привести его в чувство в случае зависания, лучше всего через выкл/вкл питания на USB порту.Как это сделать?