系统平台fedora21
内核 3.10.0
WIFI硬件接口:PCIE
1 通过查找网络资料,模块驱动的调用架构如下:
https://wireless.wiki.kernel.org/en/users/drivers/ath10k/architecture
2. 通过上图的架构分析,在内核配置中需要,应该将ath10k、nl80211、cfg80211的相关配置项打上
【 Networking support 】
----> Wireless
【 Device Drivers 】
----> Nework device support
----> Wireless LAN
----> Atheros Wireless Cards
3. 重新编译内核,启动,通过lspci -k查看对应设备驱动(ath10k-pci)是否已经加载成功,不成功的话通过dmesg | grep ath10k查看打印信息,是否固件加载失败,固件目录在/lib/firmare/ath10k/hw1.0/,目录文件如下:
board.bin board-2.bin firmare-5.bin notice-ath10k-firmare-5.txt
4. 在设备驱动成功加载后,目前体现的还是个pci总线设备,需要通过启动wpa_supplicant服务去将pci设备配置为网卡设备,体现网卡的功能。
1)编辑 /etc/sysconfig/wpa_supplicant文件,将 ctrl_interface 和 drivers名称填上,这里分别为 wlp16s0、nl80211
2)通过 systemctl 命令启动即可,systemctl restart wpa_supplicant
3)或者直接运行 wpa_supplicant -D nl80211 -i wlp16s0 -c /etc/wpa_supplicant.conf -B
5. 正常的话此时通过ifconfig 可以看到对应的网卡设备wlp16s0,还需要用wpa_cli工具操作一下才能连接热点在终端执行wpa_cli,wpa_cli是wpa_supplicant的客户端工具,然后会进行交互模式,输入以下命令操作wifi:
scan //扫描
scan_results //扫描结果
status //连接状态
ping //wpa_supplicant服务是否正常
add_network // 创建一个热点连接, 成功则打印这个连接的id
set_network <id> ssid "xxxxx" // 设置要连接热点的名称
set_network <id> psk "xxxxx" // 设置要连接热点的密码
scan_config // 保存连接
enable_network <id> //使能为id值的连接
select_network <id> // 连接指定id值的热点
6. 相关链接
固件下载:https://github.com/kvalo/ath10k-firmware
原创文章,转载请注明出处。