22 votos

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 cercano que está transmitiendo el código de país de EE. UU. La única forma que he encontrado hasta ahora, es ir cada vez al enrutador y reiniciar la computadora.

He preguntado a Google y parece ser una mezcla de personas que piensan que cambiar la configuración regional lo soluciona, o que está fijo en el firmware del enrutador. Ambos he demostrado que son incorrectos. `man ifconfig` tampoco ha sido muy esclarecedor.

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

Gracias


Ediciones

Encontrado

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

Lo cual parece permitir establecer un canal arbitrario en la tarjeta, pero no el código de país. Esto parece no tener efecto.

0 votos

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

7voto

Nip Puntos 362

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

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

Encontré un hilo de discusión de Apple (algo antiguo) que indica que la hardware del AirPort de una Mac utilizará el primer código de país que escuche después de encenderse o despertar del sueño. Publicaciones posteriores en el hilo (en la segunda página) indican que es suficiente con apagar/encender el hardware de AirPort en sí mismo y no todo el sistema. Algunas personas informaron haber tenido éxito utilizando un script para apagar y encender repetidamente la interfaz de 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 información de 802.11d) ni siquiera pueden cambiar los "códigos de país".

0 votos

Desafortunadamente no tengo acceso al enrutador inalámbrico que está emitiendo 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 parece encontrar el enrutador de transmisión de EE.UU. 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 quizás lo investigue más tarde.

1 votos

He vuelto a verificar esto hoy y KisMAC puede 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 que el 13 no esté en la lista de canales admitidos.

7voto

tehgeekmeister Puntos 1180

También tuve este problema, ¡y lo solucioné!

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

Sin embargo, puedes parchear binariamente el 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/parchear binariamente el controlador de red con la cadena 0x81 0x78 0x30 0x6B 0x10 0x00 0x00 0x0F 0x85 a 0x81 0x78 0x30 0x6B 0x10 0x00 0x00 x90 0xE0. Esto obliga al controlador a usar el código de país «X2» independientemente de la señalización que se envíe, por lo que nunca cambiará.

Puedes cambiar esto con una utilidad de edición hexadecimal o copiar y pegar el siguiente comando muy útil en la aplicación 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.

2 votos

Para otros MBPs, puedes encontrar qué controlador necesita parchear con el comando: sudo kextstat | grep AirPort

0 votos

Me ha llegado un mensaje sobre un kext inválido. Revertí el archivo y toqué el directorio.

0 votos

¿Qué pasa si quieres que el código de país sea ES en su lugar?

2voto

Spence Puntos 1

La solución más fácil para el conflicto del código de país: tu MAC está recogiendo el código de país incorrecto del enrutador de transmisión 'más cercano'... así que si uno de tus vecinos cercanos tiene un código de país incorrecto, tu propio enrutador asume que está en ese país 'equivocado' - y estropea tu conexión a internet - SOLUCIÓN - consigue un viejo enrutador que ya no uses - y simplemente conéctalo a la fuente de alimentación y colócalo cerca de tu enrutador principal... asegúrate de que tu viejo enrutador esté configurado con el código de país correcto pero NO lo conectes a internet. Entonces tu MAC recogerá el código de país de este enrutador 'falso' y adoptará el código de país correcto... problema resuelto. Esto parece funcionar para mí, y he estado lidiando con este problema por mucho tiempo... vivo en China y hay alrededor de 60 enrutadores de vecinos alrededor de mi apartamento transmitiendo muchos códigos de país diferentes. UNA PESADILLA.

Por cierto, esto resuelve uno de mis problemas - pero si alguien sabe cómo vencer la Gran Muralla y resolver el problema de la latencia aleatoria alta al usar VPN, eso sería un extra... simplemente sé agradecido de que no estás trabajando en China... su internet es malévolo.

0voto

Peter Boocock Puntos 1

Yo tuve un problema similar con mi router wifi pero cuando configuré el router a 5 ghz y el canal a automático, el problema se solucionó.

0 votos

¿Cómo lo resolvió?, ¿cambió el código del país?

0 votos

No buscar, el código de país en el dispositivo wifi en mi vecindario no cambió, 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 detectar, encontré que el problema se resolvió y si cambiaba de vuelta a 2.4 GHz, el código de país extranjero volvía a aparecer y resultaba ser un problema para la tarjeta wifi interna de mi iMac para conectarse a Internet. La herramienta de diagnóstico de Wi-Fi advirtió del problema del código de país. Cambié de nuevo a 5 GHz y seleccioné automáticamente el mejor canal disponible y se solucionó el problema.

0voto

Shaun Puntos 1

Encontré una solución un poco extraña. Probé todas las soluciones que Google propone, 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 US a X3 y ahora puedo conectarme en el canal 13.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X