US20160095103A1 - Country code selection logic for wi-fi stations - Google Patents
Country code selection logic for wi-fi stations Download PDFInfo
- Publication number
- US20160095103A1 US20160095103A1 US14/616,154 US201514616154A US2016095103A1 US 20160095103 A1 US20160095103 A1 US 20160095103A1 US 201514616154 A US201514616154 A US 201514616154A US 2016095103 A1 US2016095103 A1 US 2016095103A1
- Authority
- US
- United States
- Prior art keywords
- country code
- country
- received
- sta
- aps
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/16—Discovering, processing access restriction or access information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/08—Access restriction or access information delivery, e.g. discovery data delivery
- H04W48/12—Access restriction or access information delivery, e.g. discovery data delivery using downlink control channel
-
- H04W72/048—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B17/00—Monitoring; Testing
- H04B17/30—Monitoring; Testing of propagation channels
- H04B17/309—Measuring or estimating channel quality parameters
- H04B17/318—Received signal strength
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/04—TPC
- H04W52/18—TPC being performed according to specific parameters
- H04W52/28—TPC being performed according to specific parameters using user profile, e.g. mobile speed, priority or network state, e.g. standby, idle or non transmission
- H04W52/283—Power depending on the position of the mobile
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/04—TPC
- H04W52/30—TPC using constraints in the total amount of available transmission power
- H04W52/36—TPC using constraints in the total amount of available transmission power with a discrete range or set of values, e.g. step size, ramping or offsets
- H04W52/367—Power values between minimum and maximum limits, e.g. dynamic range
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W72/00—Local resource management
- H04W72/02—Selection of wireless resources by user or terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/02—Arrangements for optimising operational condition
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/18—Selecting a network or a communication service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/20—Selecting an access point
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/04—TPC
- H04W52/18—TPC being performed according to specific parameters
- H04W52/24—TPC being performed according to specific parameters using SIR [Signal to Interference Ratio] or other wireless path parameters
- H04W52/245—TPC being performed according to specific parameters using SIR [Signal to Interference Ratio] or other wireless path parameters taking into account received signal strength
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
Definitions
- the example embodiments relate generally to wireless networks, and specifically to determining correct country code information broadcast from one or more access points.
- a wireless local area network may be formed by one or more access points (APs) that provide a wireless communication channel or link with a number of client devices or stations (STAs).
- Each AP which may correspond to a Basic Service Set (BSS), periodically broadcasts beacon frames to enable any STAs within wireless range of the AP to establish and/or maintain a communication link with the WLAN (also known as the Wi-Fi network).
- the beacon frames which may include a traffic indication map (TIM) and/or a delivery traffic indication message (DTIM) indicating whether the AP has queued downlink data for the STAs, are typically broadcast according to a target beacon transmission time (TBTT) schedule.
- TIM traffic indication map
- DTIM delivery traffic indication message
- the IEEE 802.11d standards allow an AP to include an Information Element (IE) in the beacon frames that includes country code information of the AP.
- the country code information may include a country code indicating a country, region, or domain where the AP is located, and may also include a list of authorized channels, transmit power levels, and other restrictions (e.g., imposed by a government or regulatory agency).
- countries typically apply their own regulations to both the authorized channels, allowed users, and maximum power levels for various wireless frequency ranges. These regulations may vary between countries. For example, while Japan may currently allow Wi-Fi devices to operate on a particular channel, the United States may currently not allow Wi-Fi devices to operate on the particular channel.
- a station (STA) receiving these beacon frames may extract the country code information to determine in which country or domain the AP is located, and then use only those acceptable channels and corresponding transmit power levels associated with that country.
- the country code information provided in the beacon frames must be accurate.
- the AP may provide incorrect country code information to the STA, which in turn may cause the STA to run afoul of regulations specified by the country in which the STA is currently located (e.g., by transmitting on channels that are not authorized by the country and/or by transmitting at power levels greater than the power limits allowed by the country).
- the STA may receive beacon frames from groups of APs that are located in different countries, where a first group of APs may broadcast country code information pertaining to a first country and a second group of APs may broadcast country code information pertaining to a second country.
- a first group of APs may broadcast country code information pertaining to a first country
- a second group of APs may broadcast country code information pertaining to a second country.
- FIG. 1 shows a block diagram of a WLAN system within which the example embodiments may be implemented.
- FIG. 2 shows a block diagram of a wireless station (STA) in accordance with example embodiments.
- FIG. 3 shows a block diagram of a wireless access point (AP) in accordance with example embodiments.
- FIG. 4 depicts a STA within wireless range of a plurality of APs that are located in different countries.
- FIG. 5 is an illustrative flow chart depicting an example operation of the STA of FIG. 4 qualifying received country code information and selecting the correct country based at least in part on the qualified country code information.
- Wi-Fi wireless local area network
- Wi-Fi can include communications governed by the IEEE 802.11 family of standards, Bluetooth, HiperLAN (a set of wireless standards, comparable to the IEEE 802.11 standards, used primarily in Europe), and other technologies having relatively short radio propagation range.
- Wi-Fi wireless local area network
- example embodiments may be implemented in wireless networks configured to operate as infrastructure WLAN systems, peer-to-peer (or Independent Basic Service Set) wireless systems, Wi-Fi Direct wireless systems, and/or Hotspots.
- AP may include access points, soft APs, group owners (GOs), and any other device that manages and/or controls access to and/or the operation of a wireless network.
- data packet may include any frame, packet, or data unit such as, for example, protocol data units (PDUs), MAC protocol data units (MPDUs), and physical layer convergence procedure protocol data units (PPDUs).
- PDUs protocol data units
- MPDUs MAC protocol data units
- PPDUs physical layer convergence procedure protocol data units
- A-MPDU may refer to aggregated MPDUs.
- country code may indicate a country, region, or domain where a corresponding AP is located.
- country, region, and domain may be used interchangeably herein, and generally refer to a geographic area having one or more associated attributes such as allowed Wi-Fi channels (e.g., frequency bands), maximum transmit power levels, and other regulations or restrictions imposed upon APs and/or STAs operating within the corresponding geographic region.
- FIG. 1 shows a block diagram of an example wireless system 100 within which the example embodiments may be implemented.
- the wireless system 100 is shown to include a wireless station STA, two wireless access points (APs) 110 A- 110 B, and a wireless local area network (WLAN) 120 .
- the WLAN 120 may be formed by any number of APs that may operate according to the IEEE 802.11 family of standards (or according to other suitable wireless protocols). Thus, although only two APs 110 A- 110 B are shown in FIG. 1 for simplicity, it is to be understood that WLAN 120 may be formed by any number of APs.
- Each of APs 110 A- 110 B is assigned a unique MAC address that is programmed therein by, for example, the manufacturer of the AP. Similarly, the STA is also assigned a unique MAC address.
- the station STA may be any suitable Wi-Fi enabled wireless device including, for example, a cell phone, personal digital assistant (PDA), tablet device, laptop computer, or the like.
- the station STA may also be referred to as a user equipment (UE), a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless device, a wireless communications device, a remote device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a user agent, a mobile client, a client, or some other suitable terminology.
- UE user equipment
- the station STA may include one or more transceivers, one or more processing resources (e.g., processors and/or ASICs), one or more memory resources, and a power source (e.g., a battery).
- the memory resources may include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, etc.) that stores instructions for performing operations described below with respect to FIG. 5 .
- the APs 110 A- 110 B may be any suitable device that allows one or more wireless devices to connect to a network (e.g., a local area network (LAN), wide area network (WAN), metropolitan area network (MAN), and/or the Internet) via AP 110 using Wi-Fi, Bluetooth, or any other suitable wireless communication standards.
- a network e.g., a local area network (LAN), wide area network (WAN), metropolitan area network (MAN), and/or the Internet
- each of APs 110 A- 110 B may include one or more transceivers, a network interface, one or more processing resources, and one or more memory resources.
- the memory resources may include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, etc.) that store instructions for performing operations described below with respect to FIG. 5 .
- FIG. 2 shows a block diagram of a wireless STA 200 in accordance with some embodiments.
- the STA 200 may be one embodiment of the station STA of FIG. 1 .
- the STA 200 may include a PHY device 210 including at least a WLAN transceiver 211 , a MAC device 220 including a number of contention engines 221 , a processor 230 , and a memory 240 .
- the transceiver 211 may be used to transmit signals to and receive signals from an AP (e.g., APs 110 A- 110 B) and/or other STAs, and to scan the surrounding environment to detect and identify nearby APs (e.g., APs within range of STA 200 ) and/or nearby STAs.
- AP e.g., APs 110 A- 110 B
- the transceiver 211 may be used to perform active and/or passive scanning operations to request and/or receive country code information from nearby APs.
- MAC device 220 is shown in FIG. 2 as being coupled between PHY device 210 and processor 230 .
- PHY device 210 , MAC device 220 , processor 230 , and/or memory 240 may be connected together using one or more buses (not shown for simplicity).
- the contention engines 221 may contend for access to a shared wireless communications medium, and may also store packets for transmission over the shared medium.
- the STA 200 may include one or more contention engines 221 for each of a plurality of different ACs (not shown in FIG. 2 for simplicity).
- the contention engines 221 may be separate from MAC device 220 .
- the contention engines 221 may be implemented as one or more software modules (e.g., stored in memory 240 or stored in memory provided within MAC device 220 ) containing instructions that, when executed by processor 230 , perform the functions of contention engines 221 .
- Memory 240 may include an AP profile data store 241 that stores profile information for a plurality of APs.
- the profile information for a particular AP may include information including, for example, the AP's service set ID (SSID), channel information, country code information, received signal strength indicator (RSSI) values, supported data rates, connection history with STA 200 , a trustworthiness value of the AP (e.g., indicating a level of confidence about the AP's location, broadcast country code information, etc.), and any other suitable information pertaining to or describing the operation of the AP.
- SSID AP's service set ID
- RSSI received signal strength indicator
- Memory 240 may also include a country code history table 242 and a country code popularity table 243 .
- the country code history table 242 may store country codes, authorized channel lists, and/or maximum transmit power levels previously received from each of a number of APs (e.g., during a previous time period, which may be dynamically configurable).
- the country code popularity table 243 may store a popularity value for each of a number of received country codes. The popularity values may be used to determine which country the STA 200 is currently operating in, and to therefore select the correct list of authorized channels and transmit power levels.
- Memory 240 may also include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, and so on) that can store the following software modules:
- a non-transitory computer-readable medium e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, and so on
- Processor 230 which is shown in the example of FIG. 2 as coupled to PHY device 210 and transceiver 211 , to MAC device 220 and contention engines 221 , and to memory 240 , may be any suitable one or more processors capable of executing scripts or instructions of one or more software programs stored in STA 200 (e.g., within memory 240 ).
- processor 230 may execute the frame exchange software module 244 to facilitate the creation and exchange of frames (e.g., association requests, probe requests, data frames, acknowledgement (ACK) frames, management frames, action frames, control frames, and so on) between the STA 200 and other STAs and/or a number of APs.
- frames e.g., association requests, probe requests, data frames, acknowledgement (ACK) frames, management frames, action frames, control frames, and so on
- Processor 230 may also execute the country code popularity software module 246 to determine a popularity value for each of the country codes received from a number of APs, for example, by polling the received country codes to determine how many times the same country code is received by the STA 200 during a selected time period.
- Processor 230 may also execute the country code qualification software module 248 to qualify the received country code information for polling by the country code popularity software module 246 .
- Processor 230 may also execute the transmission selection software module 250 to select Wi-Fi channels and transmit power levels suitable for the country in which the STA 200 is determined to be located.
- FIG. 3 shows an example of an AP 300 that is one embodiment of APs 110 A- 110 B of FIG. 1 .
- AP 300 includes a PHY device 310 including at least a transceiver 311 , a MAC device 320 including at least a number of contention engines 321 , a processor 330 , a memory 340 , and a network interface 350 .
- the transceiver 311 may be used to communicate wirelessly with one or more STAs, with one or more other APs, and/or with other suitable devices.
- the network interface 350 may be used to communicate with a WLAN server (not shown for simplicity) associated with WLAN 120 of FIG. 1 either directly or via one or more intervening networks and to transmit signals.
- a WLAN server not shown for simplicity
- Processor 330 which is coupled to PHY device 310 and transceiver 311 , to MAC device 320 and contention engines 321 , to memory 340 , and to network interface 350 , may be any suitable processor capable of executing scripts or instructions of one or more software programs stored in AP 300 (e.g., within memory 340 ).
- MAC device 320 is shown in FIG. 3 as being coupled between PHY device 310 and processor 330 .
- PHY device 310 , MAC device 320 , processor 330 , memory 340 , and/or network interface 350 may be connected together using one or more buses (not shown for simplicity).
- the contention engines 321 may contend for access to the shared wireless medium, and may also store packets for transmission over the shared wireless medium.
- AP 300 may include one or more contention engines 321 for each of the plurality of different access categories.
- the contention engines 321 may be separate from MAC device 320 .
- the contention engines 321 may be implemented as one or more software modules (e.g., stored in memory 340 or within memory provided within MAC device 320 ) containing instructions that, when executed by processor 330 , perform the functions of contention engines 321
- Memory 340 may include a number of packet queues 342 .
- the packet queues 342 may store packets to be transmitted from AP 300 to one or more STAs.
- the memory 340 may include one or more packet queues 342 for each of a plurality of different priority levels or access categories.
- memory 340 may include packet queues for a plurality of different destinations (e.g., STAs).
- Memory 340 may also include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, and so on) that can store the following software modules:
- a non-transitory computer-readable medium e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, and so on
- Each software module includes instructions that, when executed by processor 330 , cause AP 300 to perform the corresponding functions.
- the non-transitory computer-readable medium of memory 340 thus includes instructions for performing all or a portion of the AP-side operations of the methods of FIG. 5 .
- Processor 330 which is shown in the example of FIG. 3 as coupled to transceiver 311 of PHY device 310 via MAC device 320 , to memory 340 , and to network interface 350 , may be any suitable processor capable of executing scripts or instructions of one or more software programs stored in AP 300 (e.g., within memory 340 ).
- processor 330 may execute the frame exchange software module 344 to facilitate the creation and exchange of frames (e.g., association responses, probe responses, beacon frames, data frames, acknowledgement (ACK) frames, management frames, action frames, control frames, and so on) between the AP 300 and nearby STAs.
- Processor 330 may also execute the country code embedding software module 346 to embed country code information within beacon frames, probe responses, action frames, and/or any other suitable frames.
- FIG. 4 is a diagram 400 illustrating the STA 200 of FIG. 2 in the vicinity of six APs 110 X 1 - 110 X 2 , 110 Y 1 - 110 Y 3 , and 110 R (each of which may be an embodiment of AP 300 of FIG. 3 ).
- the STA 200 is depicted in FIG. 4 as being currently located in country X.
- APs 110 X 1 - 110 X 2 and AP 110 R are located in country X, and APs 110 Y 1 - 110 Y 3 are located in country Y.
- AP 110 R is considered to be a “rogue” AP.
- AP 110 R may be including incorrect country code information in its beacon frames, probe responses, and/or action frames.
- incorrect country code information may mean that AP 110 R is broadcasting an incorrect country code (e.g., a country code that does not correspond to country X, is broadcasting an incorrect list of authorized channels for country X, and/or is broadcasting incorrect transmit power levels for channels authorized by country X).
- an incorrect country code e.g., a country code that does not correspond to country X, is broadcasting an incorrect list of authorized channels for country X, and/or is broadcasting incorrect transmit power levels for channels authorized by country X.
- the STA 200 receives frames F_X 1 -F_X 2 from respective APs 110 X 1 - 110 X 2 , receives frames F_Y 1 -F_Y 3 from respective APs 110 Y 1 - 110 Y 3 , and receives frames F_R from AP 110 R.
- the frames may be beacon frames broadcast by the APs (e.g., at target beacon transmission times (TBTTs)) and received by the STA 200 during passive scanning operations, or may be probe responses transmitted in response to probe requests broadcast by the STA 200 during active scanning operations.
- the frames may be action frames or other suitable frames transmitted from the APs to the STA 200 .
- the STA 200 extracts the country code information from the received frames, and may first qualify of each the received country codes for consideration in a subsequent polling or voting operation to determine a popularity of each of the received country codes.
- the qualification operation may involve two steps. Although these two steps are described below as sequential steps performed in a given manner, the two steps may be performed concurrently or in a different order.
- the first qualification step may qualify (or disqualify) the received country code information (1) based on a comparison between the received country code and one or more country codes previously received from the same AP (e.g., as stored in country code history table 242 ) and/or (2) based on a comparison between the received country code and a list of valid channels advertised by the AP. More specifically, if there is a match for conditions (1) and (2), then the STA 200 may qualify the received country code information for consideration in the subsequent polling operation. Conversely, if there is a mismatch for either of conditions (1) and (2), then the STA 200 may disqualify the received country code information for consideration in the subsequent popularity determination (e.g., polling operation).
- the subsequent popularity determination e.g., polling operation
- the STA 200 may compare the country code broadcast from AP 110 R with country codes previously received from AP 110 R and/or with a known country code associated with AP 110 R (e.g., using country code qualification software module 248 and country code history table 242 of FIG. 2 ) to determine if there is a mismatch. For this example, there is a mismatch between the country code just received from AP 110 R and either (1) country codes previously received from AP 110 R or (2) a known country code for AP 110 R; in response thereto, the STA 200 may disqualify the country code information received from AP 110 R.
- AP 110 R includes the correct country code (e.g., indicating country X), but advertises (e.g., in the frame received by the STA 200 ) an incorrect list of authorized channels and/or transmit power levels for country X.
- the STA 200 may compare the list of authorized channels and/or transmit power levels advertised by AP 110 R with stored information indicating the correct list of authorized channels and/or transmit power levels for country X (e.g., using country code qualification software module 248 ).
- the stored information may be previously stored in the STA 200 , or may be provided to STA 200 via a cellular or Wi-Fi connection (or any other suitable connection). If the STA 200 determines that the list of authorized channels or transmit power levels is inconsistent with the stored information, then the STA 200 may disqualify the country code information received from AP 110 R.
- the second qualification step may qualify (or disqualify) the received country code information based on RSSI values of the received frames. More specifically, if the RSSI value of a received frame is greater than (or equal to) a threshold value (e.g., indicating that the corresponding AP may be relatively close to the STA 200 ), then the STA 200 may qualify the received country code information for consideration in the subsequent popularity determination (e.g., polling operation) (e.g., if not disqualified during the first qualification step).
- a threshold value e.g., indicating that the corresponding AP may be relatively close to the STA 200
- the STA 200 may disqualify the received country code information for consideration in the subsequent popularity determination (e.g., polling operation).
- a first group of APs 110 X 1 - 110 X 2 may broadcast country codes for country X
- a second group of APs 110 Y 1 - 110 Y 3 may broadcast country codes for country Y.
- the STA 200 may qualify country code information provided by APs having an RSSI value that is greater than a threshold level, and may disqualify country code information provided by APs having an RSSI value that is not greater than the threshold level.
- the STA 200 is depicted as having an RSSI threshold level corresponding to geographical RSSI range 410 . More specifically, the RSSI range 410 of FIG.
- RSSI range 410 of FIG. 4 is shown to not include APs 110 Y 2 , 110 Y 3 , and 110 R.
- RSSI values for APs 110 Y 2 , 110 Y 3 , and 110 R are not greater than the RSSI threshold level (e.g., as indicated by their exclusion from geographical RSSI range 410 ), country codes provided by APs 110 Y 2 , 110 Y 3 , and 110 R may be disqualified from the subsequent popularity determination (e.g., polling operation).
- the STA 200 may then determine which of the country codes is the most popular based on the qualified country codes (e.g., which of the qualified country codes is received the most number of times during a selected time period). For the example of FIG. 4 , the STA 200 may count the number of times that country codes are received from the “qualified” APs 110 X 1 , 110 X 2 , and 110 Y 1 during the selected time period, and then determine that the most popular country code is likely to be the correct country code (e.g., the country code corresponding to the country in which the STA is located).
- the qualified country codes e.g., which of the qualified country codes is received the most number of times during a selected time period.
- the number of received country codes indicating country X is greater than the number of country codes indicating country Y, and therefore the country code indicating country X is determined to be the most popular.
- the STA 200 may increment a count value for the respective country code each time a frame containing the respective country code is received and qualifies for the popularity determination, and the STA 200 may ignore the respective country code when the respective country code does not qualify for the popularity determination.
- the STA 200 may use a number of counters (not shown for simplicity) each for maintaining a count of the number of corresponding country codes received during the selected time period, and may use compare logic to determine which of the country codes was received the most times during the selected time period.
- the selected time period may be any suitable time period.
- selected time period may be configurable or otherwise selectable (e.g., by a user of STA 200 , by a manufacturer of STA 200 , or by an operator of a wireless service used by STA 200 ).
- the STA 200 determines that it is located in country X, and then operates using a list of channels and transmit power levels authorized by country X. Thereafter, the STA 200 may maintain the channel list and transmit power levels of country X, and may then periodically perform the qualification and popularity determination operations to ensure that the STA 200 remains in compliance with channels and transmit power levels authorized by the country within which the STA is located. In this manner, if the STA 200 later crosses the border into country Y, then the STA 200 may update its channel list and transmit power levels to be consistent with regulations imposed by country Y (e.g., in response to determining that the number of qualified country codes indicating country Y is greater than the number of qualified country codes indicating country X).
- the period of time between periodically performing the qualification and popularity determination operations may be predetermined or dynamically configurable; for some embodiments, the period of time may range from as little as a few seconds to as much as several minutes (or more). Further, if the STA 200 does not receive any additional country code information for a given time period, then the STA 200 may maintain the current country code settings until subsequent country code information is received (e.g., from subsequent beacon frames) and is deemed to warrant another qualification and popularity determination operation.
- the STA 200 may select the country code broadcast from the AP(s) having the highest average RSSI values (and that was not disqualified from the popularity polling operations). For example, if the number of frames including a first country code indicating country X is the same as the number of frames including a second country code indicating country Y, then the STA 200 may determine whether the group of APs 110 X 1 - 1110 X 2 or the group of APs 110 Y 1 - 110 Y 3 has the highest average RSSI value, and then select the most popular country code accordingly.
- FIG. 5 shows an example operation 500 of a method for station 200 to determine suitable transmission characteristics in accordance with the example embodiments.
- the STA 200 receives a plurality of frames from a number of access points (APs), each frame including country code information containing at least a country code indicating in which country the AP is located ( 502 ).
- the country code information may also include a list authorized channels and/or allowable transmit power levels for the corresponding country.
- the STA 200 may extract the country code information from the received frames.
- the STA 200 determines a popularity of each of a number of different country codes by polling the received country codes ( 504 ).
- the polling operation may determine a number of times that the same country code is received (e.g., from one or more APs) during a selected time period.
- the polling operation may be implemented using a voting mechanism.
- the STA 200 may qualify (or disqualify) the country codes for the popularity determination ( 504 A).
- the STA 200 may disqualify a country code when the country code information most recently received from an AP does not match country code information previously received from the same AP ( 504 B).
- the STA 200 may qualify the country code when the most recently received country code information matches previously received country code information from the same AP.
- the STA 200 may compare the country code received from a corresponding AP with one or more country codes previously received from the same AP, and qualify the received country code when the comparison results in a match; otherwise, when there is a mismatch, the STA 200 may disqualify the received country code (e.g., because the recent country code is inconsistent with its historical and/or known country code indications).
- the STA 200 may compare a list of authorized channels received from a corresponding AP with known authorized channels for the corresponding country, and qualify the received country code when the comparison results in a match; otherwise, if there is a mismatch, the STA 200 may disqualify the received country code (e.g., because the advertised list of authorized channels is inconsistent with its historical and/or known list of authorized channels).
- the STA 200 may disqualify a country code from the polling operation when the RSSI value of an AP is not greater than a threshold RSSI level (e.g., which may indicate that the AP is not relatively close to the STA 200 and thus may not be in the same country as the STA) ( 504 C). Conversely, when the RSSI is greater than the threshold value (e.g., which may indicate that the AP is relatively close to the STA 200 and thus may be in the same country as the STA), then the STA 200 may qualify the country code.
- a threshold RSSI level e.g., which may indicate that the AP is not relatively close to the STA 200 and thus may not be in the same country as the STA
- the STA 200 may determine a received signal strength indicator (RSSI) value for a corresponding AP, and qualify the received country code when the RSSI value is greater than a threshold level; otherwise, the STA 200 may disqualify the received country code when the RSSI value is not greater than the threshold level.
- RSSI received signal strength indicator
- the STA 200 may select the country code corresponding to the group of APs having the highest average RSSI values ( 504 D). For example, when a first country code and a second country code have the same determined popularity, the STA 200 may determine an average RSSI value for one or more first APs associated with the first country code and determine an average RSSI value for one or more second APs associated with the second country code.
- the STA 200 may select the first country code as the most popular country code when the average RSSI value of the one or more first APs is higher than the average RSSI value of the one or more second APs, and may select the second country code as the most popular country code when the average RSSI value of the one or more second APs is higher than the average RSSI value of the one or more first APs.
- the STA 200 determines in which country the STA 200 is currently located based, at least in part, on the determined popularities of the received (and qualified) country codes ( 506 ). Once the correct country code is determined, the STA 200 may then determine the list of authorized channels and acceptable transmit power levels for the corresponding country. Then, the STA 200 selects a wireless channel and a transmit power level based on the determined country ( 508 ).
- the STA 200 may maintain the list of authorized channels and acceptable transmit power levels for the corresponding country, and may periodically perform the qualification and popularity determination operations to ensure that the STA 200 remains in compliance with channels and transmit power levels authorized by the country within which the STA 200 is located ( 510 ). In this manner, if the STA 200 later crosses the border into another country, then the STA 200 may update its channel list and transmit power levels to be consistent with regulations imposed by the other country.
- At least one embodiment may include a non-transitory computer-readable medium containing program instructions that, when executed by a processor of a wireless station (STA) to determine suitable characteristics for wireless transmissions from the STA, cause the STA to perform operations comprising: determine a popularity of each country code by polling the received country codes; determine in which country the STA is currently located based, at least in part, on the determined popularities of the country codes; and select a wireless channel and a transmit power level based on the determined country. Execution of the instructions may cause the STA to qualify each of the received country codes for the popularity determination.
- STA wireless station
- Execution of the instructions may also cause the STA to, for a respective country code, increment a count value for the respective country code each time a frame containing the respective country code is received and qualifies for the popularity determination; and ignore the respective country code when the respective country code does not qualify for the popularity determination.
- Execution of the instructions to qualify each of the received country codes may cause the STA to determine a received signal strength indicator (RSSI) value for a corresponding AP; qualify the received country code when the RSSI value is greater than a threshold level; and disqualify the received country code when the RSSI value is not greater than the threshold level.
- RSSI received signal strength indicator
- Execution of the instructions to qualify each of the received country codes may cause the STA to compare the country code received from a corresponding AP with one or more country codes previously received from the same AP; qualify the received country code when the comparing results in a match; and disqualify the received country code when the comparing results in a mismatch.
- Execution of the instructions to qualify each of the received country codes may cause the STA to compare a list of authorized channels received from a corresponding AP with known authorized channels for the corresponding country; qualify the received country code when the comparing results in a match; and disqualify the received country code when the comparing results in a mismatch.
- Execution of the instructions may cause the STA to determine when a first country code and a second country code have the same determined popularity; determine an average received signal strength indicator (RSSI) value for a first group of APs associated with the first country code; determine an average RSSI value for a second group of APs associated with the second country code; select the first country code as the most popular country code when the average RSSI value of the first group of APs is higher than the average RSSI value of the second group of APs; and select the second country code as the most popular country code when the average RSSI value of the second group of APs is higher than the average RSSI value of the first group of APs.
- RSSI received signal strength indicator
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
- The example embodiments relate generally to wireless networks, and specifically to determining correct country code information broadcast from one or more access points.
- A wireless local area network (WLAN) may be formed by one or more access points (APs) that provide a wireless communication channel or link with a number of client devices or stations (STAs). Each AP, which may correspond to a Basic Service Set (BSS), periodically broadcasts beacon frames to enable any STAs within wireless range of the AP to establish and/or maintain a communication link with the WLAN (also known as the Wi-Fi network). The beacon frames, which may include a traffic indication map (TIM) and/or a delivery traffic indication message (DTIM) indicating whether the AP has queued downlink data for the STAs, are typically broadcast according to a target beacon transmission time (TBTT) schedule.
- The IEEE 802.11d standards allow an AP to include an Information Element (IE) in the beacon frames that includes country code information of the AP. The country code information may include a country code indicating a country, region, or domain where the AP is located, and may also include a list of authorized channels, transmit power levels, and other restrictions (e.g., imposed by a government or regulatory agency). For example, countries typically apply their own regulations to both the authorized channels, allowed users, and maximum power levels for various wireless frequency ranges. These regulations may vary between countries. For example, while Japan may currently allow Wi-Fi devices to operate on a particular channel, the United States may currently not allow Wi-Fi devices to operate on the particular channel. A station (STA) receiving these beacon frames may extract the country code information to determine in which country or domain the AP is located, and then use only those acceptable channels and corresponding transmit power levels associated with that country.
- Thus, for a STA to comply with such regulations, the country code information provided in the beacon frames must be accurate. Unfortunately, when a particular AP is malfunctioning or is being maliciously operated (hereinafter referred to as a “rogue” AP), the AP may provide incorrect country code information to the STA, which in turn may cause the STA to run afoul of regulations specified by the country in which the STA is currently located (e.g., by transmitting on channels that are not authorized by the country and/or by transmitting at power levels greater than the power limits allowed by the country).
- In addition, when the STA is near a border between two countries, the STA may receive beacon frames from groups of APs that are located in different countries, where a first group of APs may broadcast country code information pertaining to a first country and a second group of APs may broadcast country code information pertaining to a second country. In this situation, it is desirable for the STA to select the correct country code information broadcast from the different groups of APs so that the STA complies with regulations imposed by the country in which the STA is located.
- The example embodiments are illustrated by way of example and are not intended to be limited by the figures of the accompanying drawings, where like reference numerals refer to corresponding parts throughout the drawing figures.
-
FIG. 1 shows a block diagram of a WLAN system within which the example embodiments may be implemented. -
FIG. 2 shows a block diagram of a wireless station (STA) in accordance with example embodiments. -
FIG. 3 shows a block diagram of a wireless access point (AP) in accordance with example embodiments. -
FIG. 4 depicts a STA within wireless range of a plurality of APs that are located in different countries. -
FIG. 5 is an illustrative flow chart depicting an example operation of the STA ofFIG. 4 qualifying received country code information and selecting the correct country based at least in part on the qualified country code information. - The example embodiments are described below in the context of data exchanges between Wi-Fi enabled devices for simplicity only. It is to be understood that the example embodiments are equally applicable to data exchanges using signals of other various wireless standards or protocols. As used herein, the terms “WLAN” and “Wi-Fi” can include communications governed by the IEEE 802.11 family of standards, Bluetooth, HiperLAN (a set of wireless standards, comparable to the IEEE 802.11 standards, used primarily in Europe), and other technologies having relatively short radio propagation range. Thus, the terms “WLAN” and “Wi-Fi” may be used interchangeably herein. In addition, the example embodiments may be implemented in wireless networks configured to operate as infrastructure WLAN systems, peer-to-peer (or Independent Basic Service Set) wireless systems, Wi-Fi Direct wireless systems, and/or Hotspots. Thus, the term “AP” may include access points, soft APs, group owners (GOs), and any other device that manages and/or controls access to and/or the operation of a wireless network.
- In addition, although described herein in terms of exchanging data packets between wireless devices, the example embodiments may be applied to the exchange of any data unit, packet, and/or frame between wireless devices. Thus, the term “data packet” may include any frame, packet, or data unit such as, for example, protocol data units (PDUs), MAC protocol data units (MPDUs), and physical layer convergence procedure protocol data units (PPDUs). The term “A-MPDU” may refer to aggregated MPDUs.
- Further, as used herein, a “country code” may indicate a country, region, or domain where a corresponding AP is located. Thus, the terms country, region, and domain may be used interchangeably herein, and generally refer to a geographic area having one or more associated attributes such as allowed Wi-Fi channels (e.g., frequency bands), maximum transmit power levels, and other regulations or restrictions imposed upon APs and/or STAs operating within the corresponding geographic region.
- In the following description, numerous specific details are set forth such as examples of specific components, circuits, and processes to provide a thorough understanding of the present disclosure. The term “coupled” as used herein means connected directly to or connected through one or more intervening components or circuits. Also, in the following description and for purposes of explanation, specific nomenclature is set forth to provide a thorough understanding of the example embodiments. However, it will be apparent to one skilled in the art that these specific details may not be required to practice the example embodiments. In other instances, well-known circuits and devices are shown in block diagram form to avoid obscuring the present disclosure. The example embodiments are not to be construed as limited to specific examples described herein but rather to include within their scopes all embodiments defined by the appended claims.
-
FIG. 1 shows a block diagram of an examplewireless system 100 within which the example embodiments may be implemented. Thewireless system 100 is shown to include a wireless station STA, two wireless access points (APs) 110A-110B, and a wireless local area network (WLAN) 120. The WLAN 120 may be formed by any number of APs that may operate according to the IEEE 802.11 family of standards (or according to other suitable wireless protocols). Thus, although only twoAPs 110A-110B are shown inFIG. 1 for simplicity, it is to be understood thatWLAN 120 may be formed by any number of APs. Each ofAPs 110A-110B is assigned a unique MAC address that is programmed therein by, for example, the manufacturer of the AP. Similarly, the STA is also assigned a unique MAC address. - The station STA may be any suitable Wi-Fi enabled wireless device including, for example, a cell phone, personal digital assistant (PDA), tablet device, laptop computer, or the like. The station STA may also be referred to as a user equipment (UE), a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless device, a wireless communications device, a remote device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a user agent, a mobile client, a client, or some other suitable terminology. For at least some embodiments, the station STA may include one or more transceivers, one or more processing resources (e.g., processors and/or ASICs), one or more memory resources, and a power source (e.g., a battery). The memory resources may include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, etc.) that stores instructions for performing operations described below with respect to
FIG. 5 . - The APs 110A-110B may be any suitable device that allows one or more wireless devices to connect to a network (e.g., a local area network (LAN), wide area network (WAN), metropolitan area network (MAN), and/or the Internet) via AP 110 using Wi-Fi, Bluetooth, or any other suitable wireless communication standards. For at least one embodiment, each of
APs 110A-110B may include one or more transceivers, a network interface, one or more processing resources, and one or more memory resources. The memory resources may include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, etc.) that store instructions for performing operations described below with respect toFIG. 5 . -
FIG. 2 shows a block diagram of awireless STA 200 in accordance with some embodiments. Specifically, the STA 200 may be one embodiment of the station STA ofFIG. 1 . The STA 200 may include aPHY device 210 including at least aWLAN transceiver 211, aMAC device 220 including a number ofcontention engines 221, aprocessor 230, and amemory 240. Thetransceiver 211 may be used to transmit signals to and receive signals from an AP (e.g.,APs 110A-110B) and/or other STAs, and to scan the surrounding environment to detect and identify nearby APs (e.g., APs within range of STA 200) and/or nearby STAs. More specifically, thetransceiver 211 may be used to perform active and/or passive scanning operations to request and/or receive country code information from nearby APs. For purposes of discussion herein,MAC device 220 is shown inFIG. 2 as being coupled betweenPHY device 210 andprocessor 230. For actual embodiments,PHY device 210,MAC device 220,processor 230, and/ormemory 240 may be connected together using one or more buses (not shown for simplicity). - The
contention engines 221 may contend for access to a shared wireless communications medium, and may also store packets for transmission over the shared medium. The STA 200 may include one ormore contention engines 221 for each of a plurality of different ACs (not shown inFIG. 2 for simplicity). For other embodiments, thecontention engines 221 may be separate fromMAC device 220. Still further, for some embodiments, thecontention engines 221 may be implemented as one or more software modules (e.g., stored inmemory 240 or stored in memory provided within MAC device 220) containing instructions that, when executed byprocessor 230, perform the functions ofcontention engines 221. -
Memory 240 may include an AP profile data store 241 that stores profile information for a plurality of APs. The profile information for a particular AP may include information including, for example, the AP's service set ID (SSID), channel information, country code information, received signal strength indicator (RSSI) values, supported data rates, connection history withSTA 200, a trustworthiness value of the AP (e.g., indicating a level of confidence about the AP's location, broadcast country code information, etc.), and any other suitable information pertaining to or describing the operation of the AP. -
Memory 240 may also include a country code history table 242 and a country code popularity table 243. The country code history table 242 may store country codes, authorized channel lists, and/or maximum transmit power levels previously received from each of a number of APs (e.g., during a previous time period, which may be dynamically configurable). The country code popularity table 243 may store a popularity value for each of a number of received country codes. The popularity values may be used to determine which country theSTA 200 is currently operating in, and to therefore select the correct list of authorized channels and transmit power levels. -
Memory 240 may also include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, and so on) that can store the following software modules: -
- a frame
exchange software module 244 to facilitate the creation and exchange of frames (e.g., association requests, probe requests, data frames, acknowledgement (ACK) frames, management frames, action frames, control frames, and so on) between theSTA 200 and other STAs and/or a number of APs (e.g., as described for the operations ofFIG. 5 ); - a country code
popularity software module 246 to determine a popularity of the country codes received from a number of APs, for example, by polling received country code information to determine occurrence values during a selected period of time (e.g., as described for the operations ofFIG. 5 ); - a country code qualification software module 248 to qualify the received country code information for polling by the country code popularity software module 246 (e.g., as described for the operations of
FIG. 5 ); and - a transmission
selection software module 250 to select Wi-Fi channels and transmit power levels suitable for the country in which theSTA 200 is determined to be located (e.g., as described for the operations ofFIG. 5 ).
Each software module includes program instructions that, when executed byprocessor 230, causeSTA 200 to perform the corresponding functions. The non-transitory computer-readable medium ofmemory 240 thus includes instructions for performing all or a portion of the operations described below with respect toFIG. 5 .
- a frame
-
Processor 230, which is shown in the example ofFIG. 2 as coupled toPHY device 210 andtransceiver 211, toMAC device 220 andcontention engines 221, and tomemory 240, may be any suitable one or more processors capable of executing scripts or instructions of one or more software programs stored in STA 200 (e.g., within memory 240). For example,processor 230 may execute the frameexchange software module 244 to facilitate the creation and exchange of frames (e.g., association requests, probe requests, data frames, acknowledgement (ACK) frames, management frames, action frames, control frames, and so on) between theSTA 200 and other STAs and/or a number of APs.Processor 230 may also execute the country codepopularity software module 246 to determine a popularity value for each of the country codes received from a number of APs, for example, by polling the received country codes to determine how many times the same country code is received by theSTA 200 during a selected time period.Processor 230 may also execute the country code qualification software module 248 to qualify the received country code information for polling by the country codepopularity software module 246.Processor 230 may also execute the transmissionselection software module 250 to select Wi-Fi channels and transmit power levels suitable for the country in which theSTA 200 is determined to be located. -
FIG. 3 shows an example of an AP 300 that is one embodiment ofAPs 110A-110B ofFIG. 1 . AP 300 includes aPHY device 310 including at least atransceiver 311, aMAC device 320 including at least a number ofcontention engines 321, aprocessor 330, amemory 340, and anetwork interface 350. Thetransceiver 311 may be used to communicate wirelessly with one or more STAs, with one or more other APs, and/or with other suitable devices. Thenetwork interface 350 may be used to communicate with a WLAN server (not shown for simplicity) associated withWLAN 120 ofFIG. 1 either directly or via one or more intervening networks and to transmit signals.Processor 330, which is coupled toPHY device 310 andtransceiver 311, toMAC device 320 andcontention engines 321, tomemory 340, and tonetwork interface 350, may be any suitable processor capable of executing scripts or instructions of one or more software programs stored in AP 300 (e.g., within memory 340). For purposes of discussion herein,MAC device 320 is shown inFIG. 3 as being coupled betweenPHY device 310 andprocessor 330. For actual embodiments,PHY device 310,MAC device 320,processor 330,memory 340, and/ornetwork interface 350 may be connected together using one or more buses (not shown for simplicity). - The
contention engines 321 may contend for access to the shared wireless medium, and may also store packets for transmission over the shared wireless medium. For some embodiments, AP 300 may include one ormore contention engines 321 for each of the plurality of different access categories. For other embodiments, thecontention engines 321 may be separate fromMAC device 320. For still other embodiments, thecontention engines 321 may be implemented as one or more software modules (e.g., stored inmemory 340 or within memory provided within MAC device 320) containing instructions that, when executed byprocessor 330, perform the functions ofcontention engines 321 -
Memory 340 may include a number ofpacket queues 342. Thepacket queues 342 may store packets to be transmitted from AP 300 to one or more STAs. For some embodiments, thememory 340 may include one ormore packet queues 342 for each of a plurality of different priority levels or access categories. In addition, for at least some embodiments,memory 340 may include packet queues for a plurality of different destinations (e.g., STAs). -
Memory 340 may also include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements, such as EPROM, EEPROM, Flash memory, a hard drive, and so on) that can store the following software modules: -
- a frame
exchange software module 344 to facilitate the creation and exchange of frames (e.g., association responses, probe responses, beacon frames, data frames, acknowledgement (ACK) frames, management frames, action frames, control frames, and so on) between the AP 300 and nearby STAs; and - a country code embedding
software module 346 to embed country code information within beacon frames, probe responses, action frames, and/or any other suitable frames. The country code information may include a country code, a list of authorized channels for the corresponding country, and/or maximum allowable transmit power levels for the authorized channels.
- a frame
- Each software module includes instructions that, when executed by
processor 330, cause AP 300 to perform the corresponding functions. The non-transitory computer-readable medium ofmemory 340 thus includes instructions for performing all or a portion of the AP-side operations of the methods ofFIG. 5 . -
Processor 330, which is shown in the example ofFIG. 3 as coupled totransceiver 311 ofPHY device 310 viaMAC device 320, tomemory 340, and tonetwork interface 350, may be any suitable processor capable of executing scripts or instructions of one or more software programs stored in AP 300 (e.g., within memory 340). For example,processor 330 may execute the frameexchange software module 344 to facilitate the creation and exchange of frames (e.g., association responses, probe responses, beacon frames, data frames, acknowledgement (ACK) frames, management frames, action frames, control frames, and so on) between the AP 300 and nearby STAs.Processor 330 may also execute the country code embeddingsoftware module 346 to embed country code information within beacon frames, probe responses, action frames, and/or any other suitable frames. -
FIG. 4 is a diagram 400 illustrating theSTA 200 ofFIG. 2 in the vicinity of six APs 110X1-110X2, 110Y1-110Y3, and 110R (each of which may be an embodiment of AP 300 ofFIG. 3 ). TheSTA 200 is depicted inFIG. 4 as being currently located in country X. APs 110X1-110X2 andAP 110R are located in country X, and APs 110Y1-110Y3 are located in country Y. For purposes of discussion herein,AP 110R is considered to be a “rogue” AP. Thus,AP 110R may be including incorrect country code information in its beacon frames, probe responses, and/or action frames. As used herein, incorrect country code information may mean thatAP 110R is broadcasting an incorrect country code (e.g., a country code that does not correspond to country X, is broadcasting an incorrect list of authorized channels for country X, and/or is broadcasting incorrect transmit power levels for channels authorized by country X). - The
STA 200 receives frames F_X1-F_X2 from respective APs 110X1-110X2, receives frames F_Y1-F_Y3 from respective APs 110Y1-110Y3, and receives frames F_R fromAP 110R. The frames may be beacon frames broadcast by the APs (e.g., at target beacon transmission times (TBTTs)) and received by theSTA 200 during passive scanning operations, or may be probe responses transmitted in response to probe requests broadcast by theSTA 200 during active scanning operations. For other embodiments, the frames may be action frames or other suitable frames transmitted from the APs to theSTA 200. - The
STA 200 extracts the country code information from the received frames, and may first qualify of each the received country codes for consideration in a subsequent polling or voting operation to determine a popularity of each of the received country codes. The qualification operation may involve two steps. Although these two steps are described below as sequential steps performed in a given manner, the two steps may be performed concurrently or in a different order. - The first qualification step may qualify (or disqualify) the received country code information (1) based on a comparison between the received country code and one or more country codes previously received from the same AP (e.g., as stored in country code history table 242) and/or (2) based on a comparison between the received country code and a list of valid channels advertised by the AP. More specifically, if there is a match for conditions (1) and (2), then the
STA 200 may qualify the received country code information for consideration in the subsequent polling operation. Conversely, if there is a mismatch for either of conditions (1) and (2), then theSTA 200 may disqualify the received country code information for consideration in the subsequent popularity determination (e.g., polling operation). - For one example, suppose that although
AP 110R is located in country X, the country code broadcast byAP 110R indicates country Z. TheSTA 200 may compare the country code broadcast fromAP 110R with country codes previously received fromAP 110R and/or with a known country code associated withAP 110R (e.g., using country code qualification software module 248 and country code history table 242 ofFIG. 2 ) to determine if there is a mismatch. For this example, there is a mismatch between the country code just received fromAP 110R and either (1) country codes previously received fromAP 110R or (2) a known country code forAP 110R; in response thereto, theSTA 200 may disqualify the country code information received fromAP 110R. - For another example, suppose that
AP 110R includes the correct country code (e.g., indicating country X), but advertises (e.g., in the frame received by the STA 200) an incorrect list of authorized channels and/or transmit power levels for country X. For this example, theSTA 200 may compare the list of authorized channels and/or transmit power levels advertised byAP 110R with stored information indicating the correct list of authorized channels and/or transmit power levels for country X (e.g., using country code qualification software module 248). The stored information may be previously stored in theSTA 200, or may be provided toSTA 200 via a cellular or Wi-Fi connection (or any other suitable connection). If theSTA 200 determines that the list of authorized channels or transmit power levels is inconsistent with the stored information, then theSTA 200 may disqualify the country code information received fromAP 110R. - The second qualification step may qualify (or disqualify) the received country code information based on RSSI values of the received frames. More specifically, if the RSSI value of a received frame is greater than (or equal to) a threshold value (e.g., indicating that the corresponding AP may be relatively close to the STA 200), then the
STA 200 may qualify the received country code information for consideration in the subsequent popularity determination (e.g., polling operation) (e.g., if not disqualified during the first qualification step). Conversely, if the RSSI value of the received frame is less than the threshold value (e.g., indicating that the corresponding AP may be relatively far from the STA 200), then theSTA 200 may disqualify the received country code information for consideration in the subsequent popularity determination (e.g., polling operation). - For example, referring again to
FIG. 4 , a first group of APs 110X1-110X2 may broadcast country codes for country X, while a second group of APs 110Y1-110Y3 may broadcast country codes for country Y. For some embodiments, theSTA 200 may qualify country code information provided by APs having an RSSI value that is greater than a threshold level, and may disqualify country code information provided by APs having an RSSI value that is not greater than the threshold level. For the example ofFIG. 4 , theSTA 200 is depicted as having an RSSI threshold level corresponding togeographical RSSI range 410. More specifically, theRSSI range 410 ofFIG. 4 is shown to include APs 110X1, 110X2, and 110Y1. Thus, because the RSSI values for APs 110X1, 110X2, and 110Y1 are greater than the RSSI threshold level (e.g., as indicated by their inclusion in geographical RSSI range 410), country codes provided by APs 110X1, 110X2, and 110Y1 may be qualified for the popularity determination. Conversely, theRSSI range 410 ofFIG. 4 is shown to not include APs 110Y2, 110Y3, and 110R. Thus, because the RSSI values for APs 110Y2, 110Y3, and 110R are not greater than the RSSI threshold level (e.g., as indicated by their exclusion from geographical RSSI range 410), country codes provided by APs 110Y2, 110Y3, and 110R may be disqualified from the subsequent popularity determination (e.g., polling operation). - The
STA 200 may then determine which of the country codes is the most popular based on the qualified country codes (e.g., which of the qualified country codes is received the most number of times during a selected time period). For the example ofFIG. 4 , theSTA 200 may count the number of times that country codes are received from the “qualified” APs 110X1, 110X2, and 110Y1 during the selected time period, and then determine that the most popular country code is likely to be the correct country code (e.g., the country code corresponding to the country in which the STA is located). For purposes of discussion herein, the number of received country codes indicating country X is greater than the number of country codes indicating country Y, and therefore the country code indicating country X is determined to be the most popular. In other words, for a respective country code, theSTA 200 may increment a count value for the respective country code each time a frame containing the respective country code is received and qualifies for the popularity determination, and theSTA 200 may ignore the respective country code when the respective country code does not qualify for the popularity determination. - For some embodiments, the
STA 200 may use a number of counters (not shown for simplicity) each for maintaining a count of the number of corresponding country codes received during the selected time period, and may use compare logic to determine which of the country codes was received the most times during the selected time period. The selected time period may be any suitable time period. For at least one embodiment, selected time period may be configurable or otherwise selectable (e.g., by a user ofSTA 200, by a manufacturer ofSTA 200, or by an operator of a wireless service used by STA 200). - For this example, the
STA 200 determines that it is located in country X, and then operates using a list of channels and transmit power levels authorized by country X. Thereafter, theSTA 200 may maintain the channel list and transmit power levels of country X, and may then periodically perform the qualification and popularity determination operations to ensure that theSTA 200 remains in compliance with channels and transmit power levels authorized by the country within which the STA is located. In this manner, if theSTA 200 later crosses the border into country Y, then theSTA 200 may update its channel list and transmit power levels to be consistent with regulations imposed by country Y (e.g., in response to determining that the number of qualified country codes indicating country Y is greater than the number of qualified country codes indicating country X). The period of time between periodically performing the qualification and popularity determination operations may be predetermined or dynamically configurable; for some embodiments, the period of time may range from as little as a few seconds to as much as several minutes (or more). Further, if theSTA 200 does not receive any additional country code information for a given time period, then theSTA 200 may maintain the current country code settings until subsequent country code information is received (e.g., from subsequent beacon frames) and is deemed to warrant another qualification and popularity determination operation. - If there is a tie in the popularity determination (e.g., if two or more received country codes have the same determined popularity), then the
STA 200 may select the country code broadcast from the AP(s) having the highest average RSSI values (and that was not disqualified from the popularity polling operations). For example, if the number of frames including a first country code indicating country X is the same as the number of frames including a second country code indicating country Y, then theSTA 200 may determine whether the group of APs 110X1-1110X2 or the group of APs 110Y1-110Y3 has the highest average RSSI value, and then select the most popular country code accordingly. -
FIG. 5 shows anexample operation 500 of a method forstation 200 to determine suitable transmission characteristics in accordance with the example embodiments. First, theSTA 200 receives a plurality of frames from a number of access points (APs), each frame including country code information containing at least a country code indicating in which country the AP is located (502). The country code information may also include a list authorized channels and/or allowable transmit power levels for the corresponding country. TheSTA 200 may extract the country code information from the received frames. Next, theSTA 200 determines a popularity of each of a number of different country codes by polling the received country codes (504). As described above, the polling operation may determine a number of times that the same country code is received (e.g., from one or more APs) during a selected time period. For some embodiments, the polling operation may be implemented using a voting mechanism. - For some embodiments, the
STA 200 may qualify (or disqualify) the country codes for the popularity determination (504A). TheSTA 200 may disqualify a country code when the country code information most recently received from an AP does not match country code information previously received from the same AP (504B). Conversely, theSTA 200 may qualify the country code when the most recently received country code information matches previously received country code information from the same AP. For one example, for each of the received country codes, theSTA 200 may compare the country code received from a corresponding AP with one or more country codes previously received from the same AP, and qualify the received country code when the comparison results in a match; otherwise, when there is a mismatch, theSTA 200 may disqualify the received country code (e.g., because the recent country code is inconsistent with its historical and/or known country code indications). For another example, for each of the received country codes, theSTA 200 may compare a list of authorized channels received from a corresponding AP with known authorized channels for the corresponding country, and qualify the received country code when the comparison results in a match; otherwise, if there is a mismatch, theSTA 200 may disqualify the received country code (e.g., because the advertised list of authorized channels is inconsistent with its historical and/or known list of authorized channels). - The
STA 200 may disqualify a country code from the polling operation when the RSSI value of an AP is not greater than a threshold RSSI level (e.g., which may indicate that the AP is not relatively close to theSTA 200 and thus may not be in the same country as the STA) (504C). Conversely, when the RSSI is greater than the threshold value (e.g., which may indicate that the AP is relatively close to theSTA 200 and thus may be in the same country as the STA), then theSTA 200 may qualify the country code. For example, for each of the received country codes, theSTA 200 may determine a received signal strength indicator (RSSI) value for a corresponding AP, and qualify the received country code when the RSSI value is greater than a threshold level; otherwise, theSTA 200 may disqualify the received country code when the RSSI value is not greater than the threshold level. - If there is a tie in the popularity determination (e.g., if a plurality of different country codes are received the same number of times during the selected time period), then the
STA 200 may select the country code corresponding to the group of APs having the highest average RSSI values (504D). For example, when a first country code and a second country code have the same determined popularity, theSTA 200 may determine an average RSSI value for one or more first APs associated with the first country code and determine an average RSSI value for one or more second APs associated with the second country code. Then, theSTA 200 may select the first country code as the most popular country code when the average RSSI value of the one or more first APs is higher than the average RSSI value of the one or more second APs, and may select the second country code as the most popular country code when the average RSSI value of the one or more second APs is higher than the average RSSI value of the one or more first APs. - Next, the
STA 200 determines in which country theSTA 200 is currently located based, at least in part, on the determined popularities of the received (and qualified) country codes (506). Once the correct country code is determined, theSTA 200 may then determine the list of authorized channels and acceptable transmit power levels for the corresponding country. Then, theSTA 200 selects a wireless channel and a transmit power level based on the determined country (508). - Thereafter, the
STA 200 may maintain the list of authorized channels and acceptable transmit power levels for the corresponding country, and may periodically perform the qualification and popularity determination operations to ensure that theSTA 200 remains in compliance with channels and transmit power levels authorized by the country within which theSTA 200 is located (510). In this manner, if theSTA 200 later crosses the border into another country, then theSTA 200 may update its channel list and transmit power levels to be consistent with regulations imposed by the other country. - At least one embodiment may include a non-transitory computer-readable medium containing program instructions that, when executed by a processor of a wireless station (STA) to determine suitable characteristics for wireless transmissions from the STA, cause the STA to perform operations comprising: determine a popularity of each country code by polling the received country codes; determine in which country the STA is currently located based, at least in part, on the determined popularities of the country codes; and select a wireless channel and a transmit power level based on the determined country. Execution of the instructions may cause the STA to qualify each of the received country codes for the popularity determination. Execution of the instructions may also cause the STA to, for a respective country code, increment a count value for the respective country code each time a frame containing the respective country code is received and qualifies for the popularity determination; and ignore the respective country code when the respective country code does not qualify for the popularity determination.
- Execution of the instructions to qualify each of the received country codes may cause the STA to determine a received signal strength indicator (RSSI) value for a corresponding AP; qualify the received country code when the RSSI value is greater than a threshold level; and disqualify the received country code when the RSSI value is not greater than the threshold level.
- Execution of the instructions to qualify each of the received country codes may cause the STA to compare the country code received from a corresponding AP with one or more country codes previously received from the same AP; qualify the received country code when the comparing results in a match; and disqualify the received country code when the comparing results in a mismatch.
- Execution of the instructions to qualify each of the received country codes may cause the STA to compare a list of authorized channels received from a corresponding AP with known authorized channels for the corresponding country; qualify the received country code when the comparing results in a match; and disqualify the received country code when the comparing results in a mismatch.
- Execution of the instructions may cause the STA to determine when a first country code and a second country code have the same determined popularity; determine an average received signal strength indicator (RSSI) value for a first group of APs associated with the first country code; determine an average RSSI value for a second group of APs associated with the second country code; select the first country code as the most popular country code when the average RSSI value of the first group of APs is higher than the average RSSI value of the second group of APs; and select the second country code as the most popular country code when the average RSSI value of the second group of APs is higher than the average RSSI value of the first group of APs.
- In the foregoing specification, the example embodiments have been described with reference to specific exemplary embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader scope of the disclosure as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.
Claims (23)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN4910/CHE/2014 | 2014-09-30 | ||
IN4910CH2014 | 2014-09-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
US20160095103A1 true US20160095103A1 (en) | 2016-03-31 |
US9307541B1 US9307541B1 (en) | 2016-04-05 |
Family
ID=55585996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/616,154 Expired - Fee Related US9307541B1 (en) | 2014-09-30 | 2015-02-06 | Country code selection logic for Wi-Fi stations |
Country Status (1)
Country | Link |
---|---|
US (1) | US9307541B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3526997A4 (en) * | 2017-02-14 | 2020-04-15 | Hewlett-Packard Development Company, L.P. | Radio channel access based on country codes |
CN111405650A (en) * | 2020-03-06 | 2020-07-10 | 杭州涂鸦信息技术有限公司 | Method and system for setting zigbee equipment power |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7650428B1 (en) * | 2003-04-04 | 2010-01-19 | IntelliNet Technologies | Mobile cellular network selection from wireless LAN |
US20040214539A1 (en) * | 2003-04-24 | 2004-10-28 | Krishnan Rajamani | Wireless communication device supporting multiple regulatory domains |
JP2005151435A (en) * | 2003-11-19 | 2005-06-09 | Alps Electric Co Ltd | Access method to access point of wireless lan, and station |
ES2424678T3 (en) * | 2004-06-24 | 2013-10-07 | Vringo Infrastructure Inc. | System and procedure for using licensed radio technology to determine the operating parameters of an unlicensed radio technology in a mobile terminal |
US7677437B2 (en) * | 2005-03-28 | 2010-03-16 | Mediatek Inc. | Methods for determining operational settings and related devices |
US7809844B2 (en) | 2005-08-15 | 2010-10-05 | Microsoft Corporation | International regulatory compliance for ad hoc networking |
US8228865B2 (en) * | 2006-04-07 | 2012-07-24 | Qualcomm Incorporated | Method and apparatus for operating in a wireless local area network based on information from a wireless wide area network |
US8467784B2 (en) | 2006-07-14 | 2013-06-18 | Qualcomm Incorporated | WLAN system scanning and selection |
US20090156206A1 (en) * | 2007-12-18 | 2009-06-18 | Telefonaktiebolaget L M Ericsson (Publ) | Frequency Band Selection Methods and Apparatus |
US8565107B2 (en) | 2010-09-24 | 2013-10-22 | Hand Held Products, Inc. | Terminal configurable for use within an unknown regulatory domain |
TW201427361A (en) | 2012-08-15 | 2014-07-01 | Interdigital Patent Holdings | Enhancements to enable fast security setup |
-
2015
- 2015-02-06 US US14/616,154 patent/US9307541B1/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3526997A4 (en) * | 2017-02-14 | 2020-04-15 | Hewlett-Packard Development Company, L.P. | Radio channel access based on country codes |
CN111405650A (en) * | 2020-03-06 | 2020-07-10 | 杭州涂鸦信息技术有限公司 | Method and system for setting zigbee equipment power |
Also Published As
Publication number | Publication date |
---|---|
US9307541B1 (en) | 2016-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9961628B2 (en) | Scan channel reduction to improve Wi-Fi system power | |
US20210270142A1 (en) | Method, terminal, and base station for use in data transmission | |
US20150245268A1 (en) | Traffic Steering Between WLAN and Cellular Networks | |
US20150201418A1 (en) | Resource reconfiguration method, base station, and user equipment | |
US11490263B2 (en) | Assisted discovery of a local private 3GPP network via a local private non-3GPP wireless network | |
US20220132560A1 (en) | Random access method and device, and storage medium | |
US8249578B2 (en) | Radio communication control device, radio communication control system, and radio communication control method | |
US10779225B2 (en) | Methods, network nodes and wireless device for handling access information | |
CN104869586B (en) | A kind of processing method and access point apparatus of dynamic channel detection | |
US20160112935A1 (en) | Reducing a connection time for saved-profile access points | |
US20170223563A1 (en) | Dynamic cca scheme with interface control for 802.11 hew standard and system | |
CN107005923A (en) | Method and apparatus for verifying system information | |
US9001796B2 (en) | Temporary medium handover | |
JP2022502929A (en) | Data transmission control methods, network equipment and storage media | |
US9609579B2 (en) | Systems and methods for sharing scanning information | |
US20160143072A1 (en) | Support for peer-to-peer discovery in 5 ghz band | |
US20160337974A1 (en) | Power save trigger | |
US20120155308A1 (en) | Method for controlling access point and apparatus for the same in communication system | |
CN106550377B (en) | Communication method, access point and station | |
US9307541B1 (en) | Country code selection logic for Wi-Fi stations | |
KR20150136900A (en) | Apparatus and method for setting roaming parameter for roaming between wireless access points in wireless lan | |
WO2009115991A1 (en) | System and method of providing network status information of a basic service set for selective access point association | |
US20160337899A1 (en) | Power save trigger | |
US9351122B1 (en) | Location grouping | |
US20140098744A1 (en) | Method for controlling transmission of protocol data units |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: QUALCOMM INCORPORATED, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BHATTACHARYYA, TUSHNIM;AGRAWAL, ASHISH KUMAR;SIGNING DATES FROM 20150223 TO 20150225;REEL/FRAME:035048/0811 |
|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FEPP | Fee payment procedure |
Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
LAPS | Lapse for failure to pay maintenance fees |
Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCH | Information on status: patent discontinuation |
Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362 |
|
FP | Lapsed due to failure to pay maintenance fee |
Effective date: 20200405 |