华为系本子的老毛病了。
华为系本子的老毛病了。
原来早就有修复,只是好多系统都没集成,刚好发现了,试了下可以,就增加了一点优化了下拔插的体验
我的华为matebook13s,没有输出,看来不适用这种方法了。
WangWq@WangWq-PC:~/Desktop$ ls /sys/bus/i2c/devices/ | grep -i HWSP
预期输出示例:i2c-HWSP0001:00
WangWq@WangWq-PC:/Desktop$ git clone https://gitee.com/xiyidaiwa/huawei-matebook-d15-speaker-fix/Desktop$
cd huawei-matebook-d15-speaker-fix
sudo ./install.sh
sudo systemctl restart huawei-speaker-mute.service
找不到命令 “git”,但可以通过以下软件包安装它:
sudo apt install git
bash: cd: huawei-matebook-d15-speaker-fix: 没有那个文件或目录
请验证人脸或密码:
验证成功
sudo: ./install.sh:找不到命令
Failed to restart huawei-speaker-mute.service: Unit huawei-speaker-mute.service not found.
WangWq@WangWq-PC:
我的华为matebook13s,没有输出,看来不适用这种方法了。
WangWq@WangWq-PC:~/Desktop$ ls /sys/bus/i2c/devices/ | grep -i HWSP
预期输出示例:i2c-HWSP0001:00
WangWq@WangWq-PC:/Desktop$ git clone https://gitee.com/xiyidaiwa/huawei-matebook-d15-speaker-fix/Desktop$
cd huawei-matebook-d15-speaker-fix
sudo ./install.sh
sudo systemctl restart huawei-speaker-mute.service
找不到命令 “git”,但可以通过以下软件包安装它:
sudo apt install git
bash: cd: huawei-matebook-d15-speaker-fix: 没有那个文件或目录
请验证人脸或密码:
验证成功
sudo: ./install.sh:找不到命令
Failed to restart huawei-speaker-mute.service: Unit huawei-speaker-mute.service not found.
WangWq@WangWq-PC:
可以让ai帮你分析你是啥声卡,帮你找github上有没有解决方案
可以让ai帮你分析你是啥声卡,帮你找github上有没有解决方案
这是AI的回答:
所以在 Deepin(Linux)系统下,MateBook 13s 的声卡驱动方案是 SOF(Sound Open Firmware),配合 snd-hda-intel 或 snd-sof 内核模块使用。如果安装 Deepin 后声音不正常,可以尝试:
- 安装
sof-firmware驱动包 - 使用
alsamixer调整内部通道(如将 "Auto-Mute" 关闭、调整 "Headphone" 或 "Speaker" 通道音量)
这是AI的回答:
所以在 Deepin(Linux)系统下,MateBook 13s 的声卡驱动方案是 SOF(Sound Open Firmware),配合 snd-hda-intel 或 snd-sof 内核模块使用。如果安装 Deepin 后声音不正常,可以尝试:
- 安装
sof-firmware驱动包 - 使用
alsamixer调整内部通道(如将 "Auto-Mute" 关闭、调整 "Headphone" 或 "Speaker" 通道音量)
用opencode cli 或者 UOS-ai 能跑cli命令的AI 按照这个提示词给他分析:
你是一位 Linux 音频子系统(ALSA / ASoC / SOF / PipeWire)和华为笔记本硬件方向的排障专家。我现在遇到的问题是:
【设备】
- 机型:Huawei MateBook 13s(i7-1260P / 12代 Alder Lake,具体声卡待探,常见为 ES8336 或类似低功耗 codec + 华为定制功放)
- 系统:Linux(发行版和内核版本我会贴)
- 现象:耳机有声,扬声器完全无声;alsamixer 里 Speaker / DAC 已确认非静音
【目标】
请你按下面 5 步帮我做多维度分析 + 修复,不要只给一句"试 quirk=xxx"。
Step 1|环境探测清单
请先告诉我需要采集哪些命令输出,我会贴回来。至少覆盖:
- 内核版本:uname -r
- 声卡识别:aplay -l, cat /proc/asound/cards
- 驱动加载:lsmod | grep -E 'es8336|sof|snd_soc'
- 内核日志:sudo dmesg | grep -iE 'sof|es83|essx|hda' | tail -60
- ACPI/I2C 功放探测:ls /sys/bus/acpi/devices/ | grep -i hwsp; ls /sys/bus/i2c/devices/ | grep -iE 'HWSP|ESSX|es83'
- UCM 配置:ls /usr/share/alsa/ucm2/Intel/ | grep -i essx
- 当前 quirk:如果 /sys/module/snd_soc_sof_es8336/parameters/quirk 存在则读它
- 拓扑文件:ls /lib/firmware/intel/sof-tplg/ | grep -iE 'es83|adl'
- alsa 层:amixer -c N contents | grep -A3 'Jack|Speaker|DAC|Headphone'
(N 替换为 aplay -l 里看到的卡号)
Step 2|GitHub / 社区项目检索
请主动检索以下方向的相关项目(不要只依赖我给的链接),挑出和 MateBook 13s 最接近的:
- huawei-matebook-d15-speaker-fix(HWSP0001 功放类,13s 可能同款也可能不同)
- sof-es8336 相关社区 patch / Arch Wiki / NixOS 讨论
- yangxiaohua2009 的 sof-es8336 定制内核方向
- 任何提到 MateBook 13s / 14s 扬声器修复的 issue 或 gist
把每个项目适用的机型、声卡组合、修复思路简要列出来,再判断我的 13s 属于哪一类。
Step 3|多维度归因框架
收到我的环境输出后,请按下面 5 层逐层判断是哪一层的问题,每层给判断依据:
① 驱动层:sof-essx8336 是否 probe 成功、quirk 是否匹配 13s(12代 ADL 要留意 tplg 是 adl 还是 jsl 路径)
② tplg 层:sof-adl-es8336*.tplg 是否存在、DMIC/SSP 数是否匹配(13s 可能 SSP1 而非 SSP0)
③ UCM 层:HiFi.conf 里 Speaker Switch / Speaker Playback Volume / Headphone Mixer 是否定义齐全,是否默认 muted
④ 功放层:是否 HWSP0001 类 i2c 功放(13s 批次很可能是,需要 i2cset 回填寄存器 + 耳机插拔联动)
⑤ 路由层:PipeWire / PulseAudio 是否把输出口误判为 Headphone,Auto-Mute / Active Port 是否正确
Step 4|给出修复路径(分优先级)
- 先给"最小改动验证法"(改 quirk + 确认 UCM + alsamixer 开开关),让我先确认扬声器硬件通路是通的
- 再给"固化方案"(/etc/modprobe.d/ + update-initramfs + 如需则 systemd 守护 i2c 功放)
- 如果判断是 HWSP0001 类,请给出适配 13s 的 i2c 总线探测方法(13s 的 i2c-designware 编号可能和 D15 不同,不能照搬 D15 的 i2c-2/i2c-4)
Step 5|验证清单
修复后让我逐项确认:扬声器出声、耳机插拔自动切换、睡眠唤醒后扬声器不哑、无爆音。
【附加要求】
- 如果某一层的判断依据不足,请明确告诉我"需要补采 xx 命令",不要瞎猜
- 13s 和 D15 的坑不完全一样(13s 更可能是 SSP1 + 不同功放地址),请不要直接套 D15 的 quirk=0x02 结论,先让我探环境再定
- 如果检索到 GitHub 项目里有 13s 专属的 quirk 值或 i2c 地址,请优先采纳
我是安装的vscode 使用的codebuddy 插件,让AI全面检测系统,并分析github或gitee是否有对应硬件修复方案来解决的


中文 


华为 MateBook 扬声器/耳机切换修复脚本(纯用户空间 · 免编译内核)
📌 核心结论
如果你的机器符合条件,本脚本可以 一键修复 以下问题,且不涉及内核编译,随时可回退:
项目地址:
🚀 快速开始(10秒确认 + 1分钟安装)
1. 确认机型是否适用
在终端执行以下命令,有输出即适用:
若无输出,说明你的功放不是 HWSP0001,请勿直接使用(参考文末“通用性说明”)。
2. 安装与启动
3. 验证修复效果
完成安装后,依次检查以下场景:
🔍 问题根源分析
HWSP0001 功放在 Linux 下缺失官方驱动,导致两个层面的问题:
问题一:扬声器基础静音(上游已解决)
reinit_amp)。问题二:耳机切换逻辑断裂(本仓库解决)
0x01=0x00),而非简单的物理引脚控制。✨ 方案亮点
i2cset和alsactl,无需编译内核或加载第三方模块。🛠️ 手动排查与维护
查看服务状态
查看功放寄存器状态(调试用)
实时监控插拔事件
卸载/停用
📖 通用性说明(重要)
本脚本并非万能驱动,它是针对 HWSP0001 特性的专用解决方案。
完全适用:已验证的 HWSP0001 机型(如 BoF-XX, BOD-WXX9),直接安装即可。
可借鉴框架:如果你的机器是其他功放芯片(非 HWSP0001),但符合以下条件,可复用本脚本框架:
i2cdetect/i2cdump确定 I2C 地址和寄存器值,替换脚本中的set_amp()和reinit_amp()函数即可。📄 技术细节
/boot/config-$(uname -r)内核配置无关,适用于各类未修改的 Linux 发行版。i2c-tools,alsa-utils,systemd.🙏 致谢
本项目基于 MaximushkaBed/huawei-matebook-d15-speaker-fix 进行二次开发与优化。感谢原作者解决了 HWSP0001 的基础发声问题,本仓库在此基础上重点完善了耳机插拔联动逻辑、自动探测机制及防爆音处理。
如有同机型或类似问题,欢迎提交 Issue,请务必附带
huawei-speaker-mute.sh status及alsactl monitor hw:0的输出日志。