ÇÖZÜLDÜ Ekran Kartı DSDT /SSDT Dosyalarında _INI Kısmı Yok

amadeus

APPRENTICE
17 Ocak 2017
40
2
21
33
İstanbul
@tosbaha 'nın ekran kartını kapatma rehberini takip ederken "_INI" methodunda"_OFF" methodunu çağırma kısmında kaldım, çünkü bende ki "_INI" methodları içinde ekran kartının ki yok. Emin olmak için yamalamadan önce ki DSDT dosyama baktım(Bende sadece DSDT dosyamda _INI methodları mevcut SSDT lerde yok, toplamda 3 tane SSDT var zaten) fakat orda da yok. Ayrıca ACPI dosyalarını da Clover'ın yanı sıra Linux üzerinden de aldım fakat yine değişen bir şey yok. Şimdi initalize eden method olmadığı için ekran kartının çalışmaması lazım o zaman fakat sistem bu ekran kartını da görüyor. Ne yapmam lazım bu durumda fikir verebilir misiniz arkadaşlar ?

NOT : Bendeki tüm _INI methodlarını görsel olarak aşağıya ekledim

1.png
2.png
3.png
4.png
 
Son düzenleme:

amadeus

APPRENTICE
17 Ocak 2017
40
2
21
33
İstanbul
Aşağıdaki klasör ve dosyaları paylaşın
- IORegistry Explorer ile alacağınız dosya
- config.plist dosyası
- EFI/Clover/acpi klasörü
Şuan iş yerindeyim akşam eve geçince paylaşayım hemen.

Aşağıdaki klasör ve dosyaları paylaşın
- IORegistry Explorer ile alacağınız dosya
- config.plist dosyası
- EFI/Clover/acpi klasörü
@tosbaha ekte mevcut :
Asus K53sv.zip - Google Drive
 

tosbaha

PADAVAN
MODERATOR
DEVELOPER
11 Mar 2017
140
118
0
47
Origin klasörünüzün içine gidin refs.txt dosyasını oluşturun ve içine şunları yazın
Kod:
External(MDBG, MethodObj, 1)
External(_GPE.MMTB, MethodObj, 0)
External(_SB.PCI0.LPCB.H_EC.ECWT, MethodObj, 2)
External(_SB.PCI0.LPCB.H_EC.ECRD, MethodObj, 1)
External(_SB.PCI0.LPCB.H_EC.ECMD, MethodObj, 1)
External(_SB.PCI0.PEG0.PEGP.SGPO, MethodObj, 2)
External(_SB.PCI0.GFX0.DD02._BCM, MethodObj, 1)
External(_SB.PCI0.SAT0.SDSM, MethodObj, 4)
External(_GPE.VHOV, MethodObj, 3)
External(_SB.PCI0.XHC.RHUB.TPLD, MethodObj, 2)
Aynı klasörde terminal ekranına gidin ve şunu yazın.

Kod:
iasl -da -dl -fe refs.txt DSDT.aml SSDT*.aml
Bir surü dosya oluşacak ama bize şunlar lazım

SSDT.aml
Bu dosya oluşan dosyalardan değil ama güç yönetimi için gereklidir. Bu dosyayı ssdtPRGen ile oluşturun.

SSDT-0.dsl

[sys] Remove _PSS Placeholders

Dosyayı aml olarak kaydediyoruz.

SSDT-1.aml
Bu .dsl dosyasına yamaya gerek yok. O yüzden origin klasöründeki .aml dosyasını aynen kopyalayın

SSDT-5.aml

Bu .dsl dosyasına yamaya gerek yok. O yüzden origin klasöründeki .aml dosyasını aynen kopyalayın

DSDT.dsl

[gfx0] Cleanup/Fix Errors (SSDT)
[syn] Remove _DSM methods
[igpu] Rename PCI.GFX0 to PCIO.IGPU
[sys] IRQ Fix

Bu aşamaya geldikten sonra artık iş biraz size kalıyor. Olabilecek ihtimaller için şu 3 yamadan sadece ama sadece birisini uygulayın. Bu yamaları MaciASL nin Patch tuşuna tıkladıktan sonra gelen ekrana yapıştırıp Apply diyorsunuz. Benim tavsiyem buraya kadar geldikten sonraki DSDT.dsl dosyanızın yedeğini alın. Her bir yamayı ayrı uygulayarak 3 farklı DSDT.aml dosyası oluşturun ve her birini deneyin.

YAMA1

Kod:
into method label _REG parent_hid PNP0C09 insert
begin
//added to turn nvidia/radeon off\n
If (LAnd(LEqual(Arg0,3),LEqual(Arg1,1)))\n
{\n
  \_SB.PCI0.PEGR.GFX0._PS3()\n
}\n
end;

YAMA2
Kod:
#EC kodunu siliyoruz
into method label _PS3 parent_label \_SB.PCI0.PEGR.GFX0 code_regex .*TSDS.* remove_matched;

#PS3 methodunu cagiriyoruz
into method label _INI parent_label \_SB.PCI0.PEGR.GFX0 insert
begin
 \_SB.PCI0.PEGR.GFX0._PS3()\n
end;

#Sildigimiz EC kodunu yeniden cagiriyoruz.
into method label _REG parent_hid PNP0C09 insert
begin
//added to turn nvidia/radeon off\n
If (LAnd(LEqual(Arg0,3),LEqual(Arg1,1)))\n
{\n
 \_SB.PCI0.LPCB.EC0.TSDS ()\n
}\n
end;

YAMA3

Kod:
into method label _INI parent_label \_SB.PCI0.PEGR.GFX0 insert
begin
_OFF ()\n
end;

into method label _REG parent_hid PNP0C09 insert
begin
If (LAnd(LEqual(Arg0,3),LEqual(Arg1,1)))\n
{\n
 \_SB.PCI0.LPCB.EC0.TSDS ()\n
}\n
end;
Sonuç olarak;
EFI/acpi/patched klasöründe olacaklar

DSDT.aml yamalanmış
SSDT.aml ssdtPRGen ile oluşturulmuş
SSDT-0.aml yamalanmış
SSDT-1.aml dokunulmamış
SSDT-5.aml dokunulmamış

config.plist ayarı
SortedOrder kısmına sırayla şunlar yazılacak.

DSDT.aml
SSDT.aml
SSDT-0.aml
SSDT-1.aml
SSDT-5.aml

Sizin config.plist DSDT patches kısmında yaptığım DSDT yamalarının bazıları var. Bu yüzden sorun olursa mesela şu yamaları da Disabled yazan yere tıklayarak kapayabilirsiniz.
- change GFX0 to IGPU
- change PCI0.VID to IGPU #1 (Thinkpad)
- change PCI0.VID to IGPU #2 (Thinkpad)

Ben her bir yamayı denedim. Hata vermeden uygulanıyorlar. Lütfen adım adım yamaları uygulamaya çalışın. Biraz sabrederseniz yapacağınıza eminim. Kolay gelsin.
 
Son düzenleme:

amadeus

APPRENTICE
17 Ocak 2017
40
2
21
33
İstanbul
Origin klasörünüzün içine gidin refs.txt dosyasını oluşturun ve içine şunları yazın
Kod:
External(MDBG, MethodObj, 1)
External(_GPE.MMTB, MethodObj, 0)
External(_SB.PCI0.LPCB.H_EC.ECWT, MethodObj, 2)
External(_SB.PCI0.LPCB.H_EC.ECRD, MethodObj, 1)
External(_SB.PCI0.LPCB.H_EC.ECMD, MethodObj, 1)
External(_SB.PCI0.PEG0.PEGP.SGPO, MethodObj, 2)
External(_SB.PCI0.GFX0.DD02._BCM, MethodObj, 1)
External(_SB.PCI0.SAT0.SDSM, MethodObj, 4)
External(_GPE.VHOV, MethodObj, 3)
External(_SB.PCI0.XHC.RHUB.TPLD, MethodObj, 2)
Aynı klasörde terminal ekranına gidin ve şunu yazın.

Kod:
iasl -da -dl -fe refs.txt DSDT.aml SSDT*.aml
Bir surü dosya oluşacak ama bize şunlar lazım

SSDT.aml
Bu dosya oluşan dosyalardan değil ama güç yönetimi için gereklidir. Bu dosyayı ssdtPRGen ile oluşturun.

SSDT-0.dsl

[sys] Remove _PSS Placeholders

Dosyayı aml olarak kaydediyoruz.

SSDT-1.aml
Bu .dsl dosyasına yamaya gerek yok. O yüzden origin klasöründeki .aml dosyasını aynen kopyalayın

SSDT-5.aml

Bu .dsl dosyasına yamaya gerek yok. O yüzden origin klasöründeki .aml dosyasını aynen kopyalayın

DSDT.dsl

[gfx0] Cleanup/Fix Errors (SSDT)
[syn] Remove _DSM methods
[igpu] Rename PCI.GFX0 to PCIO.IGPU
[sys] IRQ Fix

Bu aşamaya geldikten sonra artık iş biraz size kalıyor. Olabilecek ihtimaller için şu 3 yamadan sadece ama sadece birisini uygulayın. Bu yamaları MaciASL nin Patch tuşuna tıkladıktan sonra gelen ekrana yapıştırıp Apply diyorsunuz. Benim tavsiyem buraya kadar geldikten sonraki DSDT.dsl dosyanızın yedeğini alın. Her bir yamayı ayrı uygulayarak 3 farklı DSDT.aml dosyası oluşturun ve her birini deneyin.

YAMA1

Kod:
into method label _REG parent_hid PNP0C09 insert
begin
//added to turn nvidia/radeon off\n
If (LAnd(LEqual(Arg0,3),LEqual(Arg1,1)))\n
{\n
  \_SB.PCI0.PEGR.GFX0._PS3()\n
}\n
end;

YAMA2
Kod:
#EC kodunu siliyoruz
into method label _PS3 parent_label \_SB.PCI0.PEGR.GFX0 code_regex .*TSDS.* remove_matched;

#PS3 methodunu cagiriyoruz
into method label _INI parent_label \_SB.PCI0.PEGR.GFX0 insert
begin
 \_SB.PCI0.PEGR.GFX0._PS3()\n
end;

#Sildigimiz EC kodunu yeniden cagiriyoruz.
into method label _REG parent_hid PNP0C09 insert
begin
//added to turn nvidia/radeon off\n
If (LAnd(LEqual(Arg0,3),LEqual(Arg1,1)))\n
{\n
^^^LPCB.EC.TSDS ()\n
}\n
end;

YAMA3

Kod:
into method label _INI parent_label \_SB.PCI0.PEGR.GFX0 insert
begin
_OFF ()\n
end;

into method label _REG parent_hid PNP0C09 insert
begin
If (LAnd(LEqual(Arg0,3),LEqual(Arg1,1)))\n
{\n
^^^LPCB.EC.TSDS ()\n
}\n
end;
Sonuç olarak;
EFI/acpi/patched klasöründe olacaklar

DSDT.aml yamalanmış
SSDT.aml ssdtPRGen ile oluşturulmuş
SSDT-0.aml yamalanmış
SSDT-1.aml dokunulmamış
SSDT-5.aml dokunulmamış

config.plist ayarı
SortedOrder kısmına sırayla şunlar yazılacak.

DSDT.aml
SSDT.aml
SSDT-0.aml
SSDT-1.aml
SSDT-5.aml

Sizin config.plist DSDT patches kısmında yaptığım DSDT yamalarının bazıları var. Bu yüzden sorun olursa mesela şu yamaları da Disabled yazan yere tıklayarak kapayabilirsiniz.
- change GFX0 to IGPU
- change PCI0.VID to IGPU #1 (Thinkpad)
- change PCI0.VID to IGPU #2 (Thinkpad)

Ben her bir yamayı denedim. Hata vermeden uygulanıyorlar. Lütfen adım adım yamaları uygulamaya çalışın. Biraz sabrederseniz yapacağınıza eminim. Kolay gelsin.
Çok çok teşekkür ederim @tosbaha Hepsini deneyeceğim bugün, sonucunu yazarım tekrardan buraya.

Origin klasörünüzün içine gidin refs.txt dosyasını oluşturun ve içine şunları yazın
Kod:
External(MDBG, MethodObj, 1)
External(_GPE.MMTB, MethodObj, 0)
External(_SB.PCI0.LPCB.H_EC.ECWT, MethodObj, 2)
External(_SB.PCI0.LPCB.H_EC.ECRD, MethodObj, 1)
External(_SB.PCI0.LPCB.H_EC.ECMD, MethodObj, 1)
External(_SB.PCI0.PEG0.PEGP.SGPO, MethodObj, 2)
External(_SB.PCI0.GFX0.DD02._BCM, MethodObj, 1)
External(_SB.PCI0.SAT0.SDSM, MethodObj, 4)
External(_GPE.VHOV, MethodObj, 3)
External(_SB.PCI0.XHC.RHUB.TPLD, MethodObj, 2)
Aynı klasörde terminal ekranına gidin ve şunu yazın.

Kod:
iasl -da -dl -fe refs.txt DSDT.aml SSDT*.aml
Bir surü dosya oluşacak ama bize şunlar lazım

SSDT.aml
Bu dosya oluşan dosyalardan değil ama güç yönetimi için gereklidir. Bu dosyayı ssdtPRGen ile oluşturun.

SSDT-0.dsl

[sys] Remove _PSS Placeholders

Dosyayı aml olarak kaydediyoruz.

SSDT-1.aml
Bu .dsl dosyasına yamaya gerek yok. O yüzden origin klasöründeki .aml dosyasını aynen kopyalayın

SSDT-5.aml

Bu .dsl dosyasına yamaya gerek yok. O yüzden origin klasöründeki .aml dosyasını aynen kopyalayın

DSDT.dsl

[gfx0] Cleanup/Fix Errors (SSDT)
[syn] Remove _DSM methods
[igpu] Rename PCI.GFX0 to PCIO.IGPU
[sys] IRQ Fix

Bu aşamaya geldikten sonra artık iş biraz size kalıyor. Olabilecek ihtimaller için şu 3 yamadan sadece ama sadece birisini uygulayın. Bu yamaları MaciASL nin Patch tuşuna tıkladıktan sonra gelen ekrana yapıştırıp Apply diyorsunuz. Benim tavsiyem buraya kadar geldikten sonraki DSDT.dsl dosyanızın yedeğini alın. Her bir yamayı ayrı uygulayarak 3 farklı DSDT.aml dosyası oluşturun ve her birini deneyin.

YAMA1

Kod:
into method label _REG parent_hid PNP0C09 insert
begin
//added to turn nvidia/radeon off\n
If (LAnd(LEqual(Arg0,3),LEqual(Arg1,1)))\n
{\n
  \_SB.PCI0.PEGR.GFX0._PS3()\n
}\n
end;

YAMA2
Kod:
#EC kodunu siliyoruz
into method label _PS3 parent_label \_SB.PCI0.PEGR.GFX0 code_regex .*TSDS.* remove_matched;

#PS3 methodunu cagiriyoruz
into method label _INI parent_label \_SB.PCI0.PEGR.GFX0 insert
begin
 \_SB.PCI0.PEGR.GFX0._PS3()\n
end;

#Sildigimiz EC kodunu yeniden cagiriyoruz.
into method label _REG parent_hid PNP0C09 insert
begin
//added to turn nvidia/radeon off\n
If (LAnd(LEqual(Arg0,3),LEqual(Arg1,1)))\n
{\n
^^^LPCB.EC.TSDS ()\n
}\n
end;

YAMA3

Kod:
into method label _INI parent_label \_SB.PCI0.PEGR.GFX0 insert
begin
_OFF ()\n
end;

into method label _REG parent_hid PNP0C09 insert
begin
If (LAnd(LEqual(Arg0,3),LEqual(Arg1,1)))\n
{\n
^^^LPCB.EC.TSDS ()\n
}\n
end;
Sonuç olarak;
EFI/acpi/patched klasöründe olacaklar

DSDT.aml yamalanmış
SSDT.aml ssdtPRGen ile oluşturulmuş
SSDT-0.aml yamalanmış
SSDT-1.aml dokunulmamış
SSDT-5.aml dokunulmamış

config.plist ayarı
SortedOrder kısmına sırayla şunlar yazılacak.

DSDT.aml
SSDT.aml
SSDT-0.aml
SSDT-1.aml
SSDT-5.aml

Sizin config.plist DSDT patches kısmında yaptığım DSDT yamalarının bazıları var. Bu yüzden sorun olursa mesela şu yamaları da Disabled yazan yere tıklayarak kapayabilirsiniz.
- change GFX0 to IGPU
- change PCI0.VID to IGPU #1 (Thinkpad)
- change PCI0.VID to IGPU #2 (Thinkpad)

Ben her bir yamayı denedim. Hata vermeden uygulanıyorlar. Lütfen adım adım yamaları uygulamaya çalışın. Biraz sabrederseniz yapacağınıza eminim. Kolay gelsin.

Adım adım tüm yamayı uyguladım. Uygulayamadığım kısım "[syn] Remove _DSM methods" yaması. Çünkü değişiklik yapılacak dosya bulamadı bu yama için DSDT.dsl dosyamda. Bunun haricinde yamalara kadar olan her şeyi eksiksiz gerçekleşti. Yamalar kısmında ise birinci yama sorunsuz compile edilirken ikinci ve üçüncü yamalarda "^^^LPCB.EC.TSDS ()\n" bulunamadığı hatasını aldım, ekran görüntüsü için : yama2.png - Google Drive

Doğal olarak yama1 uygulanmış bir şekilde patched klasörüne DSDT dosyamı ve SSDT dosyalarımı attıp deneme imkanım oldu. Config.plist'de de belirttiğiniz şekilde sıraladım bunları ve Drop OEM seçili halde kayıt ettim. Fakat yeniden başlattıktan sonra malesef ekran kartının kapanmadığını gördüm birde config.plist'de ki DSDT patched daki belirtmiş olduğunuz üç yamayıda disable yapıp öyle deneyeyim dedim fakat değişen bir şey olmadı yine.
 

tosbaha

PADAVAN
MODERATOR
DEVELOPER
11 Mar 2017
140
118
0
47
1. [syn] Remove _DSM methods yamasını eğer [gfx0] Cleanup/Fix Errors (SSDT) önce uygularsanız, o yama DSM yamasını da yapıyor.
2. Yamalardaki ^^^LPCB.EC.TSDS satırını \_SB.PCI0.LPCB.EC0.TSDS () ile değiştirin.

Ekteki dosyalara bakabilirsiniz. Sizin için 5 dosya hazırladım.
1. DSDT_ilkyamalar.dsl bir önceden bahsettiğim ilk yamalar.
3. DSDT_1 extrayamalar.dsl Sistem için çok da önemli olmayan extra yamalar.
- Fix *pnp.pnp lower case Error
- RTC Fix
- SMBUS Fix
4. denenecekdosyalar klasörü
Extra yamalar baz alınarak yapılmış buradaki 3 yamanın uygulanmış hali.

Dosyaları .dsl olarak ekledim. Siz dosyaları karşılaştırıp durum nedir anlayabilirsiniz.
 

Ekli dosyalar

amadeus

APPRENTICE
17 Ocak 2017
40
2
21
33
İstanbul
1. [syn] Remove _DSM methods yamasını eğer [gfx0] Cleanup/Fix Errors (SSDT) önce uygularsanız, o yama DSM yamasını da yapıyor.
2. Yamalardaki ^^^LPCB.EC.TSDS satırını \_SB.PCI0.LPCB.EC0.TSDS () ile değiştirin.

Ekteki dosyalara bakabilirsiniz. Sizin için 5 dosya hazırladım.
1. DSDT_ilkyamalar.dsl bir önceden bahsettiğim ilk yamalar.
3. DSDT_1 extrayamalar.dsl Sistem için çok da önemli olmayan extra yamalar.
- Fix *pnp.pnp lower case Error
- RTC Fix
- SMBUS Fix
4. denenecekdosyalar klasörü
Extra yamalar baz alınarak yapılmış buradaki 3 yamanın uygulanmış hali.

Dosyaları .dsl olarak ekledim. Siz dosyaları karşılaştırıp durum nedir anlayabilirsiniz.

Tamamdır :) Yama 3 işe yaradı. Şöyle göstereyim hatta :) :
success1.png
success2.png

Ayrıca çok teşekkür ederim @tosbaha yardımın ve emeklerin için :)
 
Moderatörün son düzenlenenleri:

Benzer konular

AD Engelleyici Tespit Edildi

Anlıyoruz, reklamlar can sıkıcı!

Elbette, reklam engelleme yazılımı reklamları engelleme konusunda harika bir iş çıkarsa da, web sitemizin faydalı özelliklerini de engeller. En iyi site deneyimi ve bize destek olmak için lütfen AdBlocker’ınızı devre dışı bırakın.

AD Reklam Engelleyiciyi Devre Dışı Bıraktım    Hayır teşekkürler