7094|12

83

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

各位大侠帮忙:主机为什么不能够启动usb audio device? [复制链接]

各位大侠,我自己做了个USB audio的硬件,我将usb audio 协议后面的那个例子(microphone)的描述修改了一点然后写入我的descriptor,结果主机能够识别是usb设备,也能够识别是audio,但是audio设备上打了个感叹号,我用usb lyzer capture
数据后发现,在audio start device的时候,提示configuration error。但是我那个描述符基本是audio协议附带的例子(microphone),修改了一点,去掉了一个setting,因为我硬件不支持set——interface。我将我用usb lyzer抓的我自己的设备的数据和其他audio 设备抓的数据对比,发现我的这个设备的区别在开始start audio device后,将一些descrip正确读取后,然后再一次start audio device(该信息是回应前面start audio device)出错,而其他的好的audio设备在start audio device后,同样是读取一些descrip的信息,只是接着pnp会发出query interface的要求,包括software enumerator以及usb bus driver,然后在一次start audio device(该信息是回应前面start audio device)就正确了。我的start device出现错误是不是就是因为没有query interface?如果是的话为什么主机不会发这个要求?

还有usb audio在start audio时候的set_cur等相关信息对主机来说是否是必须的,我的硬件是不支持set_cur这些要求的,这个对usb audio start 有否影响?

由于对主机驱动不懂,不知道我的问题在那里,请教各位那!

再次多谢各位大侠那!!!

最新回复

楼主还会看此贴吗?我现在有问题想想你请教  详情 回复 发表于 2009-11-4 14:15
点赞 关注

回复
举报

63

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
请问下楼主,USB Audio的协议哪里能够找到?谢谢!
 
 

回复

61

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
Universal Serial Bus Device Class Definition for Audio Devices, Version 1.0, available at http://www.usb.org

如果你还找不到的话留下你qq或者邮箱我传给你。
大家一起进步
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

4
 
"因为我硬件不支持set——interface"
不太理解,如果没有Interface export出来,Software driver怎么样去和设备通讯了?

帮忙顶一下,盼高人
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

5
 
"因为我硬件不支持set——interface"
是指的对于主机的命令:set_interface,我的USB DEVICE不能响应,所以在我的microphone里面只能有一个setting,就把原来协议后面附带的那个microphone的例子中的interface1的两个setting去掉了一个。
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 2 楼 kevinwang_1979 的回复:
Universal Serial Bus Device Class Definition for Audio Devices, Version 1.0, available at http://www.usb.org

如果你还找不到的话留下你qq或者邮箱我传给你。
大家一起进步

谢谢,去看下
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 
请高人指点啊,不知从何处下手,多谢那!!!
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

8
 
我用人家一个好的audio的声卡做了个试验,用usb lyzer抓包:发现在将所有的descrip读取后,跟着会发这样的数据包:
type:URB;
request:CLASS INTERFACE.

URB Function        URB_FUNCTION_CLASS_INTERFACE
Request Type        Class request to Interface
Request        01h
Value        0100h
Index        0300h
Length        0001h
该包好像就是set_CUR。

而我自己的audio设备在读取设备的descrip后没有上面的发包过程,不知道不能启动是不是这个原因。
并且我自己的设备不能相应set_cur的命令。

高人指教啊,在线等!
 
 
 

回复

59

帖子

0

TA的资源

一粒金砂(初级)

9
 
start_device的错误为:0xC0000182H  
                     STATUS_DEVICE_CONFIGURATION_ERROR   
但是我的配置基本和协议附带的例子相同啊
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

10
 
用IRPTrace看看,看驱动为什么返回错误.
帮顶...
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

11
 
现在我请教了一个高人,告诉我说:你的音频流接口必须要有1个数据量为0的接口(即bAlternateSetting),它没有同步端点。这个是USB音频协议里规定必须要的,你不能把它去掉。当主机开始时,首先会使用这个接口。你的设备必须增加对set interface的响应,只要返回一个0长度的数据包即可。
但是我在协议中没有找到interface1一定要有一个数据量为0的接口,即zero setting?协议中说zero setting只是Alternate setting 0 is a zero-bandwidth setting, used to relinquish the claimed bandwidth on the bus when the microphone is not in use.我现在不用setting0就是让他一直占着带宽啊。这个有错吗?

那位高人有看见此规定吗?
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

12
 
已经找到确却的话的出处,是高人所指的原因,封贴!
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

13
 
楼主还会看此贴吗?我现在有问题想想你请教
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
有奖直播:当AI遇见仿真,会有什么样的电子行业革新之路?
首场直播:Simcenter AI 赋能电子行业研发创新
直播时间:04月15日14:00-14:50

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 11

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表