NL80211_CMD_NEW_INTERFACE is not being called
Hi,
I am adding support for p2p in my wireless driver which is based on mac80211 (softmac). I added required supported interface modes and callbacks to my wiphy and iee80211_hw structures. But when I run the supplicant for p2p mode, it is failing to create p2p device interface. I kept debug prints in wpa_supplicant and found that NL80211_CMD_NEW_INTERFACE is getting called (from src/drivers/driver_nl80211.c). Inside that function nl_send_autocomplete is done successfully but receive message failed. So, I moved my debugging to kernel nl80211 (net/wireless). There I found that, that particular command is not reaching in kernel nl80211. Can some please help me, whether I missed any thing for that command to reach kernel nl80211. I am running supplicant as below. ./wpa_supplicant -i wlp0s20u2 -Dnl80211 -c p2p.conf -dddt -f p2p.log & And my p2p.conf is as below update_config=1 ctrl_interface=/tmp/wpa device_name=prameela device_type=1-0050F204-1 My iw list shows Wiphy phy0 max # scan SSIDs: 4 max scan IEs length: 2257 bytes max # sched scan SSIDs: 0 max # match sets: 0 Fragmentation threshold: 2352 RTS threshold: 2353 Retry short limit: 7 Retry long limit: 4 Coverage class: 0 (up to 0m) Supported Ciphers: * WEP40 (00-0f-ac:1) * WEP104 (00-0f-ac:5) * TKIP (00-0f-ac:2) * CCMP (00-0f-ac:4) * 00-0f-ac:10 * GCMP (00-0f-ac:8) * 00-0f-ac:9 * CMAC (00-0f-ac:6) * 00-0f-ac:13 * 00-0f-ac:11 * 00-0f-ac:12 Available Antennas: TX 0x1 RX 0x1 Configured Antennas: TX 0 RX 0 Supported interface modes: * managed * AP * AP/VLAN * monitor * P2P-client * P2P-GO * P2P-device Band 1: Capabilities: 0x62 HT20/HT40 Static SM Power Save RX HT20 SGI RX HT40 SGI No RX STBC Max AMSDU length: 3839 bytes No DSSS/CCK HT40 Maximum RX AMPDU length 16383 bytes (exponent: 0x001) Minimum RX AMPDU time spacing: No restriction (0x00) HT TX/RX MCS rate indexes supported: 0-7 Bitrates (non-HT): * 1.0 Mbps * 2.0 Mbps * 5.5 Mbps * 11.0 Mbps * 6.0 Mbps * 9.0 Mbps * 12.0 Mbps * 18.0 Mbps * 24.0 Mbps * 36.0 Mbps * 48.0 Mbps * 54.0 Mbps Frequencies: * 2412 MHz [1] (20.0 dBm) * 2417 MHz [2] (20.0 dBm) * 2422 MHz [3] (20.0 dBm) * 2427 MHz [4] (20.0 dBm) * 2432 MHz [5] (20.0 dBm) * 2437 MHz [6] (20.0 dBm) * 2442 MHz [7] (20.0 dBm) * 2447 MHz [8] (20.0 dBm) * 2452 MHz [9] (20.0 dBm) * 2457 MHz [10] (20.0 dBm) * 2462 MHz [11] (20.0 dBm) * 2467 MHz [12] (20.0 dBm) * 2472 MHz [13] (20.0 dBm) * 2484 MHz [14] (disabled) Band 2: Capabilities: 0x62 HT20/HT40 Static SM Power Save RX HT20 SGI RX HT40 SGI No RX STBC Max AMSDU length: 3839 bytes No DSSS/CCK HT40 Maximum RX AMPDU length 16383 bytes (exponent: 0x001) Minimum RX AMPDU time spacing: No restriction (0x00) HT TX/RX MCS rate indexes supported: 0-7 Bitrates (non-HT): * 6.0 Mbps * 9.0 Mbps * 12.0 Mbps * 18.0 Mbps * 24.0 Mbps * 36.0 Mbps * 48.0 Mbps * 54.0 Mbps Frequencies: * 5180 MHz [36] (20.0 dBm) * 5200 MHz [40] (20.0 dBm) * 5220 MHz [44] (20.0 dBm) * 5240 MHz [48] (20.0 dBm) * 5260 MHz [52] (20.0 dBm) (no IR, radar detection) DFS state: usable (for 4537 sec) DFS CAC time: 60000 ms * 5280 MHz [56] (20.0 dBm) (no IR, radar detection) DFS state: usable (for 4537 sec) DFS CAC time: 60000 ms * 5300 MHz [60] (20.0 dBm) (no IR, radar detection) DFS state: usable (for 4537 sec) DFS CAC time: 60000 ms * 5320 MHz [64] (20.0 dBm) (no IR, radar detection) DFS state: usable (for 4537 sec) DFS CAC time: 60000 ms * 5500 MHz [100] (disabled) * 5520 MHz [104] (disabled) * 5540 MHz [108] (disabled) * 5560 MHz [112] (disabled) * 5580 MHz [116] (disabled) * 5600 MHz [120] (disabled) * 5620 MHz [124] (disabled) * 5640 MHz [128] (disabled) * 5660 MHz [132] (disabled) * 5680 MHz [136] (disabled) * 5700 MHz [140] (disabled) * 5745 MHz [149] (20.0 dBm) * 5765 MHz [153] (20.0 dBm) * 5785 MHz [157] (20.0 dBm) * 5805 MHz [161] (20.0 dBm) * 5825 MHz [165] (20.0 dBm) Supported commands: * new_interface * set_interface * new_key * start_ap * new_station * new_mpath * set_mesh_config * set_bss * authenticate * associate * deauthenticate * disassociate * join_ibss * join_mesh * remain_on_channel * set_tx_bitrate_mask * frame * frame_wait_cancel * set_channel * set_wds_peer * probe_client * set_noack_map * register_beacons * start_p2p_device * set_mcast_rate * channel_switch * set_qos_map * connect * disconnect Supported TX frame types: * IBSS: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * managed: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * AP: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * AP/VLAN: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * mesh point: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-client: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-GO: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 * P2P-device: 0x00 0x10 0x20 0x30 0x40 0x50 0x60 0x70 0x80 0x90 0xa0 0xb0 0xc0 0xd0 0xe0 0xf0 Supported RX frame types: * IBSS: 0x40 0xb0 0xc0 0xd0 * managed: 0x40 0xd0 * AP: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * AP/VLAN: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * mesh point: 0xb0 0xc0 0xd0 * P2P-client: 0x40 0xd0 * P2P-GO: 0x00 0x20 0x40 0xa0 0xb0 0xc0 0xd0 * P2P-device: 0x40 0xd0 software interface modes (can always be added): * AP/VLAN * monitor interface combinations are not supported HT Capability overrides: * MCS: ff ff ff ff ff ff ff ff ff ff * maximum A-MSDU length * supported channel width * short GI for 40 MHz * max A-MPDU length exponent * min MPDU start spacing Device supports TX status socket option. Device supports HT-IBSS. Device supports SAE with AUTHENTICATE command Device supports low priority scan. Device supports scan flush. Device supports AP scan. Device supports per-vif TX power setting Driver supports full state transitions for AP/GO clients Driver supports a userspace MPM Device supports configuring vdev MAC-addr on create. Regards, Prameela |
wpa_supplicant failure logs:
486372952.352592: send_and_recv:339 1486372952.352605: send_and_recv:344 1486372952.352612: send_and_recv:346 err=1 1486372952.352618: send_and_recv:349 err=1 1486372952.352624: send_and_recv:351 err=1 1486372952.352631: send_and_recv:353 err=1 1486372952.352637: send_and_recv:358 err=1 1486372952.352649: send_and_recv:368 err=-22 1486372952.352656: send_and_recv:370 1486372952.352663: send_and_recv:375 err=-22 1486372952.352668: nl80211_create_iface_once:4038 1486372952.352679: Failed to create interface p2p-dev-wlp0s20u2: -22 (Invalid argument) 1486372952.352684: nl80211_create_iface:4090 1486372952.352690: nl80211_create_iface:4118 1486372952.352696: nl80211_create_iface:4127 1486372952.352703: nl80211: Failed to create a P2P Device interface p2p-dev-wlp0s20u2 1486372952.352707: P2P: Failed to create P2P Device interface 1486372952.352711: P2P: Failed to enable P2P Device interface 1486372952.352750: random: Got 20/20 bytes from /dev/random |
Just now I tried the same code on Ubuntu and it is working fine.
Now any body has any clue? Please respond. |
All times are GMT -5. The time now is 03:26 PM. |