ndis拨号软件 linux,嵌入式linux系统下NDIS拨号
一、USB端口信息
U8300C模块USB会枚举出6个逻辑端口,他们的枚举顺序、端口功能、端口名称如下表所示:
二、驱动集成
1.内核配置:
make menuconfig 到内核时:
Device Drivers --->
USB support --->
USB Network Adapters --->
Multi-purpose USB Networking Framework
USB Serial Converter support --->
USB Serial Converter support
[*] USB Generic Serial Driver
2.内核ndis驱动加入:
在linux-2.6.21.x/drivers/usb/目录下创建ndis_driver目录,
复制“U8300C/version2.13/ndis_driver/src”目录下所有源文件到新建的ndis_driver目录下。
修改ndis_driver/Makefile 文件,内容为:
obj-m += lc_ether.o
lc_ether-objs := qmi_oper.o qmi_util.o lc_cdc_ether.o
在linux-2.6.21.x/drivers/usb/Makefile 文件中添加内容:
obj-m += ndis_driver/
内核编译时会生成lc_ether.ko拷贝到开发板去。
三、拨号APP修改编译:
复制”U8300C\version2.13\ndis_app“(XP) 目录到 CB50A_SDK/source/user/目录下。
修改build.sh文件中的CROSS_COMPPILE=/opt/crosstool/mipsel-linux/bin/mipsel-linux-
注根据自己电脑上的编译路径改。
修改Makefile 中的install规则。到自己安装目录。
修改ndis_manager.c 文件中的udhcpc 支持:如下:
第一处:
194 if(current_status == NDIS_CONNECTING)//new connected to internet.
195 {
196 cprintf("connected to internet success, .\n");
197 system("/sbin/udhcpc -i wan0 -s /sbin/udhcpc.sh -p /var/run/udhcpc.pid&");//to get ip/dns/gatway
198 //system("dhclient wan0&");
199 }
第二处
278 }else
279 {
280 cprintf("ndis_get_status success.\n");
281 if(NDIS_CONNECTED==pipinfo.i32status){
282 cprintf("connected to internet success, .\n");
283 system("/sbin/udhcpc -i wan0 -s /sbin/udhcpc.sh -p /var/run/udhcpc.pid&");//to get ip/dns/gatway
284 break;
285 }
286 }
进入当前目录编译运行:sh build.sh ,生成ndis_manager、lib_ndis/libndis_dail.so、profile.ini拷贝到开发板。
关于EVDO和CDMA(电信3G)时查询信号强度时是不能用at+csq 命令,听说这个是电信3G的一个标准,需要用AT^HDRCSQ?命令查询。
四、USB串口驱动过滤NDIS接口
由于USB串口跟DNIS都属于非标准CDC设备,需要放置NDIS口被USB串口驱动加载而导致无法正常加载NDIS驱动,解决办法如下:
对于不用option直接用usb-serial.ko文件的用户需要在usb-serial.c中的
usb_serial_probe()中加入以下
/*************LONGSUNG **************************/
if ((le16_to_cpu(dev->descriptor.idVendor) == 0x1c9e) &&
(le16_to_cpu(dev->descriptor.idProduct) == 0x9b05)) {
if(interface->cur_altsetting->desc.bInterfaceNumber == 4){
printk(KERN_INFO"Discover the 4th interface for U8300C NDIS.\n");
mutex_unlock(&table_lock);
return -ENODEV;
}
}
生成usbserial.ko,modprobe usbserial vendor=0x1c9e product=0x9b05,不要加载option.ko,否则/dev/ttyUSB*无响应。
跳过4口留给NDIS,否则NDIS驱动加载是错误。
五、加载NDIS驱动
如果正常#ifconfig -a可以看到wan0这样一个网卡,#ifconfig wan0 up 起网卡
配置拨号文件 profile.ini
[profile]
apn=UNINET
usrname=
pwd=
auth=0
不同的运营商只修改apn;电信:CTNET,移动:CMNET,联通:UNINET。
六、AT命令测试
#cat /dev/ttyUSB1 &
#echo “AT+LCTSW” >/dev/ttyUSB1 //软件版本查询
SoftwareVersion: QA30002.1.3_MV11
InnerVersion: QA30002_4534_1.1.4_L0602_EFS2.0
AP: QA30002_4534_0.0.13_L0602_MV11
Ok
#echo “AT+CSQ” >/dev/ttyUSB1 //信号强度查询
+CSQ: 25,63
Ok
#echo “ATE0” >/dev/ttyUSB1
OK
#echo “AT+PSRAT” >/dev/ttyUSB1 //模块注册的网络
+PSRAT: LTE TDD
OK
#echo “AT+CREG?” >/dev/ttyUSB1 //注册信息
+CREG: 0,1
OK
#echo “AT+MODODREX?” >/dev/ttyUSB1 //网络优先级
+MODODREX: 11
OK
//AT+MODODREX=11 //网络优先级11表示(4G->3G->2G)
#echo “AT+COPS?” >/dev/ttyUSB1 //运营商查询
+COPS: 0,0,"CHINA MOBILE",7
OK
#echo “AT+CPIN?” >/dev/ttyUSB1 //sim卡是否就绪
+CPIN: READY
OK
#echo “AT+CIMI=?” >/dev/ttyUSB1 //sim卡是否就绪
OK
七、运行程序测试
以管理员权限进行NDIS拨号,ndis_manager -c
#ifconfig wan0
#ps -ef
OK 到此NDIS拨号上网完成。
ndis拨号软件 linux,嵌入式linux系统下NDIS拨号相关推荐
- linux软件安装非系统盘,linux操作系统可不可以像安装windows软件一样在windows系统下的硬盘上安装...
linux操作系统可不可以像安装windows软件一样在windows系统下的硬盘上安装 答案:2 信息版本:手机版 解决时间 2020-07-24 14:13 已解决 2020-07-23 16: ...
- Linux和Windows系统下:安装Anaconda、Paddle、tensorflow、pytorch,GPU[cuda、cudnn]、CPU安装教学,以及查看CPU、GPU内存使用情况
Linux和Windows系统下安装深度学习框架所需支持:Anaconda.Paddlepaddle.Paddlenlp.pytorch,含GPU.CPU版本详细安装过程 1.下载 Anaconda ...
- Linux kubuntu x64系统下解决QT5.12编辑菜单和工具栏不显示图标问题
Linux kubuntu x64系统下发现QT5.12在设计视图下编辑菜单和工具栏显示图标,但是编译运行后发现菜单和工具栏不显示图标,如下图: 我的解决办法是: 1.在QT项目中,菜单和工具栏图标一 ...
- 嵌入式linux系统移植的四大步骤_如何移植开源软件到嵌入式Linux系统
我们知道,在PC机Linux上,安装开源软件,一般来讲,大多是如下几个步骤就搞定了. tar -xzf open_source_software.tar.gz cd open_sourc ...
- 嵌入式Linux 软件界面,嵌入式Linux下的图形用户界面系统设计
为了满足嵌入式系统的界面设计需求,给出了一种图形用户界面系统SKY-GUI的设计思路和其在嵌入式Linux环境下的实现方法.SKY-GUI有四大组成部分:输入抽象层.显示抽象层.事件系统和窗口系统.其 ...
- linux(ubuntu16.04)系统下Matlab2015b软件下载与安装
Linux版Matlab2015b软件下载安装与运行 一.Matlab软件(Linux版)百度网盘下载 二.软件安装教程 三.软件破解步骤 四.打开软件和添加环境变量 五.创建linux桌面快捷方式 ...
- 可选版本 安装软件_【Linux软件】在Deepin系统下安装LibreOffice 6.1.4版本的方法
在Deepin系统下安装LibreOffice 6.4.1版本的方法 使用的是Deepin系统,从深度应用商店看到有LibreOffice,安装了一下,发现ui是真的丑,就像是十年前的xp那样,记得前 ...
- linux进程自动启动,linux 嵌入式 自启动 系统自动登录-自动启动程序或脚本
linux嵌入式开发板,设置系统自动登录和自动运行脚本或程序,下面一一进行说明. 一.系统自动登录 1.1.在实验板添加logintest脚本 logintest脚本位置:/home/root/ ...
- 能装linux的嵌入式,试试一张软盘可装下Linux(嵌入式Linux)
嵌入式Linux由一个几百KB的kernel(内核)和一些根据需要进行定制的系统模块组成.由于Linux是开放源代 码的操作系统,因此,其在嵌入式领域有其不可替代的成本和高度灵活性等优势. 将Linu ...
- linux开组态软件,基于嵌入式Linux的组态软件实时数据库的设计
1 引言 实时数据库(real-TIme database, RTDB)作为组态软件设计与实现的核心内容解决了其所 应对的现代工业生产现场环境中生产数据与控制数据类型复杂多样,数据处理与事件调度时 间 ...
最新文章
- day1-Python擅长的领域+学习内容
- springboot搭建的ssm项目
- 中国古代天文星象学的入门书:《步天歌》
- 需求、需求工程与需求工程师 — 2.需求的来源
- 评论:北京“网店新规”将死在问题中
- glut编译问题 (程序无法运行)
- 5.22青海云南同震
- 蓝宝石rx470d原版bios_狼神矿卡烤机89°C!强刷蓝宝石RX570超白金显卡BIOS降温75°教程...
- 第jiu届蓝桥杯单片机省赛真题_2018第九届蓝桥杯省赛真题 C语言B组 第二题
- [原创]MASM32新手指南
- cad隐藏图层命令快捷键_CAD关闭图层快捷键,隐藏显示的CAD图层
- Js文字特效—文字段逐个变色循环
- c# API串口通信
- defcon-ctf qualifer crypto writeup
- exchange 2016 附件大小限制设置
- uniapp爱玩小灰视频播放器使用流程
- ybt1549.最大数 题解
- LeetCode知识点总结 - 977
- decode和encode
- could not download处理方式
热门文章
- 使用hutool-poi在未安装Office或wps软件的电脑中生成Excel的xls后缀消失问题
- java-POI的Excel默认字体和样式
- git 更新某个目录或文件
- 树形json扁平化,一维数组树状化,对象深拷贝,元素后插入新元素,格式或动态路由等常用js合集
- 代数结构入门:群、环、域、向量空间
- Ubuntu18.04如何安装汉语(拼音)输入法
- picker多选 vant_vant框架picker选择器形式列表,以及封装
- 再见c罗再见梅西_再见眼镜你好smartglasses
- 以太网采用的拓扑结构基本是什么型
- java中flist cannot_关于usr/bin/ld: cannot find -lxxx问题总结