Modifier le code pays de la carte sans fil Mac OS X


16

J'ai des problèmes pour me connecter à un routeur sans fil en utilisant Mac OS X qui est sur le canal 13. C'est parce qu'il y a un autre routeur à proximité qui diffuse le code de pays américain . Le seul moyen de contourner ce problème jusqu'à présent, est d'aller à chaque fois sur le routeur et de redémarrer l'ordinateur.

J'ai demandé à Google et il semble que ce soit un mélange de personnes qui pensent qu'il définit les paramètres régionaux, ou qu'il est corrigé dans le firmware du routeur. Je me suis trompé tous les deux. l'homme ifconfig n'a pas non plus été trop éclairant.

Quelqu'un connaît-il une autre façon de forcer la carte à utiliser un code de pays ou des canaux différents? Je préfère ne pas passer à un autre canal, car il y a beaucoup d'interférences à proximité (montré avec KisMAC).

Merci


Modifications

A trouvé

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

Ce qui semble permettre de définir un canal arbitraire sur la carte, mais pas le code du comté. Cela semble n'avoir aucun effet.


Je sais que vous ne voulez pas changer de chaîne, mais après avoir lu les réponses ici, cela me semble être la solution la plus simple et la moins hackeuse.
wjandrea

Réponses:


6

Le 802.11d est le protocole que les points d'accès sans fil utilisent pour diffuser (entre autres) le domaine réglementaire (c'est-à-dire les codes de pays) dans lequel il est censé fonctionner. Il semble qu'il n'y ait pas de règle claire sur ce qu'il faut faire lorsque divers équipements diffusent des informations de domaine réglementaire contradictoires.

La solution idéale serait de désactiver / remplacer / reconfigurer l'équipement qui diffuse les informations incorrectes.

J'ai trouvé un fil de discussion Apple (ancien) qui indique que le matériel AirPort d'un Mac utilisera le premier code de pays qu'il entend après la mise sous tension ou la sortie de veille. Des publications ultérieures dans le fil (sur la deuxième page ) indiquent qu'il suffit de mettre hors / sous tension le matériel AirPort lui-même et non l'ensemble du système. Quelques personnes ont signalé avoir réussi à utiliser un script pour désactiver et réactiver l'interface AirPort à plusieurs reprises (en utilisant networksetup) jusqu'à ce qu'il soit parvenu à acquérir l'état souhaité (comme indiqué par system_profiler).


Sur la base du TA25972 , il semble que les équipements plus anciens (vraisemblablement les modèles qui n'écoutent pas les informations 802.11d) ne soient même pas en mesure de changer de «code de pays».


Malheureusement, je n'ai pas accès au routeur sans fil qui diffuse le mauvais code de pays. J'avais déjà vu ce fil de discussion auparavant, mais la pièce dans laquelle je me trouve est assez loin du bon routeur et chaque redémarrage semble trouver le routeur de diffusion américain. fait intéressant, KisMAC dit qu'il peut détecter des routeurs sur le canal 13, même lorsque le code de pays est défini sur US. Je pourrai donc examiner cela plus tard.
Twig

1
J'ai vérifié à nouveau aujourd'hui et KisMAC est en mesure de trouver mon routeur et d'identifier qu'il est sur le canal 13 malgré le code de pays américain et 13 ne figurant pas dans la liste des canaux pris en charge
Twig

5

J'ai eu ce problème et je l'ai résolu!

Tout ce que je voulais faire était de désactiver la fonction de balise 802.11d. Cela est impossible à faire dans les paramètres disponibles sur Mac OS X.

Cependant, vous pouvez patcher binaire le pilote de la carte réseau en pensant que le code du pays est toujours X2.

Donc , apparemment, ce que je dois faire est de changer / patch binaire , le pilote réseau avec la chaîne 0x81 0x78 0x30 0x6B 0x10 0x00 0x00 0x0F 0x85à 0x81 0x78 0x30 0x6B 0x10 0x00 0x00 x90 0xE0. Cela oblige le pilote à utiliser le code de pays «X2» quelle que soit la balise envoyée, il ne changera donc jamais.

Vous pouvez soit changer cela avec un utilitaire d'édition hexadécimale, soit copier et coller le one-liner très pratique suivant dans l'application 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/

Cette solution fonctionne pour Mac Book Pro Retina 2013.


2
Pour les autres MBP, vous pouvez trouver quel pilote a besoin de patches avec la commande:sudo kextstat | grep AirPort
Stephen Connolly

J'ai un message sur kext invalide. Fichier rétabli et touché dir.
k06a

Et si vous préférez que le code de pays soit ES?
Fran Marzoa

J'ai dû désactiver SIP sur le Macbook Pro 13 "fin 2011 pour effectuer le changement. Malgré cela, cela n'a pas fonctionné pour moi. :(
GAM

1
ne fonctionne pas .. J'obtiens: Impossible de supprimer /System/Library/Extensions/IO80211Family.kext/Contents/PlugIns/AirPortBrcm4360.kext/Contents/MacOS/AirPortBrcm4360: Opération non autorisée, saut de fichier.
user426132

1

Solution la plus simple à un code de pays en conflit - votre MAC récupère le code de pays incorrect du routeur de diffusion "le plus proche" ... donc, si l'un de vos voisins proches a un code de pays incorrect, votre propre routeur suppose qu'il est dans ce "mauvais" 'pays - et il perturbe votre connexion Internet - SOLUTION - obtenez un ancien routeur que vous n'utilisez plus - et branchez-le simplement sur l'alimentation et placez-le près de votre routeur en direct ..... assurez-vous que votre ancien routeur est configurer avec le bon code de pays mais NE PAS le connecter à Internet. Ensuite, votre MAC récupérera le code de pays de ce routeur "factice" et adoptera le bon code de pays ..... problème résolu. Cela semble fonctionner pour moi, et j'ai été buggé avec ce problème depuis si longtemps .....

Soit dit en passant, cela résout l'un de mes problèmes - mais si quelqu'un sait comment battre le grand pare-feu et résoudre le problème de latence aléatoire élevée lors de l'utilisation de VPN, ce serait un bonus ........ soyez simplement reconnaissant que vous ne travailliez pas en Chine ... son internet est mauvais.


1

Si vous utilisez le pilote AirPortBrcm4331 sur El Capitan:

  1. redémarrer en mode de récupération (CMD + r lors du démarrage), ouvrir le terminal et exécuter csrutil disable
  2. redémarrer, ouvrir le terminal et exécuter
    • 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. redémarrer en mode de récupération (CMD + r lors du démarrage), ouvrir le terminal et exécuter csrutil enable

0

J'ai eu un problème similaire avec mon routeur wifi mais quand j'ai réglé le routeur à 5 GHz et le canal à auto, le problème a été résolu.


Comment a-t-il été résolu ?, le code de pays a-t-il changé?
Ruskes

Pas de bus, le code du pays sur le périphérique wifi dans mon voisinage n'a pas changé, du moins pour autant que je sache, dès que je suis passé de 2,4 GHz à 5 GHz et que mon routeur a sélectionné automatiquement le canal le plus puissant possible. sondage, j'ai trouvé le problème résolu et si je suis revenu à 2,4 GHz, le code de pays étranger est apparu à nouveau et s'est avéré être un problème pour la carte wifi interne de mon iMac à se connecter à Internet. L'outil de diagnostic Wi-Fi a été informé du problème du code de pays. Remplacé à 5 GHz et sélection automatique du meilleur canal pollable et problème supprimé.
Peter Boocock

0

J'ai trouvé une solution un peu bizarre. J'ai essayé toutes les solutions proposées par Google, aucune n'a fonctionné mais j'ai vu un article qui mentionne que KisMAC peut voir le canal 13. Installé puis soudainement mon code de pays est passé des États-Unis à X3 et maintenant je peux me connecter sur le canal 13.


-1

Tout ce que j'avais à faire sur mon MacBook Pro mi-2010 est de changer le nom kext d'AirPortBrcm4360 en AppleAirPortBrcm43224 et j'ai finalement trouvé ma bonne position!


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.