ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

FM350-GL 4G模组实战:AT指令与Windows拨号上网全解析

FM350-GL 4G模组实战:AT指令与Windows拨号上网全解析 1. 拿到FM350-GL模块后先搞清楚它到底是个什么东西FM350-GL这个模块在圈子里出现的频率越来越高尤其是做工业网关、车载终端、远程采集设备的朋友几乎绕不开它。它是一款M.2封装的4G LTE Cat.4模组走的是标准USB 2.0接口跟主机通信支持国内移动、联通、电信、广电四家运营商的网络。很多人第一次拿到它的时候会有点懵——这玩意儿长得像一块M.2固态硬盘但插到电脑上之后既没有盘符也没有任何提示设备管理器里可能只冒出来几个串口和一个网卡设备完全不知道从哪里下手。我最初接触这个模块是为了给一台工控机做无线回传链路。当时的需求很简单设备放在现场没有有线网络需要把采集到的数据通过4G发回服务器。市面上能选的4G模组不少但FM350-GL的性价比和供货稳定性让我最终选了它。实际用下来发现这个模块的AT指令集兼容性做得不错Windows下的驱动也比较成熟但网上能找到的完整教程要么太零散要么跳过了很多关键细节导致我前后折腾了将近两天才把整条链路跑通。这篇文章就是把我踩过的坑和验证过的流程完整梳理出来。从硬件连接到串口调试从AT指令逐条解析到Windows网络配置再到四家运营商APN的差异处理每一步都会给出具体的操作和背后的原因。不管你是刚拿到模块的新手还是已经调过几个模组但卡在某个环节的老手应该都能从里面找到有用的东西。整个流程不需要额外的开发板或转接板只要一台带M.2接口的电脑或者一个M.2转USB的硬盘盒就能搞定。2. 硬件连接与驱动安装别小看这一步一半的问题出在这里2.1 M.2接口的物理连接方式选择FM350-GL是M.2 Key B的封装形态尺寸是3042规格。如果你手头有带M.2插槽的工控主板或者笔记本直接插上去就行。但大多数台式机没有M.2 Key B的插槽这时候就需要一个M.2转USB的转接盒。市面上常见的转接盒有两种方案一种是ASM1153E芯片的主要针对SATA协议另一种是专门针对USB 2.0信号的转接板通常用的是USB 2.0的引脚定义直接引出。这里有个关键点FM350-GL走的是USB 2.0信号不是SATA也不是PCIe。如果你买错了转接盒插上去之后电脑完全认不到设备设备管理器里连未知设备都不会出现。我一开始就是随手拿了一个M.2硬盘盒结果插上之后毫无反应换了专门的USB转接板才正常。判断方法很简单——看转接盒的商品描述里有没有明确写支持“M.2 Key B USB 2.0”或者“4G模组转USB”。另外模块上有一个额外的天线接口通常标注为MAIN和DIV/AUX。MAIN口必须接天线否则信号强度会非常差甚至搜不到网。DIV口是分集接收天线条件允许的话也接上能明显改善弱信号环境下的稳定性。天线频段要覆盖LTE的常用频段一般买模块的时候商家会配好对应的FPC天线或者SMA天线。2.2 Windows下的驱动安装顺序与识别验证驱动安装这一步看起来简单但顺序搞错了会多花很多时间。正确的做法是先把转接板和模块连接好但先不要插到电脑的USB口上。然后去下载FM350-GL的Windows驱动包通常包含三个部分USB复合设备驱动、串口驱动和NDIS网卡驱动。安装的时候先装USB复合设备驱动这个驱动的作用是让Windows正确识别模块的USB描述符把复合设备拆分成多个接口。装完之后再把模块插到USB口上这时候设备管理器里应该能看到多个串口设备和一个网络适配器。如果先插模块再装驱动Windows可能会把设备识别成未知设备后面再装驱动就需要手动指定inf文件麻烦很多。识别成功的标志是在设备管理器里看到类似这样的设备列表设备类型设备名称示例作用端口FM350-GL AT Port (COMx)发送AT指令端口FM350-GL Diagnostic Port诊断和日志端口FM350-GL NMEA PortGPS数据输出网络适配器FM350-GL Mobile Broadband数据拨号COM口号每台电脑可能不一样记下AT Port对应的COM号后面串口调试要用。如果只看到部分设备说明驱动没有完全安装成功可以尝试在设备管理器里右键未知设备手动更新驱动并指向驱动包的解压目录。注意有些驱动包安装完之后需要重启电脑才能让NDIS网卡驱动生效。如果设备管理器里能看到网卡但网络连接里没有对应的拨号连接先重启一次再试。2.3 串口工具的选型与基本配置串口调试工具我用的是SSCOM和SecureCRT两种SSCOM胜在轻量、免费、中文界面适合快速发指令看返回。SecureCRT适合需要保存日志和做脚本自动化的场景。配置参数方面FM350-GL的AT口默认是115200波特率、8位数据位、1位停止位、无校验、无流控。这个参数在绝大多数情况下不需要改如果你发指令没反应先检查波特率是不是选错了。打开串口之后先发一个最简单的AT指令测试连通性。正常情况下模块会返回OK。如果没有任何返回检查三件事COM号是否选对、波特率是否匹配、模块是否已经正常上电。模块上电后一般会有个LED指示灯闪烁如果灯完全不亮可能是转接板供电不足。USB 2.0口最大只能提供500mA电流而4G模块在搜网和发射瞬间的峰值电流可能超过1A所以建议用带外部供电的USB Hub或者直接插在电脑后置的USB口上。3. AT指令逐条拆解从模块唤醒到网络注册的完整链路3.1 基础AT指令与模块状态确认串口通了之后第一组要发的指令是确认模块的基本状态。按顺序来AT ATCGMM ATCGMR ATCPIN?第一条AT就是握手返回OK说明串口链路正常。ATCGMM返回模块型号应该能看到FM350-GL相关的标识。ATCGMR返回固件版本号这个信息在后续排查问题时很有用不同固件版本对某些指令的支持程度可能有差异。ATCPIN?是查SIM卡状态返回READY说明卡识别正常如果返回SIM PIN说明卡被锁了需要先解锁返回ERROR则可能是卡没插好或者卡座接触不良。SIM卡的方向要注意M.2模块的SIM卡座通常是推拉式的卡插入的时候金属触点朝下缺口方向对准卡座的防呆口。插反了虽然能塞进去但读不到卡我见过不止一个人在这里翻车。3.2 网络注册与信号质量查询SIM卡识别正常之后下一步是等模块注册到网络。相关指令ATCFUN1 ATCOPS? ATCSQ ATCEREG?ATCFUN1是设置模块为全功能模式也就是开启射频。有些模块默认就是全功能但显式发一次没坏处。ATCOPS?查询当前注册的运营商返回格式类似COPS: 0,0,CHN-UNICOM,7最后的数字7表示LTE网络。如果返回COPS: 0,0,CHN-UNICOM,7就说明已经注册上了。ATCSQ查信号质量返回两个数字第一个是RSSI值范围0到31越大越好。一般来说低于10就比较差了15以上算正常20以上算好。第二个数字是误码率通常忽略。如果RSSI一直是99说明没搜到信号检查天线连接和SIM卡是否欠费。ATCEREG?查EPS网络注册状态返回 CEREG: 0,1表示已注册到本地网络CEREG: 0,5表示漫游。这个指令比ATCOPS?更直接反映数据网络的注册情况。3.3 PDP上下文激活与APN配置网络注册成功之后需要配置PDP上下文才能建立数据连接。核心指令是ATCGDCONT1,IP,CMNET ATCGACT1,1ATCGDCONT的第一个参数是CID通常用1。第二个参数是PDP类型IPv4用IPIPv6用IPV6双栈用IPV4V6。第三个参数就是APN这是整个流程里最容易出错的地方。四家运营商的APN不一样运营商APN用户名密码备注中国移动CMNET空空部分物联卡用CMIOT中国联通3GNET空空部分卡用UNINET中国电信CTNET空空部分卡用CTLTE中国广电CBNET空空需确认卡是否已开通ATCGACT1,1是激活CID为1的PDP上下文。返回OK之后可以用ATCGPADDR1查询分配的IP地址。如果返回的IP是0.0.0.0或者没有返回说明激活失败大概率是APN填错了。提示广电的卡比较特殊有些早期发行的广电卡需要手动配置APN为CBNET而且部分模块固件对广电网络的支持需要更新到较新版本。如果广电卡一直注册不上先确认固件版本再确认卡是否已经在手机上测试过能正常上网。3.4 数据拨号与模式切换PDP上下文激活之后模块本身已经拿到了IP但要让Windows通过模块上网还需要把模块切换到数据模式。FM350-GL支持多种数据模式常用的是ECM和RNDIS。ECM模式下模块会模拟一个以太网设备Windows直接用NDIS驱动就能识别。RNDIS则是微软自己的远程NDIS协议。切换指令通常是ATQCFGusbnet,1这里的参数1表示ECM模式不同固件可能参数定义有差异有的用0表示RNDIS1表示ECM2表示MBIM。发完指令后需要重启模块或者重新插拔USB让模式切换生效。重启之后Windows应该能识别到一个新的网络适配器这时候就可以在Windows里配置拨号了。如果ATQCFG指令返回ERROR说明固件不支持这个指令可以尝试ATQCFGusbnet?查询当前支持的参数范围。有些定制固件会精简掉部分指令这种情况就需要用NDIS拨号的方式在Windows里创建一个拨号连接号码填*99#用户名和密码留空。4. Windows网络配置从拨号连接到路由共享4.1 识别模块网卡与创建拨号连接模块切换到ECM模式并重新插拔之后打开Windows的“网络和Internet设置”应该能看到一个新的以太网适配器名称通常是“FM350-GL Mobile Broadband”或者类似的标识。如果没看到去设备管理器检查有没有带黄色感叹号的网络设备有的话重新安装NDIS驱动。看到网卡之后有两种方式建立连接。第一种是用Windows自带的移动宽带拨号在“网络和Internet”里找到“蜂窝”选项点击“连接”Windows会自动使用模块的默认APN。但这种方式对APN的控制不够灵活如果默认APN不对就连不上。第二种方式更可控创建一个新的拨号连接。在“网络和Internet”设置里选择“拨号”然后“设置新连接”选择“连接到Internet”再选“宽带(PPPoE)”但这里不要填PPPoE的账号密码而是选择“使用拨号连接”。号码填*99#用户名和密码留空。创建完成后点击连接Windows会通过模块的AT口发送拨号指令建立数据链路。实测下来第二种方式在APN需要自定义的场景下更可靠。因为Windows的移动宽带接口有时候会缓存旧的APN配置改了ATCGDCONT之后不生效而拨号连接每次都会重新走一遍PDP激活流程。4.2 APN在Windows侧的配置方法如果你用的是Windows自带的移动宽带连接APN的配置入口在“设置”-“网络和Internet”-“蜂窝”-“高级选项”里。这里可以手动添加APN配置文件填入运营商对应的APN字符串。但要注意Windows的APN配置和模块内部的ATCGDCONT配置是两套东西最终生效的是模块内部的配置。Windows侧的APN只是用来告诉模块“用哪个APN”如果模块里已经用AT指令配好了Windows侧可以留空。我遇到过一种情况模块里ATCGDCONT配的是CMNET但Windows的移动宽带接口里默认APN是空结果Windows自己发了一个空的APN给模块导致PDP激活失败。解决办法是在Windows的APN配置里也填上CMNET保持两边一致。这个细节在很多教程里都没提但实际用的时候很容易卡住。4.3 网络共享与多设备上网模块本身只能给一台电脑提供网络如果你想让多台设备通过这个4G连接上网就需要做网络共享。Windows自带的Internet连接共享ICS就能实现。在“网络连接”面板里找到刚才建立的拨号连接右键属性-共享勾选“允许其他网络用户通过此计算机的Internet连接来连接”然后选择要共享到的网卡比如电脑的WiFi网卡或者第二个以太网口。设置完之后其他设备连接到这个共享网卡就能上网了。但ICS有个已知问题共享的网段默认是192.168.137.0/24如果内网已经有这个网段会冲突。解决办法是改注册表或者用第三方工具。另外ICS的稳定性一般长时间大流量传输可能会断工业场景下更推荐用软路由或者Linux网关来做NAT转发。5. 四家运营商实战差异与常见问题排查5.1 移动、联通、电信、广电的APN与注册差异四家运营商里移动和联通的配置最简单APN填CMNET和3GNET基本就能通。电信的CTNET也没问题但电信的物联卡有时候需要填CTLTE而且电信对IMEI有绑定换设备之后可能需要重新激活。广电是最特殊的CBNET这个APN在部分模块固件里没有被预置需要手动添加而且广电的VoLTE和4G数据是分开的如果卡没有开通数据功能注册上了也上不了网。实际测试中同一个模块换不同运营商的卡需要重新执行ATCGDCONT和ATCGACT。有些模块在换卡之后不会自动清除旧的PDP上下文导致新卡激活失败。保险的做法是换卡之后先发ATCGDCONT1,IP,清空APN再重新配置。5.2 信号弱、频繁掉线的排查思路信号问题是最常见的。如果ATCSQ返回的RSSI低于10先检查天线。天线接口有没有拧紧、天线频段是否匹配、天线周围有没有金属遮挡。工业环境里设备通常装在金属机柜里对信号衰减很大这时候需要把天线引到机柜外面。如果信号强度正常但频繁掉线查ATCEREG?的状态变化。如果状态在1和2之间跳变说明网络注册不稳定可能是基站切换导致的。可以尝试锁定频段ATQCFGband指令可以设置模块只搜特定频段减少切换带来的掉线。但锁频段需要知道当地基站的频段信息一般用ATQCFGband?先查当前支持的频段列表。另一个掉线原因是USB供电不足。4G模块在发射瞬间电流会突然增大如果USB口供电能力不够模块会重启。表现就是串口突然断开过几秒又恢复。解决办法是用带外部供电的USB Hub或者直接给转接板接上辅助供电线。5.3 拨号失败与IP获取异常的定位方法拨号失败的时候按这个顺序排查确认ATCPIN?返回READY确认ATCEREG?返回1或5确认ATCGDCONT配置的APN正确确认ATCGACT1,1返回OK确认ATCGPADDR1返回了非0.0.0.0的IP如果第4步返回ERROR通常是APN不对或者卡没有数据权限。如果第5步返回0.0.0.0说明PDP激活了但没拿到IP可能是运营商侧的问题换张卡测试就能定位。Windows侧如果拨号连接显示“已连接”但无法上网检查DNS。模块默认会从运营商获取DNS但有时候获取不到。可以手动在拨号连接的属性里设置DNS为114.114.114.114和8.8.8.8。另外检查路由表确保默认路由指向了拨号连接而不是其他网卡。6. 长期运行稳定性与固件升级的几点经验模块跑通之后如果要长期运行有几个地方需要额外注意。首先是散热FM350-GL在持续数据传输时发热比较明显尤其是夏天或者密闭机箱里。我遇到过模块温度过高导致降速甚至断网的情况后来在模块背面贴了一块小散热片问题就解决了。如果设备装在户外还要考虑低温启动的问题工业级模块一般标称-40到85度但实际低温下搜网时间会变长。固件升级方面FM350-GL的固件更新通常通过USB口用厂商提供的升级工具来做。升级前一定要备份当前的AT配置因为升级后配置会恢复默认。升级过程中不能断电否则模块可能变砖。如果升级失败导致模块无法识别可以尝试进入紧急下载模式通常是通过短接模块上的特定测试点来触发。最后说一个实际项目中遇到的坑模块在ECM模式下Windows有时候会把模块网卡识别为“公用网络”导致防火墙规则过严某些端口不通。解决办法是在“网络和Internet”设置里把模块网卡的网络位置改成“专用网络”。这个设置不影响模块本身的工作但会影响Windows防火墙对通过4G进来的流量的处理方式。改完之后远程桌面和文件共享之类的服务就能正常访问了。
返回列表