توجه: این مطلب قدیمی است و صرفا جهت آرشیو حفظ شده است. ممکن است امروزه برخی موارد یکسان نباشند.
اینجا در مانجارو وقتی سیستم حالت 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
حاصل سر و کله زدن های من با لینوکس