T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=03 Dev#= 8 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=12d1 ProdID=14cf Rev=01.02
S: Manufacturer=Vodafone (Huawei)
S: Product=Vodafone Mobile Broadband (Huawei)
C: #Ifs= 5 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=31 Driver=option
I: If#= 1 Alt= 1 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=46 Driver=huawei_cdc_ncm
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=02 Prot=33 Driver=option
I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=02 Prot=32 Driver=option
I: If#= 4 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
Извините, что вчера не ответил - мне нужно было выспаться.
Хитрая железка... Обидно, что
#Cfgs= 1... Я просто реально надеялся, что её можно принудительно в другой режим работы загнать (хотя сейчас уже сам на момент не понимаю - что бы это дало). Но у нее один режим - по крайней мере она так думает. Режим работы вроде корректный, драйвер тоже. Отклонений не вижу. Значит через usb_modeswitch тут ковырять нечего (к тому же проблема исходная на стороне оператора - он же соедиение обрывает...). Тогда предлагаю использовать
этот вариант, описанный некоторое время назад форумчанином
thunderamur. Костыль конечно получается, но все же лучше чем ничего. И еще момент: у Вас интернет безлимитный? Просто предлагаемое решение будет расходовать трафик в режиме non-stop, пусть и копейки этого трафика, но все же будет...
Пользователь добавил сообщение 05 Мая 2018, 08:05:35:
Я позволил себе выполнить некоторую адаптацию под рассматриваемый случай. Итак, прежде всего следует понять как называется наше сетевое соединение. Для этого выполняем в терминале:
ls /etc/NetworkManager/system-connections
Ответом будет список всех настроенных сетевых подключений. Из них выбираем то, что мы обычно подключаем в качестве нашего интернет-соединения. В моем случае, например, это
Megafon RUS. Далее выполняем:
gedit $HOME/AutoReConnect
В появившемся окне текстового редактора вводим такой код (модифицируя под свой случай, т.к. вместо
Megafon RUS следует вписать Ваше имя соединения):
#!/bin/bash
#
# Скрипт основан на опубликованном на форуме forum.ubuntu.ru:
# https://forum.ubuntu.ru/index.php?topic=228863.msg2031810#msg2031810
# Автор исходника: thunderamur
#
# Сервер для проверки
HOST="yandex.ru" #yandex.ru - можно любой другой ввести из "вечнозеленых"...
# Время ожидания перед следующей проверкой в секундах
WAIT="1"
# Сколько циклов проверки, вернувшей сбой считать упавшим инетом
TIMEDOWN=5
# Сколько циклов проверки, вернувшей успех считать восстановившимся инетом
TIMEUP=5
# Инициализация переменных
STATUS="+"
UP=0
DOWN=0
echo "$(date) : *"
while :
do
if ping -qc1 "$HOST" >/dev/null 2>&1
then
DOWN=0
((UP++))
if [ "$STATUS" == "-" ]
then
if (( $UP > $TIMEUP ))
then
STATUS="+"
echo "$(date) : $STATUS"
fi
fi
else
UP=0
((DOWN++))
if [[ $STATUS == "+" ]]
then
if (( $DOWN > $TIMEDOWN ))
then
STATUS="-"
echo "$(date) : $STATUS"
#закрываем текущее соединение
nmcli con down id "Megafon RUS"
#ждем 2 секунды
sleep 2
#выполняем переподключение соединения
nmcli con up id "Megafon RUS"
fi
fi
fi
sleep "$WAIT"
done
После этого сохраняем данный код, закрываем окно, и в терминале выполняем:
sudo chmod + $HOME/AutoReConnect
Так мы сделали скрипт исполняемым. Далее следует запустить этот скрипт в фоне. Для этого выполняем в терминале:
nohup $HOME/AutoReConnect &
Ответом будет PID процесса, в котором теперь живет скрипт. Убить процесс можно командой
kill $nPID
(где $nPID - числовой номер процесса, например 68090), еще можно убить процесс по его имени:
killall AutoReConnect
оба этих варианта могут пригодиться Вам, если что-то пойдет не так, или если захочется модифицировать скрипт и проверить его в деле. Окно терминала можно закрыть. Для проверки работы принудительно обрываем соединение. После обрыва через 2-3 секунды соединение будет автоматически восстановлено; если это не так - ищем ошибку... Далее - следует понаблюдать - оборвется ли соединение при проявлении проблемы, описанной в данном топике. Если реконнект выполнился - то все замечательно, и команду
nohup $HOME/AutoReConnect &
следует добавить в автозагрузку (это уже сами разберетесь, - только вместо
$HOME впишите то, что Ваш терминал выдает по команде
echo $HOME
[сам не знаю почему, но в автозагрузке перменные окружения в путях применять нельзя]). Сам же файл
$HOME/AutoReConnect можно скрыть в домашней директории. Для этого выполняем
gedit $HOME/.hidden
в появившемся окне текстового редактора вводим (если там уже есть текст - то с новой строчки)
AutoReConnect
сохраняем и закрываем окно gedit. Теперь открыв свою домашнюю папку, Вы не увидите скрипт, пока не просмотрите скрытые файлы (Ctrl+H).