bawfgicfh
驱动牛犊
驱动牛犊
  • 注册日期2008-05-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望10点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
阅读:1775回复:6

PCI modem卡驱动开发,问:xp4015

楼主#
更多 发布于:2008-08-20 09:55
学了两个月的驱动开发,看了好多资料。作了一些简单的驱动例子(ds作的)

现在我手上有块PCI modem卡,就是没有datasheet(网上找了好多没找到,希望网友能提供个类试的)

知道初始化配置空间,中断,自旋锁,I/O映射,DPC,DMA等。。。。(这些好像很多驱动多会用到)

知道要操作寄存器,如UART。(但是我找不到寄存器地址)

看了DDK自带的modem例子(至少理解8成了吧),好像没有实现具体的功能。如:硬件资源多没获取。我要怎么修改它?

modem驱动和NDIS驱动有什么区别?还是是一样的(我有看到用NDIS开发modem驱动的源码不过好像是ISA 的)

现在老总要我实现,一台PC机上插入多张modem卡(conexant 11252-41z芯片)能同时工作的驱动。
还有我现在还没找到对应的datasheet.

请问题这种情况下能开发得出来吗?我还需要知道哪些东西?
xp4105
论坛版主
论坛版主
  • 注册日期2006-04-02
  • 最后登录2014-03-29
  • 粉丝1
  • 关注0
  • 积分905分
  • 威望570点
  • 贡献值1点
  • 好评度162点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2008-08-20 10:33
首先,插几个卡与驱动没有什么联系,在应用层才会有区分(必须区分,比如设置ID)。
其次,可能你需要一些datasheet(http://cn.ic-on-line.cn),了解modem工作原理。
时光如流水 抓紧时间实现自我价值
xp4105
论坛版主
论坛版主
  • 注册日期2006-04-02
  • 最后登录2014-03-29
  • 粉丝1
  • 关注0
  • 积分905分
  • 威望570点
  • 贡献值1点
  • 好评度162点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2008-08-20 10:38
NDIS是基于操作系统的一个虚拟驱动,提供统一接口,便于使用不同的上网硬件,只要厂商开发出符合NDIS接口要求的驱动,能被加载并被NDIS调用就行。
时光如流水 抓紧时间实现自我价值
xp4105
论坛版主
论坛版主
  • 注册日期2006-04-02
  • 最后登录2014-03-29
  • 粉丝1
  • 关注0
  • 积分905分
  • 威望570点
  • 贡献值1点
  • 好评度162点
  • 原创分1分
  • 专家分0分
地板#
发布于:2008-08-20 10:38
MODEM是指直接用MODEM的AT命令集进行联网及通信,绕过操作系统的支持,所有的命令及操作都需要自己做。
时光如流水 抓紧时间实现自我价值
bawfgicfh
驱动牛犊
驱动牛犊
  • 注册日期2008-05-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望10点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2008-08-21 10:38
引用第1楼xp4105于2008-08-20 10:33发表的  :
首先,插几个卡与驱动没有什么联系,在应用层才会有区分(必须区分,比如设置ID)。
其次,可能你需要一些datasheet(http://cn.ic-on-line.cn),了解modem工作原理。


这里说要设置ID来区分不同的设备,我知道在驱动里可以设置GUID,以供应用层调用各个对应的设备对象,也知道在一个驱动里可以建多个设备对象和INF文件里可以初始化安装多个modem注册信息。。。但我不知道你这里说的ID在什么地方设置,以使应用层能够识别在PCI总线上的同型号设备。
bawfgicfh
驱动牛犊
驱动牛犊
  • 注册日期2008-05-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望10点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2008-08-21 10:50
引用第3楼xp4105于2008-08-20 10:38发表的  :
MODEM是指直接用MODEM的AT命令集进行联网及通信,绕过操作系统的支持,所有的命令及操作都需要自己做。


modem的驱动对于数据的操作是不是只负责接收应用层发来的数据,然后写入对应的寄存器发送出去,及硬件接收到数据后通知应用程序读取。(这里忽略IRP的调度问题,)这里还有modem传输状态的判断也要自已在驱动里处理对吗?

如果是这样你上面说的所有的命令多是从应用层的应用程序传来的AT命令(只要modem能识别就行的对吗?)

总结:我只要通过驱动传送应用层发来的数据到硬件寄存器上就可以了,硬件寄存器能自已识别是命令还是数据伟输对吗?(还是我要判断当前modem是在线命令状态还是数据传输)

谢谢你的回答。。。
bawfgicfh
驱动牛犊
驱动牛犊
  • 注册日期2008-05-11
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分3分
  • 威望10点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2008-08-21 10:55
问一下INF文件的问题:

inf里好多个关于写注册表的段如:[addreg]写的一些初始化硬件的信息及回复请求的信息,
请问这些信息是在硬件插入系统时自动初始经硬件还是要在驱动里读这些信息进行初始化(或者说应用程序)
游客

返回顶部