Настройка USB модемов

Это пример показывает как настроить модем Option Globetrotter HSDPA USB для работы с LMT (Латвийской мобильной телефонной сетью UMTS/GPRS) или с Amigo (GPRS) в Латвии. Сервис в Вашей стране возможно имеет другие требования и настройки. Это просто схема того, что нужно делать.

Железо

USB Модем: Option N.V. Globetrotter HSDPA USB Modem H7.2
Производитель: Teltonika, model number U3G150

Роутер: MikroTik Router с USB портом (RB230, любая x86 система, RB433UAH, или, RB411U)

Роутерный софт

RouterOS V4.2. Работает на предыдущих версиях 2.9 and 3, но с небольшими отличиями в конфигурации. USB модем распознается RouterOS как USB устройство и определяется среди USB ресурсов:

/system resource usb print 
 # DEVICE VENDOR                   NAME                  SPEED                 
 0 2:1                             RB400 EHCI            480 Mbps              
 1 1:1                             RB400 OHCI            12 Mbps               
 2 1:3    Option N.V.              Globetrotter HSDPA... 12 Mbps               

Убедитесь, что USB порт виден разделе port:

/port print                      
Flags: I - inactive 
 #   NAME                      CHANNELS   USED-BY                     BAUD-RATE
 0   serial0                   1          Serial Console              auto     
 1   usb2                      3                                      9600     

До версии RouterOS V3.23, для модема показывались все порты. Начиная с версии V3.23 - один порт на модем, и модем имеет каналы, используемые для команд и данных. Каналы имеют номера 0,1,2, и пр. Некоторые модемы могут иметь два канала, некоторые имеют больше. Установите baud rate в 9600 для связи с модемом, в случае если это уже не сделано:

/port set usb2 baud-rate=9600 

Проверьте ответ модема используя serial-terminal, например:

/system serial-terminal usb2 channel=2

[Ctrl-A is the prefix key]


ATI
Manufacturer: Option N.V.
Model: GTM378
Revision: 2.3.3Hd (Date: Jul 17 2007, Time: 15:49:23)

OK
Разорвите связь с модемом, нажав "Ctrl-A", а затем "Q":

[Q - quit connection]      [B - send break]
[A - send Ctrl-A prefix]   [R - autoconfigure rate]


Welcome back!

Обходной путь

Может понадобится для устройств Globetrotter не имеющих модемного интерфейса.

Нет никакой гарантии, что эти команды работают на всех модемах, которые нуждаются в HSO драйверах. Тестируемые устройства - это T-Mobile branded Globetrotter iCON 225 «web'n'walk Stick».

Это устройство подключилось без проблем после описанного метода. Некоторые карты Globetrotter HSDPA, например iCON 225 (бренд Orange, T-Mobile web'n'walk stick, и пр. имеют последовательный интерфейс по умолчанию отключенным, и предлагают только NDIS интерфейс для соединения. Если команда дозвона сработала, но нет ответа соединения от модема, это может быть полезным для такой проверки. Для проверки настроек:

/system serial-terminal port=usb1 channel=0

[Ctrl-A is the prefix key]


ATZ
OK
ATI0
Manufacturer: Option N.V.
Model: GlobeTrotter HSDPA Modem
Revision: 2.5.24Hd (Date: Apr 17 2009, Time: 08:59:36)

OK
AT_OIFC?
_OIFC: 2,1,1,0

OK
AT_OIFC=?

_OIFC: [2-3], [0,1], [1], [0-5]
         mdm,  diag,  app1,  pcsc/gps
MDM      (0: N/A)  (1: N/A) (2: ndis) (3: modem and ndis) 
DIAG     (0: none) (1: enable)
APP1     (0: none) (1: enable)
PCSC/GPS (0: none) (1: pcsc enable) (2: GPS enable) (3: app2 enable) (4: GPS & PCSC) (5: GPS & app2)
OK

В этом примере, MDM (модем) интерфейс установлен в 2, так, что не включен последовательный интерфейс модема.

Для изменения настроек:

AT_OIFC=3,1,1,0

Вы должны получить: OK

Для записи изменений в память NVRAM устройства:

AT&W

Отключите и включите устройство, и на выходе получим:

/port print 
Flags: I - inactive 
 #   NAME                        CHANNELS USED-BY                     BAUD-RATE
 0   usb1                               4                             9600

Число каналов должно быть увеличено. На тестовом устройстве, последний канал - это модемный интерфейс (номер 3 в RouterOS). В соответствии со страницей драйверов Linux HSO, существует по меньшей мере пять устройств , которые не имеют интерфейс модема по умолчанию включенным.

Конфигурация роутера для PPP

Начиная с RouterOS V4 (и последней версси 3) настройка PPP клиента гораздо проще, чем в предыдущих версиях. Там не нужно использовать ppp профили, а интерфейс клиента ppp может быть добавлен автоматически /interface ppp-client:

 /interface ppp-client print 
Flags: X - disabled, R - running 
 0 X  name="ppp-out1" max-mtu=1500 max-mru=1500 mrru=disabled port=usb2 
      data-channel=2 info-channel=2 apn="internet" pin="" user="" password="" 
      profile=default phone="" dial-command="ATDT" modem-init="" 
      null-modem=no dial-on-demand=yes add-default-route=yes use-peer-dns=yes 
      allow=pap,chap,mschap1,mschap2 
/interface ppp-client info 0

Интерфейс имеет 3G/GPRS особые модемные аргументы, наподобие apn, pin. Узнайте у Вашего провайдера как использовать APN, user, и password. Подгоните настройки peer-dns и default-route в соответствии с тем, что Вы хотите сделать на Вшем интерфейсе!В нашем случае, мы хоти постоянное соединение, но не хотим дозвон по требованию:

/interface ppp-client set 0 dial-on-demand=no 
/interface ppp-client enable 0
/interface ppp-client print
Flags: X - disabled, R - running 
 0  R name="ppp-out1" max-mtu=1500 max-mru=1500 mrru=disabled port=usb2 
      data-channel=2 info-channel=2 apn="internet" pin="" user="" password="" 
      profile=default phone="" dial-command="ATDT" modem-init="" 
      null-modem=no dial-on-demand=no add-default-route=yes use-peer-dns=yes 
      allow=pap,chap,mschap1,mschap2 

После включения интерфейса проверьте логи, для того, чтобы увидеть установку соединения с USB-модемом.

/interface ppp-client /log print 
12:29:16 async,ppp,info ppp-out1: initializing... 
12:29:16 async,ppp,info ppp-out1: reseting link... 
12:29:16 system,info device changed by admin 
12:29:16 system,info dns changed 
12:29:17 async,ppp,info ppp-out1: initializing modem... 
12:29:17 async,ppp,info ppp-out1: dialing out... 
12:29:17 async,ppp,info ppp-out1: authenticated 
12:29:20 async,ppp,info ppp-out1: could not determine remote address, using 10.112.112.119 
12:29:20 async,ppp,info ppp-out1: connected 
12:29:20 system,info dns changed 

Последовательные порты используемые в ppp клиенте:

/port print 
Flags: I - inactive 
 #   NAME                      CHANNELS   USED-BY                     BAUD-RATE
 0   serial0                   1          Serial Console              auto     
 1   usb2                      3          PPP              9600     

Проверьте адреса, в нашем случае мы имеем:

/ip address print 
Flags: X - disabled, I - invalid, D - dynamic 
 #   ADDRESS            NETWORK         BROADCAST       INTERFACE                          
 0 D 10.5.8.64/24       10.5.8.0        10.5.8.255      ether1                             
 1 D 10.40.192.214/32   10.112.112.119  0.0.0.0         ppp-out1                           

и маршруты:

/ip route print 
Flags: X - disabled, A - active, D - dynamic, 
C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, 
B - blackhole, U - unreachable, P - prohibit 
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 ADS  0.0.0.0/0                          10.112.112.119     1       
 1 ADC  10.5.8.0/24        10.5.8.64       ether1             0       
 2 ADC  10.112.112.119/32  10.40.192.214   ppp-out1           0       

Вы можете получить еще информацию о статусе модема и сети запусти команду info. В нашем случае модем использует тот же самый канал для данных и info

/interface ppp-client info 0
failure: cant reuse channel while ppp-client running!
/interface ppp-client disable 0
/interface ppp-client info 0   
             status: "ready"
         pin-status: "no password required"
      functionality: "minimum"
         gprs-class: "A - GPRS & GSM simultaneous"
       manufacturer: "Option N.V."
              model: "GTM378"
           revision: "2.3.3Hd (Date: Jul 17 2007, Time: 15:49:23)"
      serial-number: "356237010662581,S23977B51N"
   current-operator: "LV LMT GSM"
  access-technology: "3G"
     signal-strengh: -89

Вам нужно использовать маскарадинг, чтобы спрятать локальную сеть когда выходите через ppp!

Привилегированные настройки модема

Опционально модемы могут быть установлены для привилегированных операций в UMTS(3G) or GPRS сетях. Для изменения рабочего режима, используйте AT_OPSYS команду через терминалl, или включите это внутрь строки инициализации модема:

AT_OPSYS=0,2 Only GPRS
AT_OPSYS=1,2 Only UMTS(3g)
AT_OPSYS=2,2 Prefer GPRS over UMTS(3G)
AT_OPSYS=3,2 Prefer UMTS(3G) over GPRS

Запрос текущих _OPSYS настроек используя AT_OPSYS? команду:

sys serial-terminal usb4 channel=0

[Ctrl-A is the prefix key]


AT_OPSYS?
_OPSYS: 3,2

OK

Настройка _OPSYS режима работы остается нетронутым после перезагрузки роутера и выключения/включения.

Если вы заблокируете режим настройки 3G для модема, то команда сканирования покажет GPRS сети и наоборот.

Неполадки

Вы не получили "authenticated" и "connected"

Что-то неверно с Вашими настройками. Вероятно настройка интерфейса ppp-клиента должна быть изменена для совпадения с требованиями Вашего провайдера. Если настройка data-channel неверна, то не будет никакого содеинения. Число доступных каналов показано в /port list, номер порта начинается с 0. Отключите интерфейс и попробуйте другой номер порта! Проверьте, можете ли Вы соединиться с модемом используя serial-terminal! Удостоверьтесь, что ppp-client отключен! Выключите запрос PIN-кода для Вашей SIM карты, это сделает жизнь намного проще. Сделайте это в телефоне, если Вы не знаетет правильную AT-команду.

Скорость линка, не такая, как ожидалась.

Возможно, что модем соединился к GPRS сети, а не 3G. Используйте команду scan для поиска доступных сетей:

/interface ppp-client> scan 0
Flags: C - current, A - available, F - forbidden 
  OPERATOR                    CODE       ACCESS-TECHNOLOGY                   SIGNAL-STRENGH
C LV LMT GSM                  24701      GSM compact                         -65           
A LV LMT GSM                  24701      3G                                 
F BITE LV                     24705      3G                                 
F LV TELE2                    24702      GSM compact                        
F LV TELE2                    24702      3G                                 
F BITE LV                     24705      GSM compact                        
-- [Q quit|D dump|C-z pause]

Требуется множественная инициализация (мультистрочная инициализация). Их возможно разделить используя символ ; Например:

modem-init="AT+CGDCONT=5,\"IP\",\"internet.lmt.l\";AT+CGDCONT=6,\"IP\",\"internet.lmt.lv\";AT"

Модем не распознается после загрузки (порт становится invalid)

Рекомендуется отключить встроенный флеш или CD привод. Вот некоторые команды для некоторых брендов:

  • ZTE модемы
    • Отключение:
      AT+ZCDRUN=8
    • Включение:
      AT+ZCDRUN=9
  • HUAWEI модемы:
    AT^U2DIAG=256

Отсылка sms не работает

  • Проверьте порт
  • Проверьте PIN-код
  • Включите отладочное логирование GSM, DEBUG
  • Проверьте log
  • Создайте supout

Не удается получить SMS

  • Проверьте порт
  • Проверьте PIN-код
  • Сервис доставки sms настроен?
  • Корректно ли введен код страны +XXX ?
  • пароль совпадает?
  • Проверьте sms хранилище /sys serial usbX путем ввода команды at+cmgl=1 (список всех сообщений в хранилище sms)
  • Включите отладочное логирование GSM, DEBUG
  • Проверьте log
  • Создайте supout

PPP клиент не работает

  • Проверьте порт
  • Проверьте PIN-код
  • Дозвон по требованию отключен?
  • apn верный?
  • Нужна специальная инициализация модема (для обработки PIN используйте at+cpin=XXXX) ?
  • Включите отладочное логирование ASYNC, DEBUG
  • Проверьте log
  • Создайте supout

PPP info - не работает

  • Проверьте порт
  • Используйте тот же самый канал info-channel == data-channel (НЕ может работать пока ppp-client включен) ?
  • Включите отладочное логирование ASYNC, DEBUG
  • Проверьте log
  • Создайте supout

Команда PPP info сообщает functionality=minimum

  • Используйте
    /system serial-terminal usbX channel=X

    и выполните

    at+cfun=1
  • Команда ppp info должна сообщить - functionality=full
  • Если после каждой перезагрузки functionality снова становиться minimum, то добавьте в поле инициализации модема
    at+cfun=1 

После выполнения некоторых AT команд модем не отвечает корректно или сообщает об ошибке переменных

  • Сброс модема может решить проблему
  • Используйте
    /system serial-terminal usbX channel=X
  • Выполните команду
    at+cfun=0

    подождите несколько секунд и выполните

    at+cfun=1

Порт - invalid или не работает

  • Отсоедините модем
  • Отключите интерфейс ppp-client
  • Перезагрузите роутер
  • Подключите моде и после 5 сек. продолжите следующий шаг
  • Создайте supout

Модем перестал отвечать

  • Обновите прошивку модема и проверьте, решило ли это проблему
  • Создайте supout

Типичные методы проверки

Для проверки порта

  • порт занят ? /port print (проверьте used-by)
  • канал занят ? (Два приложения не могут использовать один и тот же канал)
  • Выбранный канал работает? Проверьте есть ли вывод /sys ser usbX channel=X с командой ATI
  • порт отображается ? /port print
  • Устройство отображается ? /sys reso usb pr
  • Создайте supout

Для проверки PIN-кода

  • /int ppp-client info CONNAME  или запустите /sys serial usbX и затем at+cpin?
  • Введите pin at+cpin=XXXX

Создайте supout

  • Запустите /sys sup-output
  • Свяжитесь с поддержкой и приложите файл supout.rif
nastrojka_usb_modemov.txt · Последние изменения: 2013/10/28 14:09 (внешнее изменение)
GNU Free Documentation License 1.3
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0 Яндекс.Метрика