如何建立Android 4.4.2设备和ubuntu的P2P连接?

dave_cn 2014-01-13 12:07:45
Android设备是Google Nexus 7 二代Pad,4.4.2系统,PC端是Ubuntu 13.10系统 Kernel版本 3.11,PC端采用的是USB无线网卡,芯片信号是RTL8192CU,(这款芯号是支持P2P的)PC端wpa_supplicanit的版本是最新的2.0版本。编译的时候开启了P2P的CONFIG

现在想实现PC和Pad P2P的互联,用了RTL8192CU Driver里面自带的P2P_UI工具进行测试,也单独的用iwpriv和wpa_supplicant/wpa_cli的命令行来测试,都没有连接成功。现在的效果是PC端和PAD端都能够互相的发现彼此,PC端作为P2P-Client,PAD作为P2p-GO端,但是就是连接不上。 在PAD端点击发现的PC端设备,状态就会从“可用”变为“已邀请”,然后就没有然后了。在PC端运行wpa_cli -i wlan0,进入wpa_cli 的命令行模式,运行任何p2p_指令都是FAIL,但是运行scan和scan_results都是OK的,在wpa_cli先执行status命令一直都是wpa_state=SCANNING。在网上查了许多资料都没有找到好的解决方法。想请教各位有没有办法可以解决连接的问题?

在PC端执行命令的流程
iwpriv waln0 p2p_set enable=1
iwpriv wlan0 p2p_set ssid="DIRECT_Test"
iwpriv wlan0 p2p_set setDN="DIRECT-RTL"

iwlist wlan0 scan //可以找到PAD设备,显示MAC-addr

iwpriv wlan0 p2p_set setDN="DIRECT-RTL"
iwpriv wlan0 p2p_set prov_disc=MAC-addr_dispaly

iwpriv wlan0 p2p_set got_wpsinfo=1

iwpriv wlan0 p2p_set nego=MAC-addr //PAD 端会弹出邀请的对话框,同时显示PIN码

上述命令执行完之后执行
iwpriv wlan0 p2p_get status
返回STATUS=10 //nego success

iwpriv wlan0 p2p_get role
ROLE=02 //p2p_client

iwpriv wlan0 p2p_get req_cm
返回PAD

然后执行
wpa_supplicant -i wlan0 -c wpa_0_8.conf -B

wpa_0_8.conf 是RTL8192CU Driver里面WiFi_Direct_User_Interface目录下面的配置文件,内容如下
///////////////////////////////////////////////////////
ctrl_interface=/var/run/wpa_supplicant
update_config=1
device_name=RTL8192CU
manufacturer=Realtek
model_name=RTW_STA
model_number=WLAN_CU
serial_number=12345
device_type=1-0050F204-1
os_version=01020300
config_methods=virtual_display virtual_push_button keypad

network={
ssid="DIRECT-"
psk=075ce3e74080c3644c6bcea4bacd957c38a55f9c16ae725d2fbed8562ce1234f
}
/////////////////////////////////////////////////////////////////////////////

然后执行wpa_cli 的指令,怎么都连接不上。状态一直是SCANNING。
...全文
2257 点赞 收藏 1
写回复
1 条回复
Cox__W 2016年03月29日
启动wpa_cli之后 wps_pin any pin_code 就成功了,我的是开发板,wifi p2p连接我的华为Android手机。
回复 点赞
发动态
发帖子
无线
创建于2007-09-28

2942

社区成员

5003

社区内容

硬件/嵌入开发 无线
社区公告
暂无公告