突然心血来潮,研究了一下4G模块在Linux系统上的使用。本文使用的4G模块是华为的ME909s-821,系统为Ubuntu16.04,硬件平台为PC机的虚拟机,以及x86()板子。

硬件模块

华为ME909s-821支持150Mbps的下行数据速率,包括增强的功能像FOTA,USSD和华为增强命令。ME909s-821支持中国区包括FDD-LTE和TDD-LTE LTE频段,接口为PCIe。由于该模块本身没有SIM,因此还使用了一个PCIe转接USB并带有SIM卡卡座的转接板。(这段话是抄的)

模块实物图如下:

4G接口架构 4g网络接口图_ci


说明:图片上方接的是天线,下方白色的是USB接口。

(这个图是我拍的)

系统连接过程

启动信息

16.04已经整合了这个4G模块驱动,因此插入4G模块时,会自动识别。识别信息如下:

# dmesg
[    2.312135] usb 2-1: new full-speed USB device number 2 using uhci_hcd
[    2.312630] usb 1-1: new high-speed USB device number 2 using ehci-pci
[    2.499928] Floppy drive(s): fd0 is 1.44M
[    2.634460] usb 1-1: New USB device found, idVendor=12d1, idProduct=15c1
[    2.634461] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    2.634463] usb 1-1: Product: HUAWEI Mobile V7R11
[    2.634464] usb 1-1: Manufacturer: Huawei Technologies Co., Ltd.
[    2.634465] usb 1-1: Ser

使用lsusb命令查询设备,结果如图所示:

4G接口架构 4g网络接口图_Mobile_02


此时,查看/dev目录,则发现有/dev/ttyUSB0~/dev/ttyUSB4,一共5个设备(搞不明白为何会出现这么多设备文件)。

再用ifcofnig查询网卡设备,如下图所示:

4G接口架构 4g网络接口图_4G接口架构_03


这说明已经能识别出设备了(为什么是USB设备,参考前文)。

图形界面连接过程

在桌面右上方网络连接图标中,找到“New Mobile Broadband connection…”,点击新建连接,如下图所示:

4G接口架构 4g网络接口图_Mobile_04


选择“Next”,继续:

4G接口架构 4g网络接口图_4G接口架构_05


选择国家为“China”:

4G接口架构 4g网络接口图_ci_06


选择“China Mobile”(我用的是移动卡):

4G接口架构 4g网络接口图_4G_07


在plan中选择“Internet”:

4G接口架构 4g网络接口图_4G_08


最近显示已创建的信息,如正确无误,则点击“Apply”:

4G接口架构 4g网络接口图_4G接口架构_09


然后输入密码(我是随便写的):

4G接口架构 4g网络接口图_4G接口架构_10


提示已经连接网络了:

4G接口架构 4g网络接口图_ci_11


下面看一下连接的网络属性,如下图:

4G接口架构 4g网络接口图_ci_12


最后,进行连通性测试,如果如下:

4G接口架构 4g网络接口图_4G_13


这表明,已经可以正常ping通外网了。

使用心得:
PCIE转USB接口板,有时不稳定。
必须接天线,否则信号弱的话,系统无法识别到USB设备(lsusb无法查到设备)。
使用4G卡上网,不需要账号和密码(或者说,不需要真实的账号,密码随意)。
经测试,电信的SIM卡,也可以选择移动模式(因为连接界面并无此电信选项)。
PS:本文所用4G模块在Ubuntu 14.04上亦测试通过。

李迟 2018.3.27 晚