一、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拨号相关推荐

  1. linux软件安装非系统盘,linux操作系统可不可以像安装windows软件一样在windows系统下的硬盘上安装...

    linux操作系统可不可以像安装windows软件一样在windows系统下的硬盘上安装 答案:2  信息版本:手机版 解决时间 2020-07-24 14:13 已解决 2020-07-23 16: ...

  2. Linux和Windows系统下:安装Anaconda、Paddle、tensorflow、pytorch,GPU[cuda、cudnn]、CPU安装教学,以及查看CPU、GPU内存使用情况

    Linux和Windows系统下安装深度学习框架所需支持:Anaconda.Paddlepaddle.Paddlenlp.pytorch,含GPU.CPU版本详细安装过程 1.下载 Anaconda ...

  3. Linux kubuntu x64系统下解决QT5.12编辑菜单和工具栏不显示图标问题

    Linux kubuntu x64系统下发现QT5.12在设计视图下编辑菜单和工具栏显示图标,但是编译运行后发现菜单和工具栏不显示图标,如下图: 我的解决办法是: 1.在QT项目中,菜单和工具栏图标一 ...

  4. 嵌入式linux系统移植的四大步骤_如何移植开源软件到嵌入式Linux系统

    我们知道,在PC机Linux上,安装开源软件,一般来讲,大多是如下几个步骤就搞定了. tar -xzf  open_source_software.tar.gz cd       open_sourc ...

  5. 嵌入式Linux 软件界面,嵌入式Linux下的图形用户界面系统设计

    为了满足嵌入式系统的界面设计需求,给出了一种图形用户界面系统SKY-GUI的设计思路和其在嵌入式Linux环境下的实现方法.SKY-GUI有四大组成部分:输入抽象层.显示抽象层.事件系统和窗口系统.其 ...

  6. linux(ubuntu16.04)系统下Matlab2015b软件下载与安装

    Linux版Matlab2015b软件下载安装与运行 一.Matlab软件(Linux版)百度网盘下载 二.软件安装教程 三.软件破解步骤 四.打开软件和添加环境变量 五.创建linux桌面快捷方式 ...

  7. 可选版本 安装软件_【Linux软件】在Deepin系统下安装LibreOffice 6.1.4版本的方法

    在Deepin系统下安装LibreOffice 6.4.1版本的方法 使用的是Deepin系统,从深度应用商店看到有LibreOffice,安装了一下,发现ui是真的丑,就像是十年前的xp那样,记得前 ...

  8. linux进程自动启动,linux 嵌入式 自启动 系统自动登录-自动启动程序或脚本

    linux嵌入式开发板,设置系统自动登录和自动运行脚本或程序,下面一一进行说明. 一.系统自动登录 1.1.在实验板添加logintest脚本 logintest脚本位置:/home/root/    ...

  9. 能装linux的嵌入式,试试一张软盘可装下Linux(嵌入式Linux)

    嵌入式Linux由一个几百KB的kernel(内核)和一些根据需要进行定制的系统模块组成.由于Linux是开放源代 码的操作系统,因此,其在嵌入式领域有其不可替代的成本和高度灵活性等优势. 将Linu ...

  10. linux开组态软件,基于嵌入式Linux的组态软件实时数据库的设计

    1 引言 实时数据库(real-TIme database, RTDB)作为组态软件设计与实现的核心内容解决了其所 应对的现代工业生产现场环境中生产数据与控制数据类型复杂多样,数据处理与事件调度时 间 ...

最新文章

  1. day1-Python擅长的领域+学习内容
  2. springboot搭建的ssm项目
  3. 中国古代天文星象学的入门书:《步天歌》
  4. 需求、需求工程与需求工程师 — 2.需求的来源
  5. 评论:北京“网店新规”将死在问题中
  6. glut编译问题 (程序无法运行)
  7. 5.22青海云南同震
  8. 蓝宝石rx470d原版bios_狼神矿卡烤机89°C!强刷蓝宝石RX570超白金显卡BIOS降温75°教程...
  9. 第jiu届蓝桥杯单片机省赛真题_2018第九届蓝桥杯省赛真题 C语言B组 第二题
  10. [原创]MASM32新手指南
  11. cad隐藏图层命令快捷键_CAD关闭图层快捷键,隐藏显示的CAD图层
  12. Js文字特效—文字段逐个变色循环
  13. c# API串口通信
  14. defcon-ctf qualifer crypto writeup
  15. exchange 2016 附件大小限制设置
  16. uniapp爱玩小灰视频播放器使用流程
  17. ybt1549.最大数 题解
  18. LeetCode知识点总结 - 977
  19. decode和encode
  20. could not download处理方式

热门文章

  1. 使用hutool-poi在未安装Office或wps软件的电脑中生成Excel的xls后缀消失问题
  2. java-POI的Excel默认字体和样式
  3. git 更新某个目录或文件
  4. 树形json扁平化,一维数组树状化,对象深拷贝,元素后插入新元素,格式或动态路由等常用js合集
  5. 代数结构入门:群、环、域、向量空间
  6. Ubuntu18.04如何安装汉语(拼音)输入法
  7. picker多选 vant_vant框架picker选择器形式列表,以及封装
  8. 再见c罗再见梅西_再见眼镜你好smartglasses
  9. 以太网采用的拓扑结构基本是什么型
  10. java中flist cannot_关于usr/bin/ld: cannot find -lxxx问题总结