Skocz do zawartości

IBM/Lenovo Thinkpad R61i


Rekomendowane odpowiedzi

Ponieważ na forum nie raz, nie dwa i nie trzy razy różni userzy mieli problem z tym właśnie laptopem, a ja (po mniejszych lub większych problemach) sobie z nim poradziłem, postanowiłem rozwiać wszelkie wątpliwości pisząc niniejszy poradnik. Sam walczyłem ze swoim Thinkpadem dosyć długo i efekt tej walki uważam za naprawdę zadowalający - czy faktycznie tak jest, każdy musi ocenić sam.

 

Tutorial dotyczy notebooka Lenovo R61i, ale prawdopodobnie będzie "pasować" do innych modeli Thinkpad R6x i T6x oraz Lenovo 3000.

 

 

:arrow:Specyfikacja laptopa

1. Lenovo Thinkpad R61i 8932-FDG / Chipset Mobile PM965/GM965/GL960

2. Procesor Intel Core2Duo T5450

3. Mostek ICH8M

4. Grafika Intel GMA X3100

5. Kodek CX20549

6. Lan Broadcom Corporation NetLink BCM5787M

7. Wifi ThinkPad A/B/G AR5BXB6 / AR5212 (pochodzi z modelu R60e, w R61i oryginalnie montowana jest Intel PRO/Wireless 3945ABG)

 

 

Czyli zapowiada się całkiem ładnie. Po dłuuuugim kombinowaniu osiągnąłem następujące efekty (Snow Leopard 10.6.6, 32 bity)

:arrow:Działa

- Speedstep (P-States i C-States)

- Karta graficzna

- Karta sieciowa

- Wifi

- Touchpad (włącznie z tap-to-click)

- Rozpoznawanie % naładowania baterii

- Shutdown/Restart/Sleep

- Dźwięk i klawisze funkcyjne z nim związane

- Bluetooth

- Czytnik kart pamięci

- Przyciemnianie ekranu

 

:arrow:Loteria

- Czytnik linii papilarnych (u mnie akurat nie działa, ale u niektórych - owszem)

- FireWire (nie mam możliwości sprawdzenia)

- Zewnętrzny monitor (wyjście grafiki działa częściowo - możemy rozszerzyć sobie pulpit, ale sklonować obraz z matrycy na monitor już nie)

 

:arrow:Nie działa na pewno

- Funkcja monitorów lustrzanych

Uważam, że jak na nie-macbooka jest to całkiem niezły efekt ;) Zainteresowani? No to do dzieła!

 

:arrow:0. Ustawienia BIOSu

- Aktualizujemy do najnowszej wersji

- Ustawiamy SATA na AHCI (a jak instalator nie wystartuje, to próbujemy z wyłączonym AHCI)

- Włączamy SpeedStep i ustawiamy Automatic zarówno dla zasilania zewnętrznego jak i pracy na baterii

- Wyłączamy port COM i inne przestarzałe głupoty, jak np. w niektórych modelach stacja dyskietek i podczerwień

 

:arrow:1. Instalacja

Chyba nie ma potrzeby, żeby ją opisywać - na forum są już bardzo dobre poradniki. Powiem tylko, że instalowałem OS X z powodzeniem za pomocą EmpireEFI, NawcomBootCD, XBooter oraz MyHack.

 

:arrow:2. Bootloader i podstawowe kexty

Osobiście mam chameleona 2.0 RC5 r656 i nie narzekam - RestartFix eliminuje konieczność używania EvoReboot czy OpenHalt. Mój com.apple.boot.plist wygląda tak:

?xml version="1.0" encoding="UTF-8"?> 



DSDT
/Extra/dsdt.aml
Graphics Mode
1280x800x32
Kernel
mach_kernel
Kernel Flags
arch=i386
SMBIOS
/Extra/smbios.plist
Timeout
5
SystemType
2
RestartFix
Yes

Natomiast smbios.plist:

<?xml version="1.0" encoding="UTF-8"?> 



SMbiosdate
20/09/2009
SMbiosversion
MBP51.88Z.007E.B05.0905051508
SMfamily
MacBook Pro
SMmanufacter
Apple Inc.
SMmemspeed
667
SMproductname
MacBookPro5,1
SMserial
W88261E7YP4
SMboardproduct
Mac-F42D86C8
SMsystemversion
1.0


Klucz SMmemspeed albo kasujemy, albo wpisujemy w nim swoją częstotliwość ramu. U mnie jest on konieczny, bowiem inaczej Chameleon usiłuje mi wmówić 800MHz, co rozmija się z prawdą o jakieś 133Hz.

Nowsze revy (700+) już dobrze odczytują taktowanie pamięci, wpis w smbiosie jest zbędny.

 

Jeśli chodzi o E/E bądź, jak kto woli, E/KS, to na tym etapie wiele tam nie potrzeba: VoodooPS2Controller, FakeSMC oraz NullCpuPowerManagement - wierzcie bądź nie, ale to wystarczy, żeby system wystartował i dał się dalej konfigurować.

Na tym etapie możemy też bez lęku zainstalować Combo Update 10.6.8 - raczej się nic nie wysypie, bo i co ma się wysypać, skoro nic jeszcze nie działa? :D

 

:arrow:3. DSDT

Przed tym nie ma ucieczki, parę modyfikacji zrobić trzeba. Skąd i jak wziąć dumpy DSDT jest napisane w poradnikach na forum.

Wchodzimy tu i robimy modyfikacje: Metoda DTGP, HPET, RTC, TIMR oraz PIC. Nie robimy TMFix'a (zrobimy później przy okazji odpalania kart sieciowych) oraz absolutnie nic nie ruszamy w LPC ponieważ mamy ICH8M montowany w macbookach i LPC ładuje się bez żadnych dodatkowych zabiegów. Można to sprawdzić/upewnić się za pomocą programu IORegistryExplorer: wpisujemy w wyszukiwarkę LPC i patrzymy czy jest gałąź AppleLPC - jeśli nie ma, dopiero wtedy martwimy się o fix LPC.

 

Jest jeszcze jedna ważna modyfikacja dotycząca wszystkich thinkpadów i większości laptopów Lenovo: rozpoznawanie systemów operacyjnych. Otóż szanowni panowie z Lenovo w DSDT umieścili kilka warunków, które sprawdzają jaki system działa i w zależności od tego ładują odpowiedni moduł. OS X oczywiście tam nie ma, więc musimy go dopisać. W edytorze DSDT wyszukujemy więc słówko Linux i naszym oczom ukazuje się coś takiego:

  If (_OSI ("Linux")) 
 { 
     Store (One, LNUX) 
 } 
 If (_OSI ("FreeBSD")) 
 { 
     Store (One, LNUX) 
 } 
}

Po FreeBSD (albo przed) dopisać należy OS X, czyli fragment powinien wyglądać tak:

  If (_OSI ("Linux")) 
 { 
     Store (One, LNUX) 
 } 
 If (_OSI ("FreeBSD")) 
 { 
     Store (One, LNUX) 
 }                  
 If (_OSI ("Darwin")) 
 { 
     Store (One, LNUX) 
 } 
}

Teraz możemy spokojnie skompilować nasze poprawione DSDT i umieścić je w /Extra (ścieżka podana w com.apple.boot.plist), usunąć disabler/NullCpu..., odświerzyć cache i zrobić restart. Uruchamiamy, profilaktycznie z -v -f. Jeśli wszystko poszło po naszej myśli, to mamy już Bluetooth i częściowo speedstep - w IORegu widać CPUPLimit, brakuje za to możliwe, że CSTInfo. Nie panikujemy, tylko albo dopisujemy CST do naszego DSDT (innym razem), albo włączamy w Chameleonie generowanie stanów P i C - sugeruję spróbować najpierw łatwiejszej opcji, a kombinować dopiero, gdy ta nie zadziała.

 

Uwaga! W razie problemów z bootem bez disablera sprawdzamy dodatkowo komendę cpus=1 a potem dorzucamy do Extra VoodooTSCSync.kext

 

:arrow:4. Broadcom BCM5787M

Wbrew niektórym głosom, ta karta działa i to działa dobrze - nie przeszkadza w sleepie, uruchamia się w 32 i 64 bitach, oryginalny mac address również jest odczytywany. Aby ją odpalić, potrzebujemy (niestety) zmodyfikowanego pluginu BCM z IONetworkingFamily, który pobieramy stąd:

http://www.insanelymac.com/forum/index.php?showtopic=127903

Nie wrzucamy tego kexta do /S/L/E! Kopiujemy swój oryginalny IONetworkingFamily.kext na pulpit (i najlepiej jeszcze w jakieś bezpieczne miejsce), wchodzimy do środka (prawym->pokaż zawartość pakietów) i w katalogu pluginów podmieniamy oryginalny na ten pobrany z insanelymac. Potem zmodyfikowany własnoręcznie IONetworking wrzucamy z powrotem do S/L/E, naprawiamy uprawnienia, odświerzamy cache i restart. Można też skorzystać z załączonego przeze mnie instalatora.

Na 90% po restarcie dalej nie będziemy mieć lanu. Nie panikujemy, tylko edytujemy DSDT (nie panikujemy!).

Wcześniej otwieramy IORegistryExplorer i wyszukujemy ethernet, sprawdzamy, pod jakim portem mamy lan (patrz TMFix z poradnika na forum). U mnie jest to EXP2. Przechodzimy więc w DSDT do sekcji Device (EXP2) - teraz tylko ona nas interesuje. Mamy tam pole

OperationRegion (P2CS, PCI_Config, Zero, 0x0100) 
Field (P2CS, DWordAcc, NoLock, Preserve) 
               { 
                           Offset (0x60), 
                   RID2,   16, 
                   PSP2,   1, 
                   PPP2,   1
               }

uzupełniamy je trochę, tak żeby wywyglądało

OperationRegion (P2CS, PCI_Config, Zero, 0x0100) 
Field (P2CS, DWordAcc, NoLock, Preserve) 
               { 
                           Offset (0x5A), 
                   ABP,    1, 
                       ,   2, 
                   PDC,    1, 
                       ,   2, 
                   PDS,    1, 
                           Offset (0x5B), 
                           Offset (0x60), 
                   RID2,   16, 
                   PSP2,   1, 
                   PPP2,   1, 
                           Offset (0xDB), 
                       ,   6, 
                   HPCE,   1, 
                   PMCE,   1, 
                           Offset (0xDF), 
                       ,   6, 
                   HPCS,   1, 
                   PMCS,   1
               }

Zapisujemy, kompilujemy i restart. Zauważamy, że na górnej belce pojawiła się (mam nadzieję) dodatkowa ikona - klikając na nią, możemy wyłączyć kartę ethernet. Wchodzimy jeszcze, tak dla pewności, w Preferencje Systemowe -> Sieć i sprawdzamy, czy pojawił się nam nowy interfejs.

Jeśli dalej nie działa, należy zastosować "PCI card information hack" opisany w edytorze DSDTSE, nawiasem, niewiele różni się od TMFix'a. Znamy już port, pod jakim podpięta jest karta sieciowa, jednak raz jeszcze w IORegu wpisujemy ethernet i patrzymy, jak nazywa się urządzenie do tego portu wpięte - czyli jakie urządzenie w DSDT reprezentuje nasz lan (w moim przypadku jest to EXUP). Odnajdujemy w kodzie sekcję danego portu i sprawdzamy, czy owo urządzenie w ogóle tam jest - prawdopodobnie go nie będzie i właśnie dlatego lan jeszcze nie działa. Musimy je zatem dopisać:

                Device (EXUP) //Jak ktoś bardzo chce, może być LAN
               { 
                   Name (_ADR, Zero) 
                   Method (_DSM, 4, NotSerialized) 
                   { 
                       Store (Package (0x04) 
                           { 
                               "name", 
                               Buffer (0x20) 
                               { 
                                   "Broadcom BCM5787M PCI-E Gigabit" 
                               }, 

                               "built-in", 
                               Buffer (One) 
                               { 
                                   0x01
                               } 
                           }, Local0) 
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) 
                       Return (Local0) 
                   } 

                   Method (_RMV, 0, NotSerialized) 
                   { 
                       Return (One) 
                   } 
               }

Na chwilę obecną istnieje jeszcze prostsze rozwiązanie w postaci sterowników przeportowanych z Linuksa i BSD - zainteresowanych odsyłam tutaj:

http://osx86.co/f36/10-6-x-broadcom-nic-driver-for-bcm5754-t6946/

 

:arrow:5. Wifi

 

:arrow: 5.1 Thinkpad A/B/G Atheros AR5BXB6

Dlaczego wymieniłem wifi w laptopie na takie, z którym trzeba coś kombinować, zamiast na takie, które działa otb? Ano dlatego, że w biosie laptopów Lenovo jest blokada urządzeń nieautoryzowanych - użycie karty sieciowej innej, niż "zaleca" producent, kończy się niemożnością użycia komputera. Można to obejść, modyfikując bios, albo kupując kartę wykręconą z innego thinkpada - tak właśnie zrobiłem.

Żeby odpalić thinkpadowego atherosa mamy trzy wyjścia:

-> modyfikacja DSDT i "udawanie" innej karty

-> LegacyKext (IOLegacyAtheros podpięty w dziale kart sieciowych)

-> modyfikacja Info.plist kexta IO802Family

Do wersji 10.6.4 działał jeszcze AtherosFix, ale po updacie do 10.6.5 jakoś przestał działać (za działanie karty odpowiada inny plugin), więc musiałem poradzić sobie bez niego. Aktualnie istnieje działający legacy do kart atherosa - polecam go tym, którzy nie lubią babrać się w DSDT. Do Info.plist kexta trzeba dopisać pci id swojej karty - w przypadku Thinkpadowego AR5BXB6 będzie to pci168c,1014 Jeśli zaś DSDT nie jest Ci straszne, to odszukaj w IORegu, pod jakim portem siedzi Twoja karta wifi (u mnie jest to EXP3) i dopisz do niego:

Device (ARPT) 
			{ 
				Name (_ADR, 0x00) 
				Name (_PRW, Package (0x02) 
				{ 
					0x0B, 0x05
				}) 
				Method (_DSM, 4, NotSerialized) 
				{ 
					Store (Package () 
					{ 
						"built-in", 
                           Buffer (One) 
                           { 
                               0x00
                           },
						"AAPL,slot-name",
						Buffer () 
						{ 
							"AirPort" 
						}, 
						"device-id",
						Buffer () 
						{ 
							0x2A, 0x00, 0x00, 0x00
						}, 
						"device_type",
						Buffer () 
						{ 
							"AirPort" 
						}, 
						"model",
						Buffer () 
						{ 
							"Atheros Wireless AR5BXB6 802.11abg NIC" 
						}, 
						"subsystem-id",
						Buffer () 
						{ 
							0x8F, 0x00, 0x00, 0x00
						}, 
						"subsystem-vendor-id", Buffer () 
						{ 
							0x6B, 0x10, 0x00, 0x00
						} 
					}, Local0) 
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) 
					Return (Local0) 
				} 
			}

Powyższa łatka spowoduje, że nasza karta zacznie się legitymować jako atheros o innym device-id, a co za tym idzie - zostaną załadowane odpowiednie sterowniki z IO802Family.kext

Po wgraniu DSDT i restarcie mamy działające, rozpoznawane jako Apple AirPort wifi.

 

:arrow:5.2 Intel PRO/Wireless 3945ABG

Odpaliłem to wifi. Mówię poważnie. Ale nie powiem, żeby nadawało się do użytku. Wykrywało co prawda dostępne sieci, ale na tym koniec, bo wszystkie w okolicy akurat były zabezpieczone - a żadnych zabezpieczeń, haseł ani szyfrowania aktualna wersja Voodoo3945 nie obsługuje.

Jak ktoś chce i ma życzenie, może się pobawić - nie bronię. Kexty są tu:

http://projectcamphor.mercurysquad.com/downloads/

Należy wrzucić je do /S/L/E, z Extra nie zostaną załadowane. Ponadto możliwe, że OS X w ogóle nie wykryje, że mamy jakąś kartę w tym slocie, dlatego też oleje sterowniki i wifi nie będzie - tak jak w przypadku lanu, należy wtedy zrobić sztuczkę w DSDT w odpowiednim porcie. Fix jest identyczny, ale efekt nie - bo niektórym ta karta i tak nie odpali.

 

:arrow:6. Regulacja jasności ekranu

Żeby w preferencjach wyświetlacza pojawił się suwak, do DSDT, w SB między metodą _INI, a LNKA dopisujemy:

Device (PNLF) 
{ 
   Name (_HID, EisaId ("APP0002")) 
   Name (_CID, "backlight") 
   Name (_UID, 0x0A) 
   Name (_STA, 0x0B) 
}

I już. Po restarcie mamy w preferencjach ekranu suwak, który zmienia jego jasność. Można też sprawdzić klawisze funkcyjne, u mnie akurat nie działają (niedawno odkryłem, że Pause oraz ScrollLock przejęły ich funkcję), ale np. na Lenovo 3000 N200 z identyczną grafiką i płytą główną działają - nie działa za to sam suwak :D Jeśli zaś ekran przyciemnia się "dziwnie", tzn. w pewnych częściach bardziej, w pewnych mniej, to albo się na to godzimy, albo ostatecznie żegnamy się z waniliowością systemu i używamy paczki, którą nazwałem BacklightFix - instaluje ona w /S/L/E Natit oraz podrobiony framebuffer do X3100 jeszcze z czasów Leoparda. Po restarcie ekran przyciemnia się słabiej, za to równomiernie. W kwesti kontroli jasności matrycy polecam jeszcze przejrzeć ten temat:

http://www.insanelymac.com/forum/index.php?showtopic=236835&st=240&gopid=1597833

. Może też pomóc dopisanie paru drobiazgów do sekcji grafiki w DSDT, o czym przeczytamy tu:

http://www.projectosx.com/forum/index.php?showtopic=763

 

:arrow:7. Dźwięk

To najłatwiejsza część. Z takim kodekiem chyba nie ma mowy o odpaleniu AppleHDA (bynajmniej ja o takim przypadku nie słyszałem), więc ściągamy najnowszy VoodooHDA by Slice razem z prefpanelem.

http://www.projectosx.com/forum/index.php?showtopic=355

Instalujemy panel preferencji, a potem, zanim zainstalujemy sam kext, robimy małą modyfikację w jego Info.plist: zmieniamy wartość Vectorize z false na true, na koniec wrzucamy VoodooHDA do /S/L/E. Możemy też usunąć AppleHDA, ale zazwyczaj nie jest to niezbędne (czyt. kext ten nie powoduje problemów). Jeśli mamy wersję 2.7.2, z info.plist musimy też usunąć przykładowe pinconfingi (lub wpisać tam swoje) - patrz klucz NodesToPatch.

Zamiast ręcznie wgrywać kext i panel, można też użyć instalatora (załączony w wersji 2.7.1 - ponoć stabilniejsza od swego następcy; w Info.plist Vectorize od razu ustawione jest na true).

 

Jeśli nasz system działa poprawnie bez VoodooTSCSync, ale dźwięk z VoodooHDA jest "jakiś dziwny", to znaczy, że ten kext jednak się przyda - wrzucamy do /E/KS, uprawnienia, cache, restart i po krzyku.

 

Aktualnie, dzięki użytkownikowi man_of_the_oak, używam AppleHDA. LegacyHDA dla mojego Conexanta nie jest jeszcze w 100% gotowe - wciąż nie działa wyjście słuchawkowe. Gdy sytuacja ulegnie zmianie, ten punkt zostanie gruntownie przebudowany ;)

 

:arrow:8. Bateria, czytnik kart

Tutaj jeszcze łatwiej: po prostu umieszczamy w Extra kext AppleACPIBattery do baterii (VoodooBattery też działa, jeśli ktoś bardzo lubi literkę V) i VoodooSDHC do czytnika kart pamięci.

 

:arrow:9. Sleep

Teraz prawdopodobnie nie działa - sprawdź! U mnie laptop zasypiał i budził się natychmiast. Za pomocą konsoli (Programy->Narzędzia->Konsola) sprawdź przyczynę wybudzenia - u mnie było to USB3 oraz EHC0 i EHC1. Zatem bierzemy na warsztat DSDT i usuwamy (lub lepiej: zamieniamy w komentarz) całe Device (USB3), (ewentualnie jeszcze Device (EHC0) lub Device (EHC1)) oraz odwołania do niego/nich. Drastyczne? Okropnie!

Ale działa. Działa sleep, działają porty USB.

Nie, komputer nie wybuchnie.

Tak, coś w systemie może się posypać. Ale na taką okoliczność mamy stabilną wersję dsdt, czyż nie? ;)

Może się zdarzyć, że po uśpieniu dźwięk zrobi się dziwny / pojawi się pykanie itp - w takim wypadku należy udać się na stronę projektu, gdzie znajduje się stosowny patch naprawiający problem:

http://code.google.com/p/voodootscsync/issues/detail?id=1

Ostatnio przeprowadzane przeze mnie eksperymenty pozwalają przypuszczać, że aby sleep działał poprawnie, musimy ręcznie dopisać C-States do DSDT. Jeśli potwierdzę lub obalę tę teorię, to ostrzeżenie ulegnie zmianie lub zniknięciu

 

:arrow:10. Cieszymy się działającym systemem

Kimkolwiek jesteś, mam nadzieję, że Ci się udało :D

 

 

Uprzejmie proszę bardziej zaawansowanych użytkowników o wytknięcie ewentualnych błędów i ocenienie przydatności powyższego eseju ;)

 

PS Dziękuję mojemu mentorowi, użytkownikowi man_of_the_oak, bez którego tekst ów na pewno by nie powstał, bowiem to on zaraził mnie zamiłowaniem do przyklejania jabłek na obudowę pecetów :mrgreen:

 

[22.08.2011]Sekcja dot. wifi uzupełniona o informację o IOLegacyAtheros.

[24.06.2011]Aktualizacja do 10.6.8 przebiegła bez problemów, więc pozwoliłem to sobie zaznaczyć w treści poradnika.

[30.05.2011] Paczka kextów została zaktualizowana o poprawioną wersję VoodooTSCSync, która nie przestaje działać po uśpieniu. Dodano również instalator VoodooHDA by Slice w wersji 2.7.1 oraz paczkę z pluginem do BCM5787M.

http://dl.dropbox.com/u/22307501/OSx86/R61iSmallPack.zip

VoodooHDA-2.7.1.pkg.zip

BacklightFix.zip

BCM5787M.zip

R61i.zip

Odnośnik do komentarza
Udostępnij na innych stronach

Bardzo fajny tutek.

 

Mam jedną uwagę, SMBIOS można znacznie uprościć, bo nowe Chameleony całkiem dobrze rozpoznają procesor, pamięć itd. Dzięki temu będzie bardziej uniwersalny.

Powinno wystarczyć coś takiego:

<?xml version="1.0" encoding="UTF-8"?> 



SMbiosdate
20/09/2009
SMbiosversion
MBP51.88Z.007E.B05.0905051508
SMfamily
MacBook Pro
SMmanufacter
Apple Inc.
SMproductname
MacBookPro5,1
SMserial
W88261E7YP4
SMsystemversion
1.0

 

Jeśli pozwolisz, to przeniosę ten temat do działu Poradników o konkretnym sprzęcie.

 

Edit: Aha, sprawdź, czy działa zmienianie jasności ekranu przy użyciu Fn+F12, Fn+Pause/Break.

Odnośnik do komentarza
Udostępnij na innych stronach

Mam jedną uwagę, SMBIOS można znacznie uprościć, bo nowe Chameleony całkiem dobrze rozpoznają procesor, pamięć itd. Dzięki temu będzie bardziej uniwersalny.
Przetestuję taką opcję, aczkolwiek wcześniej (RC5 ok. rev.600) w niewłaściwy sposób rozpoznawało mi pamięć, stąd tak dużo w nim wpisów.
Jeśli pozwolisz, to przeniosę ten temat do działu Poradników o konkretnym sprzęcie.
Pozwolę :P

 

Edit:

Edit: Aha, sprawdź, czy działa zmienianie jasności ekranu przy użyciu Fn+F12, Fn+Pause/Break.
Niestety, nie zmienia się.
Odnośnik do komentarza
Udostępnij na innych stronach

Czytnik kart można odpalić na 2 sposoby. Jeżeli czytnik jest podpiety po USB (sprawdzasz w IORegu) to używasz: http://hamac.pl/topics12/usb-card-reade ... vt3696.htm . Jeżeli czytnik jest podpięty inaczej to korzystasz z VoodooSDHC.kext.

 

Do baterii polecam używać AppleACPIBatteryManager.kext. VoodooBattery na niektórych laptopach sprawia problemy z okazjonalnym KP.

 

Do PS/2 można spróbować kext ode mnie z załącznika - nie wymaga on obecności AppleACPIPS2Nub.kext, do tego działa przewijanie dwoma palcami i "pukanie". W załączniku jest także panel preferencji do trackpada. Żeby działał multitouch, trackpad musi mieć jego obsługę.

 

Co do rozjaśniania i ściemniania klawiszami funkcyjnymi - w wiekszości przypadków, jak nie we wszystkich, trzeba dopisać karte graficzną do DSDT.

Archiwum.zip

Odnośnik do komentarza
Udostępnij na innych stronach

janek202, skróciłem SMBIOS wedle Twojej rady, jedyne, co dodałem, to szybkość pamięci - bo Chameleon mi ciągle wciska kit, że jest 800 MHz a nie 667.

 

oswaldini, dzięki za kexty do PS2 - jeden śmieć w KextStore mniej :) VoodooBattery też wymieniłem, jak radzisz.

Odnośnie czytnika kart, kiedyś (dawno) testowałem rozwiązanie Voodoo, ale bez skutku - po włożeniu karty do czynnika system zamarzał. Może przetestuję jeszcze raz, ale to po powrocie ze studiów do domu, bo teraz pod ręką żadnej karty nie mam.

 

Natomiast w moim DSDT jest sekcja karty graficznej (VID) - nawet dwie - i to bynajmniej nie dopisywana przeze mnie. Być może ma to wpływ na błędne przyciemnianie - nie wiem. Swoją drogą muszę chyba zrobić zdjęcie i wrzucić na forum, bo ekran przygaszony w połowie wygląda naprawdę epicko :D

Odnośnik do komentarza
Udostępnij na innych stronach

- Czytnik linii papilarnych

Na Dellu M1330, M1530 działają super sterowniki UPEKa (bo taki jest kontroler)

http://www.upek.com/support/downloads/mac/

 

Nie wiem jaki jest u Ciebie ale możesz się zorientować i ew przetestować.

 

Co do grafiki tutaj masz prawidłową sekcje z wpisana grafiką, u siebie musisz wkleić w prawidłowym miejscu (sprawdzasz w IORegu port):

http://www.projectosx.com/forum/index.php?showtopic=763&mode=threaded

 

EDIT: możesz testować drivery UPEKa, R61i jest na liście:

http://www.thinkwiki.org/wiki/Integrated_Fingerprint_Reader

Odnośnik do komentarza
Udostępnij na innych stronach

Na ten moment Protector Suite UPEK'a daje mi komunikat Unable to find fingerprint sensor device, przywrócenie sekcji USB3 nic nie daje. Pobawię się jeszcze, ale to już w domu.

 

Jeśli o grafikę chodzi, znam ten fix - u mnie dawał 4 pulpity na jednym ekranie, ale może coś skopałem. W IORegu wyszukanie "display" daje mi dwie pozycje (display i VID) i w DSDT również mam 2x Device (VID) w dwóch miejscach - nie wiem, o co biega, w macbooko 13" z X3100 jest tylko jedna.

Jak masz chwilę, zerknij na te grafiki w moim DSDT - może zauważysz coś, co mnie umknęło.

 

PS W punkcie dot. usypiania w tutorialu wykryłem karygodne niedopatrzenie - naprawię później, bo teraz już biegnę na dworzec :D

PPS Poprawka dot. sleepu naniesiona

PPPS Sprawdziłem VoodooSDHC - o dziwo, nie wysadził systemu w powietrze; tutorial i zestaw kextów uzupełnione

 

[ Dodano: 2011-02-10, 18:26 ]

Odkryłem dzisiaj możliwość modyfikacji intensywności podświetlenia ekranu przy użyciu klawiatury. Co prawda nie służą u mnie do tego klawisze funkcyjne Lenovo, ale i tak ważne że działa: ScrollLock przyciemnia, Pause rozjaśnia.

post-1635-13904295685321_thumb.png

sleep.dsl.zip

Odnośnik do komentarza
Udostępnij na innych stronach

Posiadam R61i 8943-DKG i od wczoraj instaluje SL 10.6.6 zgodnie z Twoim opisem.

Poradnik rewelacja - bez niego bym SL nie uruchomił na lapie.

Oto problemy, sugestie, itp. które napotkałem:

 

1. Przed instalacją retaila (z iboot) musiałem w biosie wyłączyć AHCI bo mi się instalator nie ładował. Po zainstalowaniu załączyłem AHCI

 

2. Działa czytnik linii papilarnych po instalacji pakietu UPEK, nie zmieniałem jeszcze w DSDT sekcji USB.

 

3. Wrzucając opisane przez Was kexty do obsługi PS2, nie uruchamiał mi się trackpoint. Pomogło usunięcie z Pluginów w VoodooPS2Controller.kext dwóch plików: VoodooPS2Mouse.kext i VoodooPS2Trackpad.kext oraz dodanie kexta ThinkpadUltraNav.kext

Link do www:

http://wencheng.fang.sh.cn/2010/03/thinkpad-ultranavi-on-snow-leopard.html

 

4. Pozostały mi jeszcze do uruchomienia BCM5787M, jakieś WiFi i sleep - walczę

Odnośnik do komentarza
Udostępnij na innych stronach

3. Wrzucając opisane przez Was kexty do obsługi PS2, nie uruchamiał mi się trackpoint. Pomogło usunięcie z Pluginów w VoodooPS2Controller.kext dwóch plików: VoodooPS2Mouse.kext i VoodooPS2Trackpad.kext oraz dodanie kexta ThinkpadUltraNav.kext
Znam ten plugin, nawet kiedyś go używałem - działał. Wersja VoodooPS2, którą wrzucił oswaldini, również działa, przy czym najpierw musiałem usunąć z pluginów VoodooPS2Trackpad - zanim to zrobiłem kursor stał w miejscu. Aktualnie mam właśnie ten kext i nie widzę powodu, by go zmieniać ;)

 

PS Możesz mi powiedzieć, jak u Ciebie wygląda sprawa z przyciemnianiem ekranu? Konkretniej czy dodałeś do DSDT sekcję PNLF, czy działa suwak oraz czy przyciemnianie jest równomierne.

post-1635-13904295698086_thumb.jpg

Odnośnik do komentarza
Udostępnij na innych stronach

PS Możesz mi powiedzieć, jak u Ciebie wygląda sprawa z przyciemnianiem ekranu? Konkretniej czy dodałeś do DSDT sekcję PNLF, czy działa suwak oraz czy przyciemnianie jest równomierne.

Tak, dodałem do DSDT PNLF, działa suwak oraz klawisze ScrLk i Pause. Ekran przyciemnia się stopniowo z przeskokami. Czasami 2-3 razy kliknę i jest mała różnica, a 4 klik wyraźnie zmienia jasność.

 

Walczę od paru godzin z ethernetem ale nie działa, a robię dokładnie tak jak opisałeś. Pobrałem ze linka podanego przez Ciebie kexta (tego pod czerwonym napisem UPDATE 2), podmieniłem w IONetworkingFamily.kext, dopisałem kilka linii w DSDT...

 

Teraz zauważyłem Twojego screena - tak ja mam podobnie, przy jasnym ekranie jest OK, ale po przyciemnieniu jest dokładnie jak na screenie.

Odnośnik do komentarza
Udostępnij na innych stronach

Załącz do postu swoje DSDT oraz dump z IORega, może uda się coś wymyślić ;)

Tak, dodałem do DSDT PNLF, działa suwak oraz klawisze ScrLk i Pause. Ekran przyciemnia się stopniowo z przeskokami. Czasami 2-3 razy kliknę i jest mała różnica, a 4 klik wyraźnie zmienia jasność.
Ale obie połowy matrycy są tak samo podświetlone? (patrz obrazek, który dodałem do poprzedniej wiadomości)
Odnośnik do komentarza
Udostępnij na innych stronach

Ten dump z IORega nie chce mi się otworzyć, ale patrząc na Twoje DSDT, strzelam, że lan jest podpięty pod EXP2, tak jak u mnie - w tym porcie widzę rozszerzoną wersję Field (P2CS, DWordAcc, NoLock, Preserve). Testuj i daj znać, czy działa.

 

PS Mam nadzieję, że po wgraniu modyfikowanego pluginu naprawiłeś uprawnienia i odświeżyłeś cache? ;)

R61i_8943-DKG_DSDT_Astarael.zip

Odnośnik do komentarza
Udostępnij na innych stronach

Jak ja ostatnio testowałem, nie działało, tzn po wykryciu monitorów na obu monitorach robiła się sieczka, którą trudno opisać słowami :D

Jednak jeśli Tobie działa, to znaczy że albo miałem wtedy bajzel, albo jest to zwyczajna loteria - na niektórych modelach odpali, na innych nie.

 

Edit: już wiem, jak Ci działa. Nie klikaj na monitory lustrzane bo przestanie :D

Odnośnik do komentarza
Udostępnij na innych stronach

Edit: już wiem, jak Ci działa. Nie klikaj na monitory lustrzane bo przestanie :D

Dla testu oczywiście przełączyłem na lustro i nie działa. Możesz mi napisać jak teraz wrócić do ekranów z rozszerzonym pulpitem?

Po restarcie i ponownym podłączeniu dodatkowego monitora automatycznie robi się obraz lustrzany i nic nie widać...

 

 

Ogólnie udało mi się uruchomić praktycznie wszystko w laptopie. Nie działa oryginalna WiFi 3945abg (ale tu czekam na wymianę karty) oraz usypianie. Przy uśpieniu wyłącza się monitor, wentylatory nadal chodzą, z uśpienia nie da się już wyjść. Logi ucinają się na uśpieniu. Nie robiłem jeszcze modyfikacji USB w DSDT ale nie chcę robić dopóki logi mi nie pokażą co jest nie tak. Albo ja źle logi odczytuję? Wpisałem też

sudo pmset -a hibernatemode 0

ale nie pomogło.. walczę dalej.

 

[ Dodano: 2011-02-15, 21:26 ]

Walczę ze sleepem i w kernel.log znalazłem coś takiego:

Feb 15 20:39:48 PrzemMac kernel[0]: AppleBCM5701Ethernet:       0       0 start - failed to find Ethernet Low Power ACPI methods

czy Ty tez masz coś takiego w logach? może to powoduje problemy z wyjściem ze sleepa? próbowałem wyłączyć kartę ale nie pomogło.[/code]

Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...

W istocie tak, w pierwszym poście napisałem, które modyfikacje z poradnika (i spoza poradnika) wprowadzałem.

:arrow: 3. DSDT

[...]Wchodzimy tu i robimy modyfikacje: Metoda DTGP, HPET, RTC, TIMR oraz PIC. Nie robimy TMFix'a (zrobimy później przy okazji odpalania kart sieciowych) oraz absolutnie nic nie ruszamy w LPC ponieważ mamy ICH8M montowany w macbookach i LPC ładuje się bez żadnych dodatkowych zabiegów.

Warto zauważyć, że bez poprawienia sekcji HPET nie jest możliwe uzyskanie waniliowego zarządzania energią.
Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 tygodnie później...

Aktualizacja do 10.6.7 z poziomu System Update przebiegła bez jakichkolwiek problemów i nie przyniosła u mnie jakichkolwiek nowości. To, co działało, działa nadal - nic nie trzeba robić, nawet podmieniać kexta od BCM5701, bo IONetworkingFamily nie został nadpisany.

 

Przy okazji ostatniej reinstalacji, po której postanowiłem modyfikować DSDT od podstaw, wydarzyło się coś dziwnego: przestał działać sleep. Laptop nawet dobrze nie zasypia (gaśnie tylko ekran), o budzeniu się nie ma mowy. Ewentualnie pojawia się kernel panic we framebufferze X3100 lub w "żadnym" kexcie. Po wrzuceniu starego DSDT wszystko wróciło do normy - tzn. uśpienie działa i kp uciekło w las.

Co jest przyczyną zamieszania, jeszcze nie wiem. W weekend (niekoniecznie w ten :-P) planuję przeprowadzić testy i porównania obu wersji robionego przeze mnie DSDT. Niby wszystko robiłem tak samo, a jednak gdzieś znalazła się istotna różnica...

Na razie jedyne, co przychodzi mi do głowy, to CST na stałe wpisane do starej wersji DSDT, podczas gdy do nowej ich nie dodawałem (CSTInfo, o dziwo, pojawiło się bez tego i bez chameleonowego generatora). Jeśli to faktycznie jest przyczyna, to chyba mam rozwiązanie problemu, z którym boryka się przem_r ;) No ale pożyjemy, zobaczymy.

 

Edit: O, jak się ma zielony nick, to posty się nie łączą :mrgreen:

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie
 Udostępnij

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Korzystanie z tej witryny, wymaga zakceptowanie naszych warunków Warunki użytkowania.