از بین بردن نویز صدای هدفون در درایورهای اینتل

امین 16 سپتامبر 2023 زمان خواندن: ~1 دقیقه

توجه: این مطلب قدیمی است و صرفا جهت آرشیو حفظ شده است. ممکن است امروزه برخی موارد یکسان نباشند.

اینجا در مانجارو وقتی سیستم حالت suspend به resume میاد یک نویز عجیب و بد توی هدفون شنیده میشه. برای اینکه این نویز برطرف شه راه حلی که من پیدا کردم اینه که ماژول صدا رو یکبار حذف و دوباره بارگذاری کنیم.

ماژول صدای درایور اینتل snd_hda_intel است. با این دستور این ماژول غیرفعال میشه:

sudo rmmod -f snd_hda_intel

حالا با این دستور میبایست مدل درایور اینتلی که دستگاه شما داره مشخص کنیم:

aplay --list-devices

که یه سری توضیحات میاره و عددی شبیه به ALC668 مد نظر ماست. حالا با این دستور ماژول مجددا به شکل صحیح بارگذاری میشه:

sudo modprobe snd_hda_intel ALC668

اما انجام دادن این پروسه بعد از هر resume باید خودکار انجام بشه. بنابراین میایم یه اسکریپت در مسیر /usr/local/bin/ میسازیم:

sudo nano /usr/local/bin/snd_hda_intel-resume

با این محتوی:

#!/bin/bash
rmmod -f snd_hda_intel && sleep 2 && modprobe snd_hda_intel ALC668

و به اون مجوز اجرایی میدیم. (با chmod +x). اما میتونیم این رو تبدیل به یک سرویس systemd بکنیم که بعد از هر resume بصورت خودکار شروع بشه و ما هیچ دخالتی نداشته باشیم:

sudo nano /etc/systemd/system/snd_hda_intel-resume.service

با این محتوی:

[Unit]
Description=Reloading intel sound module after suspend
After=suspend.target
[Service]
Type=oneshot
ExecStart=/usr/local/bin/snd_hda_intel-resume
[Install]
WantedBy=suspend.target

و بعد برای فعال کردن این سرویس:

sudo systemctl enable snd_hda_intel-resume.service

اولین نفری باشید که دیدگاهی ارسال می کند!




حاصل سر و کله زدن های من با لینوکس