You are not logged in.
Hi,
I need to use channel 14 of 2.4 GHz band in 802.11 reference design for my measurements. The default deign cannot support channel 14. But I think it can be done if I change some part of the default design. Can you show me the changes to the default codes that I need or direct me to the documents on this? Thanks.
Offline
In Python the default supported channels are defined by the variable 'wlan_channel' in wlan_exp/util.py.
In C the default supported channels are set by the wlan_lib_channel_verify() method.
Setting the node's current channel from Python requires both the wlan_exp and C implementations agree on which channels are implemented.
Offline
So in the C code, I only need to add case 14: in the wlan_lib_channel_verify() method and then regenerate new AP and STA bitstream file
In the Python codes, I only need to add 'index' : 14, 'channel' : 14, 'freq': 2484, 'desc' : '2.4 GHz Band' in the wlan_channel list.
Then I can use the channel 14, right? And Does this channel also have 20MHz and 64 subcarriers?
Offline
I believe those are the only required changes.
The set_channel() method only tunes the radio to a different center frequency. It does not affect the bandwidth or subcarrier mapping the PHY uses at that frequency.
Offline
I see. And those changes can work. I have successfully used channel 14. Thanks.
Offline
Has the process changed in the newest release (1.5.2)? I've made changes in wlan_exp\util.py, wlan_mac_low.c, wlan_mac_common.c, and wlan_mac_scan.c with no luck so far.
Last edited by Rebecca (2016-Aug-15 11:51:11)
Offline
You'll have to be more specific than "no luck" about what you changed and what you observed. Ultimately the radio is tuned by the wlan_mac_low_set_radio_channel() function in the lower MAC code in wlan_mac_low.c. This function calls the radio_controller driver function radio_controller_setCenterFrequency() to configure the MAX2829 PLL. You can add a xil_printf() in wlan_mac_low_set_radio_channel() to verify it is calling radio_controller_setCenterFrequency() with your desired channel, then debug from there if not.
Offline