Jump to content
Sign in to follow this  
MKjanek32

Legacy kext dla kart WiF Atheros

Recommended Posts

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

Astarael, ile się ukombinowałem to patch do DSDT nigdy nie zaskoczył mi na desktopie. Na lapkach zawsze a na PC niestety nie :( Nie wiem czym to szło. Teraz już nie używam WiFi od roku i nie interesuje się już tą kartą.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

Jeżeli będę wiedział jakie to karty (i jakie mają vendor id i device id), mogę dodać je do legacy kexta, ale muszę mieć Info.plist ze wspomnianych kextów. No i sam tego nie przetestuję, bo nie mam takiego sprzętu.

Share this post


Link to post
Share on other sites

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ć? :)

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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


Share this post


Link to post
Share on other sites
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ć.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
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...
Sign in to follow this  

×
×
  • Create New...

Important Information

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