LinuxQuestions.org
Visit Jeremy's Blog.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Networking
User Name
Password
Linux - Networking This forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything is fair game.

Notices


Reply
  Search this Thread
Old 04-07-2013, 07:15 PM   #1
Weber Kai
Member
 
Registered: Jun 2009
Location: Brasília, Brazil
Distribution: Slackware64 14.2
Posts: 39

Rep: Reputation: 24
Module ath - Force regulatory domain - Please, help me improving a kernel


Hi!

I live in Brazil, and I can use channels 12 and 13 in 802.11 frequencies.
But, both my linux box and android mobile can't see these channels.

The hardware vendors simply don't change the eeprom corresponding field in Atheros boards and cause troubles for us. I am tired of recompiling crda, and I decided to change ath module.
Since kernel is open source, I think we must have opportunity to correct their errors at software level.

--
Then, at /usr/src/linux/drivers/net/wireless/ath , I changed file main.c, and added these lines:
static uint modparam_regdm;
module_param_named(regdm, modparam_regdm, uint, S_IRUGO);
MODULE_PARM_DESC(regdm, "Force regulatory domain.");

This way I can set other regulatory domain in /lib/modprobe.d/ath.conf :
options ath regdm=99 (This means regulatory domain is 0x63)

But I need to use this paramenter in other file regd.c, inside function ath_regd_init(...).

Instead of running this code:
regdmn = ath_regd_get_eepromRD(reg);

I need to run this code:
regdmn = (u16) modparam_regdm;

But compiling all of this is returning as modparam_regdm is undeclared name.

Please, I need help!

How I can use modparam_regdm declared in main.c in other file regd.c? I need to put it in ath.h? I need to use some export symbol?

Thank you very much!
Weber Kai
 
Old 09-06-2013, 02:50 AM   #2
Weber Kai
Member
 
Registered: Jun 2009
Location: Brasília, Brazil
Distribution: Slackware64 14.2
Posts: 39

Original Poster
Rep: Reputation: 24
Hi all!

I found that using:
#iw reg set BR

and:
#insmod ath5k.ko all_channels=1

I can see others channels...

Thank you very much!
Weber Kai
 
Old 09-06-2013, 04:24 AM   #3
Weber Kai
Member
 
Registered: Jun 2009
Location: Brasília, Brazil
Distribution: Slackware64 14.2
Posts: 39

Original Poster
Rep: Reputation: 24
At android needed to edit /system/build.prop:
ro.product.locale.region=BR
ro.wifi.channels=13
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
How to force remove a kernel module duyuyang Linux - Kernel 9 09-06-2016 11:43 PM
[SOLVED] Simple configuration? Changing regulatory domain of Wi-Fi Weapon S Debian 2 09-10-2012 12:23 PM
Could not set regulatory domain on Wi-Fi device. Darshan P Linux - Wireless Networking 1 11-23-2011 12:43 AM
Regulatory domain setting with wl module muczy Linux - Wireless Networking 0 02-04-2009 04:35 PM
How Can I Force Removal of a Kernel Module (ERROR: Module usb_storage is in use) klearview Linux - Software 2 10-10-2008 09:20 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Networking

All times are GMT -5. The time now is 07:40 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration