移远EC20对UAC音频设备识别分析

首先分析AT+QCFG="USBCFG",0x2C7C,0x0125,1,1,1,1,1,0,1这个指令

我执行发现返回ERROR

而且发现

复制代码
#查看配置
AT+QCFG="USBCFG"
返回
+QCFG: "usbcfg",0x2C7C,0x0125,1,1,1,1,1,0

注意,这里如果只有6个数字,大部分文章提到必须7个数字才支持

怀疑硬件或者固件不支持,EC20CEFAGR06A06M4G这个低版本不支持,固件升级到A15支持了

含义:倒数第二个参数是启用 adb,倒数第一个参数是启用 UAC。

查看固件发现我的固件版本低

复制代码
ATI

Quectel
EC20F
Revision: EC20CEFAGR06A06M4G

发现网上公开的固件有 EC20CEFAGR06A08M4G和EC20CEFAGR06A15M4G

先升级到A08

复制代码
ATI

Quectel
EC20F
Revision: EC20CEFAGR06A08M4G

AT+QCFG="USBCFG"这个返回还是6位数

在升级到A15

复制代码
ATI

Quectel
EC20F
Revision: EC20CEFAGR06A15M4G

AT+QCFG="USBCFG"这个返回变7位数了,支持启用UAC音频了

在centos7(3.10.0内核)下查看音频列表

复制代码
[root@192 ~]# aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=AudioPCI
    Ensoniq AudioPCI, ES1371 DAC2/ADC
    Default Audio Device
sysdefault:CARD=AudioPCI
    Ensoniq AudioPCI, ES1371 DAC2/ADC
    Default Audio Device
front:CARD=AudioPCI,DEV=0
    Ensoniq AudioPCI, ES1371 DAC2/ADC
    Front speakers
rear:CARD=AudioPCI,DEV=0
    Ensoniq AudioPCI, ES1371 DAC1
    Rear speakers
surround40:CARD=AudioPCI,DEV=0
    Ensoniq AudioPCI, ES1371 DAC2/ADC
    4.0 Surround output to Front and Rear speakers
iec958:CARD=AudioPCI,DEV=0
    Ensoniq AudioPCI, ES1371 DAC2/ADC
    IEC958 (S/PDIF) Digital Audio Output

没有出现hw:CARD开头的硬件,难道是硬件坏了?

根据其他文章发现,可能和linux内核有关,测了几个发行版

Rocky8(4.18内核)

复制代码
aplay -L 返回(4.18内核)
null
    Discard all samples (playback) or generate zero samples (capture)
default
    Default Audio Device
sysdefault
    Default Audio Device
default:CARD=Android
    Android, USB Audio
    Default Audio Device
sysdefault:CARD=Android
    Android, USB Audio
    Default Audio Device
front:CARD=Android,DEV=0
    Android, USB Audio
    Front output / input
surround21:CARD=Android,DEV=0
    Android, USB Audio
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Android,DEV=0
    Android, USB Audio
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Android,DEV=0
    Android, USB Audio
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Android,DEV=0
    Android, USB Audio
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Android,DEV=0
    Android, USB Audio
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Android,DEV=0
    Android, USB Audio
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=Android,DEV=0
    Android, USB Audio
    IEC958 (S/PDIF) Digital Audio Output

ubuntu14.04.6 (4.4.0内核) CARD=Audo PCI,DEV=0

ubuntu14.04 (3.13.0内核) CARD=Android,DEV=0

可见3.13也能显示hw

根据分析,问题可能出现在3.10内核 无法原生支持 UAC2 Gadget ,这个驱动从3.11内核开始支持,差了一个小版本。

相关推荐
Starry-sky(jing)1 天前
BUG: unable to handle kernel paging request 完整排查:dmesg 四要素与三路定罪
linux·运维·服务器·内核·排障
云计算练习生3 天前
什么是操作系统的体系结构?宏内核、微内核与外核
操作系统·内核·外核·操作系统结构
zwd20053 天前
Manim add_sound 用法详解:time_offset、gain、多条音频与旁白对齐(2026 最新教程,0.21.0)
python·音频·动画·manim·数学动画·add_sound
AUTO_150756759655 天前
【KT70022】昆腾微 单片音频编解码器
单片机·音频
AUTO_150756759655 天前
【KT0951Q】昆腾微 国产品牌 车规 低中频高性能 收音AM/FM调谐芯片 替代TEF6686
汽车·音频
Starry-sky(jing)5 天前
watchdog: BUG: soft lockup - CPU#3 stuck for 22s! 怎么排查——从寄存器 dump 到自旋锁争用根因
linux·内核·服务器运维·soft lockup·性能排查
名誉寒冰7 天前
我是怎么理解 eBPF、AppArmor 和 Seccomp 的?
linux·网络·内核
XLYcmy13 天前
基于图神经网络的物联网固件漏洞静态挖掘技术方案 上
神经网络·物联网·网络安全·二进制·elf·漏洞检测·固件
开发笔记-阿牛19 天前
蓝牙音乐灯拆解,又一次拆到蓝牙音乐灯芯片CK6865L
人工智能·单片机·嵌入式硬件·音视频·音频
云计算练习生24 天前
什么是内核?操作系统内核到底管哪些事
linux·windows·操作系统·内核·shell