How To: Set Your Wi-Fi Card's TX Power Higher Than 30 dBm

Set Your Wi-Fi Card's TX Power Higher Than 30 dBm

Do you have an Alfa AWUS036NH Wi-Fi adapter that claims it can go to 2000 mWs, or some card that can supposedly transmit power over 1000 mW? If so, you may have run into problems setting your card's TXPOWER higher than 30 dBm, which is about 1000 mW. Well, I will show you how to break that barrier and go as high as you want!


Removing all restrictions is illegal in the United States. This tutorial is only for educational reasons, and if you choose to apply it and break the law, then that is your choice and not mine. Please be careful putting this into action.

Changing Your Wi-Fi Card's TX Power

A while ago, OccupyTheWeb posted an article on how to create an evil twin. In this article, OTW pointed out one use for increasing the TXPOWER, such that we can overwhelm local APs so that a user may connect to our AP instead of the authentic AP. OTW showed you how to set your TXPOWER all the way to 30 dBm, or 1 full watt, or 1000 mW.

I'm going to quickly review the commands to do so:

  • iw reg set BO
  • iwconfig wlan0 txpower 30

If you try to go over 30, though, you will get an error.

What happens is that the iw reg set command reads the regulatory database for the country that you specified (BO) and comes back with the rules for that country. In Bolivia, the rules are that you can set your txpower to 30 dBm and no more, but if we were to change those rules, we could change how much we can increase it to.

So without further delay, let's get into how to change that!

NOTE: KALI users have to do it just a tad bit differently. Go to Step 7 to learn what the differences are. The differences occur in Steps 4 through 6.

Step 1: Install Packages

For this to work, we need to install a couple packages first, and those packages are as follows:

  • python-m2crypto
  • libgcrypt11
  • libgcrypt11-dev
  • libnl-dev

So, let's make sure those are installed:

  • apt-get install python-m2crypto libgcrypt11 libgcrypt11-dev libnl-dev

As you can see, mine were already installed. Yours, however, may not be.

Step 2: The Files

Now we need to download the CRDA files and the wireless regulatory database files. We can download those from here:


When downloading CRDA, you probably will only have one choice of the latest version, but when downloading the wireless-regdb, you will see they have different extensions: .bz2, .gz, .sign, and .xz. You want the .bz2 version for this tutorial.

At the time this tutorial was made, the latest version for each is as follows:

  • CRDA-1.1.3.tar.bz2
  • wireless-regdb-2013.10.11.tar.bz2

Now navigate to where you downloaded those files and lets unzip them. I put the two files on my desktop. Once you are in the directory of the files, unzip them like so:

  • tar xvjf {full name of your file}

And you'll do that for each file.

You should now have two new folders in the directory that you had them in.

Step 3: I Make My Own Rules

Now here is the interesting part. This is where we actually get to change the regulations. Change your directory to the wireless-regdb folder, and in there you will find a file called db.txt. This is the file we will edit. Let's take a quick look at it.

  • more db.txt

Now let's take a look at a few things here. Look at what I underlined above. First, let's notice the first entry, country 00, which is the world regulatory domain and this is applied before all else. So when you turn on your BackTrack system, the world domain is applied to you first and then you can change regulatory domains from there to other countries like country AM.

The second thing I underlined, which can go a max of 20 dBm, the third thing I underlined, on the 2.4ghz band. If you wanna change how high you can go, that is the number you want to change.

For example, let's change Bolivia's rules.

  • nano db.txt

Scroll down until you find country BO.

Look at what I highlighted. This is the number we want to change.

If your card can go up to 2000 mW, then you would change that number to 33, which stands for 33 dBm, which is approximately 2000 mW. The number you are replacing is in decibels, so you choose how much you want. There is no limit computer-wise, but be careful, the stronger the transmission power, the more dangerous it can get for your health. Don't have the antenna in your mouth while transmitting at 2 watts or you may get cancer.

UPDATE: Some wireless cards like the AWUS036NHA may be stuck in a country and cannot be changed from that country. In that case, Find out which country your card believes it is in and change that country's configurations.


Every 10 decibels is a 10X increase in power starting from 1 dBm equal to 1mW... 10 dBm equals 10 mW, 20 dBm equals 100 mW, 30 dBm equals 1000 mW, and so on. Every 3 decibels is approximately double that of the prior power, so 30 dBm is 1000 mW, if we add 3 dBm, then we can double the power such that 33 dBm is about equal to 2000 mW.

Notice now I changed the number to 33. When we are finished here, when I change my regulatory domain to BO, i can set my txpower to 33.

Now save the changes when you are done by pressing first, Ctrl+X, then Y, and finally, Enter.

Step 4: Swap

Now we need to swap our old regulatory file with our new one. While still in the wireless-regdb directory, just enter the command make.

  • make

You'll notice you have some new files now in that directory. This is good.
Our regulatory.bin file in this directory now needs to be replaced with the old one.

First navigate to the authentic regulatory.db's location.

  • cd /usr/lib/crda

And let's also make a backup of the old one just in case.

  • mv regulatory.bin regulatoryOLD.bin

Now let's bring in the new one. Go back to your directory of our new regulatory.bin and let's copy it over and verify it's there.

  • cd {path to your new regulatory.bin}
  • cp regulatory.bin /usr/lib/crda/regulatory.bin
  • cd /usr/lib/crda
  • ls

And see my new regulatory.bin in there with the old one.

Step 5: Validating

Now we have our new regulatory.db, but it is not valid yet. Go back to the wireless-regdb directory and you'll notice you have some files with an extension of .pem. Copy ANY and ALL files ending with a .pem into your downloaded crda directory in pubkeys. These are the files that crda will use to check if regulatory.bin is valid.

  • cd ~/Desktop/wireless-regdb-2013.10.11
  • cp ~/Desktop/crda-1.1.3/pubkeys/
  • cp ~/Desktop/crda-1.1.3/pubkeys/

And verify:

  • cd ~/Desktop/crda-1.1.3/pubkeys
  • ls

Looks good! We have just one more step now.

Step 6: The Final Step

Now go up a directory from where you are back to the downloaded crda directory and install this puppy. On BackTrack, I ran into a problem just doing straight up make install, so you should make first.

  • cd ..
  • make
  • make install

If all goes correctly, your screen should look just like mine. Now just reboot your computer, change your regulatory domain to BO, and turn that puppy up!

After reboot:

  • iw reg set BO
  • iwconfig wlan0 txpower 33

If you try txpower at 33 without changing the domain, you get an error, but once you change your regulatory domain you are good to go!

And that's all you need to know on BackTrack!

Step 7: KALI Users

This fix will actually work for ANY Linux distribution, so long as you are smart and know how to adapt to different systems.

First off, make sure you are completely updated.

  • apt-get update
  • apt-get upgrade

And then you can do Step 1, if you have any problems.

Step 8: Changes

So once you get to Step 4, Kali users will come to a problem. Kali users do not have the usr directory. INSTEAD, the old regulatory bin is located in /lib/crda. If you are a Kali user, then the commands for Step 4 will change as follows:

  • make
  • cd /lib/crda
  • mv regulatory.bin regulatoryOLD.bin
  • cd {path to your new regulatory.bin}
  • cp regulatory.bin lib/crda/regulatory.bin
  • cd lib/crda
  • ls

Step 9: Changes

Step 5 just has one little added step.

You, Kali user, have one extra .pem file hiding in the original directory. I'm actually not too sure if this is necessary, but we're gonna cover our bases just in case. Navigate to /lib/crda/pubkeys and copy the, as well into your downloaded crda directory, ALONG WITH the other .pem files from the wireless-regdb directory.

Added step:

  • cd /lib/crda/pubkeys
  • cp ~/Desktop/crda-1.1.3/pubkeys/

Step 10: Changes

This step is more complicated for you, Kali user. You need to open and edit the Makefile inside the downloaded crda directory.

  • nano Makefile

Look at the 3rd line in the make file. Do you see how it says

REG_BIN?=/usr/lib/crda/regulatory.bin, remember how I said that Kali does not have a /usr directory? Well, all you have to do is change that line to:

  • REG_BIN?=/lib/crda/regulatory.bin

And now you can continue like normal. Just have to do make and make install like normal in Step 6 and that's it!

HOORAY! It's Finally Finished!

WHEW!!! That was a long tutorial, eh? Well it was for me. Fortunately, you are now able to set your WiFi card to as high as you want! Now you can easily overwhelm any local AP even more! Or, you could maybe even find other uses for it! This is just a prelude, though, as I have another tutorial on the way that ties into overwhelming other APs.

This was my first tutorial, though! Did you like it? Was I clear enough? Any questions? Please comment and give feedback or ask questions!

Just updated your iPhone? You'll find new features for Podcasts, News, Books, and TV, as well as important security improvements and fresh wallpapers. Find out what's new and changed on your iPhone with the iOS 17.5 update.



Thanks for this article! Excellent work!


i followed every step in your tutorial to the . but it seems that when im in the ~/Desktop/crda-1.1.3 directory and i type "make" i get an error saying "Makefile:76: * Cannot find development files for any supported version of libnl. Stop." i also get this same error when trying the make install command.


Did you follow step 1 and install all the packages, especially libnl-dev? You have to make sure those are all installed completely, because your error would suggest that you did not install libnl.

I stand corrected I somehow missed the very first step thank you for the response and the great tutorial.

First of all: Eightfourone, thanks for this! Word are not enough for this work. This tutorial is just great, I learned so much. The instructions are clean and clear. And because of that I really enjoyed spending my time with this tutorial. Hope, this is not your last one.

In step 5 you should just correct the the intended bold ls (see the asterisk) and on step 8 there are some / after cd needed.

Second: It seems to work on Ubuntu 13.04 with an Alfa AWUS036NH. iwconfig:

wlan3 IEEE 802.11bgn ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=33 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on

But if I am connected, iwconfig:

wlan3 IEEE 802.11bgn ESSID:"802.1x"
Mode:Managed Frequency:2.412 GHz Access Point: 00:*:*:*:*:*
Bit Rate=1 Mb/s Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Link Quality=33/70 Signal level=-77 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:5 Missed beacon:0

Where is the txpower gone? Why do I have the full txpower of 33 dBm just in the disconnected mode?

Thank you for the help! I fixed the article now, and I'm glad that you have found it useful! As for the power changing when you associate with an AP, I don't know why that happens to you. I am using an ALFA AWUS036NH as well and I do not have this problem.

Have you tried changing the txpower to 33 while you were associated with the AP?

Thanks for your fast reply! Ok, I have tried it (set to txpower 33) again while being asscociated and it was a really confusing. It works, but just after a few attempts and after a while I'll be reseted automatically from 33 or 30 back to 20 dBm. Look:

IEEE 802.11bgn ESSID:"802.1x"
Mode:Managed Frequency:2.412 GHz Access Point: 00:*:*:*:*:*
Bit Rate=18 Mb/s Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Link Quality=35/70 Signal level=-75 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:603 Invalid misc:167 Missed beacon:0

iw reg set BO
iw reg get

country 98:
(2402 - 2482 @ 40), (N/A, 20)

iw reg set BO
iw reg get

country 00:
(2402 - 2472 @ 40), (3, 20)
(2457 - 2482 @ 40), (3, 20), PASSIVE-SCAN, NO-IBSS
(2474 - 2494 @ 20), (3, 20), NO-OFDM, PASSIVE-SCAN, NO-IBSS
(5170 - 5250 @ 80), (3, 20), PASSIVE-SCAN, NO-IBSS
(5735 - 5835 @ 80), (3, 20), PASSIVE-SCAN, NO-IBSS
(57240 - 63720 @ 2160), (N/A, 0)

iw reg set BO
iw reg get

country BO:
(2402 - 2482 @ 40), (N/A, 33)
(5735 - 5835 @ 40), (N/A, 30)

iwconfig wlan3 txpower 33

wlan3 IEEE 802.11bgn ESSID:"802.1x"
Mode:Managed Frequency:2.412 GHz Access Point: 00:*:*:*:*:*
Bit Rate=18 Mb/s Tx-Power=33 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:on
Link Quality=35/70 Signal level=-75 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:1164 Invalid misc:306 Missed beacon:0

iwlist wlan3 txpower
wlan3 unknown transmit-power information.
Current Tx-Power=33 dBm (1995 mW)

And a little while later and still associated with the same network:

Tx-Power=20 dBm

iwlist wlan3 txpower
wlan3 unknown transmit-power information.
Current Tx-Power=20 dBm (100 mW)

iw reg get
country DE:
(2400 - 2483 @ 40), (N/A, 20)
(5150 - 5250 @ 80), (N/A, 20), NO-OUTDOOR
(5250 - 5350 @ 80), (N/A, 20), NO-OUTDOOR, DFS
(5470 - 5725 @ 80), (N/A, 26), DFS
(57240 - 65880 @ 2160), (N/A, 40), NO-OUTDOOR

It has been reseted to the default settings.

So, what's wrong?

I'm not sure why your regulatory domain keeps changing. Generally the regulatory domain will set to country 00 when starting up your machine. You should try changing the default country, the first country in the database, to be able to support 33dBm and then when you start up, you won't have to change your regulatory domain each time.

You'll have to go through the whole steps to change your regulatory domain again, but you should try that and let me know if that works. If you do that, don't change your regulatory domain, i.e. dont use iw reg set BO, as you will already be set. You shouldn't even have to change the txpower, it should already be at 33.

Whole steps again sounds too bad ...

What I did now is add the file


with the content

(NOTE: Between BO and " is just the cursor, don't enter there something)

It seems to work, I got constantly
iw reg get
country BO:
(2402 - 2482 @ 40), (N/A, 33)
(5735 - 5835 @ 40), (N/A, 30)

Great tutorial, THANKS. I followed every step , it seems to work fine.

I am a KALI user and i have a 2000mw GE-RT3070 Alfa and an interline panel 17 dBi antena. I changed the countries values as follows ( BN:33 , BL:35 , BH:38 , BG/40 , BE:45 , BD:48 , BB:5O , BA:55 ) to test how high i can go and till 50 dBm i didnt get any error but practically i dont see a difference between 33dBm and 50 dBm, is it normal???



Thanks! And your antenna is not affected by the txpower, only the card itself is. The antennae gives a constant boost from the card, so while your card is using 33dBm, the antenna automatically boosts it to 50dBm, and likewise if you are using a txpower of 20dBm, using a 17dbi antenna will yield an EIRP of 37dBm.


Great tutorial man.


Just so you know - this is all legal if you have a Amateur Radio license and stay on channel 6 or below. There are also 2 Amateur Radio channels below channel 1 you can use as well. The normal WiFi in the US is under FCC part 15 rules and you are limited to the 20 dbm and 36 dbm EIRP. However, hams are limited to 1500 watts and may use any antenna they like. One thing - you must practice RF safety precautions around the antenna at elevated power levels.

For those interested you are only 35 easy multiple choice questions away from your very own Amateur Radio license. Just google Amateur License. There are plenty of online courses and testing is available in almost any city at least twice a month - oh and there is no longer a morse code requirement.

73 de K0FEI

OH, nice bit of info Frank. ^//^ I hadn't even thought of that! I would need to study up again, but I just about got a licence when I was younger...

TOTALLY doing it as soon as I get a chance...

Wow Lot of steps. Is a much easier way. Just need to make basic bash script and add it to start up.

I'm a bit curious here.. which part of this would you be putting into a simple script? I mean, 90 percent of this is simple build processes. Beyond that, how is scripting this going to make any of these steps go away instead of just doing them all in a build script? Sure you could bundle everything he just mentioned into a script, but it wouldn't need to be run as a system startup task anyways. (Well, aside from iw reg set BO and iwconfig wlan1 txpower 33.)

And please don't get the wrong idea, it's not that I'm trying to tell you you are wrong, I just am always up to learn new ways of doing things. :)

Hmm... now, as for a build script to make things easier for people, I could do that and might go ahead and do it, since I will be doing a lot of this stuff...

I like your answer.
1 way is
ifconfig wlan0 down
iw reg set BO
ifconfig wlan0 up
iwconfig wlan0 channel 13
iwconfig wlan0 txpower 30

To: /etc/rc.local file and with exit 0 at the end.
#~ update-rc.d <your script> defaults

Thanks for the article! I had used iw in the past to set the region to BO, but never modified the country codes myself like this. <3

Hi, I am having the same issue as Tuscent listed above when it comes to the 'make' section. Error is: "Makefile:76: Cannot find development files for any supported version of libnl. Stop."

I have confirmed libnl-dev is installed. I then tried installing linnl-genl-3-dev based on some other suggestion around the web, but still no luck.

I am running a fairly vanilla instance of Kali on a Raspberry Pi.

Hmm.. not exactly sure, but would you like to try doing this, itslikethatandthatsthewayitis? You know, just to cover some ground and see if something is missing...

sudo apt-get update && apt-get install build-essential rpi-update

sudo apt-get install build-essential python-m2crypto libgcrypt11 libgcrypt11-dev libnl-dev --reinstall

Then, try compiling again..

Also, if that doesn't work, have you made any changes to your sources.list file?


Thanks Italics...however your suggestion didn't work. I had to run:

sudo apt-get install pkg-config

Once installed, libnl-dev could do it's thing! I am only new to linux, but I am assuming that this is standard on other builds but not on the very skinny installs they create for Raspberry Pi's.

Hope this helps someone else :-)

AH, thanks for letting us know. :D I love the Pi and use it all the time, so you saying what it is that you did to get this working certainly will be quite helpful.. Yeah, I had no idea that pkg-config wasn't a part of the build packages for pi...

What amazes me is how well phorum runs on the pi. I just created a.. er... well, it's kind of a Yaoi forum. ^^: So yeah.. but it's all hosted on there and so far is as snappy and fast as just about any other forum out on the web I've seen... (This is, of course, since it has no one on it, but still...)

Great tutorial! Thanks for posting.

I have the AWUS036NHA card and running it on Kali Virtual Box.

I followed all the instructions for it but after boot I'm still getting txpower=20.

I can change iw reg set to BO, US and 00 (all three are set with Bolivia's standards in my new regulatory.bin file) . But no matter which one I use I always gettxpower=20

Any suggestions? :/



I´m trying to increase TX power in OsX ( Mavericks ): iwconfig doesn´t work, any equivalent ?

First of all ; Superb tutorial ! Congrats !

I've followed every single step of it as Kali user, my txpower doesn't change whatever country code I use...

root@kalexi:~# iw reg set BE
root@kalexi:~# iw reg get
country BE:
(2402 - 2482 @ 40), (N/A, 33)
(5170 - 5250 @ 80), (N/A, 33)
(5250 - 5330 @ 80), (N/A, 33), DFS
(5490 - 5710 @ 80), (N/A, 27), DFS
(57240 - 65880 @ 2160), (N/A, 40), NO-OUTDOOR
root@kalexi:~# iwconfig wlan1 txpower 33
root@kalexi:~# iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

wlan1 IEEE 802.11bgn ESSID:"XXXXX"
Mode:Managed Frequency:2.462 GHz Access Point: XXXXXXXXXX
Bit Rate=72.2 Mb/s Tx-Power=20 dBm
Retry short limit:7 RTS thr=2347 B Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=64/70 Signal level=-46 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:171 Missed beacon:0_

My wiificard sucks monkeyballs...

Until you get your wifi card working, you are wasting your time trying to do these tutorials.

I've been searchin' all day today for new drivers bla bla bla, nothin' helps. Well, my connection stays stable now so thats great but otherwise its crap..

Guess I'll stick to the payloads and programming until christmas... -sigh-


Absolutely nothing to do, just install "crda" like this

sudo pacman -S crda
sudo apt-get install crda

sudo nano /etc/conf.d/wireless-regdom

and then uncomment the line WIRELESSREGDOM="BO"


check if all is correct

$ iw reg get
country BO: DFS-JP
(2402 - 2482 @ 40), (N/A, 30), (N/A)
(5735 - 5835 @ 80), (N/A, 30), (N/A)



I followed each step and got the same results as you did but when try to change the tx power it doesn't change , it's always stuck to 16dBm! Can you help me ?!


Hey back @ cha, athk9 is the driver not the adapter model.

it's an Atheros Communications AR9485 !! it's a wifi card

Maybe try being more specific with increasing your transmission power.
Instead of: iwconfig wlan0 txpower 33
go ahead and try: iwconfig wlan0 txpower 33dBm

Hopefully this helps!

@841: It may but his Wifi card is not capable of going above 20 dBm Max without melting from what I found.

AR9485 Specifications
Frequency Band 2.4 GHz
Network Standard 802.11b, 802.11g, 802.11n
Modulation Modes OFDM with BPSK, QPSK, 16 QAM,
FEC Coding Rate 1/2, 2/3, 3/4, 5/6
Hardware Security AES, TKIP, WEP
Quality of Service 802.11e
Media Access Technique CSMA/CA
Communication Interface PCI Express
Peripheral Interface GPIOs, LEDs
Supported Data Rates
IEEE 802.11b 1 to 11 Mbps
IEEE 802.11g 6 to 54 Mbps
IEEE 1-stream 802.11n 6.5 to 150 Mbps
Operating Voltage 1.2V +/-5%, 3.3V +/-10%
Package Dimensions 7 mm x 7 mm
Package 56-pin LPCC
M0dified 20 dBM, Change the number if you like but your card may melt.. (use at your own risk!)

iw reg set BO && ip link set dev wlan0 && iwconfig wlan0 channel 13 && iwconfig wlan0 txpower 20 && iwconfig wlan0 rate 54M auto

Hi, first thank you for your great article. i successfully did that. i have a question though. i've got a RTL8187L and i set it's TX power to be 39 and i see it when i IWconfig. i'm using it with a 7Dbi antenna that can handle up to 1Watt and i don't see any differences at all. my question is: if i use that TX power with a 15 dbi omni-directional antenna that can handle up to 20Watt, will i see any difference? i'm talking about real change as if i use a 5 watt Amplifier with that antenna to get the same 39 dbi.

so long story short i tried this on kali ran into some errors with backports and couldnt get some things to work. now im stuck on country code 00 :(

Your link for the CRDA is not working. New link for these files?

thanks for the detailed steps
i am using kali linux 2 sana with alfa wireless card

i did everything as it mentioned above at the end i got an error messege as in the image Database Signature Vertification Failed

same problem. did you find a solution?
i'm thinking that is a problem cause by some missing libraries but i'm not sure of this.
i'm using kali 2 ligh.

This is a great article, thank you for posting it. I am however running into an issue trying to install the packages you listed in the beginning. When i run apt-get install libgcrypt11 I get E: unable to locate package error!! any suggestions?

when i use the command
iwconfig wlan1 txpower 27
then check with
nothing changes ....i have alfa awus036h

ok so i can lower the power but i just can't go above 20 .... but my card is AWUS036H shouldn't it be able to go up to 30dBm ??

It seems I can't change my country code....... I am stuck with country 00 using the AWUS036NAH. Is there anyway I can still increase my 20dbm?

However, i have tested the real power absorption of some wifi adapter. I have used an USB Voltage and Current Tester, that has to be attached between pc and the wifi adapter.

Rising up db ( from 20 to 34 ), nothing change, the absorption still be the same 0,1 - 0,14 A.
The question is: WHY?

Can it be because i'm trying with a laptop? I'll try using a desktop pc and a usb hub in the next days, but really i don't understand, a usb port normally can have 0,5 A 5V as output. Em i wrong?

To my knowledge there is no country which goes higher than 30 at the moment, so I am unable to pump out these last 3dbms..

PS: For me BO is 20 now a days.

did you read the article??
you can set what power you want

hi there nice tutorial but i have a big problem i can't make CRDA !
i get this error when i want to compile hope you can help me..

uZerkiller@Qu4ntum:~/Dokumente/crda-3.18$ make
/bin/sh: 1: pkg-config: not found
/bin/sh: 1: pkg-config: not found
/bin/sh: 1: pkg-config: not found
/bin/sh: 1: pkg-config: not found
Makefile:85: * Cannot find development files for any supported version of libel.

i have installed the latest versions:


Im using Kali Rolling 2016

thanks for your helps

Did you get a solution for this, I got the same problem?

uZerkiller@Qu4ntum:~/Dokumente/crda-3.18$ sudo apt-cache search libnl
libnl-3-200 - library for dealing with netlink sockets
libnl-3-200-dbg - debug symbols for libnl3
libnl-3-dev - development library and headers for libnl-3
libnl-cli-3-200 - library for dealing with netlink sockets - cli helpers
libnl-cli-3-dev - development library and headers for libnl-cli-3
libnl-genl-3-200 - library for dealing with netlink sockets - generic netlink
libnl-genl-3-dev - development library and headers for libnl-genl-3
libnl-idiag-3-200 - library for dealing with netlink sockets - inetdiag interface
libnl-idiag-3-dev - development library and headers for libnl-genl-3
libnl-nf-3-200 - library for dealing with netlink sockets - netfilter interface
libnl-nf-3-dev - development library and headers for libnl-nf-3
libnl-route-3-200 - library for dealing with netlink sockets - route interface
libnl-route-3-dev - development library and headers for libnl-route-3
libnl-utils - Utilities for dealing with netlink sockets
libnl-xfrm-3-200 - library for dealing with netlink sockets - package transformations
libnl-xfrm-3-dev - development library and headers for libnl-xfrm-3
libnlopt-dev - nonlinear optimization library -- development package
libnlopt-guile0 - nonlinear optimization library -- Guile bindings
libnlopt0 - nonlinear optimization library
ntrack-module-libnl-0 - libnl based ntrack module

Same issue, hope this can get resolved. I need this fast.

I found a fix, will make post in a bit.

hi Singularity, could you share your fix please, I have tried updating, changing repositories, manually downloading other packages however nothing resolves this issue. when going to download libgcrypt11-dev i get a message stating it can't find the package. I am running kali 2.0.2 installed, i have run apt-get update && apt-get upgrade, all is up to date.


I use RASPBIAN JESSIE , do i follow same steps mention above to increase TX pwoer to 30 dBm

I'm trying to set my card to TX power 30 in monitor mode which is when you need it, it can be set to 30 in standard device mode but when I put it in monitor mode it reverts to power 20. I tried using the TXpower command after putting it in monitor mode on the resulting wlan0mon device but that didn't work either.

Is it a package/dependency failure?


any solution?

root@kali:~/Desktop/crda-3.18# make
CC crda.o
LD crda
.// file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
Makefile:137: recipe for target 'crda' failed
make: ** crda Error 1

root@kali:~/Desktop/crda-3.18# make install
INSTALL libreg
ldconfig: /usr/lib/ is not an ELF file - it has the wrong magic bytes at the start.

INSTALL libreg-headers
LD crda
.// file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
Makefile:137: recipe for target 'crda' failed
make: ** crda Error 1

I have this exact problem. Please help us if you can.

Hello all,
I'm having this problem when I run make command.
Can I get some help please!

GEN keys-gcrypt.c

Trusted pubkeys: pubkeys/ pubkeys/ pubkeys/ pubkeys/

keys-gcrypt.c:176:32: error: 'keys' defined but not used -Werror=unused-const-variable=
static const struct key_params keys = {
cc1: all warnings being treated as errors
Makefile:118: recipe for target '' failed
make: ** Error 1

Hey Alex, you probably figured it out by now but if not, the fix will make you want to cut someone - I rolled my eyes so hard they near fell out of my skull:

  1. Nano/vim (edit) Makefile and delete the "-Werror" from the 2nd CFLAGS: line (will stop treating warnings as errors);
  2. Rm (delete) before you run the make command in the crda directory. The file is created in the make process so, if like me, you had a few failed make attempts before getting all the dependencies and other shi... correct, there will already be a failed file in the crda dir. Delete the lil bastard and run make again.

Good luck bro

@ Owen Lenegan (3 months ago) and all help-searchers:

That's it Owen, your hint made it!!! (delete "-Werror" inside Makefile + delete + make again)

Thanks for that bro! <3


Would somebody like to help me?

-- Did the rtl8814au driver installation for my ALFA AWUS1900. --> check O.K.
-- Normal connection and monitor mode are working fine. --> check O.K.
-- But with very low 12 dBi (why ever??) --> NOT O.K.

-- So I did all the steps of this tutorial --> seems O.K. --> ended in adjusted Country-Settings for my County (DE) cause the chip seems to be county-hardened?

-- Theoretically everything looks good, but my dBi stays low, whatever I do. --> AAAARGH !!!!!!

Maybe someone could give me a hint? Look at screenshot ;o)

Thanks a lot in advance!


.... but read on .... next problem waiting in next post. But think that'll be the last "hardware-installation-problem" for me until being completely set up with HW on PC and RPi3 .... :o)....

And here we are: ................

Would be nice to know why TX sticks on the highest possible rate without getting it down for my newly added adapters?

The strange thing here is: First installed AWUS1900 (hard-fixed to country DE (DE set to 33dbi in db.txt)). If I do iw ..... txpower 23 for the AWUS1900 it will be 23dbi or other dbi I want (completely free adjustable from 1 to 33). --> so perfect ......

But now for the newly two adapters AWUS036NH (hard-fixed to country DE) and AWUS036NHA (hard-fixed to country GB): Added 28dbi as maximum for country GB in "db.txt" as it is the max. possible for the AWUS036NHA and 33dbi in "db.txt" as maximum in country DE for the AWUS1900 and newly installed AWUS036NH (both hard-fixed to DE).

Now the AWUS1900 is still free adjustable from 1 to 33. But the AWUS036NH stays on it's maximum (33dbi, relating to set DE-country-max) and the AWUS036NHA stays also on it's maximum (28dbi, related to set GB-country-max) without the possibility of getting them down to a lower txpower with "iw ...... txpower" or "iwconfig ..... txpower" (example: setting iwconfig wlanXYZ txpower 23, but wlanXYZ stays on it's country-defined maximum of 33 or 28dbi, (as wlanXYZ is AWUS036NH or AWUS036NHA).

So what is it and what can I do? And why is one adapter adjustable and the others not?

Would be a pleasure for me as noob to get some help...


completely new Linux-User (Kali) from scratch on since a week ;o))
(with, so I think, last hardware-sided problem ;D ) beeing proud

Share Your Thoughts

  • Hot
  • Latest