基于Linux4.1.15源代码修改USB Gadget同时支持麦克风和扬声器
2025-09-23
0
0
学习USB为了精益求精。
为了搞清楚Llinux下USB设备的驱动程序,本人从USB Gadget开始,在做了大量的试验之后,发现UAC1并不能创建麦克风。所以,不得不从KS文件系统配置到了源代码的分析上。通过分析UAC1源代码(f_uac1.c)并没有实现麦克风功能。这一点在也RK的文档上有说明(Rockchip Developer Guide Linux4.4 USB Gadget UAC CN)。
通过阅读源代码f_uac1.c,对下面的这句话有了深刻的认知:
[1] Kernel 4.4 ⽀持USB Gadget UAC1/UAC2 录⾳和放⾳功能 问题描述: Kernel-4.4 的 USB Gadget UAC1/UAC2 驱动存在如下的问题: UAC1只⽀持放⾳功能,并且需要实际声卡配合使⽤ UAC2⽆法兼容Windows,虽然可以⽀持录⾳和放⾳,但是功能不完善
自己吐槽半天,也无济于事。也只能自己亲自上阵,结合自己丰富的USB/UAC知识,手搓一下,让其同时支持麦克风和扬声器。就当是对自己Linux/USB入门的第一次课内实践。经过本人的反复调试与修改,终于大功告成,现将结果展示如下。