让linux下无线网卡变身随身wifi----前言--iw移植-Nazgul

2024-09-03 15:32

本文主要是介绍让linux下无线网卡变身随身wifi----前言--iw移植-Nazgul,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最痛苦的事莫过于--上班
最最痛苦的事莫过于--上班有网不能上
最最最痛苦的事莫过于--上班有网能上却没有wifi
最最最最痛苦的事莫过于--你有无线网卡却没有U口可插
最最最最最痛苦的事莫过于--有U口插却发现U口只在开发板上
最最最最最最痛苦的事莫过于--开发板上有u口但是跑的是linux
最最最最最最最痛苦的事莫过于--linux能驱动网卡,但是如何共享出wifi来啊
于是,,,,为了不让以上这些人继续痛苦,我尝试着解救一下他们!!!!!阿弥陀佛,保佑成功!!

准备:
当我发现自己有一个s5pv210开发板,有一个ralink 150M的无线网卡(办公柜里面找到的的应该是N多年前前辈留下的),然后,还有人一个
本以为很快就可以解决这个问题,没有想到,弄了我整整2天2夜(有了这个文章,你半天就搞定了),涉及的东西也比较多,现在列出来先看看
iw ; openssl ; libnl;  hostapd ; iptables ;  udhcpd
还有内核支持配置(为了确保上面的东西能用,后面移植的时候会介绍到),没有linux内核源码的,慎重,喝喝。

动一次打一次,动一次打一次,地刺大慈,东磁大慈,悠悠岂可闹,let's go


第一步、检查你的网线网卡拥有够成为热点的能力
你是猴子请来的救兵吗?不是,我是iw
iw命令可以检测出你的网卡是否具有热点功能,但是iw没有在linux系统中自带,所以我们需要移植它
1、下载
到处找源码,最后在GIT中找到了
都说这里有,现在这个路径已经没有资源了http://linuxwireless.org/download/iw/iw-3.7.tar.bz2
可以在GIT中可以找到iw的源码
http://git.sipsolutions.net/iw.git/
通过GIT工具即可下载IW源码 (GIT工具的使用这里就不介绍了)
apt-get install git
git clone    http://git.sipsolutions.net/iw.git/
完成下载后得到iw目录
观看REDEME发现需要依赖另外一个库 libnl
http://www.infradead.org/~tgr/libnl/
这里可以下载,当时下载的最新版本3.2,结果出现了问题(后面会提到),可以下载1.1版本就行了
解压libnl并编译
tar zxvf libnl-3.2.24.tar.gz
./configure --prefix=/绝对路径 CC=arm-linux-gcc --host=arm
make
make install
生成的库将在上面指定的 /绝对路径 中出现 ,待会用于连接
2、编译iw
需要配置环境变量,因为前面的库在编译的时候需要连接
例如: export PKG_CONFIG_PATH=绝对路径/lib/pkgconfig:$PKG_CONFIG_PATH 
在iw解压好的目录下执行下面两条命令(注意export的路径要和你生成libnl库的路径一致)
export PKG_CONFIG_PATH=/home/edu/share/wifi/iw/nlinstall/lib/pkgconfig:$PKG_CONFIG_PATH
make CC=arm-linux-gcc
不需要make install的不出问题就完成事情了
如果编译不过 可以用root用户编译
通常是不会有问题的,但是我的出问题了
错误
CC info.o
info.c: In function 'print_phy_handler':
info.c:499: error: implicit declaration of function 'htole16'
make: *** [info.o] 错误 1
根据提示找到函数,发现我的系统中没有 htole16这个函数,我的libnl版本太高了,学过网络的知道这是大小端转换函数,直接使用thos()代替了里面的两个函数就可以了,当然也可以使用低版本对应的nl库(这个没有尝试)
3、将编译生成的iw文件,拷贝到开发板中就可以检查网卡是否支持热点了
./iw list (注意中间是空格)
如果提示找不到库,记得把libnl生成的库拷贝到开发板中/lib中来 记得加上cp -a参数
找到 对于网卡的模式提示
Supported interface modes:
* IBSS
* managed
* AP
* AP/VLAN
* WDS
* monitor
* mesh point
如果发现里面有AP选项,那么咱们进行下一步,如果没有,那么感觉淘一个吧,也就是运费的钱(小度的不要的干活,咱们没有驱动)!
      发现有AP选项的,哈哈,恭喜可以进行wifi热点共享了,咱们下一步走

移植过程中参考文献:http://blog.chinaunix.net/uid-22028680-id-3574122.html

这篇关于让linux下无线网卡变身随身wifi----前言--iw移植-Nazgul的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1133355

相关文章

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

无线领夹麦克风什么牌子好用?揭秘领夹麦克风哪个牌子音质好!

随着短视频行业的星期,围绕着直播和视频拍摄的电子数码类产品也迎来了热销不减的高增长,其中除了数码相机外,最为重要的麦克风也得到了日益增长的高需求,尤其是无线领夹麦克风,近几年可谓是异常火爆。别看小小的一对无线麦克风,它对于视频拍摄的音质起到了极为关键的作用。 不过目前市面上的麦克风品牌种类多到让人眼花缭乱,盲目挑选的话容易踩雷,那么无线领夹麦克风什么牌子好用?今天就给大家推荐几款音质好的

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

[Linux]:进程(下)

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:Linux学习 贝蒂的主页:Betty’s blog 1. 进程终止 1.1 进程退出的场景 进程退出只有以下三种情况: 代码运行完毕,结果正确。代码运行完毕,结果不正确。代码异常终止(进程崩溃)。 1.2 进程退出码 在编程中,我们通常认为main函数是代码的入口,但实际上它只是用户级

【Linux】应用层http协议

一、HTTP协议 1.1 简要介绍一下HTTP        我们在网络的应用层中可以自己定义协议,但是,已经有大佬定义了一些现成的,非常好用的应用层协议,供我们直接使用,HTTP(超文本传输协议)就是其中之一。        在互联网世界中,HTTP(超文本传输协议)是一个至关重要的协议,他定义了客户端(如浏览器)与服务器之间如何进行通信,以交换或者传输超文本(比如HTML文档)。