3

Я использую Linux на MBA. Я не могу заставить работать микрофон.

Я тестирую с использованием alsamixer и arecord -Dhw -fdat -vv mic.wav вместе с aplay -Dhw -vv mic.wav

Кажется, есть проблема с ядром Linux, пытающимся расшифровать поврежденный Apple 'BIOS', в частности, контакты микрофонов не видны / неправильно назначены.

Что касается нас, есть ли разница между использованием rEFIt и режима совместимости с BIOS (см. Https://wiki.archlinux.org/index.php/MacBook, где они утверждают, что на mba1 все работает из коробки) 1) а между, скажем, Ubuntu и Arch?

Хорошим предложением было бы скомпилировать новейшее ядро Linux и запустить hda-jack-retask или аналогичную программу исправлений, чтобы найти правильную конфигурацию (в случае кодека Realtek пропущенными вещами, которые я должен проверить, являются либо некоторые поставщики). -специфичные глаголы COEF, настройки EAPD или GPIO.), а затем придумать исправление ядра для решения проблемы.

Главной проблемой здесь, похоже, является отсутствие данных о том, как Apple реализует и контролирует кодек, а именно, имеют ли они микрофонные контакты как виртуальные контакты, или что-то еще.


Некоторые полезные данные:

Вывод скрипта alsa запускается от имени пользователя root http://www.alsa-project.org/db/?f=adae8ebee1007043fe83414ac4972319e02255fa

Команда hda-jack-sense-test -a (с подключенным HP)

Pin 0x14 (Internal Speaker): present = No
Pin 0x15 (Green HP Out): present = Yes
Pin 0x16 (Not connected): present = No
Pin 0x17 (Not connected): present = No
Pin 0x18 (Not connected): present = No
Pin 0x19 (Not connected): present = No
Pin 0x1a (Not connected): present = No
Pin 0x1b (Not connected): present = No
Pin 0x1c (Not connected): present = No
Pin 0x1d (Not connected): present = No
Pin 0x1e (Not connected): present = No
Pin 0x1f (Not connected): present = No

Скорее всего, это чип Realtek ALC885 (сравните также ALC889A) http://guide-images.ifixit.net/igi/bBTSqaeK5JpQ1AWe.large , хотя в настоящий момент alsa читает его как ALC889A

Учебное пособие Такаши Иваи https://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio.txt

Некоторые люди исследовали оригинальные файлы из работающей установки OS X на этой же модели (я думаю, что соответствующие файлы - AppleHDA.kext/Contents/MacOS/AppleHDA AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.p‌ Apple перечислите AppleHDA.kext/Contents/Resources/layout12.xml.zlib AppleHDA.kext/Contents/Resources/Platforms.xml.zlib)http://www.insanelymac.com/forum/topic/220090-alc889a-pin- configuration/# entry1554954 , даже если кажется, что существует несоответствие с тем, что OS X видит как контакты микрофона и что происходит под Linux (здесь помощь в основном требуется)

Лист данных http://www.realtek.info/pdf/ALC885_1-1.pdf (из того же Realtek можно также попытаться загрузить драйвер Linux, но это просто взято из проекта ALSA, как указано в файле readme.)

Здесь впервые поддержка аудио (кроме микрофона) для MBA2,1 (что морально совпадает с 1,1) пропатчена в ядро http://www.alsa-project.org/pipermail/alsa-devel/2010-февраль /025511.html

Эти ребята, возможно, проделали аналогичную работу, хотя и с более свежей версией и звучанием по всему миру, а не только с микрофоном: http://blogs.aerys.in/jeanmarc-leroux/2013/09/15/fixing-2013-macbook- air-ubuntu-sound-issue/ и https://bugzilla.kernel.org/show_bug.cgi?id=60811

Примечание: Mic - единственное, что не работает для MBA1,1 под Linux, в то время как оставшаяся часть аудио работает просто отлично.

1 ответ1

1

Я не могу помочь вам с этим патчем для ядра, но я бы порекомендовал вам попробовать PulseAudio. Это должно заставить ваши микрофоны работать снова и должно решить / обойти вашу проблему.

PulseAudio - это звуковая система для операционных систем POSIX, что означает, что она является прокси для ваших звуковых приложений. Это позволяет вам выполнять расширенные операции с вашими звуковыми данными, когда они проходят между вашим приложением и вашим оборудованием. Такие вещи, как передача звука на другую машину, изменение формата семпла или количества каналов и смешивание нескольких звуков в один, легко достигаются с помощью звукового сервера.

PulseAudio предназначен для систем Linux. Он также был портирован и протестирован на Solaris, FreeBSD, NetBSD, MacOS X, Windows 2000 и Windows XP.

PulseAudio является неотъемлемой частью всех соответствующих современных дистрибутивов Linux и используется различными поставщиками в различных мобильных устройствах.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .