Я застрял со следующей проблемой.У меня есть модем (Huawei E3372), и я вставляю его в USB, вижу несколько устройств ttyUSB.Каким-то образом wvdial обнаруживает правильный ttyUSB для выполнения вызова данных, но я не могу понять его логику (потому что я не могу использовать какое-либо стороннее программное обеспечение, поэтому мне приходится определять фактический ttyUSB с помощью AT-команд или какой-либо другой метод безсторонние).
Проблема пошаговая: 1. У меня есть ttyUSB0, ttyUSB1, ttyUSB2.2. Я пытаюсь перебрать их, ttyUSB0 не отвечает на команду 'AT', ttyUSB1 -> Я пытаюсь ATD * 99 #, пытаюсь установить ppp-соединение, но не могу (я не получаю пакетов на этапе LCP),поэтому я перехожу дальше к ttyUSB2 -> я пробую ATD * 99 # и получаю ОШИБКУ.
Если я пропущу ttyUSB1 и вызову ATD * 99 # на ttyUSB2 - все будет в порядке, соединение ppp установлено,и т. д.
Мне очень любопытно, как я могу точно завершить активные вызовы с помощью команды AT (AT + CHUP в любом из ttyUSB не помогает, как и ATH), или определить, какой ttyUSB использовать длявызов данных.
Вот журналы wvdialconf, который каким-то образом определяет правильный ttyUSB (в данном примере это первый ttyUSB, который отвечает на AT-команды, но я часто попадаю в ситуацию, когда это не первая, а wvdialconfправильно его обнаруживает):
$ sudo wvdialconf
Editing `/etc/wvdial.conf'.
Scanning your serial ports for a modem.
ttyS0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyS0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyS0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
Modem Port Scan<*1>: S1 S2 S3 S4 S5 S6 S7 S8
Modem Port Scan<*1>: S9 S10 S11 S12 S13 S14 S15 S16
Modem Port Scan<*1>: S17 S18 S19 S20 S21 S22 S23 S24
Modem Port Scan<*1>: S25 S26 S27 S28 S29 S30 S31
WvModem<*1>: Cannot get information for serial port.
ttyUSB0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud
ttyUSB0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 115200 baud
ttyUSB0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up.
ttyUSB1<*1>: ATQ0 V1 E1 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 -- +CME ERROR: 50
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &D2 -- +CME ERROR: 50
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 +FCLASS=0 -- +CME ERROR: 50
ttyUSB1<*1>: Modem Identifier: ATI -- Manufacturer:
ttyUSB1<*1>: Speed 9600: AT -- OK
ttyUSB1<*1>: Max speed is 9600; that should be safe.
ttyUSB1<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 Z -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 -- OK
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 -- +CME ERROR: 50
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &D2 -- +CME ERROR: 50
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 +FCLASS=0 -- +CME ERROR: 50
ttyUSB2<*1>: Modem Identifier: ATI -- Manufacturer:
ttyUSB2<*1>: Speed 9600: AT -- OK
ttyUSB2<*1>: Max speed is 9600; that should be safe.
ttyUSB2<*1>: ATQ0 V1 E1 S0=0 -- OK
Found a modem on /dev/ttyUSB1.
Modem configuration written to /etc/wvdial.conf.
ttyUSB1<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0"
ttyUSB2<Info>: Speed 9600; init "ATQ0 V1 E1 S0=0"