在Linux(CentOS)上开启小度WIFI无线AP模式

从这个博客https://evilbinary.org/blog/article/6/

下载DPA_MT7601U_LinuxAP_ANDROID_20121211这个文件

解压后修改几个文件:

  1. 目录下的Makefile
1
2
3
4
5
6
7
8
# Linux 2.6
#LINUX_SRC = /lib/modules/$(shell uname -r)/build 这里改成自己的路径
LINUX_SRC = /lib/modules/3.10.0-123.4.2.el7.x86_64/build
# Linux 2.4 Change to your local setting
#LINUX_SRC = /usr/src/linux-2.4
LINUX_SRC_MODULE = /lib/modules/$(shell uname -r)/kernel/drivers/net/wireless/
CROSS_COMPILE =
endif
  1. os/linux/rt_linux.c这个文件里918行的宏要改成(2.6以上内核):
1
2
3
4
5
6
7
8
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29)
pOSFSInfo->fsuid = current->fsuid;
pOSFSInfo->fsgid = current->fsgid;
current->fsuid = current->fsgid = 0;
//#else 注释这里
// pOSFSInfo->fsuid = current_fsuid() ;
// pOSFSInfo->fsgid = current_fsgid() ;
#endif

然后make, make install, 忽略lzma的压缩命令未找到

modprobe mt7601Uap

然后lsmod | grep mt7601可以看到mt7601Uap代表成功, 然后重启

接下来参考这里

https://blog.csdn.net/sumang_87/article/details/38168877

  1. yum install dhcp -y

  2. 编辑 sudo vim /etc/dhcp/dhcpd.conf

加上了下面一段。。(搜索 This is ;另外注意DNS(domain-name-servers),你们自己选择合适你们的)

1
2
3
4
5
6
7
8
subnet 192.168.208.0 netmask 255.255.255.0 {

range 192.168.208.10 192.168.208.20;

option routers 192.168.208.1;

option domain-name-servers 114.114.114.114;
}
  1. 把下面的保存成StartupWIFI.sh, 开机启动即可….

我的小度WIFI是ra0, 以太网是ens33, 对号入座修改成自己的, 内网IP要和上面的dhcpd.conf一致

1
2
3
4
5
6
7
ifconfig ra0 up
ifconfig ra0 192.168.208.1
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
iptables -t filter -F
iptables -t nat -F
iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE
dhcpd ra0