Ändern Sie den Ländercode der drahtlosen Mac OS X-Karte

16

Ich habe Probleme mit der Verbindung zu einem WLAN-Router unter Mac OS X auf Kanal 13. Dies liegt daran, dass sich in der Nähe ein anderer Router befindet, der die US-Landesvorwahl sendet . Der einzige Weg, den ich bisher gefunden habe, ist, jedes Mal zum Router zu gehen und den Computer neu zu starten.

Ich habe Google gefragt und es scheint eine Mischung von Leuten zu sein, die denken, dass es das Gebietsschema ändert oder dass es in der Router-Firmware behoben ist. Ich habe beide als falsch erwiesen. mann ifconfig war auch nicht zu aufschlussreich.

Kennt jemand eine andere Möglichkeit, die Karte zur Verwendung eines anderen Ländercodes oder anderer Kanäle zu zwingen? Ich würde lieber nicht auf einen anderen Kanal wechseln, da eine Menge Interferenzen in der Nähe sind (gezeigt mit KisMAC).

Vielen Dank


Bearbeitungen

Gefunden

/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport

Dies scheint zu ermöglichen, dass ein beliebiger Kanal auf der Karte eingestellt wird, jedoch keine Kreisvorwahl. Dies scheint keine Wirkung zu haben.

Zweig
quelle
Ich weiß, dass Sie den Kanal nicht ändern möchten, aber nachdem Sie die Antworten hier gelesen haben, scheint es mir die einfachste, am wenigsten hackige Lösung zu sein.
wjandrea

Antworten:

6

802.11d ist das Protokoll, das drahtlose Zugangspunkte verwenden, um (unter anderem) die Regulierungsdomäne (dh die Ländercodes) zu senden, in denen sie betrieben werden sollen. Es scheint, dass es möglicherweise keine klare Regel dafür gibt, was zu tun ist, wenn verschiedene Geräte widersprüchliche Informationen zum Zulassungsbereich übertragen.

Die ideale Lösung wäre das Deaktivieren / Ersetzen / Neukonfigurieren des Geräts, das die falschen Informationen überträgt.

Ich habe einen (veralteten) Apple Discussions-Thread gefunden , der angibt, dass die AirPort-Hardware eines Mac nach dem Einschalten oder Aufwachen aus dem Ruhezustand den ersten Ländercode verwendet. Spätere Beiträge im Thread (auf der zweiten Seite ) zeigen an, dass es ausreicht, nur die AirPort-Hardware selbst und nicht das gesamte System aus- / einzuschalten. Einige Personen meldeten Erfolg mit einem Skript zum wiederholten Ein- und Ausschalten der AirPort-Benutzeroberfläche (mithilfe von networksetup), bis der gewünschte Status erreicht wurde (wie von gemeldet system_profiler).


Basierend auf TA25972 scheint es, dass ältere Geräte (vermutlich Modelle, die nicht auf 802.11d-Informationen achten) möglicherweise nicht einmal in der Lage sind, „Ländercodes“ umzuschalten.

Chris Johnsen
quelle
Leider habe ich keinen Zugriff auf den WLAN-Router, der den falschen Ländercode sendet. Ich hatte diesen Diskussionsthread schon einmal gesehen, aber der Raum, in dem ich mich befinde, ist ziemlich weit vom richtigen Router entfernt, und jeder Neustart dort scheint den US-Broadcast-Router zu finden. Interessanterweise kann KisMAC Router auf Kanal 13 erkennen, auch wenn der Ländercode auf US eingestellt ist. Darauf kann ich später noch eingehen.
Zweig
1
Ich habe dies heute noch einmal überprüft und KisMAC kann meinen Router finden und feststellen, dass er sich auf Kanal 13 befindet, obwohl der Ländercode US lautet und 13 nicht in der Liste der unterstützten Kanäle enthalten ist
Twig
5

Ich habe dieses Problem gelöst!

Ich wollte nur die 802.11d-Beacon-Funktion deaktivieren. Dies ist in den verfügbaren Einstellungen unter Mac OS X nicht möglich.

Sie können den Netzwerkkartentreiber jedoch binär patchen, wenn Sie glauben, dass der Ländercode immer X2 ist.

Anscheinend müsste ich also den Netzwerktreiber mit der Zeichenfolge ändern / binär patchen, 0x81 0x78 0x30 0x6B 0x10 0x00 0x00 0x0F 0x85um 0x81 0x78 0x30 0x6B 0x10 0x00 0x00 x90 0xE0. Dies zwingt den Fahrer dazu, den Ländercode «X2» zu verwenden, unabhängig davon, welches Beacon gesendet wird, sodass sich dieser niemals ändert.

Sie können dies entweder mit einem Hex-Bearbeitungsprogramm ändern oder den folgenden sehr praktischen Einzeiler in die Terminalanwendung kopieren und einfügen:

sudo perl -pi -e 's|\x81\x78\x30\x6B\x10\x00\x00\x0F\x85|\x81\x78\x30\x6B\x10\x00\x00\x90\xE9|' /System/Library/Extensions/IO80211Family.kext/Contents/PlugIns/AirPortBrcm4360.kext/Contents/MacOS/AirPortBrcm4360 && sudo touch /System/Library/Extensions/

Diese Lösung funktioniert für Mac Book Pro Retina 2013.

Eirik
quelle
2
Für andere MBPs finden Sie den Treiber, der mit dem Befehl gepatcht werden muss:sudo kextstat | grep AirPort
Stephen Connolly
Ich habe eine Nachricht über ungültigen Text. Datei zurückgesetzt und Verzeichnis berührt.
k06a,
Was ist, wenn der Ländercode stattdessen ES sein soll?
Fran Marzoa,
Musste SIP auf 13 "Macbook Pro Ende 2011 deaktivieren, um die Änderung vorzunehmen. Trotzdem hat es bei mir nicht funktioniert. :(
GAM
funktioniert nicht .. Ich bekomme: Kann /System/Library/Extensions/IO80211Family.kext/Contents/PlugIns/AirPortBrcm4360.kext/Contents/MacOS/AirPortBrcm4360 nicht entfernen: Vorgang nicht zulässig, Datei überspringen.
user426132
1

Die einfachste Lösung für widersprüchliche Ländercodes: Ihr MAC ermittelt den falschen Ländercode vom nächstgelegenen Broadcast-Router. Wenn also einer Ihrer direkten Nachbarn einen falschen Ländercode hat, geht Ihr eigener Router davon aus, dass dieser falsch ist Land - und es bringt Ihre Internetverbindung durcheinander - LÖSUNG - besorgen Sie sich einen alten Router, den Sie nicht mehr verwenden - und schließen Sie ihn einfach an das Stromnetz an und platzieren Sie ihn in der Nähe Ihres Live-Routers Richten Sie den richtigen Ländercode ein, verbinden Sie ihn jedoch NICHT mit dem Internet. Dann wird Ihr MAC den Ländercode von diesem "Dummy" -Router abholen und den richtigen Ländercode übernehmen ..... Problem gelöst. Das scheint bei mir zu funktionieren und ich bin so lange mit diesem Problem beschäftigt ...

Im Übrigen löst dies eines meiner Probleme - aber wenn jemand weiß, wie man die Great Firewall besiegt und das Problem der zufällig hohen Latenz bei der Verwendung von VPN löst, wäre dies ein Bonus. Seien Sie einfach dankbar, dass Sie nicht arbeiten in China ..... das Internet ist böse.

Spence
quelle
1

Wenn Sie den AirPortBrcm4331-Treiber für El Capitan verwenden:

  1. Im Wiederherstellungsmodus neu starten (CMD + r beim Booten), Terminal öffnen und ausführen csrutil disable
  2. neu starten, Terminal öffnen und starten
    • sudo perl -pi -e 's|\x30\x6B\x10\x00\x00\x0F\x85\xEA|\xFF\xFF\x10\x00\x00\x0F\x85\xEA|g' /System/Library/Extensions/IO80211Family.kext/Contents/PlugIns/AirPortBrcm4331.kext/Contents/MacOS/AirPortBrcm4331
    • sudo touch /System/Library/Extensions/
  3. Im Wiederherstellungsmodus neu starten (CMD + r beim Booten), Terminal öffnen und ausführen csrutil enable
primianoC
quelle
0

Ich hatte ein ähnliches Problem mit meinem WLAN-Router, aber als ich den Router auf 5 GHz und den Kanal auf Auto stellte, wurde das Problem behoben.

Peter Boocock
quelle
Wie hat es das gelöst? Hat sich der Ländercode geändert?
Ruskes
Nein Buscar, der Ländercode auf dem WLAN-Gerät in meiner Nähe hat sich nicht geändert, zumindest so weit ich das beurteilen konnte, sobald ich von 2,4 GHz auf 5 GHz gewechselt bin und meinen Router so eingestellt habe, dass er automatisch den stärksten Kanal auswählt, den er kann Umfrage, ich fand das Problem behoben und wenn ich zurück auf 2,4 GHz wechselte, tauchte die Auslandsvorwahl wieder auf und erwies sich als ein Problem für die interne WLAN-Karte meines iMac, die eine Verbindung zum Internet herstellte. Wi-Fi Diagnostics Tool hat auf das Problem mit der Landesvorwahl hingewiesen. Zurück zu 5 GHz gewechselt und automatisch den besten abfragbaren Kanal ausgewählt und das Problem behoben.
Peter Boocock
0

Ich fand eine etwas bizarre Lösung. Ich habe alle Lösungen ausprobiert, die Google entwickelt hat, aber keine hat funktioniert. In einem Artikel wurde erwähnt, dass KisMAC Kanal 13 sehen kann. Es wurde installiert und plötzlich hat sich meine Landesvorwahl von US auf X3 geändert, und jetzt kann ich auf Kanal 13 eine Verbindung herstellen.

Shaun
quelle
-1

Alles, was ich Mitte 2010 auf meinem MacBook Pro tun musste, war, den Kext-Namen von AirPortBrcm4360 in AppleAirPortBrcm43224 zu ändern, und ich habe endlich meinen Standort richtig eingestellt!

miha
quelle