Huawei E3372s + Linux (Rasbian), проблема с входящими соединениями

У меня есть ОС Linux (Rasbian), работающий на Raspberry Pi 2+, и она использует USB-Stick Huawei E3372s 4G / LTE для подключения к Интернету.

Все мои исходящие соединения работают отлично (режим USB Huawei изменен с помощью usb_modeswitch-ruleing и Udev / rules.d), но я не могу получить какое-либо входящее соединение с Raspi. Входящий просто не работает .

Я не могу получить никаких пакетов или соединений, которые я отслеживал в реальном времени и из журналов, используя инструменты, предоставляемые дистрибутивами пакета Raspbian.

Я уже подтвердил с моим провайдером 4G, что расширенный сервис, который позволяет двусторонний трафик активировать, перезагружать и так много своих знаний, в мою подписку 3G / 4G, отлично работает с их конца, но я не могу получить никаких пакетов с Распи.

Huawei E3372s (в отличие от большинства старых палочек, которые используют набор номера, например wvdial ) использует систему CDC_ETH, которая создает в сети устройство типа Ethernet (ETH1 в данном случае) и должно работать в этом случае безупречно.

Я очистил, заново создал, протестировал, модифицировал, повторно очистил и снова выполнил все необходимые задачи с помощью IPTables, проверил, модифицировал и протестировал Route несколько раз, а также подтвердил, что нет известных блокирующих систем, препятствующих подключению через USB-Stick Huawei , но я до сих пор не могу получить даже Ping для моей системы, хотя есть полностью функциональные службы.

Я также проверил более простые и простые области, такие как хосты, разрешающие / запрещающие правила, и им не повезло. Это не имя APN, так как все настройки с внутренней конфигурацией Huawei установлены правильно, используя его веб-интерфейс.

Однако я случайно столкнулся с случайными форумами, что решение Huawei CDC_ETH может иметь недостатки, связанные с входящими соединениями с его драйвером.

В этот момент я нахожусь в отчаянном состоянии, пытаясь выяснить, почему я не могу получать входящие соединения.

Если у кого-либо из вас есть проблемы с входящим соединением Debian / Rasbian / Linux с Huawei E3372s или родственным продуктом USB 3G / 4G, которые используют CDC_ETH и нашли решение этой проблемы, вам будут очень благодарны любые советы и помощь.

Вам не требуется обновление прошивки, но вам нужен режим, который вы нашли, и дозвонщик, которого вы не нашли. Следующие конфигурационные файлы, взятые из NVDC Stuff Networking, Virtualization и Data Center Stuff, могут работать из коробки. Если вы не используете их как шаблон и настраиваете, пока он не начнет работать:

/etc/usb_modeswitch.conf

 DefaultVendor=0x12d1 DefaultProduct=0x14fe TargetVendor= 0x12d1 TargetProduct= 0x1506 MessageContent="55534243123456780000000000000011062000000100000000000000000000" 

/etc/wvdial.conf

 [Dialer Defaults] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 Init3 = AT+CGDCONT=1,"IP","internet.t-mobile.cz" Stupid Mode = 1 ISDN = 0 Modem Type = Analog Modem New PPPD = yes Phone = *99***# Modem = /dev/gsmmodem Username = { } Password = { } Baud = 9600 

Применение

  1. Создайте ссылку из /dev/gsmmodem в /dev/ttyUSB2 , то есть модем.
  2. Наберите внешний мир. Обратите внимание, что вы должны делать это каждый раз:

     wvdial >/dev/null 2>&1 & 
  3. Добавьте в локальную среду сценариев запуска вашей системы следующее:

     MODEM_STORAGE="12d1:14fe" MODEM_MODEM="12d1:1506" # 0 = storage, 1= modem MODEM_MODE=0 check_modem_mode () { echo -n "Checking modem presence... " lsusb | grep --quiet "$MODEM_STORAGE" if [ $? -eq 0 ]; then MODEM_MODE=0 echo "OK: modem in mass storage mode" else lsusb | grep --quiet "$MODEM_MODEM" if [ $? -eq 0 ]; then MODEM_MODE=1 echo "OK: modem in modem mode" else echo "ERROR: modem not found" exit 1 fi fi } set_modem_mode () { while [ $MODEM_MODE -eq 0 ] do echo -n "Setting modem mode... " usb_modeswitch -s 15 -I -H -c /etc/usb_modeswitch.conf >/dev/null 2>&1 lsusb | grep --quiet "$MODEM_MODEM" if [ $? -eq 0 ]; then MODEM_MODE=1 echo "OK" else echo "FAILED" fi done } 

объяснение

Как я объяснил в предыдущем сообщении , GSM-модем всегда имеет две или более части, в случае с этой моделью 3 части.

  • Область хранения, сродни USB-накопителю.
  • Беспроводной адаптер Ethernet для подключения к нему нескольких устройств.
  • PPP Dialer, так что ваш провайдер беспроводной связи знает, что вы платный клиент, и можете при необходимости заряжать вас. Поскольку вы можете доказать, что являетесь платежным клиентом, поскольку PPPoE требует аутентификации, вы можете использовать согласованный IP-адрес для доступа в Интернет.

Пули 1 и 2 управляются через конфигурационный файл etc/modeswitch.conf . 12d1 – это MAC-адрес поставщика, так сказать. Используя локальный скрипт, создается другой MAC-адрес. 12:D1:14:FE , заканчивается как запоминающее устройство, а 12:D1:15:06 заканчивается модемом. Если вы не используете локальный скрипт, usb_modeswitch -s 15 -I -H -c /etc/usb_modeswitch.conf

Примечание. По умолчанию, т.е. без каких-либо режимов, Linux видит только устройство хранения, поэтому OP не может видеть или использовать PPP Dialer или Wireless Device .


После включения модема с помощью режима modewitch, wvdial или одной из многих замен, он контролирует доступ к внешнему миру. С модемом в режиме модема вы, наконец, увидите результат, похожий на:

 wwan0 Link encap:Ethernet HWaddr 58:2c:80:13:93:13 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) ppp0 Link encap:Point-to-Point Protocol inet addr:10.83.249.176 PtP:10.64.64.64 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:4265 errors:0 dropped:0 overruns:0 frame:0 TX packets:6699 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:506706 (494.8 KiB) TX bytes:600991 (586.9 KiB) 

при выпуске ifconfig

Я думаю, это проблема NAT. Даже если ISP не использует NAT-соединения, Huawei использует NAT для интерфейса eth1 .

Huawei имеет в основном два режима:

  • hi-link , который использует NAT и предоставляет интерфейс Ethernet.
  • non hi-link , где PPP или NDIS используются для подключения к мобильному провайдеру.

Существует много учебных пособий по изменению между двумя режимами путем прошивки другой прошивки. Однако, поскольку вы можете создать свой модем во время этого процесса, я воздерживаюсь от публикации конкретной ссылки.

В моем случае я обнаружил, что это то, что мне нужно для конфигурации usb_modeswitch

 cat /etc/usb_modeswitch.d/huawei_e3372.conf # modeswitch config file for the huawei e3372 DefaultVendor=0x12d1 DefaultProduct=0x1f01 TargetVendor= 0x12d1 TargetProduct= 0x14dc MessageContent="55534243123456780000000000000011062000000100000000000000000000" 

С помощью этой команды запустить и заставить модем работать.

 sudo usb_modeswitch -s 15 -I -H -c /etc/usb_modeswitch.d/huawei_e3372.conf