Contribute
Register

[Solved] How to get rid of the ATHR: unknown locale 21 errors

Status
Not open for further replies.
Joined
Feb 26, 2011
Messages
19
Motherboard
Gigabyte GA-Z97-D3H
CPU
i7-4790K
Graphics
GTX 760
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Hi guys,

here's a simple fix to get rid of the annoying "unknown locale" messages in your system.log. These are caused by the TP-LINK WDN-4800 card, which has a regulatory domain value in its eeprom that is not recognized by OS X. It works by simply replacing the check for regdomain 0x37 (ETSI) by checking for the one in the EEPROM, i.e. 0x21.

Patch kext: AirPortAtheros40
Find: 83 fb 37 (cmpl $0x37, %ebx)
Replace: 83 fb 21 (cmpl $0x21, %ebx)

Simply add this to your KextsToPatch array in Clover config.plist

Code:
			<dict>
				<key>Comment</key>
				<string>Atheros Locale Fix</string>
				<key>Find</key>
				<data>
				g/s3
				</data>
				<key>Name</key>
				<string>AirPortAtheros40</string>
				<key>Replace</key>
				<data>
				g/sh
				</data>
			</dict>

I hope this doesn't break anything else - it is in fact a very dirty hack. There are apparently other places in the kext where the regdomain is checked, but this one causes the error to be logged. Also, please note that this will most likely make you (maybe partially?) conformant to the ETSI regulations and limit your channels accordingly. There are other values instead of the 0x37 that should work as well, namely 0x5E (APL5_WORLD), 0x64 (WOR4_WORLD), 0x65 (WOR5_ETSIC), and 0x6A (WORA_WORLD). I honestly have little idea what will change when you use any of them instead of 0x37.

Anyway, I hope this helps somebody, instead of breaking their wifi :) The nice part is, that unlike an EEPROM hack (I haven't found any way to modify the EEPROM of WDN-4800) this is only as permanent as the entry in your Clover config, so you can remove it any time you wish.

Regards,
Stefan
 
Last edited:
It works, thank you.
 
Hey I have this issue but I am booting with Chimera. Is there a way to do this without clover. I currently can't use wifi and it will sometimes cause my boot to hang up.

Thanks
 
Hmmm, this I've never worked with Clover. Is there a way to do this with Chimera?

You would have to patch the kext binary. Simple search and replace with hexedit, perl, etc.

Note:
Code:
u430:y50.git Admin$ echo g/s3|base64 --decode|xxd
0000000: 83fb 37                                  ..7
u430:y50.git Admin$ echo g/sh|base64 --decode|xxd
0000000: 83fb 21                                  ..!

But this 'fix' is rather incomplete and a bit of a hack. It is better to change the regdomain setting in EEPROM.
 
[Solved]How to get rid of the ATHR: unknown locale 21 errors

hello guy's it's my first time in this forum :D:D
i'm unfotunate :banghead::banghead: i have build a custom mac with

GA-z97m-d3h
i5 4690k
corsair cs 550m
16 gb ram crucial
1tb seagate

i don't know why but with evga gt 740 sc the video don't start :confused::confused: i think it's break :eek:

now i'm going to install el capitan.. but i try with all boot flags i know and the result is always the same :cry::cry:

i try to insert your code but i don't know exactly at what line i can and in any case it will not start :(:(

sorry for the english help me :crazy:
IMG_2772.JPG
 
i dont't understand

Patch kext: AirPortAtheros40
Find: 83 fb 37 (cmpl $0x37, %ebx)
Replace: 83 fb 21 (cmpl $0x21, %ebx)

i don't have
AirPortAtheros40 in the kext.. :confused:

sometimes i arrive here

Cac4Gj.jpg
 
Hi guys,

here's a simple fix to get rid of the annoying "unknown locale" messages in your system.log. These are caused by the TP-LINK WDN-4800 card, which has a regulatory domain value in its eeprom that is not recognized by OS X. It works by simply replacing the check for regdomain 0x37 (ETSI) by checking for the one in the EEPROM, i.e. 0x21.

Patch kext: AirPortAtheros40
Find: 83 fb 37 (cmpl $0x37, %ebx)
Replace: 83 fb 21 (cmpl $0x21, %ebx)

Simply add this to your KextsToPatch array in Clover config.plist

Code:
            <dict>
                <key>Comment</key>
                <string>Atheros Locale Fix</string>
                <key>Find</key>
                <data>
                g/s3
                </data>
                <key>Name</key>
                <string>AirPortAtheros40</string>
                <key>Replace</key>
                <data>
                g/sh
                </data>
            </dict>

I hope this doesn't break anything else - it is in fact a very dirty hack. There are apparently other places in the kext where the regdomain is checked, but this one causes the error to be logged. Also, please note that this will most likely make you (maybe partially?) conformant to the ETSI regulations and limit your channels accordingly. There are other values instead of the 0x37 that should work as well, namely 0x5E (APL5_WORLD), 0x64 (WOR4_WORLD), 0x65 (WOR5_ETSIC), and 0x6A (WORA_WORLD). I honestly have little idea what will change when you use any of them instead of 0x37.

Anyway, I hope this helps somebody, instead of breaking their wifi :) The nice part is, that unlike an EEPROM hack (I haven't found any way to modify the EEPROM of WDN-4800) this is only as permanent as the entry in your Clover config, so you can remove it any time you wish.

Regards,
Stefan

Hey all, I had this error while trying to upgrade a Mavericks (10.9.5) installation to El Capitan. I switched my UniBeast USB from a USB 2 port to a different port (USB 3, in this case) and did not get the error anymore. Go figure.
 
Status
Not open for further replies.
Back
Top