0

Is there a chance to perform a channel restricted AP scan with Native Wifi API in Win10?

There seem to be no suitable parameters for the WlanScan call to restrict the channel selection to a whitelist or blacklist. Is there another way to achieve it with the Native Wifi API?

On the WIN kernel side (WDK Wifi driver) there is a OID_DOT11_SCAN_REQUEST for explicit scan operations with _DOT11_SCAN_REQUEST_V2 structure optional containing _DOT11_PHY_TYPE_INFO structure in ucBuffer where scan channel set can be specified. (see MS doc links)

Summary: If the used WDK Wifi driver supports scanning due to the scan channel set in _DOT11_PHY_TYPE_INFO structure, can I specify this channel set in Native Wifi API from "userland"?

Some important constraints: The WDK Wifi Driver I'am using is for industrial grade 802.11n chipset QCA AR9592-AR1B. The original QCA Driver was created due to Native 802.11 Wireless LAN interface. Therefore the 802.11r & 802.11k standards helping with optimized WLAN AP scanning & handover are not supported. The use of another WLAN module is not an option to me due to RF certification costs, longterm availability etc. I'am interested in platform Win10 (IOT) Enterprise 1709 or later.

  • You can do it with nework tmonitor API. – Mike Petrichenko Aug 10 '18 at 13:24
  • Thank you, Mike. I guess you refer to your Wifi Framework (https://www.btframework.com/wififramework.htm), i.e. I should download a trial Version and check for the Network tmonitor API. Right? – Pablito1967 Aug 13 '18 at 06:39
  • No, I reffered to [Microsoft Network Monitor](https://www.microsoft.com/en-us/download/details.aspx?id=4865) API. WiFi Framework also supports that but you need just a part of it so better to use its API directly. There is nothing hard. – Mike Petrichenko Aug 13 '18 at 07:27
  • What is the procedure to do the scan? My understanding, when using your wclWiFiSniffer class: 1. create a wclWiFiSniffer, 2. open it for the Wifi NIC 3. set current channel 4. start Native Wifi API WlanScan 5. await scan results. 6. repeat steps 3-5 for further channels. Am I right or did you mean something different? – Pablito1967 Aug 15 '18 at 13:42
  • Probably that will work but it depends on WiFi Adapter used. Better to start monitoring (capturing) packets using Sniffer (or NetMon API, does not matter) on selected channel. Then you can see in packets which BSS are available. That's th eonly good way to do what you need. However, as I wrote above your method should also work. At least it works on my WiFi adapter. – Mike Petrichenko Aug 15 '18 at 16:29

0 Answers0