https://www.cnblogs.com/victl/p/4498595.html
参考 GitHub 地址:
https://github.com/muratdemirtas/MT7601u
1, 下载 7601 的 AP 驱动, 编译成 Linux 下专用的 Ap 模式驱动.
上面 GitHub 下载驱动解压 MT7601u-master.
a, 看下 Ap 配置文件:
- \etc\Wireless\RT2870AP\RT2870AP.dat
- SSID=HD_MESH_1 //Wi-Fi 名称
- Channel=11 // 信道 11
- AuthMode=WPA2PSK // 加密模式 不加密是 AuthMode=OPEN, 且 EncrypType=NONE
- WPAPSK=1234567890 // 密码
b, 看下该目录的 SRC 文件夹下的 makefile 文件
- WIFI_MODE = AP //Ap 模块
- TARGET = Linux // Linux 平台
- PLATFORM = PC //PC 平台
c,OK, 没错, make 编译
sudo make clean && make all
既可在 MT7601u-master/src/os/Linux / 下生成 ko 文件.
该源码生成 3 个:
rtutil7601Uap.ko mt7601Uap.ko rtnet7601Uap.ko
2, 安装驱动文件和拷贝配置文件
按顺序插入模块, 不然提示 Unknown symbol in module
- insmod rtutil7601Uap.ko
- insmod mt7601Uap.ko
- insmod rtnet7601Uap.ko
因为模块是互相依赖, 如果卸载要按照最小依赖卸载, 不然提示: rmmod: ERROR: Module mt7601Uap is in use by: rtnet7601Uap
- [email protected]:# rmmod rtnet7601Uap.ko
- [email protected]:# rmmod mt7601Uap.ko
- [email protected]:# rmmod rtutil7601Uap.ko
lsmod 可以看到 3 个 ko 驱动模块已经安装好 (PS: 显示有个 mt7601u 的模块是 Ubuntu 自带的驱动)
把 AP 配置文件 RT2870AP.dat 拷贝到系统的 \ etc\Wireless\RT2870AP \ 下
cp RT2870AP.dat /etc/Wireless/RT2870AP/RT2870AP.dat
3, 启动该无线网卡, 配置 IP.
- ifconfig ra0 up // 等待 2s 后 就有 Ap 热点 HD_MESH_1 出来.
- ifconfig ra0 .NET 192.168.101.1 up // 配置 IP 地址
此时手机是连不上该热点的, 因为没有开启 DHCP 服务.
4, 下载 hostapd(热点管理) 和 isc-dhcp-server(DHCP 分配)
sudo apt-get install hostapd isc-dhcp-server
编辑 / etc/dhcp/dhcpd.conf 配置文件, 填写 DHCP 分配 IP 地址池, 网关, 子网掩码
编辑 / etc/default/isc-dhcp-server , 在最后字段填写 Wi-Fi 模块的名称 INTERFACES="ra0"
dhcpd.conf 配置文件:
- ddns-update-style none;
- default-lease-time 600;
- max-lease-time 7200;
- authoritative;
- log-facility local7;
- subnet 192.168.42.0 netmask 255.255.255.0 {
- range 192.168.42.10 192.168.42.50;
- option broadcast-address 192.168.42.255;
- option routers 192.168.42.1;
- default-lease-time 600;
- max-lease-time 7200;
- option domain-name "local";
- option domain-name-servers 8.8.8.8, 8.8.4.4;
- }
启动服务:
/etc/init.d/isc-dhcp-server start
5, 手机连接上后
手机使用 Linux 的网络上网:
设置 IP 转发规则
- sudo ifconfig ra0 192.168.42.1
- sudo iptables -F
- sudo sh -c "echo 1> /proc/sys/net/ipv4/ip_forward"
- sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
- sudo iptables -A FORWARD -i eth0 -o ra0 -m state --state RELATED,ESTABLISHED -j ACCEPT
- sudo iptables -A FORWARD -i ra0 -o eth0 -j ACCEPT
- sudo iptables -t nat -S
这样, 手机连接这个 Ap 热点也可以上网了!!!
可以吧下面制作成 sh 开机启动
- #!/bin/sh
- cp -v /lib/modules/$(uname -r)/build/Module.symvers src/os/Linux
- make clean && make all && make install
- rm -rvf src/os/Linux/Module.symvers
- ifconfig ra0 down
- rmmod mt7601Usta
- modprobe rtutil7601Uap
- modprobe mt7601Uap
- modprobe rtnet7601Uap
- ifconfig ra0 up
- ifconfig ra0 192.168.42.1
- dhcpd ra0
- sudo sh -c "echo 1> /proc/sys/net/ipv4/ip_forward"
- sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
- sudo iptables -A FORWARD -i eth0 -o ra0 -m state --state RELATED,ESTABLISHED -j ACCEPT
- sudo iptables -A FORWARD -i ra0 -o eth0 -j ACCEPT
- sudo iptables -t nat -S
- sudo iptables -S
- sudo sh -c "iptables-save> /etc/iptables.ipv4.nat"
来源: http://www.bubuko.com/infodetail-3098949.html