(亲测有效)ubuntu系统安装,配置csitool工具,收发无线数据
Posted 把夜晚都照亮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(亲测有效)ubuntu系统安装,配置csitool工具,收发无线数据相关的知识,希望对你有一定的参考价值。
1、Ubuntu镜像
下载地址1:14.04,16.04,18.04
下载地址2:12.04~19.04
安装太高的版本,不行,比如20.04版本
2、ubuntu系统安装步骤(各个版本都可):
https://blog.csdn.net/qq_38962621/article/details/87390603?utm_source=app
3、安装Linux 802.11n CSI tool安装教程:
参考1:https://blog.csdn.net/u014645508/article/details/81359409
这个教程安装的是Ubuntu12.04版本,所用的csitool也只支持12.04和14.04
看到好几篇文章都提到,使用虚拟机安装csi tool是收不到数的,所以我安装的是双系统。
参考2:
csitool作者github:https://github.com/dhalperi/linux-80211n-csitool/
Linux 802.11n CSI Tool Installation Instructions:https://dhalperi.github.io/linux-80211n-csitool/installation.html
低版本笔记本安装中,遇到过连不上网的问题,可能是系统太久没人维护。
在原作者上改进,支持内核版本为4.15的16.04和18.04版本的csitool:https://github.com/spanev/linux-80211n-csitool
安装说明
先决条件
内核版本
在继续进行之前,需要检查内核的版本。 它应该是4.15,否则下面的命令将不起作用。 以下命令将打印该信息:
$ uname -r
所需的包
$ sudo apt install build-essential linux-headers-$(uname -r) git-core
具有retpoline支持的编译器(Ubuntu 16.04)
较新的内核需要具有retpoline支持的编译器。 GCC和G ++ 7.3及更高版本支持该功能。 以下示例显示了如何安装GCC / G ++版本8:
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test
$ sudo apt update
$ sudo apt install gcc-8 g+±8
需要确保make命令使用正确版本的编译器。 可以使用以下两种方法之一
将系统范围的链接重定向到编译器可执行文件
检查当前链接指向的位置。 命令
$ ls -l /usr/bin/gcc /usr/bin/g++
应该产生类似的输出:
lrwxrwxrwx 1 root 5 Mar 27 2018 /usr/bin/g++ -> g+±5
lrwxrwxrwx 1 root 5 Mar 27 2018 /usr/bin/gcc -> gcc-5
当前链接指向版本5。因此,需要将它们重定向到版本8。为此,请删除当前链接。
$ ls -l /usr/bin/gcc /usr/bin/g++
$ sudo rm /usr/bin/g++
并创建新的
$ sudo ln -s /usr/bin/gcc-8 /usr/bin/gcc
$ sudo ln -s /usr/bin/g+±8 /usr/bin/g++
生成并安装修改后的无线驱动程序
克隆修改后的Linux内核代码
$ git clone https://github.com/spanev/linux-80211n-csitool.git
$ cd linux-80211n-csitool
查看正确的发行版本
$ CSITOOL_KERNEL_TAG=csitool-$(uname -r | cut -d . -f 1-2)
$ git checkout ${CSITOOL_KERNEL_TAG}
为现有内核构建修改后的驱动程序
$ make -j nproc
-C /lib/modules/
(
u
n
a
m
e
−
r
)
/
b
u
i
l
d
M
=
(uname -r)/build M=
(uname−r)/buildM=(pwd)/drivers/net/wireless/intel/iwlwifi modules
$ sudo make -C /lib/modules/
(
u
n
a
m
e
−
r
)
/
b
u
i
l
d
M
=
(uname -r)/build M=
(uname−r)/buildM=(pwd)/drivers/net/wireless/intel/iwlwifi \\
INSTALL_MOD_DIR=updates modules_install
备注:如果在执行上面的命令期间,您收到类似于以下内容的错误消息
- SSL error:02001002:system library:fopen:No such file or directory: bss_file.c:175
- SSL error:2006D080:BIO routines:BIO_new_file:no such file: bss_file.c:178
sign-file: certs/signing_key.pem: No such file or directory
不用担心。 操作系统抱怨,因为驱动程序没有SSL签名。 这不会干扰驱动程序的安装。 因此,只需忽略消息并继续安装过程即可。
安装修改后的固件
获取CSI工具补充材料:
$ git clone https://github.com/dhalperi/linux-80211n-csitool-supplementary.git
重新放置英特尔Wi-Fi Link 5000系列适配器的所有现有固件:
$ for file in /lib/firmware/iwlwifi-5000-*.ucode; do sudo mv $file $file.orig; done
安装修改后的固件:
$ sudo cp linux-80211n-csitool-supplementary/firmware/iwlwifi-5000-2.ucode.sigcomm2010 /lib/firmware/
$ sudo ln -s iwlwifi-5000-2.ucode.sigcomm2010 /lib/firmware/iwlwifi-5000-2.ucode
启用日志记录并测试驱动程序
构建用户空间日志记录工具
构建log_to_file,这是一个命令行工具,它将通过驱动程序获得的CSI写入文件:
$make -C linux-80211n-csitool-supplementary/netlink
卸载驱动程序:
$sudo modprobe -r iwlwifi mac80211
:消息“致命:正在使用模块iwlwifi”。 如果需要首先明确卸载iwldvm模块(在Ubuntu以外的发行版上),则可能会出现。 如果是这样,请改用此方法:
$sudo modprobe -r iwldvm iwlwifi mac80211
卸载驱动程序后,请在启用CSI日志的情况下
重新加载驱动程序:
$sudo modprobe -r iwlwifi mac80211
$sudo modprobe iwlwifi connector_log=0x1
通过使用(例如)iw和iproute2实用程序(或如果使用nm-cli或图形小程序为无线接口启用了NetworkManager)来连接到802.11n接入点。 另外,您可以通过安装和配置hostapd来让系统充当802.11n接入点(有关配置示例,请参见补充材料); 在这种情况下,请在该系统上启动hostapd,然后将另一个802.11n站连接到该主机。
无论哪种方式,一旦连接,就开始将CSI记录到文件中:
$cd /home/xx/linux-80211n-csitool/linux-80211n-csitool-supplementary/netlink(xx是电脑的名字)
$sudo ./log_to_file test.dat
重新打开一个命令终端
$ping 192.168.1.1 -i 0.5(0.5为发包间隔)
成功的话,会看到收发同时进行,ctrl+c停止收发,在netlink文件夹看到test.dat数据,应该需要把数据单独保存,下一次收发会清空上次的数据。
以上是关于(亲测有效)ubuntu系统安装,配置csitool工具,收发无线数据的主要内容,如果未能解决你的问题,请参考以下文章
ubuntu 18.04 三五分钟即可一键安装ROS系统(亲测有效)
VMware虚拟机 Linux系统 Ubuntu 16.04 硬盘/磁盘扩容(超详细图文详解!亲测有效!)