Jump to content

Conexant CX20672 - problem z LegacyHDA


MKjanek32
 Share

Recommended Posts

Mam problem z uruchomieniem tego kodeka za pomocą LegacyHDA w ThinkPadzie T420. Po zainstalowaniu zmodyfikowanego AppleHDA (http://www.insanelymac.com/forum/files/file/153-applehda-v2611-1093-for-cx20590/) karta ładnie działa. Przy oryginalnym AppleHDA i legacy z załącznika w /S/L/E (pomysł podobny do uniwersalnego LegacyHDA 314TeR) nie ma ochoty.

Podejrzewam, że problem sprawia binpatch AppleHDA w Cloverze. Testowo wrzuciłem layout, platforms i Info.plist z oryginalnego AppleHDA do tego zmodyfikowanego (z wykonanym binpatchem) i wtedy legacy zadziałał prawidłowo, po restarcie był dźwięk.

Z czego może wynikać problem?

 

OS X 10.9.5, Clover 3142 na partycji EFI, FSInject w drivers64UEFI jest. config.plist:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>ACPI</key>
	<dict>
		<key>DropTables</key>
		<array>
			<dict>
				<key>Signature</key>
				<string>SSDT</string>
				<key>TableId</key>
				<string>Cpu0Ist</string>
			</dict>
			<dict>
				<key>Signature</key>
				<string>SSDT</string>
				<key>TableId</key>
				<string>CpuPm</string>
			</dict>
		</array>
		<key>SSDT</key>
		<dict>
			<key>Generate</key>
			<dict>
				<key>CStates</key>
				<true/>
				<key>PStates</key>
				<true/>
			</dict>
		</dict>
	</dict>
	<key>Boot</key>
	<dict>
		<key>Arguments</key>
		<string>slide=0 kext-dev-mode=1</string>
		<key>Fast</key>
		<false/>
		<key>Log</key>
		<false/>
		<key>Timeout</key>
		<integer>5</integer>
	</dict>
	<key>Devices</key>
	<dict>
		<key>AddProperties</key>
		<array>
			<dict>
				<key>Device</key>
				<string>IntelGFX</string>
				<key>Key</key>
				<string>AAPL,os-info</string>
				<key>Value</key>
				<data>
				MEkBERERCAAAAfAfAQAAABAHAAA=
				</data>
			</dict>
			<dict>
				<key>Device</key>
				<string>IntelGFX</string>
				<key>Key</key>
				<string>hda-gfx</string>
				<key>Value</key>
				<string>onboard-1</string>
			</dict>
			<dict>
				<key>Device</key>
				<string>IntelGFX</string>
				<key>Key</key>
				<string>AAPL,snb-platform-id</string>
				<key>Value</key>
				<data>
				AAABAA==
				</data>
			</dict>
		</array>
		<key>Audio</key>
		<dict>
			<key>Inject</key>
			<string>12</string>
		</dict>
	</dict>
	<key>GUI</key>
	<dict>
		<key>Theme</key>
		<string>AppleStyle</string>
		<key>TextOnly</key>
		<false/>
		<key>CustomIcons</key>
		<false/>
		<key>Language</key>
		<string>pl:30788</string>
		<key>Mouse</key>
		<dict>
			<key>DoubleClick</key>
			<integer>500</integer>
			<key>Enabled</key>
			<true/>
			<key>Speed</key>
			<integer>8</integer>
		</dict>
		<key>Scan</key>
		<dict>
			<key>Entries</key>
			<true/>
			<key>Legacy</key>
			<false/>
			<key>Tool</key>
			<true/>
		</dict>
		<key>Custom</key>
		<dict>
			<key>Entries</key>
			<array>
				<dict>
					<key>Path</key>
					<string>\EFI\BOOT\BOOTX64.efi</string>
					<key>VolumeType</key>
					<array>
						<string>External</string>
						<string>Internal</string>
					</array>
					<key>Hidden</key>
					<string>Always</string>
					<key>Disabled</key>
					<false/>
				</dict>
				<dict>
					<key>Path</key>
					<string>\EFI\BOOT\BOOTX64.efi</string>
					<key>Title</key>
					<string>CD/DVD</string>
					<key>FullTitle</key>
					<string>CD/DVD</string>
					<key>VolumeType</key>
					<string>Optical</string>
					<key>Hidden</key>
					<false/>
					<key>Disabled</key>
					<false/>
				</dict>
				<dict>
					<key>Path</key>
					<string>\EFI\Microsoft\Boot\bootmgfw.efi</string>
					<key>Title</key>
					<string>Windows</string>
					<key>FullTitle</key>
					<string>Windows</string>
					<key>Hidden</key>
					<false/>
					<key>Disabled</key>
					<false/>
				</dict>
			</array>
		</dict>
	</dict>
	<key>Graphics</key>
	<dict>
		<key>Inject</key>
		<dict>
			<key>ATI</key>
			<false/>
			<key>Intel</key>
			<false/>
			<key>NVidia</key>
			<false/>
		</dict>
		<key>PatchVBios</key>
		<false/>
	</dict>
	<key>KernelAndKextPatches</key>
	<dict>
		<key>AppleRTC</key>
		<true/>
		<key>AsusAICPUPM</key>
		<true/>
		<key>Debug</key>
		<true/>
		<key>KernelCpu</key>
		<false/>
		<key>KernelPm</key>
		<false/>
		<key>KernelLapic</key>
		<false/>
		<key>KextsToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>change AD198B for Conexant 20672</string>
				<key>Find</key>
				<data>
				ixnUEQ==
				</data>
				<key>Name</key>
				<string>AppleHDA</string>
				<key>Replace</key>
				<data>
				blDxFA==
				</data>
			</dict>
			<dict>
				<key>Comment</key>
				<string>Replace 4th port with VGA</string>
				<key>Find</key>
				<data>
				AQIEABAHAAAQBwAABQMAAAIAAAAwAAAAAgUAAAAEAAAH
				AAAAAwQAAAAEAAAJAAAABAYAAAAEAAAJAAAA
				</data>
				<key>Name</key>
				<string>AppleIntelSNBGraphicsFB</string>
				<key>Replace</key>
				<data>
				AQIEABAHAAAQBwAABQMAAAIAAAAwAAAAAgUAAAAEAAAH
				AAAAAwQAAAAEAAAJAAAABgIAABAAAAAJAAAA
				</data>
			</dict>
			<dict>
				<key>Name</key>
				<string>IOAHCIBlockStorage</string>
				<key>Find</key>
				<data>QVBQTEUgU1NEAA==</data>
				<key>Replace</key>
				<data>AAAAAAAAAAAAAA==</data>
			</dict>
			<dict>
				<key>Name</key>
				<string>AppleAHCIPort</string>
				<key>Find</key>
				<data>RXh0ZXJuYWw=</data>
				<key>Replace</key>
				<data>SW50ZXJuYWw=</data>
			</dict>
		</array>
	</dict>
	<key>SMBIOS</key>
	<dict>
		<key>ProductName</key>
		<string>MacBookPro8,1</string>
	</dict>
	<key>SystemParameters</key>
	<dict>
		<key>InjectKexts</key>
		<true/>
	</dict>
</dict>
</plist>

AppleHDA_20672.kext.zip

Link to comment
Share on other sites

Legacy kext jest OK, PinConfigi ma takie same jak działający, layout i platforms nieco inne, ale jak wrzuciłem je do działającego kexta, zadziałały.

Zadziałał też sam legacy, jak podłożyłem AppleHDA z wykonanym wcześniej binpatchem (zmodyfikowany AppleHDA, do którego wrzuciłem Platforms.xml i layout12.xml z systemowego).

Link to comment
Share on other sites

Binpatch jest taki sam, jak zdefiniowałem w Cloverze. Poza tym odpaliłem Clovera w trybie debugowania patchowania kextów i z tego co widzę, patch AppleHDA jest aplikowany w 2 miejscach, tak samo jak w zmodyfikowanym kexcie.

Nie wiem, jak to rozumieć.

 

PS Zrobiłem jeszcze jeden test. Po wrzuceniu pinconfiga, layouta i platforms z legacy do systemowego AppleHDA.kext dźwięku nie było. Jak dodatkowo wykonałem ręcznie jego binpatch, dźwięk się pojawił.

Link to comment
Share on other sites

Właśnie zbadałem dokładnie sprawę i jest jeszcze ciekawiej. Jak w systemie mam oryginalny AppleHDA + podesłany LegacyHDA + inject 12 w Cloverze + binpatch w Cloverze, dźwięk jednak się pojawia... ale raz na kilkanaście restartów. Zauważyłem też, że jeżeli nie ma dźwięku, LegacyHDA widnieje na liście rozszerzeń jako niezaładowany i oczywiście system nie widzi żadnych wejść/wyjść w Informacjach o systemie > Sprzęt > Audio.

Cholera wie, dlaczego tak się dzieje.

Link to comment
Share on other sites

Problem rozwiązany!

W międzyczasie postawiłem od nowa 10.9.5 (żeby mieć pewność, że w systemie nie siedzi nic dziwnego) i zacząłem wszystko od początku. Zabrałem się za inżynierię wsteczną DSDT do T420 z insanelymac i po poprawkach IRQ w sekcji HPET, TMR, RTC i PIC na wzór tamtego problem ustąpił. Ten model ma chyba jakieś specyficzne DSDT, nie sądziłem, że przy UEFI trzeba będzie te sekcje w ogóle ruszać...

Ale po takiej robocie chyba będę znał DSDT T420 na pamięć :)

 

Natomiast został jeszcze jeden problem - dla głośników regulacja głośności na pasku menu i z klawiatury działa niezależnie - mogę zgłośnić/ściszyć klawiaturą, na pasku menu regulator jest wtedy cały czas na maksimum. Przesuwając go mogę zmienić głośność, ale później przy regulacji klawiszami zaczynam i tak od 100%, ustawienia z paska nie są brane pod uwagę.

I tak jest tylko przy głośnikach, po podłączeniu słuchawek regulacja działa dobrze. Dobrze działa też wyciszanie głośników klawiszem mute (na pasku zmienia się ikona).

Link to comment
Share on other sites

Wg mojej wiedzy na temat tych sprzętów, poprawki do HPET, RTC, TMR nie powinny być potrzebne... masz tam Sandy Bridge, a apple już stosował DSDT takie same jak PCetowe, czyli IRQ było w TMR i RTC a nie w HPET.

 

Kwestia paska głośności... sprawdź inną wersję OS X też, i poszukaj innych legacy, być może jest skopany. Ja osobiście z takim problemem się nie spotkałem. To co posprawdzaj czy w layout masz zdeklarowane wzmacniacze, tam też jak pamiętam podawało się czy można je regulować czy nie... 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.