Microfone não funciona no Apple Macbook Air 1,1 (início de 2008; A1237) no Linux

3

Estou executando o Linux no MBA. Não consigo fazer o microfone funcionar.

Eu testei usando alsamixer e arecord -Dhw -fdat -vv mic.wav junto com aplay -Dhw -vv mic.wav

Parece que há um problema com o kernel do Linux tentando decifrar a Apple corrompida 'BIOS', em particular os pinos do microfone não são vistos / erroneamente atribuídos.

No que nos diz respeito, existe alguma diferença entre usar o modo de compatibilidade com rEFIt e BIOS (veja link onde eles afirmam ter tudo funcionando fora da caixa em mba1,1) e entre, digamos, Ubuntu e Arch?

Uma boa proposta seria compilar o kernel Linux mais recente e executar o hda-jack-retask ou um programa de patch similar, para encontrar a configuração correta (no caso do Realtek codec, as coisas que eu deveria verificar são alguns verbos COEF específicos do fornecedor, configuração EAPD ou GPIO.) e, em seguida, criar um patch de kernel para resolver o problema.

O PROBLEMA PRINCIPAL aqui parece a falta de dados sobre como a Apple implementa e controla o codec, ou seja, se eles têm os pinos do microfone como pinos virtuais ou qualquer outra coisa.

Alguns dados úteis:

A saída do script alsa é executada como raiz link

O comando hda-jack-sense-test -a (com o HP conectado)

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

O mais provável é que o chip seja Realtek ALC885 (compare também com ALC889A) link , embora no momento alsa lê como ALC889A

O tutorial de Takashi Iwai link

Algumas pessoas pesquisaram os arquivos originais de uma instalação do OS X em execução neste mesmo modelo (Acho que os arquivos relevantes são AppleHDA.kext / Contents / MacOS / AppleHDA AppleHDA.kext / Conteúdo / PlugIns / AppleHDAHardwareConfigDriver.kext / Contents / Info.p‌ ‌ lista AppleHDA.kext / Contents / Resources / layout12.xml.zlib AppleHDA.kext / Contents / Resources / Platforms.xml.zlib) link , embora pareça haver uma incompatibilidade com o que o OS X vê como os pinos do microfone e o que acontece no Linux (aqui a ajuda seria mais necessária)

Folha de dados link (do mesmo Realtek, pode-se também tentar baixar o driver Linux, mas isso é apenas retirado do projeto ALSA, conforme indicado no arquivo leia-me).

Aqui, pela primeira vez, o suporte a áudio (exceto mic) para o MBA2,1 (que é moralmente igual a 1,1) é corrigido no kernel link

Esses caras podem ter feito um trabalho semelhante, embora para uma versão mais recente e para som global, não apenas mic: link e link

Nota: Mic é a única coisa que não funciona para o MBA1.1 no Linux, enquanto a parte restante do áudio funciona bem.

    
por jj_p 17.09.2013 / 11:52

1 resposta

1

Eu não posso te ajudar com esse patch do kernel, mas eu recomendo que você tente PulseAudio . Ele deve fazer com que seus microfones funcionem novamente e resolver o problema.

enter image description here

PulseAudio is a sound system for POSIX OSes, meaning that it is a proxy for your sound applications. It allows you to do advanced operations on your sound data as it passes between your application and your hardware. Things like transferring the audio to a different machine, changing the sample format or channel count and mixing several sounds into one are easily achieved using a sound server.

PulseAudio is designed for Linux systems. It has also been ported to and tested on Solaris, FreeBSD, NetBSD, MacOS X, Windows 2000 and Windows XP.

PulseAudio is an integral part of all relevant modern Linux distributions and used in various mobile devices by multiple vendors.

    
por 07.11.2013 / 13:15