[Share Experiences] HUAWEI (C233) Notebook无音频输出的用户请看过来
Tofloor
poster avatar
owen_337
deepin testing team
2024-04-03 16:13
Author

HUAWEI (C233) Notebook无音频输出的用户请看过来

想直接看解决方案的请拖动到最下面<解决方案>

[问题现象]

    在我们的日常验证工作中,我们遇到了一个异常情况:HUAWEI (C233) Notebook 设备在 deepin v23 beta2 版本上能够正常输出音频,但在升级到 deepin v23 beta3 版本后,音频输出突然消失了。这个现象让我们感到困惑,我们需要进一步调查以找到解决方案。设备信息如下:

[设备信息]

设备: HUAWEI HKD-WXX (C233) Notebook
操作系统: Deepin 23 Community(Beta3) Linux version 6.1.32-amd64-desktop-hwe (deepin@v23.deepinci-amd4) (gcc (Deepin 13.2.0-3deepin) 13.2.0, GNU ld (GNU Binutils for Deepin) 2.41) #23.01.00.20 SMP PREEMPT_DYNAMIC Thu Jan 11 18:45:10 CST 2024
处理器: 11th Gen Intel(R) Core(TM) i5-11300H @ 3.10GHz (四核 / 八逻辑处理器)
主板: HKD-WXX-PCB-B1
内存: 2GB(UBE3D4AA-MGCR LPDDR4 4267 MT/s)/2GB(UBE3D4AA-MGCR LPDDR4 4267 MT/s)/2GB(UBE3D4AA-MGCR LPDDR4 4267 MT/s)/2GB(UBE3D4AA-MGCR LPDDR4 4267 MT/s)/2GB(UBE3D4AA-MGCR LPDDR4 4267 MT/s)/2GB(UBE3D4AA-MGCR LPDDR4 4267 MT/s)/2GB(UBE3D4AA-MGCR LPDDR4 4267 MT/s)/2GB(UBE3D4AA-MGCR LPDDR4 4267 MT/s)
显示适配器: TigerLake-LP GT2 [Iris Xe Graphics]
音频适配器: Tiger Lake-LP Smart Sound Technology Audio Controller/sofhdadsp /card0
存储设备: 511BS0512GB (512 GB)
蓝牙: babyfengfjx-PC
网络适配器: Wi-Fi 6 AX201
鼠标: GXTP7863:00 27C6:01E0 Mouse (GXTP7863:00 27C6:01E0 Mouse)/GXTP7863:00 27C6:01E0 Touchpad (GXTP7863:00 27C6:01E0 Touchpad)/GXTP738X:00 27C6:0114 (GXTP738X:00 27C6:0114)
键盘: AT Translated Set 2 keyboard (AT Translated Set 2 keyboard)
显示设备: TL142GDXP02-0(14.2 英寸(300mm X 200mm))
图像设备: USB Camera (3730304231415831434D53 USB Camera)
其他设备: Goodix Fingerprint Device

[环境]

镜像版本: https://cdimage.uniontech.com/community/releases/23-Beta3/deepin-desktop-community-23-Beta3-amd64.iso
内核版本:Linux deepin20-PC 6.1.32-amd64-desktop-hwe #23.01.00.20 SMP PREEMPT_DYNAMIC Mon Sep 11 14:16:03 CST 2023 x86_64 GNU/Linux

[音频信息]

*-multimedia
description: Multimedia audio controller
product: Tiger Lake-LP Smart Sound Technology Audio Controller
vendor: Intel Corporation
physical id: 1f.3
bus info: pci@0000:00:1f.3
logical name: card0
logical name: /dev/snd/controlC0
logical name: /dev/snd/hwC0D0
logical name: /dev/snd/hwC0D2
logical name: /dev/snd/pcmC0D0c
logical name: /dev/snd/pcmC0D0p
logical name: /dev/snd/pcmC0D31p
logical name: /dev/snd/pcmC0D3p
logical name: /dev/snd/pcmC0D4p
logical name: /dev/snd/pcmC0D5p
logical name: /dev/snd/pcmC0D6c
logical name: /dev/snd/pcmC0D7c
version: 20
width: 64 bits
clock: 33MHz
capabilities: bus_master cap_list
configuration: driver=sof-audio-pci-intel-tgl latency=32
resources: iomemory:600-5ff iomemory:600-5ff irq:150 memory:6001130000-6001133fff memory:6001000000-60010fffff

[分析]

长话短说,碰到了问题,咱们就解决问题,通过研发同事分析,排查,得出问题所在:

经过分析,我们发现 beta2 和 beta3 版本的 ALSA UCM 配置存在显著差异。具体来说,beta3 版本的配置在未插入耳机时能够正确地将 Headphone 状态显示为 Mute。这一发现表明,设备的声卡可能存在固有问题,这个问题在 beta3 版本的配置中被更准确地反映出来。我们推测,华为可能对声卡的外部电路进行了修改,这导致了与主流配置方案的不兼容,进而引发了音频输出无声音的问题。

声卡研发回复如

image.png

alsa ucm conf差异:

image.png

没有插模拟耳机时Headphone为Mute状态:

image.png

在设备未插入耳机的情况下,我们通过 alsamixer 界面将 Headphone 音量设置修改为非静音状态。然而,在重启设备后,发现 Headphone 状态又被重置为静音。这表明,系统在启动时可能默认恢复了默认的音频设置,导致之前手动修改的状态被覆盖。

[解决方案]

为了应对当前系统层面无法完全修复的音频问题,为使用 deepin v23系统的华为设备用户提供了一个规避方案。具体而言,请将如下内容放入一个sh脚本中, 如start-vol.sh:
#!/bin/bash

CARD_NUMBER=0
VOLUME_PERCENT=80

# Unmute the Headphone control
amixer -c $CARD_NUMBER set Headphone unmute > /dev/null 2>&1

# Set the volume to 65%
amixer -c $CARD_NUMBER set Headphone $VOLUME_PERCENT% > /dev/null 2>&1

# Save ALSA state (this may not persist across reboots on all systems)
#alsactl store

echo "success"

exit 0

将脚本添加执行权限 chmod +x,点击运行即可使用。请在确认有效后,可以添加到自启动项中,比如添加一个systemd的服务,将脚本作为运行的服务。enable服务。

[解决方案适用范围]

beta2版本或者之前版本音频正常输出的华为设备,现在没有声音了。建议使用同款音频设备的用户可尝试一下,但不保证一定成功。  目前已验证HUAWEI HKD-WXX (C233) Notebook机型通过此方法验证后是正常的。

目前由于本地机型的验证范围有限,无法保证所有华为机型设备均能有效解决,感谢所有反馈问题的用户与咱们的研发同事,有你们,问题才能得以推动解决。感谢各位的支持。

PS:有坛友说以上脚本太复杂,那希望自己动手的朋友们可以参考这么操作哈:

[手动操作修复]

命令行执行alsamixer

在弹出的界面按F6, 有些设备需要按FN+F6 ,在弹出的界面选项中选择default:0 sof-hda-dsp, 最后按键盘上的M键,此时声音输出有了,按上/下键可以调大/降低声音哈

Reply Favorite View the author
All Replies
buyike
Moderator
2024-04-03 16:29
#1

@晚秋(lateautumn)是你要的吗?

不过我看着好繁杂,如果是我,宁愿选择电脑没声音。

Reply View the author
Tonny
deepin
2024-04-03 16:30
#2

https://github.com/Smoren/huawei-ubuntu-sound-fix

Reply View the author
owen_337
deepin testing team
2024-04-03 16:36
#3
buyike

@晚秋(lateautumn)是你要的吗?

不过我看着好繁杂,如果是我,宁愿选择电脑没声音。

那我给来个简单的?

命令行执行alsamixer

在弹出的界面按F6, 有些设备需要按FN+F6 ,在弹出的界面选项中选择default:0 sof-hda-dsp, 最后按键盘上的M键,此时声音输出有了

Reply View the author
owen_337
deepin testing team
2024-04-03 16:37
#4
Tonny

https://github.com/Smoren/huawei-ubuntu-sound-fix

是的,异曲同工,不过我这个手动的可以自己改声音的大小哈

Reply View the author
buyike
Moderator
2024-04-03 19:03
#5
owen_337

那我给来个简单的?

命令行执行alsamixer

在弹出的界面按F6, 有些设备需要按FN+F6 ,在弹出的界面选项中选择default:0 sof-hda-dsp, 最后按键盘上的M键,此时声音输出有了

我的不用,我的几台电脑运行deepin都是完美级,随便安装。

Reply View the author
晚秋(lateautumn)
Moderator
2024-04-08 17:01
#6
buyike

@晚秋(lateautumn)是你要的吗?

不过我看着好繁杂,如果是我,宁愿选择电脑没声音。

正在学习。有声音了。按最后的方法瞎按,按出声音来了。

Reply View the author
晚秋(lateautumn)
Moderator
2024-04-08 17:17
#7
owen_337

那我给来个简单的?

命令行执行alsamixer

在弹出的界面按F6, 有些设备需要按FN+F6 ,在弹出的界面选项中选择default:0 sof-hda-dsp, 最后按键盘上的M键,此时声音输出有了

我按键盘上的m,怎么没有反应?

Reply View the author
owen_337
deepin testing team
2024-04-09 11:10
#8
晚秋(lateautumn)

我按键盘上的m,怎么没有反应?

你可能需要通过F6 select了你的声卡,然后在按‘M’键来切换状态,最后按上/下键,来调整音量的大小哈,M是切换状态的,只是切换了通道

Reply View the author
owen_337
deepin testing team
2024-04-09 11:11
#9
晚秋(lateautumn)

正在学习。有声音了。按最后的方法瞎按,按出声音来了。

applaud瞎按都成功了,看来我的手动调整的方法是有效的吧

Reply View the author
晚秋(lateautumn)
Moderator
2024-04-09 14:45
#10
owen_337

applaud瞎按都成功了,看来我的手动调整的方法是有效的吧

哈哈,非常有效!joy

Reply View the author
Jackson丶zhu
deepin
2024-04-10 00:04
#11

我的dell一体机无效,sh脚本或者手动都不行,倒是应用商店安装pulseaudio在配置里选择全双工就有声音了,只是音量滑块还是无法点击滑动,但是可以通过键盘上的大小音量键来调大小音量。

Reply View the author
owen_337
deepin testing team
2024-04-10 10:25
#12
Jackson丶zhu

我的dell一体机无效,sh脚本或者手动都不行,倒是应用商店安装pulseaudio在配置里选择全双工就有声音了,只是音量滑块还是无法点击滑动,但是可以通过键盘上的大小音量键来调大小音量。

嗯,本帖主要解决的是华为设备的问题哈,其他机型可以尝试,但不能保证一定有效哈。你提到的设备,可以提供下设备信息哈

Reply View the author
张慢慢🍀
deepin
2024-05-03 16:42
#13

有效是有效,但是我不会怎么弄成系统服务。每次自己打开点把。

Reply View the author
owen_337
deepin testing team
2024-05-06 10:55
#14
张慢慢🍀

有效是有效,但是我不会怎么弄成系统服务。每次自己打开点把。

也可以,如果实在想解决的话,那就只能通过更新bios了,但是这个操作需要首先备份好自己的数据,然后,在官方下载提供的更新bios固件文件,里面会附有升级的教程文档。

Reply View the author
张慢慢🍀
deepin
2024-05-06 19:25
#15
owen_337

也可以,如果实在想解决的话,那就只能通过更新bios了,但是这个操作需要首先备份好自己的数据,然后,在官方下载提供的更新bios固件文件,里面会附有升级的教程文档。

瞅着,感觉更难了哈哈哈

Reply View the author
张慢慢🍀
deepin
2024-05-06 19:46
#16
owen_337

也可以,如果实在想解决的话,那就只能通过更新bios了,但是这个操作需要首先备份好自己的数据,然后,在官方下载提供的更新bios固件文件,里面会附有升级的教程文档。

我插了耳机后,发现耳机和电脑同时发声了……

Reply View the author
张慢慢🍀
deepin
2024-05-06 19:50
#17
owen_337

也可以,如果实在想解决的话,那就只能通过更新bios了,但是这个操作需要首先备份好自己的数据,然后,在官方下载提供的更新bios固件文件,里面会附有升级的教程文档。

我这个是huawei matebook 13s,有3.5的耳机孔,还有USB-c。如果用3.5圆孔的耳机,则电脑耳机同时发声,特别搞笑。

换成USB-C的耳机,则没有这个问题了。

Reply View the author
owen_337
deepin testing team
2024-05-07 11:14
#18
张慢慢🍀

我插了耳机后,发现耳机和电脑同时发声了……

是的,这个在文中也有描述,实际是huawei魔改了

Reply View the author
owen_337
deepin testing team
2024-05-07 11:14
#19
张慢慢🍀

我这个是huawei matebook 13s,有3.5的耳机孔,还有USB-c。如果用3.5圆孔的耳机,则电脑耳机同时发声,特别搞笑。

换成USB-C的耳机,则没有这个问题了。

USB的耳机,自带声卡了,你可以在接入时查看输出通道对比,就知道了哈

Reply View the author
owen_337
deepin testing team
2024-05-07 11:16
#20
张慢慢🍀

瞅着,感觉更难了哈哈哈

数据备份好了,操作就不难了kissing_heart

Reply View the author