Cambiar el código de país de la tarjeta inalámbrica de Mac OS X

Tengo problemas para conectarme a un enrutador inalámbrico usando Mac OS X que está en el canal 13. Esto se debe a que hay otro enrutador cerca que transmite el código de país de EE . UU . La única forma de evitar esto que he encontrado hasta ahora es ir cada vez al enrutador y reiniciar la computadora.

Le he preguntado a Google y parece ser una mezcla de personas que piensan que está configurando la configuración regional, o que está arreglada en el firmware del enrutador. Ambos he demostrado estar equivocado. man ifconfig tampoco ha sido demasiado esclarecedor.

¿Alguien sabe de otra forma de obligar a la tarjeta a usar un código de país o canales diferentes? Preferiría no cambiar a otro canal, ya que hay muchas interferencias cerca (se muestra con KisMAC).

Gracias


Ediciones

Encontrado

/Sistema/Biblioteca/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport

Lo que parece permitir que se configure un canal arbitrario en la tarjeta, pero no el código del condado. Esto parece no tener efecto.

Sé que no quieres cambiar el canal, pero después de leer las respuestas aquí, me parece la solución más simple y menos complicada.

Respuestas (14)

¡Tengo este problema y lo resolví!

Todo lo que quería hacer es deshabilitar la función de baliza 802.11d. Esto es imposible de hacer en cualquier configuración disponible en Mac OS X.

Sin embargo, puede aplicar un parche binario al controlador de la tarjeta de red pensando que el código de país siempre es X2.

Entonces, aparentemente, lo que tendría que hacer es cambiar/parchar binario el controlador de red con la cadena 0x81 0x78 0x30 0x6B 0x10 0x00 0x00 0x0F 0x85a 0x81 0x78 0x30 0x6B 0x10 0x00 0x00 x90 0xE0. Esto obliga al conductor a usar el código de país «X2» sea cual sea la baliza que se envíe, por lo que nunca cambiará.

Puede cambiar esto con una utilidad de edición hexadecimal o copiar y pegar la siguiente línea muy útil en la aplicación de terminal:

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/

Esta solución funciona para Mac Book Pro Retina 2013.

Para otros MBP, puede encontrar qué controlador necesita parches con el comando:sudo kextstat | grep AirPort
Tengo un mensaje sobre kext no válido. Archivo revertido y tocado dir.
¿Qué sucede si desea que el código de país sea ES en su lugar?
Tuve que deshabilitar SIP en Macbook Pro de 13" a fines de 2011 para hacer el cambio. Aun así, no funcionó para mí. :(
no funciona. Obtengo: No se puede eliminar /System/Library/Extensions/IO80211Family.kext/Contents/PlugIns/AirPortBrcm4360.kext/Contents/MacOS/AirPortBrcm4360: Operación no permitida, archivo omitido.

802.11d es el protocolo que utilizan los puntos de acceso inalámbrico para transmitir (entre otras cosas) el dominio reglamentario (es decir, códigos de país) en el que se supone que debe operar. Parece que puede no haber una regla clara sobre qué hacer cuando varios equipos están transmitiendo información de dominio regulatorio en conflicto.

La solución ideal sería deshabilitar/reemplazar/reconfigurar el equipo que está transmitiendo la información incorrecta.

Encontré un hilo (viejo) de discusiones de Apple que indica que el hardware AirPort de una Mac usará el primer código de país que escuche después de encenderse o despertarse del modo de suspensión. Publicaciones posteriores en el hilo (en la segunda página ) indican que es suficiente apagar/encender el hardware de AirPort y no todo el sistema. Un par de personas reportaron éxito al usar un script para apagar y encender repetidamente la interfaz AirPort (usando networksetup) hasta que adquiriera el estado deseado (según lo informado por system_profiler).


Según TA25972 , parece que los equipos más antiguos (presumiblemente modelos que no escuchan la información 802.11d) ni siquiera pueden cambiar los "códigos de país".

Desafortunadamente, no tengo acceso al enrutador inalámbrico que transmite el código de país incorrecto. Había visto ese hilo de discusión antes, pero la habitación en la que estoy está bastante lejos del enrutador correcto y cada reinicio allí parece encontrar el enrutador de transmisión de EE. UU. Sin embargo, curiosamente, KisMAC dice que puede detectar enrutadores en el canal 13, incluso cuando el código de país está configurado en EE. UU. Así que puedo investigar eso más tarde.
Volví a verificar esto hoy y KisMAC pudo encontrar mi enrutador e identificar que está en el canal 13 a pesar de tener el código de país como EE. UU. y 13 no estar en la lista de canales admitidos

el problema proviene de la implementación de 802.11d: ubicación wifi y conflictos de ID de país. si hay diferentes puntos de acceso wifi que transmiten ID de países mixtos, Mac OS puede cerrar ciertas frecuencias.

Solución al final del post :)))

Justo después de reiniciar, mi MacBook Pro 16 está configurado en la configuración regional ETSi y el código de país X3. Se abren todos los canales y frecuencias.

Si detengo y reinicio el wifi, o la Mac entra en modo de ahorro de energía y apago las radios. Cuando se activa, obtuve esto: ID de código de país y la mayoría de los canales admitidos se han ido.

Hay muchas publicaciones sobre esto en Internet, ya sea sobre agregar otro AP y establecer el código del condado. Algunos AP (como mikrotik no transmiten códigos de país) Algunas publicaciones tratan sobre la modificación de los controladores wifi.

¡¡¡No hagas nada de eso, la solución es bastante sencilla!!!

Ahora estoy en MacOS 11.0.1 Big Sur. Pero supongo que la solución es la misma en versiones anteriores de MacOS

Ir a:

  • Menú Apple -> Preferencias del sistema
  • Seguridad y privacidad -> Servicios de ubicación
  • Desplácese hacia abajo hasta que encuentre Servicios del sistema
  • Haga clic en Detalles...
  • Desmarque Redes WiFi

Esto evitará la implementación de 802.11d y 5ghz aparecerá de inmediato

Esto fue lo único que funcionó para mí. Las otras soluciones no funcionan porque el enrutador del vecino se detecta primero incluso cuando mi Mac estaba justo al lado de mi enrutador.
Del mismo modo, esto también resolvió el problema para mí. Así que mi AP tiene una radio de 2.4Ghz y una radio de 5Ghz, ambas configuradas para cierto país XX. ¡Esto funciona bien en todos los dispositivos, excepto en el @#$@%! macbook que solo podía ver el AP de 2.4Ghz por cualquier motivo (¿restricción de 802.11h?). Después de aplicar la solución, finalmente puede ver y conectarse al AP de 5Ghz. ¡Gracias!

La solución más fácil para el código de país en conflicto: su MAC está detectando el código de país incorrecto del enrutador de transmisión "más cercano"... así que si uno de sus vecinos cercanos tiene un código de país incorrecto, su propio enrutador asume que está ' país - y estropea su conexión a Internet - SOLUCIÓN - obtenga un enrutador viejo que ya no use - y simplemente conéctelo a la fuente de alimentación y colóquelo cerca de su enrutador en vivo ... asegúrese de que su enrutador viejo esté configure con el código de país correcto, pero NO lo conecte a Internet. Luego, su MAC tomará el código de país de este enrutador 'ficticio' y adoptará el código de país correcto... Problema resuelto. Esto parece funcionar para mí, y he estado molesto con este problema durante tanto tiempo...

Por cierto, esto resuelve uno de mis problemas, pero si alguien sabe cómo vencer al Gran Cortafuegos y resolver el problema de la latencia aleatoriamente alta cuando se usa una VPN, eso sería una ventaja... simplemente agradezca que no está trabajando. en China... su internet es malvado.

Aquí estaba mi problema:

Traje mi iMac de EE. UU. a Canadá. En Canadá, no pude conectarme a mi red doméstica y noté que Wireless Diagnostics informaba un problema de código de país en conflicto. (Aún podía conectarme a mi punto de acceso de iPhone en EE. UU. sin problemas). Parece que la interfaz de red de mi iMac todavía estaba configurada en "EE. UU." y se quejaba de que todos los demás enrutadores en el área, incluido el enrutador de mi casa, eran "CAN".

Al abrir Wireless Diagnostics -> Scan, pude ver que había una red que estaba transmitiendo en la región de "EE. UU.". Esta red probablemente era lo que impedía que mi iMac cambiara automáticamente de región a "CAN" (anteriormente había llevado este iMac de un lado a otro entre EE. UU./CAN sin problemas). A pesar de varios reinicios en el iMac y el enrutador doméstico, no pude hacer que el iMac cambiara su código de país.

La red "estadounidense" infractora era una señal débil, transmitiendo desde algún lugar del vecindario. Pensé que si podía hacer que el iMac dejara de detectar esta red, podría notar que todos los alrededores eran "CAN" y cambiar automáticamente a "CAN" como se supone que debe hacerlo. Así que reubiqué el iMac en el sótano. Al reiniciar, todavía tenía problemas para conectarme al enrutador doméstico. Sin embargo, al observar el diagnóstico inalámbrico sobre el problema de "códigos de países en conflicto", pude ver ahora que el código de país del iMac había cambiado a "CAN" y que se informó que la red "EE. UU." estaba en conflicto.

A pesar de que el iMac ahora tiene el código de país correcto, me tomó un par de reinicios más del iMac y un reinicio del enrutador antes de que WiFi finalmente comenzara a funcionar.

tl;dr intente debilitar la señal de la red infractora reubicando temporalmente su Mac hasta que la Mac corrija el código de país

Enfrenté un problema similar con mi computadora portátil Big Sur de la serie MacBook Air M1 2020. El escaneo me mostró un resultado que mostraba mi CC predeterminado para 2.4G, pero CC - DE para la red 5G. Al conectarme al chat de soporte de Apple, se me proporcionó esta página https://support.apple.com/en-us/HT202480 que me permitió conectarme a la red 5G sin ningún problema. Sin embargo, todavía puedo ver el CC como DE, pero no tengo ningún problema para conectarme a la red 5G y cambiarlo entre 2.4 y 5 o viceversa. Parece que esto es una solución. Sin embargo, por ahora estoy contento con él.

Si usa el controlador AirPortBrcm4331 en El Capitan:

  1. reinicie en modo de recuperación (CMD + r durante el arranque), abra la terminal y ejecutecsrutil disable
  2. reiniciar, abrir terminal y ejecutar
    • 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. reinicie en modo de recuperación (CMD + r durante el arranque), abra la terminal y ejecutecsrutil enable
Si vuelve a habilitar SIP (paso 3), estoy bastante seguro de que el kext ya no se cargará porque rompió su firma de código...

Así que tuve este problema en el que mi Macbook Air establece el código de país en "cn", pensando que está en China, sin poder conectarme e incluso ver mi Wi-Fi de 5 GHz porque aparentemente mi enrutador no admite ningún canal chino.

Resulta que el adaptador Wi-Fi no tiene un código de país codificado, sino que establece el país buscando paquetes específicos para determinar en qué país se encuentra (se supone que esto ayuda cuando se viaja, ya que los enrutadores lo harían). no suele traspasar fronteras pero tu MacBook sí). Esto significa que si hay hardware de red que transmite paquetes que indican que se trata de China y elige primero ese, mi Macbook establecerá el código de país en "cn" y limitará mis canales Wi-Fi a los chinos.

Para obtener información sobre los BSSID y los códigos de condado que anuncian, ejecute el siguiente comando en la terminal. Se abrirá una ventana de TextEdit con una lista de las redes.

/S*/*/P*/*/*/*/*/airport -s | open -ef

En Mi situación particular, el culpable fue el extensor de rango Xiaomi Mi en el pasillo y apagarlo antes de habilitar el Wi-Fi en mi Macbook le permitió elegir el código de país correcto. El crédito es para Linc Davis: https://discussions.apple.com/thread/6665548?answerId=27085786022#27085786022

Mi problema es un poco diferente a la pregunta, pero sentí que necesitaba compartirlo ya que está un poco relacionado.

Puedo confirmar que la aplicación https://github.com/alessandro893/MacOS-WLAN-Driver funcionó, tengo una MacBook Pro 13 Retina de 2013 que se atascó en el código de país de identificación, compré mi MBP allí. Para resumir, me mudo a Israel, resulta que tienen un canal diferente para 5Ghz, ninguno de los canales de 5GHz permitidos en Israel coincide con el canal de 5Ghz en Indonesia.

Después de un año tratando de averiguar qué hacer, decido ejecutar esa aplicación. Estaba un poco escéptico ya que la respuesta anterior no era la promocionada, pero no tengo nada que perder. Las aplicaciones se actualizaron recientemente para permitir escribir manualmente el código de país. Entonces, como sugiere la respuesta anterior, cambio al código de país X2, y ahora puedo ver todos los AP disponibles a mi alrededor, incluido el anterior que no estaba disponible.

Información del sistema

Actualización: Lamentablemente, SIP (Protección de integridad del sistema) debe estar deshabilitado todo el tiempo para que este truco funcione, esto hace que su Mac sea menos segura. Hoy traté de habilitar SIP (csrutil enable) y el truco dejó de funcionar. También noté que este truco no funcionó en el modo de recuperación y en el cargador de arranque. Deseo que Apple proporcione una forma real de cambiar el código de país porque parece que solo es un problema del controlador.

Prefiero mucho la solución de Rich Freed OM , pero por lo que vale:

  1. Configuré mi iPhone como mi punto de acceso.
  2. La Mac se conectó a mi iPhone sin pasar por el control de país.
  3. Luego seleccioné mi conexión wifi real y funcionó.

Sin embargo, mi iPhone ahora tiene el mismo problema 🤣

Honestamente, no sé por qué tampoco:
permitir la desactivación o elegir el país en función de TODOS los enrutadores en lugar del primero

Tuve un problema similar con mi enrutador wifi, pero cuando configuré el enrutador a 5 ghz y el canal en automático, el problema se resolvió.

¿Cómo lo resolvió?, ¿cambió el código de país?
No Buscar, el código de país en el dispositivo wifi en mi vecindad no cambió, al menos hasta donde pude ver, tan pronto como cambié de 2.4 GHZ a 5 GHZ y configuré mi enrutador para seleccionar automáticamente el canal más fuerte que pudiera encuesta, encontré que el problema se resolvió y si volví a cambiar a 2.4 GHZ, el código de país extranjero apareció nuevamente y resultó ser un problema para la tarjeta wifi interna de mi iMac al obtener una conexión a Internet. La herramienta de diagnóstico de Wi-Fi notificó el problema del código de país. Cambió de nuevo a 5GHZ y seleccionó automáticamente el mejor canal encuestable y se eliminó el problema.

Encontré una solución un poco extraña. Probé todas las soluciones que ofrece Google, ninguna funcionó, pero vi un artículo que menciona que KisMAC puede ver el canal 13. Lo instalé y, de repente, mi código de país cambió de EE. UU. a X3 y ahora puedo conectarme en el canal 13.

¡Todo lo que tenía que hacer en mi MacBook Pro de mediados de 2010 era cambiar el nombre kext de AirPortBrcm4360 a AppleAirPortBrcm43224 y finalmente obtuve mi ubicación correcta!

https://github.com/alessandro893/MacOS-WLAN-Driver Puede ser que esto ayude, puede pedirle al autor que modifique el código de país de EE. UU. en el controlador os x