Huawei E3372s + Linux (Rasbian), Sự cố kết nối đến


7

Tôi có HĐH dựa trên Linux (Rasbian) chạy trên Raspberry Pi 2+ và nó đang sử dụng USB Stick 4G / LTE của Huawei E3372 để kết nối internet.

Tất cả các kết nối ngoài của tôi đều hoạt động hoàn hảo (chế độ USB Huawei đã thay đổi bằng cách sử dụng usb_modeswitch-rending và Udev / rule.d) nhưng tôi không thể nhận bất kỳ loại kết nối gửi đến Raspi nào. Đến chỉ là không làm việc .

Tôi không thể nhận bất kỳ gói hoặc kết nối nào mà tôi đã theo dõi thời gian thực và từ nhật ký bằng các công cụ được cung cấp bởi các bản phân phối gói Raspbian.

Tôi đã xác nhận với ISP 4G của mình rằng dịch vụ mở rộng cho phép lưu lượng truy cập hai chiều được bật, đặt lại và rất nhiều kiến ​​thức của họ, đến thuê bao 3G / 4G của tôi, hoạt động hoàn hảo từ đầu của họ nhưng tôi không thể nhận bất kỳ gói nào với Raspi.

Huawei E3372 (không giống như hầu hết các gậy cũ sử dụng quay số như wvdial) sử dụng hệ thống trình điều khiển CDC_ETH tạo ra một thiết bị giống như ethernet cho hệ thống (trong trường hợp này là ETH1) và sẽ hoạt động hoàn hảo trong trường hợp này.

Tôi đã xóa, tạo lại, kiểm tra, sửa đổi, xóa lại và thực hiện lại tất cả các tác vụ cần thiết với IPTables, đã kiểm tra, sửa đổi và kiểm tra Tuyến nhiều lần cũng như xác nhận rằng không có hệ thống chặn nào được biết ngăn chặn kết nối thông qua thẻ nhớ USB của Huawei , nhưng tôi vẫn không thể nhận được ngay cả Ping vào hệ thống của mình, mặc dù có các dịch vụ đầy đủ chức năng đang chạy.

Tôi cũng đã kiểm tra các lĩnh vực đơn giản và đơn giản hơn như máy chủ cho phép / từ chối các quy tắc và không gặp may mắn với chúng. Đó không phải là tên APN vì tất cả các cài đặt có cấu hình bên trong của Huawei đã được đặt chính xác bằng giao diện web của nó.

Tuy nhiên, tôi đã gặp phải một vài lần từ các diễn đàn ngẫu nhiên, rằng giải pháp Huawei CDC_ETH có thể có lỗi xử lý các kết nối đến với trình điều khiển của nó.

Nếu bất kỳ ai trong số bạn có kinh nghiệm với các sự cố kết nối đến Debian / Rasbian / Linux với Huawei E3372 hoặc sản phẩm USB 3G / 4G tương đối sử dụng CDC_ETH và đã tìm ra giải pháp cho vấn đề này


Bạn có 2 Loại ppp0kết nối - kết nối với ISP của bạn và eth1/wlan1sẽ kết nối bạn với mạng của bạn. Xem sự khác biệt giữa ppp0 so với wwan0
eyoung100

Như tôi đã mô tả ở trên, Huawei không tạo ra bất kỳ thiết bị quay số hoặc mô tả ppp nào. Khi các thiết bị được kiểm tra, ví dụ với ifconfig, hệ thống sẽ nhận ra thiết bị là thiết bị dựa trên ethernet thông thường ETH1 (ngoài kết nối ETH0 dựa trên cáp ethernet không được cắm thông thường). Do đó, tất cả các kết nối được xử lý giống như với mọi kết nối dựa trên mạng LAN (giống như ethernet), trong trường hợp thông thường, sẽ cho phép truy cập hai chiều mà không gặp sự cố. Ít nhất là theo kiến ​​thức của tôi đi.
Janne Honkonen

Ngoài các bình luận trước đó, như đã nêu, không có thiết bị bổ sung. Chỉ 3: Lo (đối với cục bộ), Eth0 (đối với ethernet cáp không được sử dụng) và Eth1 (Huawei giả vờ là thiết bị ethernet)
Janne Honkonen

bạn cần cài đặt ứng dụng khách PPPoE cho bản phân phối của mình. PPPoE kiểm soát kết nối với ISP của bạn. Đọc liên kết trong bình luận đầu tiên của tôi.
Eyoung100

1
Giải pháp cho những người có cùng vấn đề, được giải quyết bởi lực lượng đặc nhiệm chuyên nghiệp của ISP. Không tự mình kiểm tra. PPPoE dường như không hoạt động trong trường hợp này. Vấn đề với Huawei E3372 và phần cứng của nó là phần cứng ảo ngăn chặn mọi kết nối PPP thông thường do chế độ ảo HiLink / ethernet. Giải pháp duy nhất là nâng cấp chương trình cơ sở của Huawei để cho phép các kết nối PPP mà thông thường không hỗ trợ. Tôi không có thời gian để tự kiểm tra điều này vì dự án có khung thời gian hạn chế. Các giải pháp có thể được tìm thấy ở đây: lteforum.at/mobilfunk/ Kẻ
Janne Honkonen 04/07/2015

Câu trả lời:


5

Bạn không cần cập nhật chương trình cơ sở, nhưng bạn cần một chế độ, mà bạn đã tìm thấy và trình quay số mà bạn chưa tìm thấy. Các tệp cấu hình sau đây, được lấy từ NVDC Stuff Network, Virtualization và Data Center Stuff có thể hoạt động tốt. Nếu không sử dụng từng mẫu làm mẫu và chỉnh sửa cho đến khi nó bắt đầu hoạt động:

/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

Sử dụng

  1. Tạo một liên kết từ /dev/gsmmodemđến /dev/ttyUSB2, đó là modem.
  2. Quay số thế giới bên ngoài. Lưu ý rằng bạn phải làm điều này mỗi lần:

    wvdial >/dev/null 2>&1 &
    
  3. Thêm phần sau vào khu vực kịch bản khởi động cục bộ của hệ thống của bạn:

    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
    }
    

Giải trình

Như tôi đã giải thích trong bài trước , Modem GSM luôn có hai hoặc nhiều phần, trong trường hợp này là 3 phần.

  • Một khu vực lưu trữ, gần giống với USB Stick.
  • Bộ điều hợp Ethernet không dây để kết nối nhiều thiết bị với nó.
  • Trình quay số PPP, để nhà cung cấp dịch vụ không dây của bạn biết bạn là khách hàng trả tiền và có thể tính phí cho bạn khi quá tải khi cần thiết. Vì bạn có thể chứng minh bạn là khách hàng trả tiền, vì PPPoE yêu cầu xác thực, bạn có thể sử dụng Địa chỉ IP được đàm phán để truy cập Internet.

Đạn 1 và 2 được điều khiển thông qua etc/modeswitch.conftập tin cấu hình. 12d1là địa chỉ MAC của nhà cung cấp, có thể nói như vậy. Sử dụng tập lệnh cục bộ, phần còn lại của Địa chỉ MAC được tạo. 12:D1:14:FE, kết thúc là thiết bị lưu trữ và 12:D1:15:06cuối cùng là modem. Nếu không sử dụng tập lệnh cục bộ, hãy phát hànhusb_modeswitch -s 15 -I -H -c /etc/usb_modeswitch.conf

Lưu ý: Theo mặc định, tức là không có chế độ, Linux chỉ nhìn thấy thiết bị lưu trữ, đó là lý do tại sao OP không thể nhìn thấy hoặc sử dụng Trình quay số PPP hoặc Thiết bị không dây .


Khi modem được bật bằng cách sử dụng các chế độ, wvdial hoặc một trong số nhiều thay thế, điều khiển truy cập vào thế giới bên ngoài. Với modem ở Chế độ Modem, cuối cùng bạn sẽ thấy đầu ra tương tự như:

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  P-t-P: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)

khi ban hành ifconfig


1

Tôi đoán đây là một vấn đề NAT. Ngay cả khi ISP không NAT các kết nối, Huawei vẫn sử dụng NAT cho eth1giao diện.

Huawei về cơ bản có hai chế độ:

  • hi-link , đang sử dụng NAT và cung cấp giao diện Ethernet.
  • không liên kết hi , trong đó PPP hoặc NDIS được sử dụng để kết nối với nhà cung cấp dịch vụ di động.

Có rất nhiều hướng dẫn cách thay đổi giữa hai chế độ bằng cách flash firmware khác. Tuy nhiên, vì bạn có thể gạch modem của mình trong quá trình này, tôi không kiềm chế đăng một liên kết cụ thể.


1

Trong trường hợp của tôi, tôi thấy rằng đây là những gì tôi cần cho cấu hình 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"

Với lệnh này để chạy và làm cho modem hoạt động.

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

Đây không phải là thiết bị của e3372 mà chỉ là một e3372 thẳng.
nelaaro

0
sudo usb_modeswitch -v 12d1 -p 1f01 -V 12d1 -P 14DC -J 

-J, --huawei-new-mode apply a special procedure

Điều này làm việc cho tôi để chuyển sang thiết bị modem

lsub
Bus 001 Device 028: ID 12d1:14dc Huawei Technologies Co., Ltd. E33372 LTE/UMTS/GSM HiLink Modem/Networkcard

Từ thiết bị lưu trữ lớn

Bus 001 Device 027: ID 12d1:1f01 Huawei Technologies Co., Ltd. E353/E3131 (Mass storage mode)

Đây là hệ thống tôi đang làm việc

uname -a                                                                                                                                                                          
Linux aaron-pc 4.9.63-1-MANJARO #1 SMP PREEMPT Sat Nov 18 14:12:41 UTC 2017 x86_64 GNU/Linu

0

Ngay cả khi LTE ISP hoặc Huawei đang NATing, vẫn có một cách giải quyết ssh -R: nếu bạn sở hữu một máy chủ ngoài internet, bạn có thể chuyển tiếp các cổng của mình qua ssh, ví dụ như cho Tomcat:

ssh -R 4080:localhost:8080 my.cloud.server

và truy cập pi như

http://my.cloud.server:4080

OpenVPN cũng hoạt động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.