Modifica il codice paese della scheda wireless Mac OS X.


16

Ho problemi a collegarmi a un router wireless usando Mac OS X che si trova sul canale 13. Questo perché c'è un altro router nelle vicinanze che sta trasmettendo il codice del paese degli Stati Uniti . L'unico modo per aggirare ciò che ho trovato finora è di andare ogni volta al router e riavviare il computer.

Ho chiesto a Google e sembra essere un miscuglio di persone che pensano che l'impostazione delle impostazioni locali lo cambi o che sia stato corretto nel firmware del router. Entrambi ho dimostrato di essere sbagliato. man ifconfig, inoltre, non è stato troppo illuminante.

Qualcuno conosce un altro modo per forzare la carta a utilizzare un codice paese o canali diversi? Preferirei non passare a un altro canale, in quanto vi sono molte interferenze nelle vicinanze (mostrato con KisMAC).

Grazie


Le modifiche

Trovato

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

Che sembra consentire l'impostazione di un canale arbitrale sulla carta, ma non il codice della contea. Questo sembra non avere alcun effetto.


So che non vuoi cambiare canale, ma dopo aver letto le risposte qui, mi sembra la soluzione più semplice, meno complicata.
wjandrea,

Risposte:


6

802.11d è il protocollo utilizzato dai punti di accesso wireless per trasmettere (tra le altre cose) il dominio normativo (ovvero i codici di paese) in cui dovrebbe operare. Sembra che non ci possano essere regole chiare su cosa fare quando varie apparecchiature trasmettono informazioni di dominio regolatorie in conflitto.

La soluzione ideale sarebbe quella di disabilitare / sostituire / riconfigurare l'apparecchiatura che sta trasmettendo informazioni errate.

Ho trovato un thread (vecchio) di Apple Discussions che indica che indica che l'hardware AirPort di un Mac utilizzerà il primo codice paese che sente dopo l'accensione o il risveglio dalla sospensione. Le successive pubblicazioni nel thread (nella seconda pagina ) indicano che è sufficiente spegnere / riaccendere l'hardware AirPort stesso e non l'intero sistema. Un paio di persone hanno segnalato il successo usando uno script per spegnere e riaccendere (utilizzando networksetup) l'interfaccia di AirPort fino a quando non si è verificato lo stato desiderato (come riportato da system_profiler).


Sulla base di TA25972 , sembra che le apparecchiature più vecchie (presumibilmente modelli che non ascoltano le informazioni 802.11d) potrebbero non essere nemmeno in grado di cambiare i "codici paese".


Sfortunatamente non ho accesso al router wireless che sta trasmettendo il prefisso internazionale sbagliato. Avevo già visto quel thread di discussione prima, ma la stanza in cui mi trovo è abbastanza lontana dal router corretto e ogni riavvio sembra trovare il router di trasmissione degli Stati Uniti. tuttavia, è interessante notare che KisMAC afferma di essere in grado di rilevare i router sul canale 13, anche quando il codice paese è impostato su US. Quindi potrei esaminarlo più tardi.
Ramoscello

1
Ho ricontrollato questo oggi e KisMAC è in grado di trovare il mio router e identificare che si trova sul canale 13 nonostante abbia il prefisso nazionale come US e 13 non presenti nell'elenco dei canali supportati
Twig

5

Ho risolto questo problema e l'ho risolto!

Tutto quello che volevo fare è disabilitare la funzione beacon 802.11d. Questo è impossibile da fare in tutte le impostazioni disponibili su Mac OS X.

Tuttavia, è possibile eseguire la patch binaria del driver della scheda di rete pensando che il codice paese sia sempre X2.

Quindi, a quanto pare, ciò che dovrei fare è cambiare / binare la patch del driver di rete con la stringa 0x81 0x78 0x30 0x6B 0x10 0x00 0x00 0x0F 0x85in 0x81 0x78 0x30 0x6B 0x10 0x00 0x00 x90 0xE0. Ciò costringe il conducente a utilizzare il codice paese «X2» qualunque sia il faro che viene inviato, quindi non cambierà mai.

È possibile modificarlo con un'utilità di modifica esadecimale o copiare e incollare il seguente one-liner molto utile nell'applicazione terminale:

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/

Questa soluzione funziona per Mac Book Pro Retina 2013.


2
Per altri MBP puoi trovare quale driver necessita di patch con il comando:sudo kextstat | grep AirPort
Stephen Connolly,

Ho un messaggio sul kext non valido. File ripristinato e toccato dir.
k06a,

Cosa succede se si desidera invece che il prefisso internazionale sia ES?
Fran Marzoa,

Ho dovuto disabilitare SIP su Macbook Pro 13 "alla fine del 2011 per apportare la modifica. Anche così, non ha funzionato per me. :(
GAM

non funziona .. Ottengo: Impossibile rimuovere /System/Library/Extensions/IO80211Family.kext/Contents/PlugIns/AirPortBrcm4360.kext/Contents/MacOS/AirPortBrcm4360: operazione non consentita, saltare il file.
user426132

1

La soluzione più semplice al codice paese in conflitto: il tuo MAC sta rilevando il codice paese errato dal router di trasmissione "più vicino" ..... quindi se uno dei tuoi vicini più vicini ha un codice paese errato, il tuo router presume che sia in quello "sbagliato" 'paese - e rovina la tua connessione Internet - SOLUZIONE - procurati un vecchio router che non usi più - e basta collegarlo all'alimentazione e posizionarlo vicino al tuo router live ..... assicurati che il tuo vecchio router sia impostato con il prefisso nazionale corretto ma NON collegarlo a Internet. Quindi il tuo MAC raccoglierà il codice paese da questo router 'fittizio' e adotterà il codice paese corretto ..... problema risolto. Questo sembra funzionare per me, e sono stato infastidito da questo problema per così tanto tempo .....

Per inciso, questo risolve uno dei miei problemi - ma se qualcuno sa come battere il Great Firewall e risolvere il problema della latenza casualmente elevata quando si utilizza la VPN, questo sarebbe un bonus ........ sii solo grato che non stai lavorando in Cina ..... la sua Internet è malvagia.


1

Se usi il driver AirPortBrcm4331 su El Capitan:

  1. riavviare in modalità di ripristino (CMD + r durante l'avvio), aprire il terminale ed eseguire csrutil disable
  2. riavviare, aprire il terminale ed eseguire
    • 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. riavviare in modalità di ripristino (CMD + r durante l'avvio), aprire il terminale ed eseguire csrutil enable

0

Ho avuto un problema simile con il mio router wifi ma quando ho impostato il router su 5 ghz e il canale su auto il problema è stato risolto.


Come è stato risolto ?, è cambiato il codice paese?
Ruskes,

No Buscar, il prefisso del paese sul dispositivo wifi nelle mie vicinanze non è cambiato, almeno per quanto ne sapevo, non appena sono passato da 2,4 GHZ a 5 GHZ e ho impostato il mio router per selezionare automaticamente il canale più potente che potesse sondaggio, ho trovato il problema risolto e se sono tornato a 2,4 GHZ, il codice di paese straniero è saltato fuori di nuovo e si è rivelato un problema per la mia scheda wifi interna del mio iMac ottenere una connessione a Internet. Strumento di diagnostica Wi-Fi avvisato del problema del codice paese. Scambiato di nuovo a 5GHZ e selezione automatica del miglior canale pollable e problema rimosso.
Peter Boocock,

0

Ho trovato una soluzione leggermente bizzarra. Ho provato tutte le soluzioni fornite da Google, nessuna ha funzionato ma ho visto un articolo che menziona KisMAC in grado di vedere il canale 13. L'ho installato e poi improvvisamente il mio codice paese è cambiato da US a X3 e ora posso collegarmi sul canale 13.


-1

Tutto quello che dovevo fare sulla mia metà del 2010 MacBook Pro è cambiare il nome del kext da AirPortBrcm4360 ad AppleAirPortBrcm43224 e finalmente ho trovato la mia posizione giusta!


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.