OpenWrt Forum Archive

Topic: How to override or modify madwifi interrupt service routine?

The content of this topic has been archived on 30 Mar 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

I have seen a paper says that "Atheros hardware allows the creation of different types of hardware queues, one of which is a beacon queue. A beacon queue is initialized with a beacon interval (bintval)value that specifies the duration at which a periodic hardware interrupt (HAL_INT_SWBA) is generated. The default handler for this interrupt invokes a beacon generating function in the MadWiFi driver code."
Now,I want to override or modify the madwifi's default interrupt handler to handle the HAL_INT_SWBA interrupt(which is generated after a beacon has been generated,i think).Who can help me that where should i do with in the OpenWRT,thx.

(Last edited by MyAngelLYC on 8 Nov 2013, 08:23)

Now,I have finished this problem.In the ath9k driver,there is a interrupt service routine which can handle this problem.It's location is "./build_dir/linux-ar71xx_generic/compat-wireless-2013-06-27/drivers/net/wireless/ath/ath9k/main.c",there is a interrupt handler ath_isr().In this function,there is "if(status & ATH9K_INT_SWBA)".Under this section,is the handler.But now,I have a question,where i can change the beacon interval?

MyAngelLYC wrote:

Now,I have finished this problem.In the ath9k driver,there is a interrupt service routine which can handle this problem.It's location is "./build_dir/linux-ar71xx_generic/compat-wireless-2013-06-27/drivers/net/wireless/ath/ath9k/main.c",there is a interrupt handler ath_isr().In this function,there is "if(status & ATH9K_INT_SWBA)".Under this section,is the handler.But now,I have a question,where i can change the beacon interval?


go to modifiy the hostapd source code at build_dir/tar_xxxx/hostapd/ or wpad_full/xxxx

banglang.huang wrote:
MyAngelLYC wrote:

Now,I have finished this problem.In the ath9k driver,there is a interrupt service routine which can handle this problem.It's location is "./build_dir/linux-ar71xx_generic/compat-wireless-2013-06-27/drivers/net/wireless/ath/ath9k/main.c",there is a interrupt handler ath_isr().In this function,there is "if(status & ATH9K_INT_SWBA)".Under this section,is the handler.But now,I have a question,where i can change the beacon interval?


go to modifiy the hostapd source code at build_dir/tar_xxxx/hostapd/ or wpad_full/xxxx

In my system, there is build_dir/target-mips_r2_uClibc-0.9.33.2/hostapd-wpad-mini/hostapd-20130405/. But I don't know where to modify in this dictionary.

(Last edited by MyAngelLYC on 3 Jan 2014, 04:08)

The discussion might have continued from here.