yeahohoo
驱动牛犊
驱动牛犊
  • 注册日期2007-06-04
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分190分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
阅读:3734回复:9

[求助]如何开发usb接口的wlan网卡驱动

楼主#
更多 发布于:2007-06-04 19:02
各位大虾,我现在要用atmel公司的at90usb1287开发嵌入式程序来控制usb接口的wlan无线网卡发送和接收数据。由于本人嵌入式开发经验有限,再加上对usb协议和802.11协议都不熟悉,虽然最近一直在学习中,但仍是一头雾水不知从何入手。
我现在遇到的最大问题是,如何通过usb来驱动无线网卡?当wlan网卡插到usb单片机上以后,单片机需要通过什么协议或者规范才能控制网卡工作,关联ap,发送、接收数据?或者说我需要通过usb接口向网卡发送什么数据才能让它动起来??

时间很紧,还望高人能够指点迷津!!!
yeahohoo
驱动牛犊
驱动牛犊
  • 注册日期2007-06-04
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分190分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-06-05 22:23
长期在线等待,还望有经验的高人能够指点一下!
多谢了!!!
Shentu
驱动小牛
驱动小牛
  • 注册日期2004-04-05
  • 最后登录2011-01-24
  • 粉丝0
  • 关注0
  • 积分234分
  • 威望24点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2007-06-06 09:48
问题还是描述的不够清楚,如果能把问题分解一下,或者按照连接关系把你要开发的设备描述的更清晰一些,能有个框图就更好了...
yeahohoo
驱动牛犊
驱动牛犊
  • 注册日期2007-06-04
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分190分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-06-06 16:12
谢谢Shentu回复

问题是这样的,我有一个at90usb1287单片机,它带有一个usb接口,可以作为device,也可以做host,我现在希望用它来做host,然后通过usb接口与另外一块usb无线网卡相连,控制无线网卡收发数据。现在usb通信基本没问题,问题是我不知道该如何开发这个网卡的驱动,要通过usb向网卡发送什么命令才能够使它工作(例如初始化,发送、接收数据等)。
现在的问题不在at90usb1287这边,而是在无线网卡这边,我不知道如何使它工作。我知道对于不同的无线网卡,似乎没有统一的驱动,应该是依赖于网卡所采用的控制芯片吧,在我搞清楚哪些网卡(或者芯片)有公开的开发文档,或者是开源的可移植的驱动之前,我还不能确定我要采购什么牌子的网卡,所以我也不能对网卡有更清晰的描述。
所以,在这里希望高手能够提供一些原理、开发流程、相关资料等类似的信息,或者一些建议,希望大家能多帮帮我,谢谢~!
Shentu
驱动小牛
驱动小牛
  • 注册日期2004-04-05
  • 最后登录2011-01-24
  • 粉丝0
  • 关注0
  • 积分234分
  • 威望24点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-06-06 20:42
不好意思阿,我真没有做过类似的东西,只能说说我的想法了。有几个问题:
你的单片机收发网卡数据,对那些数据要作什么处理呢?效率方面来不来得及?我担心速度会比较慢。。。

正如你所说,不同的网卡有不同的控制芯片,如果是第一次开发产品做样机,尽量选择一个工作稳定、文档全、口碑好、售后支持好的,而且最好他们的驱动要通过微软认证的,如果有linux下的驱动的就更好了,可以直接读源码就知道怎么让他工作起来。然后如果市场需要cost-down,再选择一个便宜的进行二次开发会比较好...
yeahohoo
驱动牛犊
驱动牛犊
  • 注册日期2007-06-04
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分190分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-06-06 22:03
谢谢版主了!
速度方面我想不是问题吧,因为它们是通过usb连接的,应该都支持usb的full-speed,所以单片机应该可以及时处理数据。看来我只能找一下linux下面的网卡驱动看源码了。
谢谢你了!    
yeahohoo
驱动牛犊
驱动牛犊
  • 注册日期2007-06-04
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分190分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-06-07 20:51
有没有高手指点一下啊!
长期在线等待!!!
GoodOnline
驱动小牛
驱动小牛
  • 注册日期2007-04-11
  • 最后登录2009-02-28
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望204点
  • 贡献值0点
  • 好评度191点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-06-12 14:22
你的系统应该是这样的(个人想象):
(1)host由at90usb1287实现,完成usb2.0的任何协议相关的东西了,包括枚举设置等功能....
(2)wireless card是一个usb设备,本身也有自己的host 以及wireless 功能部分(你把它想象成uSB FLASH DISK).

你需要写的就是一个功能驱动,这个功能驱动完成对usb wireless card的管理.
可以想象一下, 你的wireless card应该由你的host枚举出来(应该是hub),然后host会枚举各种描述符号,至少拿到interface描述符,最后得到vonder,device,interface等信息,然后根据这些加载你写的wireless card driver. 那么你会问这个driver怎么写.?你要做的就是按照 usbwireless的规范发送各种packet, 具体到 www.usb.org 下载相关协议看下. (at90usb1287).

总之,你不要写wireless card本省的driver(管理内部的硬件),你只要按照规范写和wireless card通信的driver就可以了.
yeahohoo
驱动牛犊
驱动牛犊
  • 注册日期2007-06-04
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分190分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-06-13 23:31
引用第7楼GoodOnline于2007-06-12 14:22发表的  :
.......
那么你会问这个driver怎么写.?你要做的就是按照 usbwireless的规范发送各种packet, 具体到 www.usb.org 下载相关协议看下. (at90usb1287).
.......


你说的很对,我现在就是不知道该怎么写这个driver。我不是很理解你后面说的那句话,usb wireless的规范发送各种packet是什么意思?你是说usb规范里面有关于与网络设备通信的规范吗?我在usb2.0规范里面没有找到类似的内容。还有,协议部分会讲到怎么控制wireless card吗?例如我要设置card的工作模式,这个在协议中也会讲吗?

还请多多指点,时间很急,谢谢啦~!
richy_huang
驱动牛犊
驱动牛犊
  • 注册日期2005-03-13
  • 最后登录2014-06-27
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望89点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2013-07-09 11:16
这个项目现在还有人在做么,已经过去5年了,最近我也碰到这个问题,一头雾水啊
游客

返回顶部