2024年7月14日发(作者:童孤晴)
前序:
在确认需要使用
ECM
模式之前,请检查模块是否已经切换到
ECM
模式(模块在
Windows
环境下,
ECM
模式会出现部分端口无驱动的情况,这是正常的,因为
ECM
主要给
Linux
用户使用)。如果不是
ECM
模式,请
Windows
环境下,从
AT
端口写入如下指令:
AT+LSHECMEN=1,1
在确信
U9300C
模块是
ECM
模式之后,请按照如下步骤操作即可。
1.
使用
ECM
模式,需要特别注意
Linux
系统相关部分是否被客户修改过
ECM
是一种标准的
NIC
端口,若使用
ECM
设备,一定要在系统中加载
cdc_etherdriver
。
所以系统中一定不要删除数组
products[]
中的如下项:
{USB_INTERFACE_INFO(USB_CLASS_COMM,USB_CDC_SUBCLASS_ET
HERNET,
USB_CDC_PROTO_NONE),
.driver_info=(unsignedlong)&cdc_info,
}
上位机中安装USBECM驱动
依赖于
usb_core,usbnet,cdc_ether
驱动模块,确认依赖的
cdc_
driver
已经在
Linux
系统中。以下是在
加载驱动的方法(在嵌入式
Linux
下方法相似,或者内核编译默认加载):
编译为模块加载参考如下:
insmodcdc_————
加载
cdc_ether
驱动;
————
加载
usbnet
驱动;
内核默认加载参考如下图示中红色标注:
打开
ECM
功能的
4G
模组通过
USB
连接至
Linux
系统的主机后,在主机上运行命令
ifconfig–a
可以查看到
usb0
的虚拟网卡。
注:最新的发行版如
Ubuntu18.04,Debian9Stretch
等因引入了
PredictableNetwork
InterfaceNames
,网卡名可能不是
usb0
,可以通过
dmesg
查看
cdc_ether
查看,如下
图为
下加载网卡的
dmesglog:
#ifconfig————
这是查询指令,看是否加载成功,如下图:
如果
ifconfig
显示
usb0
没有获得
IP
地址或有
IP
地址但不能使用网络,在确保
4G
模组
侧无问题时,可以在主机侧手动运行
DHCP
客户端(以
udhcpc
为例):
sudoudhcpc–iusb0
此问题处理详见参考手册《
dhcp
获取不到
》
dhcp
获取不到
以上完成后,在
4G
模组上网后,上位机就可以通过
ECM
网卡上网了。
上位机中控制模组上网连接与断开
1)
发送如下
AT
可以查询
AT
命令设置格式:
AT+LSHECMEN=?
+LSHECMEN:
OK
2)
设置
AT+LSHECMEN=
设置数据断开
/
设置数据自动连接
>
第一个参数:
ecm
和
ndis
切换,掉电保存,模块会重启
0
:
ndis
【默认值】
1
:
ecm
第二个参数:在
ecm
模式下,设置模式改变,掉电保存,不会重启。
0
:设置数据断开;
1
:设置数据自动连接,设置后模块任何有可能连上网络的可能,都会发起拨号,
中途遇到异常,异常恢复后也会发起拨号;
举例:
AT+LSHECMEN=0ndis
模式,无第二个参数
AT+LSHECMEN=1,0ecm
模块下数据断开
AT+LSHECMEN=1,1ecm
模式下,设置数据自动连接
3)
状态查询
AT+LSHECMEN?
+LSHECMEN:
拨号设置值
>,[,<
拨号状态
>[,
OK
第一个参数
:
0
:
ndis
后面没有参数
1
:
ecm
(后面跟随
esm
功能状态)
第二个参数:在
ecm
模式下,状态改变,不会重启。
0
:设置数据断开;
1
:设置数据自动连接(后面跟随状态参数)
第三个参数:拨号状态
0
:拨号不成功
1
:拨号成功(后面跟随
IP
地址和
DNS
)
第四个参数:拨号成功后的
IP
地址
第五个参数:拨号成功后的
DNS
地址
举例:
1.
为
ndis
功能时,查询值:
AT+LSHECMEN?
+LSHECMEN:0
OK
2.
为
ecm
功能,但是没有设置自动拨号,查询值:
AT+LSHECMEN?
+LSHECMEN:1,0
OK
3.
为
ecm
功能,有设置自动拨号,没有拨号成功,查询值:
AT+LSHECMEN?
+LSHECMEN:1,1,0
OK
4.
为
ecm
功能,有设置自动拨号,并且拨号成功这时候跟随
IP
地址和
DNS
,查询值:
AT+LSHECMEN?
+LSHECMEN:1,1,1,10.123.123.123,202.96.134.133
OK
2024年7月14日发(作者:童孤晴)
前序:
在确认需要使用
ECM
模式之前,请检查模块是否已经切换到
ECM
模式(模块在
Windows
环境下,
ECM
模式会出现部分端口无驱动的情况,这是正常的,因为
ECM
主要给
Linux
用户使用)。如果不是
ECM
模式,请
Windows
环境下,从
AT
端口写入如下指令:
AT+LSHECMEN=1,1
在确信
U9300C
模块是
ECM
模式之后,请按照如下步骤操作即可。
1.
使用
ECM
模式,需要特别注意
Linux
系统相关部分是否被客户修改过
ECM
是一种标准的
NIC
端口,若使用
ECM
设备,一定要在系统中加载
cdc_etherdriver
。
所以系统中一定不要删除数组
products[]
中的如下项:
{USB_INTERFACE_INFO(USB_CLASS_COMM,USB_CDC_SUBCLASS_ET
HERNET,
USB_CDC_PROTO_NONE),
.driver_info=(unsignedlong)&cdc_info,
}
上位机中安装USBECM驱动
依赖于
usb_core,usbnet,cdc_ether
驱动模块,确认依赖的
cdc_
driver
已经在
Linux
系统中。以下是在
加载驱动的方法(在嵌入式
Linux
下方法相似,或者内核编译默认加载):
编译为模块加载参考如下:
insmodcdc_————
加载
cdc_ether
驱动;
————
加载
usbnet
驱动;
内核默认加载参考如下图示中红色标注:
打开
ECM
功能的
4G
模组通过
USB
连接至
Linux
系统的主机后,在主机上运行命令
ifconfig–a
可以查看到
usb0
的虚拟网卡。
注:最新的发行版如
Ubuntu18.04,Debian9Stretch
等因引入了
PredictableNetwork
InterfaceNames
,网卡名可能不是
usb0
,可以通过
dmesg
查看
cdc_ether
查看,如下
图为
下加载网卡的
dmesglog:
#ifconfig————
这是查询指令,看是否加载成功,如下图:
如果
ifconfig
显示
usb0
没有获得
IP
地址或有
IP
地址但不能使用网络,在确保
4G
模组
侧无问题时,可以在主机侧手动运行
DHCP
客户端(以
udhcpc
为例):
sudoudhcpc–iusb0
此问题处理详见参考手册《
dhcp
获取不到
》
dhcp
获取不到
以上完成后,在
4G
模组上网后,上位机就可以通过
ECM
网卡上网了。
上位机中控制模组上网连接与断开
1)
发送如下
AT
可以查询
AT
命令设置格式:
AT+LSHECMEN=?
+LSHECMEN:
OK
2)
设置
AT+LSHECMEN=
设置数据断开
/
设置数据自动连接
>
第一个参数:
ecm
和
ndis
切换,掉电保存,模块会重启
0
:
ndis
【默认值】
1
:
ecm
第二个参数:在
ecm
模式下,设置模式改变,掉电保存,不会重启。
0
:设置数据断开;
1
:设置数据自动连接,设置后模块任何有可能连上网络的可能,都会发起拨号,
中途遇到异常,异常恢复后也会发起拨号;
举例:
AT+LSHECMEN=0ndis
模式,无第二个参数
AT+LSHECMEN=1,0ecm
模块下数据断开
AT+LSHECMEN=1,1ecm
模式下,设置数据自动连接
3)
状态查询
AT+LSHECMEN?
+LSHECMEN:
拨号设置值
>,[,<
拨号状态
>[,
OK
第一个参数
:
0
:
ndis
后面没有参数
1
:
ecm
(后面跟随
esm
功能状态)
第二个参数:在
ecm
模式下,状态改变,不会重启。
0
:设置数据断开;
1
:设置数据自动连接(后面跟随状态参数)
第三个参数:拨号状态
0
:拨号不成功
1
:拨号成功(后面跟随
IP
地址和
DNS
)
第四个参数:拨号成功后的
IP
地址
第五个参数:拨号成功后的
DNS
地址
举例:
1.
为
ndis
功能时,查询值:
AT+LSHECMEN?
+LSHECMEN:0
OK
2.
为
ecm
功能,但是没有设置自动拨号,查询值:
AT+LSHECMEN?
+LSHECMEN:1,0
OK
3.
为
ecm
功能,有设置自动拨号,没有拨号成功,查询值:
AT+LSHECMEN?
+LSHECMEN:1,1,0
OK
4.
为
ecm
功能,有设置自动拨号,并且拨号成功这时候跟随
IP
地址和
DNS
,查询值:
AT+LSHECMEN?
+LSHECMEN:1,1,1,10.123.123.123,202.96.134.133
OK