Jump to content

CRDA and wireless regdb


gabrielwong1991

Recommended Posts

Hi there, 

 

Basically I am trying to change the wireless regulatory power for the Opi PC. I follow the instruction like in this link and it worked in Rpi:

http://askubuntu.com/questions/597546/iwconfig-wlan0-txpower-30mw-not-working

 

I modified the country of BO to 30  from db.txt so I get 30dbm signal for testing purpose.

 

When I have done all the proceedure in Opi PC and reboot I try to type " iw reg set BO" ,nothing happened - it still stayed at 00 which is the default country set. It also appears that when I type "iwconfig wlan0 channel 13" it then changed the country to China. And by then I can change the country BO by typing the "iw reg set BO" again. When I type "iw reg get" again it then change the regualtory.bin file to my modified version. But when I restart the system it goes back to default like the above.

 

So my question is when armbian compile the system, does it have a hidden regulatory.bin file hidden somewhere? so the system choose itself which regulatory.bin file to use? other than the usual place stored in /lib/crda?

 

Very weird indeed since it works totally fine in Rpi and I cross check the 85-regulatory.rules in rules.d it is pointing to /usr/lib crda file. 

Link to comment
Share on other sites

How do I know if the armbian kernel have compiled with this config_cfg80211_internal_regdb enabled in cfg80211 module?

 

What i understand now is there are two methods to call and change the regulatory. The first one is CRDA talks from userspace to the kernal when to change the country setting and the other one is without CRDA, tick the config_cfg80211_internal_regdb when compiling the kernal saves the regulatory file to the kernel and set the country default.

 

So if armbian have complied with this option then no wonder I see two regulatory files. (one from kernal and the other one is the one I modified). How can I go about recompile the kernal? But then I cannot see the file at net/wireless/db.txt, infact I cannot even find the path specified

 

Is there a tutorial I can follow as I am complete noob on linux...

 

Please take a look at the bottom 

 

 

https://wireless.wiki.kernel.org/en/developers/Regulatory/CRDA#config_cfg80211_internal_regdb

 

CONFIG_CFG80211_INTERNAL_REGDB

If you do not want to install CRDA on a host, you can simply enable the CONFIG_CFG80211_INTERNAL_REGDB on your kernel. Once enabled you can place the db.txt from the wireless-regdb into net/wireless/db.txt. The downside to using this option is that you will need to rebuild your kernel for any regulatory updates, therefore using CONFIG_CFG80211_INTERNAL_REGDB is not recommended.

If using CONFIG_CFG80211_INTERNAL_REGDB without updating net/wireless/db.txt you'll end up with the static world regulatory domain, so if using CONFIG_CFG80211_INTERNAL_REGDB you should be sure to update net/wireless/db.txt otherwise you may end up spending a lot of time debugging an issue that does not exist. To help with this a patch has been sent to print a warning when a kernel has been built with CONFIG_CFG80211_INTERNAL_REGDB but the database is emtpy. If you happen to also have CONFIG_CFG80211_REG_DEBUG then compiling of the kernel will simply fail.

Link to comment
Share on other sites

Wireless drivers were changed to latest that are working stable and that's all we were playing around in this area. Kernel and driver sources are available, so there is an option to look around for an answer ... if you know where to look. I don't have much experiences to point you or provide any tutorial.

 

If those options are packed into firmware blobs, which is highly possible, you can't alter signal strength anyway. AFAIK this is quite common and you need to have fully open sources driver to play around this.

Link to comment
Share on other sites

Igor thanks for your reply. I totally understands what you are saying. Why I get really frustrated is it works totally fine in raspberry pi 2 and 3 using raspbian image. I can modify the regulatory file and change the signal strength by changing the country. But when I do the same steps on Armbian (or as I call it switch platform to OrangePI PC) it doesn't change the country and thus the signal strength anymore. This leads me to suspect to be something to do with the OS part (they should be the same since they are both Debian isnt). Inface the wifi dongle and all other stuffs were taken from my raspberry Pi.......... 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines