wireless项目地址:http://www.linuxfromscratch.org/blfs/view/8.3/basicnet/wireless_tools.html

wpa_supplicant项目地址:http://www.linuxfromscratch.org/blfs/view/8.3/basicnet/wpa_supplicant.html

1.使用wget下载wireless包和补丁并校验md5

wget https://hewlettpackard.github.io/wireless-tools/wireless_tools.29.tar.gz

wget  http://www.linuxfromscratch.org/patches/blfs/8.3/wireless_tools-29-fix_iwlist_scanning-1.patch
md5sum -c md5sums

2.解压wireless包并进入包目录

tar -xvf wireless_tools..tar.gz

cd wireless_tools.

3.参照书中说明编译安装

patch -Np1 -i ../wireless_tools--fix_iwlist_scanning-.patch

make -j8

make PREFIX=/usr INSTALL_MAN=/usr/share/man install

4.返回blfs-sources目录并删除解压的包目录

cd $LFS/sources/blfs-sources

rm -rf wireless_tools

5.下载wpa包的依赖libnl包和补丁包并验证md5

wget http://mirror.fileplanet.com/lfs/pub/blfs/8.3/l/libnl-3.4.0.tar.gz

wget http://mirror.fileplanet.com/lfs/pub/blfs/8.3/l/libnl-doc-3.4.0.tar.gz

md5sum -c md5sums

6.解压并进入libnl包目录

tar -xvf libnl-3.4..tar.gz

cd libnl-3.4.

7.参照书中内容编译安装

./configure --prefix=/usr     \
--sysconfdir=/etc \
--disable-static &&
make -j8 make -j8 check make install mkdir -vp /usr/share/doc/libnl-3.4. &&
tar -xf ../libnl-doc-3.4..tar.gz --strip-components= --no-same-owner \
-C /usr/share/doc/libnl-3.4.

8.返回blfs-sources目录并删除解压的包目录

cd $LFS/sources/blfs-sources

rm -rf libnl-3.4.

9.下载pciutils并校验md5

wget https://mirrors.edge.kernel.org/pub/software/utils/pciutils/pciutils-3.6.2.tar.xz

md5sum  -c md5sums

10.解压并进入pciutils包目录

tar -xvf pciutils-3.6..tar.xz

cd pciutils-3.6.

11.参照书中说明编译安装

make PREFIX=/usr                \
SHAREDIR=/usr/share/hwdata \
SHARED=yes make PREFIX=/usr \
SHAREDIR=/usr/share/hwdata \
SHARED=yes \
install install-lib && chmod -v /usr/lib/libpci.so

12.返回blfs-sources目录并删除解压的包目录

cd $LFS/sources/blfs-sources

rm -rf pciutils-3.6.2

13.运行命令查看无线网络设备硬件的名字

lspci

14.解压在编译lfs过程中用过的linux内核包,进入linux内核包按照lfs的linux内核编译方法编译内核添加以下配置

[*] Networking support  --->                              [CONFIG_NET]
[*] Wireless ---> [CONFIG_WIRELESS]
<*/M> cfg80211 - wireless configuration API [CONFIG_CFG80211]
[*] cfg80211 wireless extensions compatibility [CONFIG_CFG80211_WEXT]
<*/M> Generic IEEE 802.11 Networking Stack (mac80211) [CONFIG_MAC80211]
Device Drivers --->
[*] Network device support ---> [CONFIG_NETDEVICES]
[*] Wireless LAN ---> [CONFIG_WLAN]
<*/M>一定要在所选择的项目上面打上m
我的机器是intel7625的无线网卡设备,wireless LAN下没有这个型号,查询其它linux发行版给无线网卡加载的是哪个模块,所以选择了iwlwifi的两个模块
Device Drivers  --->

        [*] Network device support  --->

        --- Network device support
[*] Wireless LAN ---> --- Wireless LAN
[ ] ADMtek devices
[ ] Atheros/Qualcomm devices
[ ] Atmel devices
[ ] Broadcom devices
[ ] Cisco devices
[*] Intel devices
< > Intel PRO/Wireless Network Connection
< > Intel PRO/Wireless 2200BG and 2915ABG Network Connection
< > Intel Wireless WiFi 4965AGN (iwl4965)
< > Intel PRO/Wireless 3945ABG/BG Network Connection (iwl3945)
<M> Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi)
<M> Intel Wireless WiFi DVM Firmware support
<M> Intel Wireless WiFi MVM Firmware support
[ ] Enable broadcast filtering (NEW)
[ ] Enable runtime power management mode for PCIe devices (NEW)
Debugging Options --->
[ ] Intersil devices
[ ] Marvell devices
[ ] MediaTek devices
[ ] Ralink devices
[ ] Realtek devices
[ ] Redpine Signals Inc devices
[ ] STMicroelectronics devices
[ ] Texas Instrument devices
[ ] ZyDAS devices
< > Simulated radio testing tool for mac80211
< > Wireless RNDIS USB support

15.去lfs的固件网站下载所对应的iwlwifi-7265D-22到29区间的固件到/lib/firmware/目录下

cd /lib/firmware/

wget http://anduin.linuxfromscratch.org/BLFS/linux-firmware/iwlwifi-7265D-29.ucode

16.下载wpa包和补丁并校验md5

wget https://w1.fi/releases/wpa_supplicant-2.6.tar.gz

wget http://www.linuxfromscratch.org/patches/blfs/8.3/wpa_supplicant-2.6-upstream_fixes-2.patch

md5sum  -c md5sums

17.解压并进入wpa包目录

tar -xvf wpa_supplicant-2.6.tar.gz

cd wpa_supplicant-2.6

18.参照书中内容编译安装

cat > wpa_supplicant/.config << "EOF"
CONFIG_BACKEND=file
CONFIG_CTRL_IFACE=y
CONFIG_DEBUG_FILE=y
CONFIG_DEBUG_SYSLOG=y
CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON
CONFIG_DRIVER_NL80211=y
CONFIG_DRIVER_WEXT=y
CONFIG_DRIVER_WIRED=y
CONFIG_EAP_GTC=y
CONFIG_EAP_LEAP=y
CONFIG_EAP_MD5=y
CONFIG_EAP_MSCHAPV2=y
CONFIG_EAP_OTP=y
CONFIG_EAP_PEAP=y
CONFIG_EAP_TLS=y
CONFIG_EAP_TTLS=y
CONFIG_IEEE8021X_EAPOL=y
CONFIG_IPV6=y
CONFIG_LIBNL32=y
CONFIG_PEERKEY=y
CONFIG_PKCS12=y
CONFIG_READLINE=y
CONFIG_SMARTCARD=y
CONFIG_WPS=y
CFLAGS += -I/usr/include/libnl3
EOF
patch -p1 -i ../wpa_supplicant-2.6-upstream_fixes-.patch &&
cd wpa_supplicant &&
make BINDIR=/sbin LIBDIR=/lib
install -v -m755 wpa_{cli,passphrase,supplicant} /sbin/ &&
install -v -m644 doc/docbook/wpa_supplicant.conf. /usr/share/man/man5/ &&
install -v -m644 doc/docbook/wpa_{cli,passphrase,supplicant}. /usr/share/man/man8/

19.返回blfs-sources目录并删除解压的包目录

cd $LFS/sources/blfs-sources

rm -rf wpa_supplicant-2.6

20.设置wpa

wpa_passphrase SSID SECRET_PASSWORD > /etc/sysconfig/wpa_supplicant-wifi0.conf

wifi0替换为pci查到的无线网络设备名字

21.则在/etc/wpa_supplicant/wpa_supplicant-wifi0.conf文件中加入以下参数

ctrl_interface=DIR=/run/wpa_supplicant GROUP=root
update_config=1

22.安装wpa的blfs脚本包

make install-service-wpa

23.配置dhcpcd


cat > /etc/sysconfig/ifconfig.wifi0 << "EOF"
ONBOOT="yes"
IFACE="wlan0"
SERVICE="wpa" # Additional arguments to wpa_supplicant
WPA_ARGS="" WPA_SERVICE="dhcpcd"
DHCP_START="-b -q <insert appropriate start options here>"
DHCP_STOP="-k <insert additional stop options here>"

EOF
wlan0和wifi0替换为lspci查到的无线设备的名字

24.使用wps_cli工具链接无线网络的方法

 1.进入wpa_cli工具下
wpa_cli

2.添加一个网络连接

add_network

默认id为0

3.扫描并显示结果

scan
scan_result

4.设置网络id:0的接入点与连接秘钥

set_network 0 ssid “<填入网络名字>”
set_network 0 psk "<填入网络密码>"

5.使用配置网络或连接配置网络id 0

enable_network 0 

select_network 0
完整命令 简短命令 描述
status stat 显示当前连接状态
quit q 退出
terminate term 关闭wpa_supplicant
reconfigure recon 使用提供的配置文件 (-c 参数) 重新加载wpa_supplicant
scan scan 扫描可用的接入点 (只扫描它, 不显示任何内容)
scan_result scan_r 显示上次扫描的结果
list_networks list_n 显示已配置网络及其状态的列表 (活动或不活动、启用或禁用)
select_network select_n 在已定义的网络中选择一个网络以启动连接 
enable_network enable_n 使配置的网络可供选择
remove_network remove_n 从列表中删除网络及其配置
add_network add_n 将新网络添加到列表中。它的 id 将自动创建
set_network set_n

显示了一个非常短的可用选项列表, 以便在没有参数的情况下配置网络。

get_network get_n 显示指定网络所需的参数。
save_config save_c 保存配置

参数

描述

ssid

接入点名称

psk

密码

blfs(systemv版本)学习笔记-安装、配置和使用wpa_supplicant无线网络连接工具的更多相关文章

  1. blfs(systemd版本)学习笔记-安装、配置和使用wpa_supplicant无线网络连接工具

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! wireless项目地址:http://www.linuxfromscratch.org/blfs/view/stable-sy ...

  2. linux学习笔记-安装配置使用clamav杀毒软件

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 1.安装clamav 2.更新病毒库 # freshclam 如果更新不了,或者更新特别慢,可以手动下载病毒库文件,放到/var ...

  3. centos7学习笔记-安装配置apache

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 1.安装apache #yum install httpd 2.配置开机启动 systemctl enable httpd 3. ...

  4. Storm学习笔记——安装配置

    1.安装一个zookeeper集群 2.上传storm的安装包,解压 3.修改配置文件conf/storm.yaml #所使用的zookeeper集群主机storm.zookeeper.servers ...

  5. SystemTap 学习笔记 - 安装篇

    https://segmentfault.com/a/1190000000671438 在安装前,需要知道下自己的系统环境,我的环境如下: uname -r 2.6.18-308.el5 Linux ...

  6. Java NIO 学习笔记(四)----文件通道和网络通道

    目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...

  7. 《CWNA官方学习指南(第3版):认证无线网络管理员PW0-105》

    <CWNA官方学习指南(第3版):认证无线网络管理员PW0-105> 基本信息 原书名:CWNA: Certified Wireless Network Administrator Off ...

  8. wpa_supplicant无线网络配置

    目前可以使用wireless-tools 或wpa_supplicant工具来配置无线网络.请记住重要的一点是,对无线网络的配置是全局性的,而非针对具体的接口. wpa_supplicant是一个较好 ...

  9. alfs学习笔记-安装和使用blfs工具

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一名linux爱好者,记录构建Beyond Linux From Scratch的过程 经博客园-骏马金龙前辈介绍,开始接触学习 ...

随机推荐

  1. Linux基础理论

    本节内容 1.  Linux的安装及相关配置 2.  UNIX和Linux操作系统概述 3.  Linux命令及帮助 4.  目录结构 6.  用户.群组和权限 7.  用户.群组和权限的深入讨论 1 ...

  2. 【C#】 使用Gsof.Native 动态调用 C动态库

    [C#] 使用Gsof.Native 动态调用 C动态库 一.背景 使用C# 开发客户端时候,我们经常会调用一些标准的动态库或是C的类库.虽然C# 提供的PInvoke的方式,但因为使用的场景的多变, ...

  3. KMP string pattern matching

    The function used here is from the leetcode. Details can be found in leetcode problem: Implement str ...

  4. sql-向已有数据的表添加约束

    语法: alter table 表名 with nocheck add constraint 约束名 约束类型 具体的约束说明 对表中现有的数据不做检查, 只对添加约束后再录入的数据进行检查. 例子: ...

  5. [CocoaPods]使用Trunk进行设置

    CocoaPods Trunk CocoaPods Trunk是一种身份验证和CocoaPods API服务.要将新的或更新的库发布到CocoaPods以进行公开发布,您需要在Trunk中注册并在当前 ...

  6. Python3基础语法你学会了么

      编码 默认:源码文件以UTF-8编码,字符串都是unicode字符串 指定:   标识符 第一个字符:字母表中的字符或下划线 _ 其它部分:由字母.数字.下划线 _ 组成 大小写敏感 python ...

  7. Linux - 参考链接

    01 - Linux系统监控的Shell脚本 常用的主机监控Shell脚本 使用Shell脚本对Linux系统和进程资源进行监控 02 - Linux系统结构 Linux 系统结构详解 03 - Li ...

  8. HoloLens开发手记 - 手势输入 Gesture input

    手势是HoloLens三个首要输入形式之一.一旦你使用凝视定位了一个全息图像,手势允许你与它交互.手势输入允许你使用手或者点击器原生地与全息图像交互. 手势之外,你也可以在应用中使用语音输入来交互. ...

  9. 实现文本在标签内平均分布的css样式

    这里有一个容器,添加了一段文字,想让它们平均分布达到标签flex布局的效果,而不是靠左.靠右或者居中显示. 添加样式: text-align: justify; text-align-last: ju ...

  10. mysql修改数据路径

    步凑: 1.关闭mysql服务 [root@localhost /]# service mysqld stop 2.移动mysql文件夹到自定义的目录 [root@localhost /]# mv / ...