小米随身WiFi,Linux下AP热点驱动(开源)

xiaoxiao2021-02-28  236

前言 这是作者修改后的Linux下的小米随身WiFi驱动,支持Ap模式,开源,同时支持360随身WiFi二代和小度WiFi 注意: 1.这个是 Linux下的小米随身WiFi驱动,不是Window和MAC下 2.这个不是STA模式下的可当作无线网卡的驱动,是可当 Ap热点模式的驱动 3.这个支持 360随身WiFi二代。(rtusb_dev_id.c 里面同样有360的id) (也有童鞋测试了也支持小度wifi) 4.现在最新的版本同时支持ubuntu12.04 和  ubuntu14.04谢谢housq 的pull request) (内核版本分别是 3.11 和 3.13) (14.04仍时有崩溃未解决。。如果大神知道,请相告!替Linux网友先感激!!) 原由: 小米随身WiFi很好用,有Widnow和Mac的系统的驱动, 但是可怜不少Linux下的苦逼开发者,没有驱动就是没有。。怎么办? 但是米粉的力量还是很强大的, 后来陆陆续续有了小米随身WiFi 的STA 模式驱动,即可以当无线网卡使用 Ubuntu 12.04下小米随身Wifi驱动安装方法 @81339242 但当Ap热点使用的热点驱动一直没有。。。怎么办? 最关键楼主我,家里是校园网,锐捷,更别说什么路由了,只能有线网络 在linux下开发方便,但是妹子老喊,没有WiFi,她用不了网络,怎么办? 之前一直用虚拟机xp使用小米随身WiFi, 可虚拟机内存占用大,仅仅开了使用随身WiFi 不划算,怎么办? 既然window,mac能上网,Linux下肯定也是可以,通过搜索, 小米Wifi不能直接用雷凌芯片组官方驱动的原因探讨 @Oicebot 我发现使用hostapd使用的可行性是有的。。 于是就开始花点时间搞定这个Linux下的Ap驱动。。 (重新开启关于hostapd的相关代码宏,但后来失败。。)

万万没有想到,我最后还是完成了驱动。。

完成驱动: 第一点,感谢小米随身WiFi。。 第二点,感谢雷凌开源。。 第三点,感谢terence-deng 大神 terence-deng 在Github 开源了带AP代码的,但不能使用AP功能的代码,能使用STA模式(无线网卡模式) 居然在我开始搞驱动的前3天share了出来,还居然被我搜到!!!。。。。 我在大神的mt7601u基础上,结合另外两份代码(rt5572 和 MT7610U STA ) 开启AP模式的宏,填补缺漏文件,解决编译问题,编译出AP模式下的小米随身wifi驱动 再结合一些Linux命令,前后花了两天时间(第一天的更改驱动方案不成功) 成功在Linux下,不用再借助虚拟机(xp),成功让手机使用小米随身WiFi产生的网络

源于开源,不敢私藏,所以在这里分享给大家。。

正式步骤开始

步骤一 下载代码

先从 https://github.com/eywalink/mt7601u 这个路径下载代码。。没有Git的同学,可以在右边 Download zip文件

步骤二 编译驱动

运行 脚本 编译驱动(Ubuntu 12.04下编过) sudo ./miwifi_build.sh 编译驱动 如果没有看到 错误 Error 字样,就算可以了。。 我的是中文字样,一般的都直接是英文。。。

步骤三 配置DHCP服务

安装DHCP 服务器和配置 1.安装 sudo apt-get install dhcp3-server

   (如果遇到 locate dhcp3-server, 请使用  sudo apt-get update)

2.编辑 sudo vim /etc/dhcp/dhcpd.conf 加上了下面一段。。(搜索 This is ;另外注意DNS(domain-name-servers),你们自己选择合适你们的) subnet 192.168.199.0 netmask 255.255.255.0 {    range 192.168.199.10 192.168.199.20;    option routers 192.168.199.1;    option domain-name-servers 114.114.114.114; }

3.编辑 sudo vim  /etc/default/isc-dhcp-server     为 INTERFACES="ra0"

PS:如果发现需要重启DHCP 服务,请使用 service isc-dhcp-server restart

步骤四 加载驱动

root权限 运行脚本 加载驱动 和 设置DHCP服务器 和 设置ip转发规则(我平常用eth0来上网,所以不是eth0的童鞋务必更改sudo ./miwifi_work.sh

============如果这步骤没有问题,可以不用看分割线下面文字===========

miwifi_work.sh 脚本解析: #!/bin/sh #remove the driver before #我之前使用mt7601Usta这个驱动,安装Ap驱动前得先关闭正在使用的网卡,然后sta驱动卸载 ifconfig ra0 down rmmod mt7601Usta #add new ap driver #安装新的驱动,雷凌基本上都是这三个rtutil, rtnet ,和 xxxx modprobe rtutil7601Uap modprobe mt7601Uap modprobe rtnet7601Uap #set ip  #设置此ap的ip地址。 ifconfig ra0 up ifconfig ra0 192.168.199.1 #dhcp the network # 设置 这个ap的DHCP分配ip地址 dhcpd ra0  #make if forward work from eth0   #设置从 eth0 这个网卡进行转发数据包,我平常用eth0上网, 有些童鞋用wlan0上网就把蓝色字改成 wlan0 有些童鞋用 ADSL 上网就把 蓝色 字改成 ppp0 (要确定是否有ppp0,可以在拨号后,用sudo ifconfig查看) echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward iptables -t filter -F iptables -t nat -F iptables -t nat -A POSTROUTING -o  eth0 -j MASQUERADE 输出结果解析: administrator@ylmfos:~/rjsupplicant$ sudo ./miwifi_work.sh  (你不是用ubuntu吗?怎么是ylmfos,因为作者我喜欢雨林木风,但是3.0不是很好用,就升级到ubuntu12.04,升级之后,还是有不少ylmf的影子在里面) [sudo] password for administrator:  ERROR: Module mt7601Usta does not exist in /proc/modules  (怎么这里有个Error?因为之前使用的是 mt7601Usta这个驱动,这个只能当无线网卡,不能当AP,但它已经存在系统里,我又不想彻底删掉,所以我得先卸载它,然后再安装Ap的驱动) Internet Systems Consortium DHCP Server 4.1-ESV-R4 Copyright 2004-2011 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Wrote 5 leases to leases file. Listening on LPF/ra0/8c:be:be:06:23:69/192.168.199.0/24 Sending on   LPF/ra0/8c:be:be:06:23:69/192.168.199.0/24 Sending on   Socket/fallback/fallback-net Can't create PID file /var/run/dhcpd.pid: Permission denied. 1

步骤五 配置MiWiFi

如果一切顺利,你会搜到一个 网络名 MiWiFi_SuMang 密码    52xiaomi

PS:如果修改成你们想要的SSID和密码 方法一:修改mt7601u/etc/Wireless/RT2870AP/RT2870AP.dat ,重新编译。。 方法二:直接修改/etc/Wireless/RT2870AP/RT2870AP.dat

至此,可以开开心心地使用Linux, 也可以开开心心地让手机上网了。。

如有什么纰漏,请大伙多多指教!!谢谢!! ^_^

同样:作者也在小米论坛发布了这篇文章  【福利到】小米随身WiFi,Linux下AP热点驱动

最后,如果它帮助了您,请大力支持,多多回复!!!谢谢!!!

鉴于很多程序猿都有这个需求,

而Csdn的博客回复已经满足不了大家互相帮助的需求(其实这个回复系统很挫)

我创建了(随身WiFi_Linux_Ap389615079  QQ群

请大家踊跃加入,我们共同进步!!

(PS 进群问问题,请把

1.运行的脚本 和log (看你脚本是否写错。运行的log,可以看出些信息)

2.ipconfig 和 iwconfig 的结果(看你上网用哪些网卡。有eth0,ppp0,wlan0这些)

3.uname -a (内核信息)

4.你PC(板子)上网的方式,是(有线?无线?还是ADSL, 甚至有vpn)

的运行结果告诉大家,方便解决问题,谢谢 O(∩_∩)O哈哈~)

查看评论 50楼  自由的幻影 2017-05-15 15:34发表 [回复] 你好我用的是ubuntu16.04 iwconfig wlp3s0 IEEE 802.11abg ESSID:off/any  Mode:Managed Access Point: Not-Associated  Retry short limit:7 RTS thr:off Fragment thr:off Power Management:off enp2s0 no wireless extensions. lo no wireless extensions. wlx00367667f4fc IEEE 802.11bgn ESSID:off/any  Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm  Retry short limit:7 RTS thr:off Fragment thr:off Power Management:off 这里360wifi2系统识别为wlx00367667f4fc 49楼  qq_35949321 2017-03-11 01:34发表 [回复] 可以正常使用。但是只有一个问题,就是每次开机后需要重新运行 sudo ./miwifi_work.sh 才可以正常发射wifi信号。不能自动启动。 48楼  xiaobohaha 2016-12-11 12:16发表 [回复] 为什么我执行成功后,没有搜到对应的ssid,但是nexus7上能搜到ESSID, why? 47楼  oncealong 2016-12-03 17:09发表 [回复] 谢谢博主,解决了小度WIFI的AP问题。 我是在Debian8.6下实验成功的。 但是有个地方和博主不一样。 配置dhcp时,sudo apt-get install dhcp3-server无法找到dhcp3-server,需要用sudo apt-get install isc-dhcp-server 46楼  Romebake 2016-05-10 15:24发表 [回复] 感谢,解决了wifi的问题 45楼  Lvhhh 2016-04-22 21:26发表 [回复] 你好,我最后一步报错是 No subnet declaration for ra0 (no IPv4 addresses). ** Ignoring requests on ra0. If this is not what you want, please write a subnet declaration in your dhcpd.conf file for the network segment to which interface ra0 is attached. ** 怎么回事呢?! Re:  qq_35949321 2017-03-16 04:17发表 [回复] 回复Lvhhh:运行第二遍就可以了,也就是说运行两次sudo ./miwifi_work.sh 即可. 44楼  zjq19930322 2016-02-28 12:01发表 [回复] 群满了,博主,还有群吗?就想问一下想把小米wifi ap模式改成无线网卡接收wifi? Re:  qq_35949321 2017-03-11 01:41发表 [回复] 回复zjq19930322:下载官方驱动即可。github上有。 43楼  bfh13 2016-02-27 17:42发表 [回复] 非常感谢,终于搞定了~ CentOS 7 完美解决~ Re:  SlovEnt 2016-05-05 14:34发表 [回复] 回复bfh13:bfh老师,能否共享您centos7的步骤呢,我的也是centos7,但是wifi已经发射出来,dhcp应该设置还有问题,不知道该如何进行下一步。。。 42楼  KalaloveAmy 2016-01-31 13:33发表 [回复] 多谢楼主分享,几乎成功,可是。。。 360随身wifi2代 插在台式机上 台式机是用网线链接上网,应该是eth0吧? 按照您上面的步骤,创建热点成功,在手机和笔记本电脑上都可以搜到,也可以连上,但是连上之后就是上不了网 笔记本电脑上给出的提示是:“有限的访问权限”,网络链接那个地方有黄色的叹号。提示无法连接互联网。 Re:  bfh13 2016-02-27 17:39发表 [回复] 回复KalaloveAmy:我最初同样遇到这个问题,我是根据ifconfig的结果,修改了miwork_work.sh 对应的蓝字内容。 将eth0 改成了enp0s25,也就是我上网的设备 41楼  wameige 2015-12-03 10:57发表 [回复] ubuntu14.04测试可用 40楼  xiayu98020214 2015-08-26 10:57发表 [回复] 我现在可以,链接wifi,但是手机还是上不了网,domain-name-servers 根据什么设置的啊, Re:  xinjianwendang3 2016-01-29 18:28发表 [回复] 回复xiayu98020214:搞清楚自己是什么上网的,是以太网还是adsl,根据自己的情况改那个miwifi_work.sh。详情看博文分割线内容。 39楼  mcl1001622 2015-07-19 17:14发表 [回复] 感谢楼主!我是在小米论坛上看到的,已经成功了~~ 想问下楼主,怎么可以把小米wifi转成无线网卡模式? 我想在树莓派上用小米wifi当无线网卡用,不是开AP 38楼  sinat_24545735 2015-07-15 22:12发表 [回复] 求助:PC 有线上网,ubuntu14.04,安装过程没有报错,最终手机能搜到热点,连接热点后无法上网。求各位大神支招 运行过程中没有报错 sudo ./miwifi_work.sh  rmmod: ERROR: Module mt7601Usta is not currently loaded Internet Systems Consortium DHCP Server 4.2.4 Copyright 2004-2012 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Wrote 3 leases to leases file. Listening on LPF/ra0/64:09:80:67:5e:49/192.168.199.0/24 Sending on LPF/ra0/64:09:80:67:5e:49/192.168.199.0/24 Sending on Socket/fallback/fallback-net 1 iwconfig ra0 RTWIFI SoftAP ESSID:"MiWiFi_SuMang"  Mode:Managed Channel=11 Access Point: 64:09:80:67:5E:49  Bit Rate=54 Mb/s  lo no wireless extensions. cscotun0 no wireless extensions. eth0 no wireless extensions. uname -a Linux liyn-HP-ProDesk-680-G1-TWR 3.16.0-30-generic #40~14.04.1-Ubuntu SMP Thu Jan 15 17:45:15 UTC 2015 i686 i686 i686 GNU/Linux Re:  qq_35949321 2017-03-11 01:45发表 [回复] 回复sinat_24545735:用ifconfig, 看你用什么上网,然后修改"etho"即可 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 37楼  sun529739502 2015-07-15 13:22发表 [回复] 外网绑定mac地址,小度wifi可以破解吗 36楼  sun529739502 2015-07-13 13:10发表 [回复] 关于绑定mac地址,设备上网冲突能解决吗?求大大帮助, 35楼  decker502 2015-06-02 14:35发表 [回复] 亲测可以,ubuntu15.04,就是dhcp的版本旧了,要换成下面命令 sudo apt-get install isc-dhcp-server -y 多谢楼主分享 34楼  coswh9 2015-05-26 10:07发表 [回复] Can't bind to dhcp address: Address already in use Please make sure there is no other dhcp server running and that there's no entry for dhcp orbootp in /etc/inetd.conf. Also make sure youare not running HP JetAdmin software, which includes a bootp server. 33楼  零下一度源 2015-04-28 15:05发表 [回复] 一个菜鸟问一下: make问题怎么解决 没有规则可以创建目标clean 32楼  qsl19900126 2015-04-21 13:45发表 [回复] 看着 Can't create PID file /var/run/dhcpd.pid: Permission denied. 心里难受。。 31楼  天一涯 2015-03-10 08:35发表 [回复] 转载了你的博文,望谅解 30楼  windows20071020 2015-02-26 14:41发表 [回复] 这篇文章的方法的文章如果不行的话可以试试http://www.pppei.net/blog/post/690 Re:  duanguyuan 2015-03-29 00:40发表 [回复] 回复windows20071020:你给的这篇文章可以!! Re:  宿莽_csdn 2015-03-13 19:12发表 [回复] 回复windows20071020:厉害! 29楼  zoupingyuan 2015-01-22 13:24发表 [回复] 我的也是这样啊 电脑黑屏 Re:  宿莽_csdn 2015-01-22 13:58发表 [回复] 回复zoupingyuan:? 28楼  惊尘子 2015-01-08 12:03发表 [回复] 哎。。。。编译运行没有问题,只要用手机一连接热点,立马kernel panic。。。。有时间再折腾下。。。 不知道楼主有没有遇到过这种情况,我的是LinuxMint 17.1, 基于ubuntu14.04的发行版,用的是miwifi Re:  duanguyuan 2015-03-29 00:28发表 [回复] 回复惊尘子:我和你一样,mint 17.1 + miwifi。我能够搜到MIWIFI_SuMang,但是一直“正在进行身份验证”,连不上 27楼  baidu_24405551 2014-12-24 16:50发表 [回复] 楼主你好,按照你的方法在我的环境中试了下,出现了找不到ra0的设备,看上面的评论好像我是第一个碰到的。 我的系统是ubuntu12.04,用的是小度wifi,在rtusb_dev_id.c中添加了设备的id,编译加载都没问题,但是找不到ra0或者类似的设备。dmesg的消息如下,能帮忙看下吗。 Re:  baidu_24405551 2014-12-24 16:55发表 [回复] [plain]  view plain  copy [ 1953.855741] usb 1-1.1: USB disconnect, device number 3   [ 1953.855840] rtusb_disconnect: unregister usbnet usb-0000:00:1a.0-1.1   [ 1953.855847] RtmpOSNetDevDetach(): RtmpOSNetDeviceDetach(), dev->name=ra0!   [ 1953.859715] ---> RTMPFreeTxRxRingMemory   [ 1953.859734] <--- RTMPFreeTxRxRingMemory   [ 1953.859791]  RTUSB disconnect successfully   [ 1956.392255] usb 1-1.2: new high-speed USB device number 5 using ehci-pci   [ 1956.495194] usb 1-1.2: New USB device found, idVendor=2955, idProduct=1001   [ 1956.495199] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3   [ 1956.495201] usb 1-1.2: Product: 802.11 n WLAN   [ 1956.495204] usb 1-1.2: Manufacturer: MediaTek   [ 1956.495206] usb 1-1.2: SerialNumber: 1.0   Re:  baidu_24405551 2014-12-24 16:54发表 [回复] [plain]  view plain  copy [ 1956.495705] === pAd = ffffc9000562e000, size = 895992 ===   [ 1956.495705]   [ 1956.495808] <-- RTMPAllocTxRxRingMemory, Status=0   [ 1956.495905] <-- RTMPAllocAdapterBlock, Status=0   [ 1956.495908] RTMP_COM_IoctlHandle():pAd->BulkOutEpAddr=0x8   [ 1956.495909] RTMP_COM_IoctlHandle():pAd->BulkOutEpAddr=0x4   [ 1956.495910] RTMP_COM_IoctlHandle():pAd->BulkOutEpAddr=0x5   [ 1956.495912] RTMP_COM_IoctlHandle():pAd->BulkOutEpAddr=0x6   [ 1956.495913] RTMP_COM_IoctlHandle():pAd->BulkOutEpAddr=0x7   [ 1956.495914] RTMP_COM_IoctlHandle():pAd->BulkOutEpAddr=0x9   [ 1956.496518] NVM is EFUSE   [ 1956.496522] Endpoint(8) is for In-band Command   [ 1956.496524] Endpoint(4) is for WMM0 AC0   [ 1956.496526] Endpoint(5) is for WMM0 AC1   [ 1956.496527] Endpoint(6) is for WMM0 AC2   [ 1956.496528] Endpoint(7) is for WMM0 AC3   [ 1956.496530] Endpoint(9) is for WMM1 AC0   [ 1956.496531] Endpoint(84) is for Data-In   [ 1956.496533] Endpoint(85) is for Command Rsp   Re:  宿莽_csdn 2014-12-29 22:22发表 [回复] 回复baidu_24405551:lsusb的log贴出来看看? 这里主要是查看小度wifi是否插上了电脑。。 26楼  pengchy88 2014-12-08 10:18发表 [回复] 博主帮忙看看下面这个问题,不胜感激!! 求助:腾讯全民wifi在centos 7上的配置-有限的访问权限 http://www.cncentos.com/forum.php?mod=viewthread&tid=4179&fromuid=9267 25楼  pengchy88 2014-12-04 16:47发表 [回复] CentOS 7下,没有/etc/default/isc-dhcp-server这个文件,创建一个也不行。第三步走不通。ra0无法启用啊。 楼主对CentOS7有办法吗? ====================== 3.编辑 sudo vim /etc/default/isc-dhcp-server 为 INTERFACES="ra0" Re:  pengchy88 2014-12-08 08:36发表 [回复] 回复pengchy88:现在ra0可以启动了,而且在客户端也能搜到miwifi_sumang的信号,但是连不上去,网络无法识别,出现“有限的访问权限” 24楼  SunHeat 2014-11-26 13:30发表 [回复] 在Ubuntu 14中运行work的时候出现错误: ERROR: Module mt7601Usta is not currently loaded 编译貌似没有错误。有很多warning在stderr上。 Linux的虚拟机。主机是Win 7 但是没法直接用,ICS被域策略禁止了,ping也有问题没法用Connectify,所以挂了虚拟机用Linux试试…… Re:  宿莽_csdn 2014-11-27 12:55发表 [回复] 回复SunHeat:仔细看博客的 输出结果解析 这个error log 是没有关系的。。。 23楼  Rememberautumn 2014-11-17 20:58发表 [回复] 找到wifi了但是链接不上 22楼  panzer8161979 2014-11-10 12:18发表 [回复] 跪谢楼主 Re:  宿莽_csdn 2014-11-13 20:30发表 [回复] 回复panzer8161979:不用谢,你也用你的力量,继续帮助别人,即可。 21楼  cosophy 2014-10-30 09:45发表 [回复] $ sudo dhcpd3 ra0 Can't create PID file /var/run/dhcpd.pid: Permission denied. 怎么处理啊楼主 Re:  宿莽_csdn 2014-11-13 20:29发表 [回复] 回复cosophy:你没发现我的也是permission denied 吗?? 木有关系的。童鞋。。 关键是dhcp是否起作用。 20楼  JerseyGood 2014-10-14 15:10发表 [回复] 正常使用了一天 后来貌似有硬件冲突,机器会突然黑屏,然后就只有关机再开机了。不知道LZ有遇到过这问题么 linux 14.04 Re:  宿莽_csdn 2014-11-13 20:28发表 [回复] 回复JerseyGood:14.04 是有当机的情况。。。 未有时间去解决。。请自己解决。。 如可以,解决完回来告诉我 19楼  hj_18 2014-10-04 14:39发表 [回复] 好吧,我刚才的脚本有个小bug,在拿回了我的 3ds ll 后测试了一遍,发现好像 iptables 也要重设,这是最后的版本 [plain]  view plain  copy #! /bin/bash      lsmod |grep mt7601Uap   if [ $? -eq 1 ]; then       modprobe rtutil7601Uap       modprobe mt7601Uap       modprobe rtnet7601Uap   fi      #set ip      ifconfig |grep ra0   if [ $? -eq 1 ]; then       ifconfig ra0 up       if [ $? -eq 0 ]; then                  ifconfig ra0 192.168.199.1   #dhcp the network       ps aux |grep dh[c]pd       if [ $? -eq 0 ]; then           killall -TERM dhcpd       fi           dhcpd ra0   #make if forward work from eth0           echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward           iptables -t filter -F           iptables -t nat -F           iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE       fi   fi   Re:  hj_18 2014-10-10 18:50发表 [回复] [plain]  view plain  copy #! /bin/bash      lsmod |grep mt7601Uap   if [ $? -eq 1 ]; then       modprobe rtutil7601Uap       modprobe mt7601Uap       modprobe rtnet7601Uap   fi      #set ip      ifconfig |grep ra0   if [ $? -eq 1 ]; then       ifconfig ra0 up   fi      ifconfig ra0 192.168.199.1   #dhcp the network   ps aux |grep dh[c]pd   if [ $? -eq 0 ]; then       killall -TERM dhcpd   fi   dhcpd ra0   #make if forward work from eth0   iptables -t nat -L |grep MASQUERADE   if [ $? -ne 0 ]; then       echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward       iptables -t filter -F       iptables -t nat -F       iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE   fi   Re:  hj_18 2014-10-10 18:52发表 [回复] 回复hj_18:这回差不多了,不管是开机时插着还是中途拔下再插上,都可以连接。 Re:  hj_18 2014-10-12 12:11发表 [回复] 不对,还是要重设防火墙的 [plain]  view plain  copy #! /bin/bash      lsmod |grep mt7601Uap   if [ $? -eq 1 ]; then       modprobe rtutil7601Uap       modprobe mt7601Uap       modprobe rtnet7601Uap   fi      #set ip      ifconfig |grep ra0   if [ $? -eq 1 ]; then       ifconfig ra0 up   fi      ifconfig ra0 192.168.199.1   #dhcp the network   ps aux |grep dh[c]pd   if [ $? -eq 0 ]; then       killall -TERM dhcpd   fi   dhcpd ra0   #make if forward work from eth0   echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward   iptables -t filter -F   iptables -t nat -F   iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE   Re:  宿莽_csdn 2014-10-12 14:46发表 [回复] 回复hj_18:兄弟 你进群了吗? QQ群(随身WiFi_Linux_Ap)389615079 你是哪位id? 我还没吸收你脚本。。 当然你可以在github上fork 重新修改。。 Re:  hj_18 2014-10-13 05:29发表 [回复] 回复宿莽_csdn:额,扣扣?等我开下virtualbox 先,说来用扣扣的时候都在vm下,汗一个。 Re:  hj_18 2014-10-13 05:31发表 [回复] 回复hj_18:我的qq是白菜心 Re:  宿莽_csdn 2014-10-13 14:18发表 [回复] 回复hj_18:看到你“白菜心” 另外QQ可以wine一个2013年的用用。。 Re:  宿莽_csdn 2014-10-07 12:18发表 [回复] 回复hj_18:兄弟,相当不错~~请加 QQ群(随身WiFi_Linux_Ap)389615079 我得重新修改脚本。。望指教~ Re:  hj_18 2014-10-10 10:05发表 [回复] 回复宿莽_csdn:这个脚本还是有点问题的,主要是在开机的时候因为分区没有加载所以不能运行,然后在插入wifi盘启动时,还是要重新设置 iptables 的,我还在继续测试,准备今晚再试试。 18楼  zzyxzz 2014-10-03 21:35发表 [回复] 您好,我用您的方法能连上AP但是不能访问网络呢。不知道是什么原因。 Re:  hj_18 2014-10-04 08:05发表 [回复] 回复zzyxzz:我修改了 /etc/udev/rules.d/70-persistent-net.rules ,加上 ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="148f", ATTR{idProduct}=="760b", RUN+="/path/to/my/script" 这里的 "/path/to/my/script" ,就是我下面的脚本,把楼主的修改了一下,主要是检测了模块是否已加载,和重启 dhcpd ,我初步试了试,发现要是拔下这块卡,再接上的话,还是要加载网卡和重启 dhcpd 才能连接。 #! /bin/bash lsmod |grep mt7601Uap if [ $? -eq 1 ]; then modprobe rtutil7601Uap modprobe mt7601Uap modprobe rtnet7601Uap fi #set ip ifconfig |grep ra0 if [ $? -eq 1 ]; then ifconfig ra0 up if [ $? -eq 0 ]; then  ifconfig ra0 192.168.199.1 #dhcp the network ps aux |grep dh[c]pd if [ $? -eq 0 ]; then killall -TERM dhcpd fi dhcpd ra0 #make if forward work from eth0 iptables -t nat -L |grep MASQUERADE if [ $? -eq 1 ]; then echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward iptables -t filter -F iptables -t nat -F iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE fi fi fi Re:  hj_18 2014-10-04 08:18发表 [回复] 回复hj_18:呃,回复的楼层不对啊,udev 的脚本本来是想回复楼主的。另外我发现这个驱动好像只支持 wpa tkip 不支持 wpa aes ,我的 3ds ll 就是这个问题,选择了 aes 的都连不上。 Re:  hj_18 2014-10-04 08:32发表 [回复] 回复hj_18:我看了 rt2807ap.dat 发现里面确实列举了两种加密模式,但我的 3ds ll 就是不能以 aes 的方式连接,也许要换一下顺序试试。 Re:  zzyxzz 2014-10-06 21:51发表 [回复] 回复hj_18:我设置成TKIP或者AES都不行,都是可以连接miwifi但是不能访问网络 Re:  hj_18 2014-10-10 10:10发表 [回复] 回复zzyxzz:这我也不清楚,但是我在用了自己写的脚本后,插入 wifi 盘试的时候发现 dhcpd 和 iptables 都要重新设置和启动才行,不知道你的问题是不是处在 dhcpd 的服务上了。 Re:  hj_18 2014-10-10 10:16发表 [回复] 回复hj_18:但是我用 3ds ll 看的时候,连接 ap 还是能行的。我痛苦的地方在于,在 xp 下用雷凌的原厂驱动也好,360的驱动也好,都是用 AES 加密的才行,tkip 的不行,而 linux 下正好倒过来。同一块 wifi 卡,居然在 windows 和 linux 下各只能用不同的一种加密连接,可谓奇葩。 Re:  hj_18 2014-10-04 07:58发表 [回复] 回复zzyxzz:我不清楚问题的原因,不过这是我的 ifconfig ,3ds ll 不在身边,所以数据包是零。 ra0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.199.1 netmask 255.255.255.0 broadcast 192.168.199.255 inet6 fe80::2605:fff:fe15:4bd3 prefixlen 64 scopeid 0x20<link> ether 24:05:0f:15:4b:d3 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 Re:  zzyxzz 2014-10-03 21:39发表 [回复] 回复zzyxzz:我把ifconfig的结果贴了出来,不知道是否有帮助,谢谢 Re:  zzyxzz 2014-10-03 21:38发表 [回复] 回复zzyxzz:ra0 Link encap:Ethernet HWaddr 8c:be:be:1b:95:8e  inet addr:192.168.199.1 Bcast:192.168.199.255 Mask:255.255.255.0 inet6 addr: fe80::8ebe:beff:fe1b:958e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:495 errors:0 dropped:0 overruns:0 frame:0 TX packets:29 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000  RX bytes:41348 (41.3 KB) TX bytes:7721 (7.7 KB) Re:  zzyxzz 2014-10-03 21:38发表 [回复] 回复zzyxzz:lo Link encap:Local Loopback  inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:1119 errors:0 dropped:0 overruns:0 frame:0 TX packets:1119 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0  RX bytes:547878 (547.8 KB) TX bytes:547878 (547.8 KB) Re:  zzyxzz 2014-10-03 21:37发表 [回复] 回复zzyxzz:eth0 Link encap:Ethernet HWaddr 00:1a:a0:ae:c6:39  inet addr:129.12.185.185 Bcast:129.12.185.255 Mask:255.255.255.0 inet6 addr: fe80::21a:a0ff:feae:c639/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8044 errors:0 dropped:0 overruns:0 frame:0 TX packets:2955 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000  RX bytes:2422944 (2.4 MB) TX bytes:653811 (653.8 KB) Interrupt:16 Re:  宿莽_csdn 2014-10-07 12:32发表 [回复] 回复zzyxzz:借问兄弟。 你家是用有线 eth0 上网吗? 我遇到过adsl上网,要设置成ppp0 才可以。。。 Re:  zzyxzz 2014-10-08 18:17发表 [回复] 回复宿莽_csdn:我也是用etho0学校网络直接上网,不需要拨号。感觉很奇怪,AP的无线网络也是有的,电脑也能通过eth0上网,就是不知道为什么miwifi和eth0没连接上,请问楼主有什么建议么? Re:  宿莽_csdn 2014-10-09 16:06发表 [回复] 回复zzyxzz:我也没有太多经验,最好实地考察下。。 入了群否?试试问问大伙~ 17楼  hj_18 2014-10-03 09:09发表 [回复] 我在开机脚本中自动加载了 miwifi_work.sh 中的内容,我是把它复制到了 rc.local 中的。但是,如果我开机的时候没有插这个 wifi 盘,那就会有一串出错信息。 怎么能做到即插即用呢?是要检测网卡是否存在吗? Re:  hj_18 2014-10-03 13:41发表 [回复] 回复hj_18:嗯,现在开始看 udev 的规则怎么写了,多年不弄都忘记了。 Re:  宿莽_csdn 2014-10-07 11:39发表 [回复] 回复hj_18:Hi,你搞定任天堂了吗? 我最近国庆回老家,没有什么网络,没有及时回复。。 你们最近如何? 我看你 @zzyxzz 说了很多,看了有些小晕~我得理理~~ csdn的回复不是很好,问题一般的都不知道如何按顺序看。。 16楼  hj_18 2014-10-02 09:32发表 [回复] 我用的是 slackware-current 自己编译的内核 3.13.1,在运行了 miwifi_build.sh 后,出现这样的错误: mt7601u-master/src/os/linux/../../os/linux/rt_linux.c:1844:11: 错误:‘struct net_device’没有名为‘wireless_handlers’的成员 pNetDev->wireless_handlers = pDevOpHook->iw_handler; ^ 然后我修改了内核的 .config 加入了 CONFIG_WIRELESS_EXT,重新编译内核,也是出现了一样的错误。 然后我 menuconfig 了内核,加入 device driver 中 wireless lan 和 ralink 驱动支持,一样出错,请问会不会是有什么必要的头文件没有包含? Re:  hj_18 2014-10-02 11:38发表 [回复] 回复hj_18:嗯,效果拔群,可以用 3dsll 来联网对战了。 Re:  宿莽_csdn 2014-10-02 20:17发表 [回复] 回复hj_18:高手啊~~~ Re:  hj_18 2014-10-02 09:51发表 [回复] 回复hj_18:嗯,上网搜了下,现在在内核中加入 ieee 802.11 for host ap 来试试。 Re:  hj_18 2014-10-02 10:01发表 [回复] 回复hj_18:嗯,编译通过了。 Re:  宿莽_csdn 2014-10-07 17:09发表 [回复] 回复hj_18:我前段时间解决 没有wireless_handlers成员的方法,不是用重新编译内核的方法,直接将config.mk 将HAS_OSABL_OS_STA_SUPPORT=y‍ 改成 HAS_OSABL_OS_STA_SUPPORT=n 因为我们使用AP,不需要STA的功能。 可以屏蔽出错的那段代码 当然,兄弟是高手,直接编译内核。。。 15楼  yurenchen 2014-10-01 03:13发表 [回复] 改了下ssid和密码, 再用发现 在 手机连接wifi时 ubuntu 14 直接崩了, switch back to text console, 各 tty 和 桌面 都切换不了了... ubuntu 14.04 x64 OTZ... Re:  宿莽_csdn 2014-10-07 17:15发表 [回复] 回复yurenchen:64位的版本,我没有试过。。 你系统崩掉,有留下啥信息不? 例如 kernel crash 的信息。。 拍个图片。。? 我新建了个群,看看大伙能否解决你问题? 随身WiFi_Linux_Ap (389615079) Re:  yurenchen 2014-10-08 20:19发表 [回复] 回复宿莽_csdn:(⊙v⊙)嗯,谢谢,我上传了 崩溃时的截图:https://img-my.csdn.net/uploads/201410/08/1412770741_1101.jpg具体日志我需要再找一下.. 14楼  yurenchen 2014-10-01 02:30发表 [回复] ubuntu14.04 使用 gcc4.4 编译 加载驱动时报错  Unknown symbol mcount (err 0)  换成 gcc4.8 编译 安装完成, 正常工作,android手机已连上. 严重强烈感谢博主~ 13楼  Lun 2014-09-30 15:14发表 [回复] 可不可以写一个龙芯2F笔记本下的小米wifi驱动或者360wifi2的驱动啊,感激不尽 Re:  宿莽_csdn 2014-10-07 17:22发表 [回复] 回复Lun:兄弟,你龙芯笔记本用啥系统,编译出什么错??帖个log?内核是多少?? 12楼  tanyang 2014-09-30 10:48发表 [回复] 在树莓派中操作,错误如下,请指点一下QAQ [plain]  view plain  copy ra0: ERROR while getting interface flags: No such device   Error: Module mt7601Usta is not currently loaded   ERROR: could not insert 'rtutil7601Uap': Exec format error   ERROR: could not insert 'mt7601Uap': Exec format error   ERROR: could not insert 'rtnet7601Uap': Exec format error   ra0: ERROR while getting interface flags: No such device   SIOCSIFADDR: No such device   ra0: ERROR while getting interface flags: No such device   Internet Systems Consortium DHCP Server 4.2.2   Copyright 2004-2011 Internet Systems Consortium.   All rights reserved.   For info, please visit https://www.isc.org/software/dhcp/   Wrote 0 leases to leases file.      No subnet declaration for ra0 (no IPv4 addresses).   ** Ignoring requests on ra0.  If this is not what      you want, please write a subnet declaration      in your dhcpd.conf file for the network segment      to which interface ra0 is attached. **         Not configured to listen on any interfaces!   1   Re:  宿莽_csdn 2014-09-30 14:47发表 [回复] 回复tanyang:兄弟,这个版本是给PC运行的。。 树莓派,你得重新配置makefile.inc,然后再编译。。 现在的Makefile.inc 是 #PLATFORM: Target platform PLATFORM = PC 你可以看看这个链接 http://blog.csdn.net/q1256872588/article/details/16870065 从log看,是你的内核驱动地址,你要配置一下。。 不然加载的时候都找不到驱动。。。 解决了这个,再解别的后面的问题。。谢 11楼  JerseyGood 2014-09-29 11:05发表 [回复] Ubuntu 14.04 LTS 成功~ 感谢! 10楼  haoyayade 2014-09-23 19:04发表 [回复] 不专业了我,对不住了博主。因为14.04里面没有/var/log/messages这个文件,所以我只能拍下来。这是我屏幕打印出来的信息的链接 http://blog.csdn.net/haoyayade/article/details/39502417。 Re:  宿莽_csdn 2014-09-23 20:37发表 [回复] 回复haoyayade:暂时看不出原因。。 找到相关的链接 http://forum.ubuntu.org.cn/viewtopic.php?t=456228 另外,我想问,你用STA 的驱动还是AP的? 你可以模仿第一个链接,打印相关的log 出来给大家看看。。。 9楼  seiyaaa 2014-09-09 16:32发表 [回复] 引用“sumang_87”的评论:回复seiyaaa:我的也是ubuntu12.04 这个驱动直接运行就可以... 好用了,我上周直接下载的zip代码编译还不好使的,这次换成git clone下来编译成功了,多谢 正好研究下这个编译过程学习下 8楼  jiahao5586 2014-09-04 09:02发表 [回复] 我是小白,这个方法是不是换个发行版就不通用了?就像第三步,配置dhcp3-server,我用的fedora 20,命令根本不支持,不知道该怎么往下进行了。 Re:  宿莽_csdn 2014-09-05 20:25发表 [回复] 回复jiahao5586:其实我也是linux小白,还只是会用ubuntu,不过,fedora,都是用yum 来 代 替 apt-get你可以尝试下,另外,你可以搜索 下fedora如何进行 dhcp server的配置。。 尝试下,跨过一个又一个的坎。。你就会慢慢变成非小白。。 7楼  seiyaaa 2014-09-01 20:43发表 [回复] 遇到这个问题咋解决 $ sudo ./miwifi_build.sh  .... make[1]: *** No rule to make target `clean'. Stop. make: *** [clean] Error 2 removed `src/os/linux/Module.symvers' Re:  宿莽_csdn 2014-09-01 21:31发表 [回复] 回复seiyaaa:其实问题,不在最后几行,是前面出得错。。 你是怎么运行脚本的? 你系统是什么? log请贴多一些。。 Re:  seiyaaa 2014-09-02 19:12发表 [回复] 引用“sumang_87”的评论:回复seiyaaa:其实问题,不在最后几行,是前面出得错。。 你是怎么运行... 系统是ubutu12.04,我修改TARGET=LINUX和另外一个,然后$ sudo ./miwifi_build.sh ,有qq沟通么?解决后我再来贴出咋解决的 Re:  宿莽_csdn 2014-09-03 01:02发表 [回复] 回复seiyaaa:我的也是ubuntu12.04 这个驱动直接运行就可以,不用修改。。 我已经测试过。。至于Q,我已经在下面回复了N遍, 其实你可以看到的 6楼  qq_20240163 2014-08-30 22:16发表 [回复] 小度WiFi成功,稍微修改了下rtusb_dev_id.c Re:  宿莽_csdn 2014-08-30 22:39发表 [回复] 回复qq_20240163:另外,如果可以的话,你发下你的id给我, 或rtusb_dev_id.c 文件给我,我更新下代码 Q 603074587 后面的同学用到小度wifi也会方便些。。谢谢。。 或者你可以github上修改代码,Pull Request, thx Re:  宿莽_csdn 2014-08-30 22:29发表 [回复] 回复qq_20240163:谢谢测试,我之前用糯米版的小度wifi怎么都搞不定~~ 我暂时只能说,我的糯米版的有问题。。 5楼  sole1230 2014-08-30 20:34发表 [回复] 请问‘如果这步骤没有问题,可以不用看分割线下面文字“是指不出现输出结果解析里的内容吗? Re:  sole1230 2014-08-30 20:36发表 [回复] 回复sole1230:就是我按你说的一步步来最后出现输出结果解析里的内容,也可以搜到MiWiFi_SuMang,手机可以链接但无法上网 Re:  宿莽_csdn 2014-08-30 22:34发表 [回复] 回复sole1230:你是否更改了,eth0 为你的常用网卡。。 eth0 是我的有线网卡。。 另外,请发送ifconfig信息给我。。 如果仍然不能解决问题。。我想办法。 用teamviewer 帮你看看。。。 或者请加Q 603074587 4楼  zimingjushi 2014-08-15 14:57发表 [回复] 多谢了~搞定了 360WIFI Ubuntu 12.04 Re:  宿莽_csdn 2014-08-15 22:54发表 [回复] 回复zimingjushi:不用谢,也幸好,你是ubuntu12.04 之前有个14.04的好像编译不过,我还没给他们想到办法。。 也同时谢谢你测试360WIFI,虽然我理论上知道是可以。。。 3楼  maikemicle 2014-08-12 18:56发表 [回复] 用你的方法成功驱动 360wifi 2 (kubuntu 14.04) 做ap, 就是想了解下细节东西,原版驱动DPA_MT7601U_LinuxAP_3.0.0.0_beta_20130514.tar.bz2编译之后结合 dhcp iptables 工具没有出现热点,请问要做那些修改了, 能给点线索吗? Re:  haoyayade 2014-09-15 11:15发表 [回复] 回复maikemicle:我按照博主的教程在ubuntu14.04下也成功驱动360wifi做AP,但是时不时出现 “Kernel panic - not syncing: Fatal exception in interrupt”的情况。好像说是mt7601Usta这个驱动出现问题。请问有什么解决方法吗? Re:  宿莽_csdn 2014-09-20 16:22发表 [回复] 回复haoyayade:兄弟,我只想说,以后回复问题,请按楼层 按顺序回复,一回上,一回下。让人看得辛苦 这种情况未遇到过。。 而且panic后,你没有把log贴出来。 我怎么看。。有木有 堆栈呢~~~ Re:  宿莽_csdn 2014-08-13 13:39发表 [回复] 回复maikemicle:你可以去看我的github对这个驱动的修改。。 https://github.com/eywalink/mt7601u/commits/master 我不是基于原版驱动来修改。。原版驱动有个大问题,就是压根没有ap的模块代码,我是在另一个大神有ap代码上,开了宏,再修改代码。。。 Re:  maikemicle 2014-08-14 08:31发表 [回复] 回复宿莽_csdn:是我脚本没混了,现在我想通过dhcp + iptables 看直接给本本做热点能不能? Re:  宿莽_csdn 2014-08-14 09:11发表 [回复] 回复maikemicle:我估计直接用dhcp + iptables,前提是你的笔记本网卡已经变成ap。 其实有别的一些方案(hostapd),支持本身网卡直接生成ap 但是也要看网卡本身是否支持nt80211协议。。 如我的笔记本网卡intel51xx官方说支持,但是实际上却不成功 Re:  maikemicle 2014-08-13 23:13发表 [回复] 回复宿莽_csdn:thanks,!! 今天在笔记本上弄 ra0 一直无法启动,/etc/default/isc-dhcp-server INTERFACES="wlan0" 才成功,想启动下原本的无线网卡(稍稍改了下,work 脚本),结果启动的还是ra0,奇怪 Re:  宿莽_csdn 2014-08-15 22:52发表 [回复] 回复maikemicle:那你是成功了,还是没成功??? 2楼  frankskidd 2014-08-10 10:32发表 [回复] [引用] [举报] 您好,请问: rtutil7601Uap、mt7601Uap和rtnet7601Uap驱动在哪里下载?木有找到哇。。。 Re:  宿莽_csdn 2014-08-10 11:08发表 [回复] [引用] [举报] 回复frankskidd:谢谢你的反馈~~ 如果你编译完后, 请看下 src/os/ 下有没有那三个文件。。 我稍后看下脚本和代码。。是否有问题。。 Re:  frankskidd 2014-08-19 22:54发表 [回复] 回复宿莽_csdn:谢谢,在os/linux目录下找到mt7601Uap,木有找到rtutil7601Uap和rtnet7601Uap。会不会是系统原因?我的是Fedora 20 在步骤三执行yum install dhcp3-server 提示没有找到该包,执行 yum install dhcp 提示已安装dhcp, /etc/dhcp目录下也木有dhcpd.conf。求大神帮忙哈! Re:  宿莽_csdn 2014-08-21 14:39发表 [回复] 回复frankskidd:1.请发一个编译的log,到我邮箱,谢谢。。 sumang.li@foxmail.com 2.dhcp,你得查查fedora下的dhcp配置, 自己完成那部分就可以了,跟ubuntu可能会有出入的。。 Re:  宿莽_csdn 2014-08-10 11:58发表 [回复] [引用] [举报] 回复宿莽_csdn:您好,我已经修改了脚本的bug(添加了make install )1.你可以更新miwifi_build.sh文件2.你也可以在自己在miwifi_build.sh后再与运行 make install ps:运行前记得sudo这样驱动会加载到系统的驱动目录这时再运行 miwifi_work.sh应该没有问题了。。麻烦测试下。。 1楼  落叶行健 2014-07-29 17:53发表 [回复] 不错哦,支持分享
转载请注明原文地址: https://www.6miu.com/read-21729.html

最新回复(0)