شناسایی نشدن میکروفون هدست

از ویکی فارسی اوبونتو
نسخهٔ تاریخ ‏۲۶ آبان ۱۳۹۹، ساعت ۲۰:۱۹ توسط EsmaeelE (بحث | مشارکت‌ها) (حل مشکل با استفاده از hdajackretask)
پرش به: ناوبری، جستجو

این مشکل معمولا در دستگاه هایی که از یک جک combine شده که هم برای ورودی و هم خروجی استفاده می کنند، پیش می آید.

راه حل های متفاوتی برای حل مشکل وجود دارد که برخی از آن ها را در زیر مشاهده می کنید.


استفاده از ماژول ها

برای حل این مشکل ماژول های فراوانی ساخته شده. فعال شدن این ماژول ها در هنگام بوت و با استفاده از فایل alsa-base.conf انجام می شود. تنها کاری که باید انجام دهید این است که خط زیر را

options snd-hda-intel model=module-name
را که در آن module-name نام ماژولی است که می خواهید فعال شود را به فایل
/etc/modprobe.d/alsa-base.conf
اضافه کنید و بعد اقدام به راه اندازی مجدد دستگاه نمایید تا ماژول ها فعال شوند.

می توانید این کار را با ویرایشگر ها یا دستور زیر انجام دهید:

$ sudo echo "options snd-hda-intel model=module-name" >> /etc/modprobe.d/alsa-base.conf 

نکته:به یاد داشته باشید که نباید ماژول های متفاوت را به طور همزمان فعال کنید. همواره قبل از ویرایش فایل های تنظیمات از آن ها کپی بگیرید تا در صورت بهم ریختن یا خراب شدن فایل مورد نظر بتوانید آن ها را با نسخه ی کپی که از فایل سالم گرشته شده، جایگذین کنید.

ماژول های صدا


دو ماژول dell-headset-multi و laptop-dmic از ماژول هایی هستند که روی اکثر دستگاه ها کار می کنند. dell-headset-multi روی بیشتر دستگاه ها کار می کند ولی برای دستگاه های قدیمی و تولید شده توسط شرکت هایی که پشتیبانی چندانی از لینوکس نمی کنند کاربردی نیست. برای این دست از لپتاپ هااز ماژول laptop-dmic استفاده می‌شود که کاربرد عمومی‌تری دارد. می توانید لیست کاملی از ماژول های مربوطه را در این صفحه مشاهده کنید


حل مشکل با استفاده از hdajackretask

اگر در نهایت فعال کردن هیچ کدام از ماژول ها نتوانست مشکل شما را حل کند می توانید پین های اتصالات را خودتان به صورت دستی تغییر دهید. برای انجام این کار به نرم افزار های pavucontrol و hdajackretask نیاز دارید.

نحوه ی نصب در توزیع های Debian-base:

 $ sudo apt install alsa-tools-gui pavucontrol 

نحوه ی نصب در توزیع های Arch-base:

 $ sudo pacman -Syu alsa-tools-gui pavucontrol 

نحوه ی نصب در توزیع های Redhat, CentOS, Fedora:

 $  sudo yum install alsa-tools-gui pavucontrol 

در مرحله بعد ماژول laptop-dmic را فعالسازی و دستگاه را از نو راه اندازی کنید.

بعد از راه اندازی مجدد pavucontrol را باز کنید و از تب input گزینه ی microphone را انتخاب کنید.

به احتمال زیاد در جلوی آن عبارت (unplugged) را مشاهده می کنید.( اگر عبارت (plugged) را مشاهده کردید بدین معنی است که ماژول dmic موفق به شناسایی میکروفون هدست شما شده است و نیازی به انجام بقیه ی مراحل ندارید)

در این مرحله با استفاده از حرف زدن ببینید که آیا نوار صدا در واکنش به صدای شما تغییر می کند یا خیر. اگر نوار صدا به صدای شما واکنش نشان می دهد حاکی از آن است که میکروفون شما توسط ماژول dmic شناسایی شده اما برنامه های روی سیستم عامل نمی توانند از میکروفون شمااستفاده کنند.

کاری که در این مرحله باید انجام بدهید اتصال مجدد پین های ورودی صدا است. می توانید با وارد کردن hdajackretask در ترمینال به تنظیمات پین های ورودی صدا دسترسی پیدا کنید.

در ابتدا از بالای صفحه codec را از codec hdmi به ALC تغییر دهید.

Codeck-setting.png

حالا برای دسترسی به پین های متصل نشده از پنل options در سمت راست برنامه گزینه ی unconnected pins را انتخاب کنید. اکنون به پین های متصل نشده دسترسی دارید.

Options.png

در این مرحله باید با استفاده از انتخاب گزینه ی override در کنار هر پین کار کرد ان را تغییر دهید.

Pin.png

معمول ترین پین های مربوط به میکروفون پین های 0x19 و 0x18 هستند.(در برخی از دستگاه ها از پین های 0x16 0x15 0x14 برای میکروفون استفاده می‌شود) سعی کنید آن ها را از روی unconnected به Microphone تغییر دهید و بعد از پنل سمت راست گزینه ی Apply now را انتخاب کنید و تست کنید که آیا میکروفون شما به میکروفون های شناسایی شده اضافه شده است یا خیر.

اگر هنگام استفاده از گزینه ی Apply now با ارور device is busy یا ارور های مشابه ان مواجه شدید باید برنامه هایی را که از صدا استفاده می کنند متوقف کنید. این برنامه های می توانند برنامه هایی مانند مرورگر ها, برنامه های کنترل صدا مانند pavucontrol, alsamixer و ... باشند. اگر بعد از بستن این برنامه ها همچنان ارور را دریافت می کردید نشان از این است که hdajackretask نمی تواند pulseaudio را متوقف کند. برای متوقف کردن pulseaudio از دستور زیر استفاده کنید:

 $ pulseaudio -k; pulseaudio -D 

و بعد از زدن گزینه ی apply now دوباره pulseaudio را با دستور زیر فعال کنید:

 $ pulseaudio --start 

اگر بعد از تغییر تنظیمات مربوط به پین میکروفون شما شناسایی نشد دوباره پین را به گزینه ی قبلی متصل کنید و تیک گزینه override را بردارید و کار های بالا را با پین دیگر انجام دهید.

توجه کنید که اگر پینی به یک دستگاه خروجی مانند هدفون و اسپیکر وصل شده است تنظیمات آن را تغییر ندهید.

بعد از تکرار مراحل بالا و شناسایی میکروفون هدست گزینه ی install boot override را از پنل سمت راست انتخاب کنید تا تنظیمات شما ذخیره شود.

اما اگر نتوانستید میکروفون را شناسایی کنید باید ورودی میکروفون هدست را به پین دستگاه دیگری مانند میکروفون داخلی متصل کنید.

برای مثال این کار در دستگاه Asus-X550Cبا استفاده از قرار دادن پین های 0x12 و 0x18 روی میکروفون داخلی و متصل کردن پین 0x19 به Microphone انجام می شود.

OPO.png

بعد از انجام این تنظیمات گزینه ی install boot override را انتخاب کنید و سیستم را از نو راه اندازی کنید. اکنون اگر برای ضبط صدا میکروفون داخلی را انتخاب کنید می‌بینید که به جای میکروفون داخلی میکروفون هدست شما اقدام به ضبط صدا می کند.

استفاده از اداپتور جک به usb

اگر با استفاده از راه حل های بالا نتواسنتید میکروفون هدست خود را به کار بگیرید می توانید از این روش استفاده کنید. راحت ترین و مطمئین راه برای حل مشکل استفاده از یک اداپتور تبدیل جک به usb است. با استفاده از اداپتور هدست را از طریق پرت usb به لپتاپ متصل کنید و هنگام انتخاب میکروفون اصلی، میکروفون usb را برای ضبط انتخاب کنید.