本站的1位用户
加入于2021-05-27
B站搜索 站长漫谈 看视频。
pnpon内核开发网,USB中文网
站长
    该代码是经过本人修改后的源代码,在原来仅支持一路扬声器的基础上增加一路麦克风,并让麦克风的数据和扬声器的数据回环。/* * f_audio.c -- USB Audio class function driver * * Copyright (C) 2008 Bryan Wu
    阅读数:0点赞数:02025-09-23 20:22:10
    学习USB为了精益求精。为了搞清楚Llinux下USB设备的驱动程序,本人从USB Gadget开始,在做了大量的试验之后,发现UAC1并不能创建麦克风。所以,不得不从KS文件系统配置到了源代码的分析上。通过分析UAC1源代码(f_uac1.c)并没有实现麦克风功能。这一点在也RK的文档上有说明(......
    阅读数:0点赞数:02025-09-23 16:53:07
    上一篇文章大概说了一下在搞UAC1复合麦克风扬声器,当时也仅是将设备复合出来了,没有进行数据的通讯处理。今天要说的是音频数据处理也”正常”了。由于IMX6UL自带的扬声器和麦克风,本来的想法是相互独立。扬声器用IMX6UL自常的扬声器播放,而麦克风用自带的麦克风采集声音,可无奈u_uac1.h/c......
    阅读数:0点赞数:02025-09-23 16:50:35
    对于USB Gdaget驱动,有两个结构体,分别代表实例usb_function_instance(模板)和实例本身usb_function。其中包含了usb_function_instance的结构体中包含了通过fsconfig可配置的参数,而包含了usb_function的结构体包含了设备的相关......
    阅读数:0点赞数:02025-09-16 11:56:05
    USB Gadget UAC1默认创建的是一个UAC1 扬声器。设备的拓扑结信息如下:USB Audio ControlInput Terminal (1),2chFeature Unit(2)Output Terminal(3),speakerUSB Aduio StreamingFor......
    阅读数:0点赞数:02025-09-16 11:06:38
    HID标准请求GetDescriptor为两部分:1字节1字节2字节2字节2字节bmRequestType(1)bRequest(1)wValue(2)wIndex(2)wLength(2)100 xxxxxGET_DESCRIPTOR (0x06)Des......
    阅读数:0点赞数:02025-09-15 15:57:24
    这里以USB Gddget- source/sink创建的设备为例,详见:https://www.usbzh.com/article/detail-1581.html这里的同步端点位于inter=0,alt=1接口描述符下,有端点地址分别为0x02和0x82,PacektSize都为1024接收......
    阅读数:0点赞数:02025-09-15 12:06:03
    关于同步传输的示例在f_sourcesink.c中。其编译后依旧位于usb_f_ss_lb.ko中应用可以通过如下代码来创建设备root@ATK-IMX6U:/lib/modules/4.1.15# cat fs_lc.sh #!/bin/bashmodprobe libcomposite......
    阅读数:0点赞数:02025-09-11 16:38:09
    当执行命令ln -s functions/Loopback.0 configs/c.1之后,会调用loopback_alloc函数创建usb_functionstruct f_loopback { struct usb_function function; struct......
    阅读数:0点赞数:02025-09-11 10:50:33
    linux usb gadtet的设备类驱动有两个很重要的概念:usb_function_instance和usb_function从名来上看,usb_function_instance像是usb_function的实例化,但实际是恰恰相反。这里以f_loopback为示例解释:USB设备信息执......
    阅读数:0点赞数:02025-09-10 14:40:36
    初始化相关函数说明WinUsb_Initialize初始化WinUSBWinUsb_Free释放WinUsb_Initialize的资源设备信息函数说明WinUsb_GetDescriptor请求描述符WinUsb_GetPipePoli......
    阅读数:0点赞数:02025-09-05 12:21:27
    由于MSOS1.0是通过0xee的字符串触发的,且需要设备描述符bcdUSB的值设为0x200,在获取信息时需要:获取字符串描述符(0xee),解析出vendorId发送vendor控制请求,Index=04 00 获取兼容ID的内容发送vendor控制请求,Index=05 00 获取Winu......
    阅读数:0点赞数:02025-09-04 17:21:28
    CH569是USB3.0设备,WCH给的示例CH372Device本身USB3.0是支持WINUSB的,但是USB2.0不支持(不是不支持,是代码没有写)。故这里对USB2.0代码完善支持,让其通过微软系统描述符1.0支持WINUSB.关于微软系统描述符1.0详见https://www.usbzh......
    阅读数:0点赞数:02025-09-03 16:50:33
    和NCM一样,由于兼容ID的问题,RNDIS网络适配器也需要手动安装驱动。其对应的驱动为:netrndis.infrndismp6.sys其创建脚本如下:#!/bin/bashmodprobe libcompositemodprobe usb_f_rndismount -t conf......
    阅读数:0点赞数:02025-08-28 15:10:26
    Loopback Function 提供的功能简单,它分配了两个 bulk endpoint,所做的就是把 out_ep 接收到的数据转发到 in_ep。#!/bin/bashmodprobe libcompositemodprobe usb_f_ss_lbmount -t configfs......
    阅读数:0点赞数:02025-08-28 14:19:06