阅读:2325回复:6
关于NDIS和串口开发的问题,恳请高手帮忙。
本人欲通过PC串口与一手机调试板(板子的具体操作系统可以不管)实现IP包的发送接收。
具体如下: 先假设ARM板子可以提供标准的IP包以及上层网络服务。由于ARM调试板不带MODEM或者网卡功能,只有串口,所以在PC端目前不能直接使用NDIS下面的网卡和modem驱动,只能自己在串口上写个类似功能的驱动,姑且称之为“串口适配器”吧,这个模块不实现LLC和MAC功能,只简单将NDIS截获的IP包作为字节流发送过去。 故初步设计如下:设计一个简单的“串口适配器”,可以象网卡适配器和拨号适配器一样绑定到WINDOWS的NDIS上,然后TCP/IP栈下设计一个模块,使用NDIS的钩子技术截获上(TCP/IP栈)下(“串口适配器”)方向的IP包,这样既可以利用WINDOWS里的TCP/IP栈实现网页浏览等功能也可以绕开必须为现成的ARM调试板加入MODEM模块的难题。 思路上如此,但是不知可不可行?此外,哪位知道实现目前市面上GPRS手机的MODEM功能,需要哪些芯片和软件协议?希望各位能帮助我!感激之情无以为报,只有以分相许。 |
|
沙发#
发布于:2003-02-17 11:34
本人欲通过PC串口与一手机调试板(板子的具体操作系统可以不管)实现IP包的发送接收。 完全可以实现。简单的说可以做一个虚拟网卡(IMD也行),在虚拟网卡内打开的你MODEM设备然后进行通信。其实原理就这么简单。 GPRS,我就不懂了。 |
|
|
板凳#
发布于:2003-02-17 12:06
不好意思,我原是做无线协议的,对WINDOWS底层不太熟悉,所以有些初级的问题要再请教一下:做“串口适配器”需要哪些技术?如何与WINDOWS的TCP/IP栈对接?如何编写程序安装到WINDOWS系统?如何绑定到32位NDIS?做这些需要哪方面的知识和编程技术?请指示一条明路。
|
|
地板#
发布于:2003-02-17 13:45
建议你去看看加拿大一家公司的GPRS MODEM,他们在PCMCIA接口上模拟了一个串行口和LAN,关于串口的模拟我想你就先不用了解了,关键是它模拟了LAN,这个产品名字叫AIRCARD750,其软件非常好,但是我不知道他们是怎么做的。也许对你有帮助。
|
|
|
地下室#
发布于:2003-02-17 14:32
我考虑过在终端模拟MODEM的做法,但是由于缺乏相关的资料,根据协议对称的道理,对于UE端必须和一样PC具有PPP和MAC协议层,所以也不是太好做,不知你的观点如何?关于那个加拿大公司,能否给出网址?非常感谢你的参考意见!
|
|
5楼#
发布于:2005-01-11 14:41
推荐两个有用的工具 用于调试PPP IP TCP UDP HTTP ...
软件名称:COMgrasp 软件版本:1.0 见议分类:系统测试 联系EMAIL:fu_jinying@sohu.com 软件网站:http://blog.e6t.net/fu_jinying/ 下载地址:http://home4u.china.com/HOME10/90/70/30/20/42/0000297324/COMgrasp/COMgrasp.rar 软件容量:210 KB 软件类型:国产软件 应用平台:Win95/98/NT/2000/XP 界面预览:http://blog.e6t.net/fu_jinying/ 软件介绍: COMgrasp.exe 简介 大家好,经过两个星期的努力,COMgrasp.exe v1.0 终于和大家见面了。 1. 文件 Readme.doc This file. COMgrasp.exe 工具执行文件。 comcap.sys 驱动文件。 ethereal-setup-0.9.6.exe 查看分析ppp, tcp/ip, ... 协议的免费软件, 可打开cap文件。 Dec 31 14-01-38.cap Sample *.cap, 由COMgrasp.exe v2.0生成, IE browser “www.sina.com.cn”。 2. COMgrasp.exe v1.0 的功能 实时侦测某个COM口打开和关闭。 实时显示某个COM口发送和接受的数据。 测试某个COM口,打开,关闭,读数据,写数据。 有问题请联系。 3. COMgrasp.exe v2.0 增加的功能, 需要注册。 解析某个COM口发送和接受的数据,并生成*.cap文件, 用于分析协议完成是否正确。 支持协议:ppp, ip, tcp, udp, wtp, wsp, mms, ... 在下有丰富的多种协议的开发经验,可以帮助你解决问题。 需要请联系。 4. 使用方法 将COMgrasp.exe, comcap.sys拷到一个目录下,运行COMgrasp.exe 点击图标”鱼”,可以打开COM,发送数据,接受数据, 关闭COM. 5. 联系方式 fu_jinying@sohu.com http://home4u.china.com/HOME10/90/70/30/20/42/0000297324/COMgrasp/COMgrasp.rar 6. 优点 在局域网上,我们有很多工具用来开发协议,例如 NetxRay, Sniffer,Ethereal 等等,但是,遗憾的是我们的大多数协议都是在嵌入式系统上开发的,为此很多人付出了许多枯燥辛苦的劳动,用手工的方式一个字节一个字节,甚至一个位一个位地去检查,判断,现在,我们终于有了一个工具,来加速我们协议的开发。 Ethereal 是一个免费的多种协议分析工具,它支持的文件格式是 .cap , 它可以解析PPP/IP/TCP/UDP/WTP/WSP/MMS 等各种协议,可以很方便地查出数据出错的地方,由此我们能够快速地改正程序的错误,加快协议的开发。 在嵌入式系统上,大部分的协议都是利用串口来通讯的,并基于PPP/IP/TCP/UDP,COMgrasp.exe这个工具可以侦听到PC串口收发的数据,并解析PPP/IP/TCP/UDP数据协议,把原始的数据转换成 .cap 文件,这样一来,用户就可以利用Ethereal来查看解析后的数据, 何处出错一目了然。 另外,作者也可以提供抓数据的C源代码,用户可以把它嵌入到自己的系统中,这样也可以生成 .cap 文件,用Ethereal来查看. 大家可以下载COMgrasp.rar并解开,文件“Dec 31 14-01-38.cap”就是IE通过MODEM上新浪网时COMgrasp.exe v2.0抓到的数据解析文件,用Ethereal查看,是不是一目了然。 Ethereal是免费工具,大家可以在网上找到,也可以问fu_jinying@sohu.com要。 |
|
6楼#
发布于:2009-07-30 17:28
各位
我最近也想做一个相近的 “串口适配器” , 只不过我是通过串口连接 wifi 开发板, 用 DriverStudio 生成一个 工程后,调试时发现 NDIS 调完我的 DriverEntry 后, 就不再调我指定的 MiniportInitalize函数了, 是不是因为这样做行不通呢? 请高手们指教一下, 我刚接触驱动开发不久。。。 谢谢! |
|
|