在WinCE系统中添加任意型号3G网卡

 2015-3-25         

  2G时代的GPRS无线网卡,由于GPRS支持的最高传输速率为115kbit/s,所以GPRS模块作为数据通讯设备(DCE)与数据终端设备(DTE)之间通过简单的串口连接就能满足数据传输的需求。第三代移动通讯(3G)的数据传输速率相比2G要快得多,以华为的WCDMA 3G模块MU709s-2为例,可提供5.76Mbits/s的数据上行和高达21.6Mbit/s的数据下行速度,这么高的数据传输速率,UART通讯协议肯定就不能胜任了,因此现在的3G模块不论物理接口形式是PCIe还是模块厂商自定义的表面贴封装,都采用USB作为通讯接口。

 

  USB接口形式简单、使用方便、支持即插即用,但即插即用的前提是数据终端设备的系统中已经包含有对应3G模块的驱动。3G模块的USB驱动一般由模块厂家提供,在工业应用场合,华为、中兴、龙尚等厂家针对自己的3G网卡都提供了WinCE5,WinCE6嵌入式操作系统的驱动和使用方法。

 

  在实际应用中,一个系统在某些情况下可能需要使用WCDMA通讯,而在另一些环境中可能需要使用CDMA2000,这时候在系统中就需要安装两个模块驱动,给使用带来了一些不方便。另一个问题是微软的Windows Embedded嵌入式操作系统早已从CE6.0升级到了WEC7,现在最新的版本是Windows Embedded Compact 2013,对于WEC7和Compact 2013目前市面上的3G模块都还没有提供驱动支持。

 

  以英创工控主板EM335x为例,EM335x可预装正版Compact 2013或WEC7,不再支持WinCE6.0,为了解决EM335x支持3G网卡的问题,英创公司开发了通用USB虚拟串口驱动USBSER,USBSER驱动会根据插入的USB设备提供的信息,虚拟出多个相应的串口,Windows CE系统再通过这些串口建立拨号连接。

 

  我们已经在EM335x通过USBSER驱动测试了EM770W、MC2716和MF210 3G网卡,都能正常拨号上网进行数据传输,收发短信。用户在使用时,可以通过“控制面板->网络和拨号连接”新建合适的3G拨号连接。

 

图1 选择合适的调试解调器

 

  如果用户将其它型号3G网卡连接到EM335x上,WEC7系统会提示未能识别的USB设备,这是因为操作系统找不到与当前USB设备VID、PID匹配的驱动程序。此时,用户可以手动添加相关的注册表项,利用英创开发的USBSER来驱动3G网卡。

 

图2 未找到USB设备驱动

 

  以EM335x工控主板 (WEC7系统)为例,在EM335x中添加其它型号3G网卡只需要以下几个步骤。

 

  1、得到3G模块的VID和PID信息

  3G模块的数据手册通常会提供模块的VID和PID信息,另外也可以将3G网卡连接到电脑上,通过工具软件获得模块的VID和PID。

 

  下图是将华为WCDMA模块MU709s-2连接到电脑上后,通过tdd小工具得到的信息,可以看到MU709s-2的VID是0x12D1,PID是0x1C25。

 

图3 获得USB设备VID,PID

 

  2、在系统中增加相应的注册表项

  将模块的PID和VID信息添加到系统注册表,在3G模块连接到系统后,系统就会自动加载注册表中指定的驱动程序。MU709s-2的VID=0x12D1=4817,PID=0x1C25=7205。

 

  在EM335x注册表中添加如下内容:
  [HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\4817_7205\Default\Default\CDC_CLASS]
    'Prefix'='COM'
    'Dll'='usbser.dll'

 

  在测试阶段,可以通过vs2008的远程工具——远程注册表编辑器手动添加注册表信息。

 

图4 添加MU709s-2注册表信息

 

  3、建立拨号连接

  添加了注册表信息重启系统后再连接3G模块MU709,如果没有弹出图2所示的对话框,就说明驱动加载成功了!USBSER驱动在创建虚拟串口时,都是从COM10开始的,根据不同的3G模块,USBSER驱动可能会创建3到6个虚拟串口,3G模块通常使用虚拟出来的第一个串口用作数据通讯,图1所示“选择调制解调器”下拉菜单中列出的Huawei EM770W Modem就是对应将COM10口作为拨号串口。因此虽然使用的模块是MU709,在建立拨号连接时仍然选择Huawei EM770W Modem。

 

  4、拨号上网

  新建名为MU709 Modem的拨号连接后,就可以直接拨号上网了。

 

图5 MU709 Modem 3G拨号成功

 

  到这里为止,就已经成功的在EM335x中添加了一块3G网卡,建立3G拨号连接的详细过程可以参考:《WEC7 3G拨号连接的建立》,应用程序建立拨号连接和自动拨号可以参考:《Windows Embedded Compact 2013 3G拨号》。