hang

Talán egy hónapja, hogy sikerült feltelepítenem az Apple újabb rendszerének negyedik fejlesztői változatát, kisebb utánajárás és próbálgatás árán.
A hangot (ALC888) azóta nem sikerült a voodooHDA driver kivételével feléleszteni, amivel sajnos vannak problémák. Legfőképp az zavaró, hogy áthallatszik a mikrofon bemenet a kimenetre, és néhányszor megakad.

Most végre sikerült rájönnöm a probléma okára, és megosztom mire jutottam:

Az új rendszerben változott az IOPCI driver, így már telepítésnél belefutottam, hogy az évek óta Leopard-tól Mountain Lion-ig jól működő DSDT miatt, a PCI-busz konfiguráció beolvasása nem fut le, és az egész rendszerindulás megáll a PCI Configuration Begin üzenetnél.
A megoldás az lett, hogy nulláról újra szerkesztettem a gyári DSDT-t, csakis a szükséges módosításokat elvégezve.

Az AppleHDA hangdriver egy újabb olvasgatós kör volt:

  • az újabbak “Sound assertion in AppleHDAController at line 483” üzenettel szálltak el, ami nem igazán beszédes,
  • míg a régebbi Lion-ra írt már kicsit többet árult el:
    “Sound assertion “0 != setupHostInterrupt ()” failed in AppleHDAController at line 439 goto Exit” amire már lehetett keresgélni.
    Ez a függvény – az IORegistryExplorer segítségével tudtam meg – a nullás IOPCIMessagedInterrupt megszakítást osztja ki a buszon. http://vvlevchenko.wordpress.com/
    A hiba visszautalt az elsőre. Mikor próbálkoztam a rendszer feltelepítésével, a kernel paraméterek között felejtettem az “npci=0x3000” flaget. Sokan írták, ezzel elkerülhető a PCI begin fennakadás, és a Snow Leopard óta használtam is az “ncpi=0x2000”-t ugyanerre a hibára, de arról nem írtak, hogy ilyen jellegű hibát okozhat a 0x3000-es. De mégis.

Most, hogy újraírtam a DSDT-t, és eltávolítottam a flag-et, a régebbi Lion-on használt audiodriver tökéletesen szól – aminek nagyon örülök – és egyik npci flagre sincs szükség. Mostantól az új 10.9 Mavericks hiba nélkül fut a viszonylag régi P31-DS3L alaplapomon.

A 10.7-től működő driver innen tölthető le (codec ID: 0x78, 0x03, 0x00, 0x00):

ALC888 10.9