我有一个非常奇特的问题,这个问题困扰了我有一年之久。
我的笔记本在家用的时候是外接一个 ThunderBolt 3 的 Dock 的,然后在那个 Dock 上我接了一个 USB 声卡,用来保证桌面上有耳机输出接口,同时那个 USB 声卡还外输出了两个音箱。
简单说就是我没有用 ThunderBolt Dock 内置的声卡,我又外接了一个 USB 声卡。
从去年开始,这个声卡开始出现一些奇特的问题,那就是播放音乐和视频的时候,总是会破音。一开始以为是 Dock 的问题,但是我直接把那个声卡插到笔记本的 USB 口上就没有了问题,只要是插到 Dock 上就会有供电不足的问题。
一般来说破音可能就是供电不足,我想到的是自己对笔记本降压导致的。我尝试禁用后发现问题有所好转,但还是会不定时出现。
我后来又觉得可能是 TLP 的省电模式导致的,我把 TLP 设置为 Performance 模式,发现还是没什么改善。
最后我终于发现了解决办法。
首先用你的电脑接入 ThunderBolt Dock,然后启用那个 USB 声卡,打开视频播放,保证喇叭里有声音。
接着运行 PowerTop,在功耗栏目里挨个切换 Good 和 Bad,看看是不是声音会有所变化,接着我就发现最后有一个 PCI 的设备一旦设置为节能模式,就会出现破音。
接着可以通过 lspci 查询这个硬件的编号,发现是 00:16.0 。
然后就好办了,打开 tlp 的配置文件,将这个编号写入黑名单,避免被节能模式管理,然后重启就可以解决问题了。
总而言之如果有类似的问题,可以用这种方式尝试一下。
补充:
这个方法并没有解决问题,不过最后也发现了解决的办法
https://plumz.me/archives/11853/
我的 ThinkPad 外接 DELL 的 Thunderbolt 3 Dock 甚至會出現 USB 裝置掉線的狀況
我的dell tb15更奇特,在manjaro没问题,windows下经常断流,而且只有声卡断流。
我目前在用是 DELL Thunderbolt Dock TB16,理論上和 TB15 差別不大……沒嘗試過 Windows,估計其他的問題和 Kernel 版本有關,Fedora 32 下的體驗有一定改善。