Skocz do zawartości

Legacy kext dla kart WiF Atheros


MKjanek32
 Udostępnij

Rekomendowane odpowiedzi

Stworzyłem ostatnio legacy kexta do uruchamiania kart WiFi z chipsetem Atherosa. Pierwotnie był to poprawiony AtherosFix, żeby nie powodował KP na wersji 10.6.5 i nowszych. Aktualnie kext ma zmienioną strukturę Info.plist i dodaną obsługę kart, których AtherosFix nie uruchamiał. Jest kompatybilny ze wszystkimi wersjami Snowa i Lionem, testowany na Snow Leopardzie 10.6.3, 10.6.7, 10.6.8 i Lionie 10.7.3.
Problemy z działaniem kexta i propozycje dodania nowych kart można zgłaszać w tym wątku.

 

Kexta wrzucamy do /System/Library/Extensions lub /Extra/KextStore (Extensions), dodajemy ID naszej karty do Info.plist (jeżeli jej tam nie ma), naprawiamy uprawnienia, odświeżamy mkext'a, restartujemy system i powinniśmy mieć działające WiFi.
W razie problemów z poprawnym rozpoznaniem interfejsu sieciowego (po kliknięciu w ikonę AirPort'a na pasku menu otrzymujesz komunikat "AirPort: nieskonfigurowany" i musisz łączyć się z siecią przez Preferencje systemowe) należy w terminalu wykonać komendę:

sudo rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist

Po czym restartujemy system i problem powinien zniknąć.

UWAGA:
Legacy kext nie obsługuje kart USB, gdyż nie są one wspierane przez oryginalne sterowniki AirPort'a.


Podziękowania:
-dla autora AtherosFixa, netkasa
-dla użytkownika oswaldini, który pisał, że AtherosFix działa tylko z IO80211Family.kext z wersji max 10.6.4 (http://hamac.pl/topics11/1065-kontra-tp-link-tl-wn551g-vt3100.htm)
-dla użytkownika Astarael za zmotywowanie do stworzenia kexta i pomoc w dodawaniu nowych kart

Historia wydań kexta:
06.08.2011 - pierwsza wersja
24.09.2011 - zmodyfikowana struktura Info.plist, dodane karty AR9287 (168c:002e), AR9285 (168c:002b) i AR5BXB6 (168c:1014)
23.12.2011 - dodane ID większości kart działających z serii 5xxx, dokładna lista tu

NewLegacyAtheros.kext.zip

Odnośnik do komentarza
Udostępnij na innych stronach

Jakoś nie widzę sensu podmieniania IO80211 na starszy i jeszcze dogrywania AtherosFix - jak juz w /S/L/E i tak wrzucasz inny kext niż w danej wersji systemu być powinien, to możesz spokojnie zmodyfikować w nim plisty - AtherosFix staje się zbędny.

 

Nie znam dokładnie przypadku tej karty, ale obstawiam, że może ruszyć też bez rollbacku IO80211Family.kext. Owszem, w 10.6.5 w ów kexcie miała miejsce jakaś zmiana i wiele kart odpalanych przez AtherosFix przestało działać, ale mnie to wygląda raczej na niedziałanie AtherosFix, aniżeli niedziałanie oryginalnych sterowników. W kilku przypadkach moje przypuszczenia się potwierdziły - choćby u mnie pci id 168c:1014 (rev 01)

Do 10.6.4 używałem AtherosFix a po updacie panika - skazany na rollback? Nie, po prostu LegacyKext przestał działać - radzę Ci to sprawdzić ;)

 

Przywróć oryginalny IO80211 i dopisz do plistów atherosa swoje pci id lub (polecam) przetestuj fix DSDT.

Odnośnik do komentarza
Udostępnij na innych stronach

Faktycznie, problem powodował AtherosFix a nie nowy IO80211Family.kext. Chodzi o to, że prawdopodobnie w nowym IO80211Family karty uruchamiane przez AtherosFixa obsługuje kext AirPortAtheros21, a Legacy Kext przy 32 bitach patchował AirPortAtheros i to powodowało panikę. Analogiczna sytuacja występowała, gdy dopisałem mój DeviceID do Info.plist wewnątrz AirPortAtheros.kext, musiałem odpalić OS X'a w safe mode i przenieść wpis do Info.plist w rozszerzeniu AirPortAtheros21. Wtedy sieć zadziałała.

Ale skoro już zdobyłem te informację, naniosłem poprawki do AtherosFixa i wynikiem jest działający Legacy Kext dla Atherosów na nowszych wersjach Snowa, dla odróżnienia nazwałem go IOLegacyAtheros.kext. Działa pod Snow Leo od wersji 10.6.5, nie wiem jak sprawa wygląda z Lionem.

 

W załączniku znajduje się paczka z fixem.

Załącznik usunięty, najnowsza wersja znajduje się w pierwszym poście.

 

 

Okazuje się, że kext działa także pod starszymi wersjami Snowa (testowane na 10.6.3). Wygląda na to, że poprzedni Legacy Kext był źle napisany, a po poprawce uzyskałem kexta działającego z wszystkimi wersjami Snow Leoparda.

Odnośnik do komentarza
Udostępnij na innych stronach

Faktycznie, problem powodował AtherosFix a nie nowy IO80211Family.kext. Chodzi o to, że prawdopodobnie w nowym IO80211Family karty uruchamiane przez AtherosFixa obsługuje kext AirPortAtheros21, a Legacy Kext przy 32 bitach patchował AirPortAtheros i to powodowało panikę.
Potwierdzam.
Ale skoro już zdobyłem te informację' date=' naniosłem poprawki do AtherosFixa i wynikiem jest działający Legacy Kext dla Atherosów na nowszych wersjach Snowa, dla odróżnienia nazwałem go IOLegacyAtheros.kext. Działa pod Snow Leo od wersji 10.6.5, nie wiem jak sprawa wygląda z Lionem. [/quote'] Super! Mnie jakoś nie chciało się tego robić (używam zawsze wpisu w dsdt), ale na pewno wielu osobom się przyda.
Odnośnik do komentarza
Udostępnij na innych stronach

Teraz kext działa na wszystkich wersjach Snowa, być może jest też kompatybilny z Lionem.

Testowany na SL 10.6.7 i 10.6.3. Problemy z działaniem rozszerzenia można zgłaszać w tym wątku.

Na 10.6.8 działa (właśnie sprawdziłem), a więc na Lionie też powinien.
PS 1 Czemu jak zmodyfikuję tego posta jest pokazywane "Ostatnio zmieniony przez Astarael"?
Pojęcia nie mam xD
Astarael, ile się ukombinowałem to patch do DSDT nigdy nie zaskoczył mi na desktopie. Na lapkach zawsze a na PC niestety nie :(
No widzisz, ja mam do czynienia głównie z laptopami, więc mi działa :-P
Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 tygodnie później...

Zawartość Info.plist tego kexta z Liona:

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



BuildMachineOSBuild
11C22
CFBundleDevelopmentRegion
English
CFBundleExecutable
AirPortAtheros40
CFBundleGetInfoString
5.0.1, Copyright  2006–2011 Apple Inc. All rights reserved.
CFBundleIdentifier
com.apple.driver.AirPort.Atheros40
CFBundleInfoDictionaryVersion
6.0
CFBundleName
AirPortAtheros40
CFBundlePackageType
KEXT
CFBundleShortVersionString
5.0.1
CFBundleSignature
????
CFBundleVersion
501.58
DTCompiler

DTPlatformBuild
11C22
DTPlatformVersion
GM
DTSDKBuild
11C22
DTSDKName

DTXcode
0410
DTXcodeBuild
11C22
IOKitPersonalities

Atheros Wireless LAN PCI

CFBundleIdentifier
com.apple.driver.AirPort.Atheros40
IOClass
AirPort_AtherosNewma40
IOMatchCategory
IODefaultMatchCategory
IONameMatch

pci168c,30
pci168c,2a

IOProbeScore
501
IOProviderClass
IOPCIDevice


OSBundleLibraries

com.apple.iokit.IO80211Family
400.0
com.apple.iokit.IONetworkingFamily
2.0
com.apple.iokit.IOPCIFamily
2.0
com.apple.kpi.bsd
11.0.0
com.apple.kpi.iokit
11.0.0
com.apple.kpi.libkern
11.0.0
com.apple.kpi.mach
11.0.0
com.apple.kpi.unsupported
11.0.0


 

Ja potrzebuję ID 168c,2e (Atheros AR9287). Innych kart działających na tym kextcie nie znam, trzebaby poszukać - w każdym razie ta działa bez zarzutu po dopisaniu ID, z tym że po update'ach męczące jest dodawanie ID.

Da radę coś z tym zrobić? :)

Odnośnik do komentarza
Udostępnij na innych stronach

OK, spróbuj wykorzystać tą wersję kexta. Tak na szybko zrobione w 10 minut, jak będzie działać bez problemów zaktualizuję paczkę w pierwszym poście.

Przy okazji poprawiłem strukturę Info.plist. U mnie nie ma żadnych problemów z działaniem kexta po modyfikacji, ładuje to rozszerzenie co trzeba (AirPortAtheros21).

 

Paczka zaktualizowana i przeniesiona do pierwszego posta.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...
  • 3 tygodnie później...
Sprawdź, jaki masz vendor id i device id. Jeżeli inny niż 168c,1a, to dopisz go do Info.plist kexta. Jak w ten sposób ruszy, to zrobię aktualizację kexta z dopisanym id.

 

 

Wiem ze odgrzewam, ale albo to nie działa albo coś źle robię (pewnie to).

 

Screen z Vendor i device ID:

jioi.png

 

Info.plist:


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



CFBundleDevelopmentRegion
English
CFBundleIdentifier
pl.org.OSx86.MKjanek32.fix.NewLegacyAtheros
CFBundleInfoDictionaryVersion
6.0
CFBundleName
Atheros New Legacy Kext
CFBundlePackageType
KEXT
CFBundleSignature
????
CFBundleVersion
6.6.6
IOKitPersonalities

Standard Atheros SnowLion

CFBundleIdentifier
com.apple.driver.AirPort.Atheros21
IOClass
AirPort_AthrFusion21
IOMatchCategory
IODefaultMatchCategory
IONameMatch

pci9271,cf3
pci168c,1014

IOProbeScore
424
IOProviderClass
IOPCIDevice

Modern Atheros Snow

CFBundleIdentifier
com.apple.driver.AirPort.Atheros9388
IOClass
AirPort_AtherosNewma40
IOMatchCategory
IODefaultMatchCategory
IONameMatch

pci168c,2e
pci168c,2b

IOProbeScore
426
IOProviderClass
IOPCIDevice

Modern Atheros Lion

CFBundleIdentifier
com.apple.driver.AirPort.Atheros40
IOClass
AirPort_AtherosNewma40
IOMatchCategory
IODefaultMatchCategory
IONameMatch

pci168c,2e
pci168c,2b

IOProbeScore
501
IOProviderClass
IOPCIDevice


OSBundleRequired
Local-Root


Odnośnik do komentarza
Udostępnij na innych stronach

A dla AR5007 nie ma i nie będzie nadzieji żeby to jakoś normalnie działało???

Jeżeli karta jest wewnętrzna a nie na USB, to powinno się dać. Odczytaj vendor i device id twoje karty i dodaj te wartości do sekcji Standard Atheros SnowLion w Info.plist. Jeżeli zadziała, to daj znać.

Odnośnik do komentarza
Udostępnij na innych stronach

A dla AR5007 nie ma i nie będzie nadzieji żeby to jakoś normalnie działało???

Jeżeli karta jest wewnętrzna a nie na USB, to powinno się dać. Odczytaj vendor i device id twoje karty i dodaj te wartości do sekcji Standard Atheros SnowLion w Info.plist. Jeżeli zadziała, to daj znać.

 

Własnie miałem pisać że narazie nie mam jak przez najblizsze około 3tyg. Jak wroce do POL to napewno spróbuję i dam znać:)

A jak się nie da to peszek

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.