20150626更新基于 linux kernel 4.0.6 的步骤,建议先看最后更新的部分

20151205更新,发现在8月13日时,来自4.2的mt7601u驱动被移植到了4.1.5,所以,升级内核到4.1.5或以上,只需要下载  mt7601u.bin 放到 /lib/firmware/ 下就可以了,就是执行下面这条命令。具体来源见 https://github.com/raspberrypi/linux/issues/1090

sudo wget https://github.com/porjo/mt7601/raw/master/src/mcu/bin/MT7601.bin -O /lib/firmware/mt7601u.bin

如果内核是4.1.5以上,下文都不需要看了,驱动已经自带,不需要自己编译,只需要补上 /lib/firmware/mt7601u.bin 就可以了。

否则,看下面的几行来更新系统,再补上 mt7601u.bin ,也就ok了。

20170107更新,最近把卡格了重新装raspbian系统,是2016-11-25的版本,内核是4.4,发现mt7601u.bin也已经自带,直接插上就用,不需要折腾。这个版本的蛋疼之处在于SSH默认关闭,需要在启动分区加上一个名为ssh的文件,才可以开启SSH。

首先,更新你的树莓派(避免编译出来版本不对导致不能insert):

sudo apt-get update

sudo apt-get upgrade

sudo apt-get dist-upgrade

sudo rpi-update

更新gcc和g++:

#可能有点问题,先不要更新 20150506

#sudo apt-get install gcc-4.8 g++-4.8

#sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 20

#sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50

#sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 20

#sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50

解压:

tar xjvf DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2

cd DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/

打开 common/rtusb_dev_id.c,在 {USB_DEVICE(0x148f,0×7601)}, /* MT 6370 */  下面加入以下内容:

{USB_DEVICE(0x148f,0x760b)}, /* 360 Wifi */

{USB_DEVICE(0x2955,0x1001)}, /* baidu Wifi */

{USB_DEVICE(0x2a5f,0x1000)}, /* Tencent WiFi */

{USB_DEVICE(0x2955,0x0001)}, /* XiaoDu Wifi */

{USB_DEVICE(0x2717,0x4106)}, /* Xiaomi Wifi */

打开 include/os/rt_linux.h,找到

int fsuid;

int fsgid;

并把它改为

kuid_t fsuid;

kgid_t fsgid;

查看当前内核的版本:

uname -r

显示我的版本是3.18.8+ ,所以下载对应的3.18的linux源码,然后解压:

wget https://github.com/raspberrypi/linux/archive/rpi-3.18.y.tar.gz

tar xvfz rpi-3.18.y.tar.gz

取得root权限,将源码移至/usr/src目录:

sudo su

mv linux-rpi-3.18.y /usr/src

建立内核模块库目录的链接:

ln -s /usr/src/linux-rpi-3.18.y /lib/modules/3.18.8+/build

cd /lib/modules/3.18.8+/build

make mrproper 可以看作更加强劲的 make clean 命令,用来清除环境变量,即清除配置文件,一般编译内核前都要运行:

make mrproper

将当前正在使用的系统的内核配置生成内核配置信息:

gzip -dc /proc/config.gz > .config

生成编译内核所需要的东西:

make modules_prepare

获取内核编译时生成的内核模块导出符号文件。因为不是从头编译内核,所以没有,但是编译内核模块需要这个:

wget https://github.com/raspberrypi/firmware/raw/master/extra/Module.symvers

再到网卡驱动目录中编译驱动(进入到DPO_MT7601U_LinuxSTA_3.0.0.4_20130913):

make

make install

modprobe mt7601Usta

如无报错,驱动就安装完成了。

之后是修改/etc/network/interfaces文件,我改成这样:

auto lo

iface lo inet loopback

iface eth0 inet dhcp

allow-hotplug wlan0

iface wlan0 inet manual

wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp

allow-hotplug ra0

iface ra0 inet manual

wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

其中添加的ra0是对应MT7601的,wlan0没有改,插其他无线网卡应该也能正常用。

然后修改/etc/wpa_supplicant/wpa_supplicant.conf,填入要连接的无线网络的配置。

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

network={

ssid="yourssid"

psk="yourpassword"

proto=RSN

key_mgmt=WPA-PSK

pairwise=CCMP TKIP

group=CCMP TKIP

auth_alg=OPEN

priority=3

}

最后的priority是该配置的优先级,数字越大越先连接。添加几个就能在不同的地方自动连接了。

重启机器,用ifconfig、iwconfig等测试无线网卡能否正常工作。

rdp远程登录进去,打开Wifi设置后的截图

=========================

20150306更新:在内核更新到3.18后,驱动需要重新编译,出现了种种问题,在参考了[2]和[3]后,升级了gcc版本和修改了rt_linux.h。

20150306于RaspberryPi Model B+测试成功,内核为3.18.8。

20150506更新:在升级gcc后,似乎在make modules_prepare时会遇到compiler too buggy的问题。我又找了一下,还是在树莓派的官方论坛,https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=49864&start=179这里:

On the first time running rpi-source, you have to have the default gcc 4.6.3. You have to also specify –skip-gcc so that rpi-source doesn’t care about the different gcc in use and what’s been used to build the default kernel. If you run rpi-source with 4.8.2 as the default gcc, you’ll end up getting message like this during the kernel preparation (make prepare?) phase:

…error Your compiler is too buggy; it is known to miscompile kernels…

That’s why you have to first run rpi-source with the default gcc 4.6.3 with –skip-gcc parameter. After rpi-source gets all done, you have to change to gcc 4.8.2. The kernel doesn’t let you compile the kernel itself, but you can compile compatible modules for it. It’s bit tricky . It would be great if the default Raspbian gcc would compile compatible modules. Maybe gcc 4.8.3 would not complain about the kernel miscompile problem?

似乎是先用自带的4.6.3 prepare好了之后,再换用4.8的意思,各位研究一下吧。

tar xzf mt7601-3.18.11-776.tar.gz

/install.sh

另外,在github上有了第三方的驱动,适用于kernel 3.19以上的版本,并且被合并到kernel 4.2,所以未来升级到4.2的时候就再也不用烦恼了。如果要自己编译,就到上面的github链接看看吧。

20150626更新

今天把我的RPi B+更新到了4.0.6内核,(Linux raspberrypi 4.0.6+ #798 PREEMPT Tue Jun 23 17:48:03 BST 2015 armv6l),然后成功使用了上文提到的github的新驱动。

步骤与之前的基本相同。以下步骤未详细说明的都在本文中有提及。

更新树莓派

确保使用的是gcc 4.6

查看当前内核的版本,下载对应的源码,解压,移到/usr/src

建立内核模块库目录的链接,并切换目录到/lib/modules/`uname -r`/build

make mrproper

sudo modprobe configs   #这会生成 /proc/config.gz

gzip –dc /proc/config.gz > .config

make modules_prepare

下载Module.symvers

切换到gcc 4.8,(就是前文update-alternatives的那几行)不然编译出来会kernel oops,我试过了,20150506的更新也有提到这一点

把https://github.com/porjo/mt7601或官方驱动中的src/mcu/bin/MT7601.bin复制到/lib/firmware/下,命名为mt7601u.bin

下载驱动源码 https://github.com/kuba-moo/mt7601u/archive/master.zip 并解压到你喜欢的目录,在usb.c里自带了很多USB DEV ID,包括360腾讯小米等,应该不用自己添加了

make && sudo make install && sudo depmod

sudo modprobe mt7601u(make install 之后mt7601u.ko会放到/lib/modules/4.0.6中,如果有问题就放到/lib/modules/4.0.6+/kernel/drivers/net/wireless/下吧)

插上你的MT7601,ifconfig看一下有没有wlan0吧

/etc/network/interfaces文件中没有ra0部分,只用wlan0

相关参考:

Views:

7,067

mtk无线网卡 linux,在树莓派上使用基于MT7601的无线网卡(如360/百度/腾讯Wifi)相关推荐

  1. 如何在树莓派上搭建基于6LowPAN的边界路由器(基于cetic/6LBR方案)

    前言 本文档的完成时间是2018年12月3日,整个搭建过程加上文档编写大概花了两周时间,在此期间,也遇到了一些问题,在师兄的帮助下,顺利完成了6LowPAN的边界路由器的搭建. 正文 文章内容概要: ...

  2. live555 编译 linux,在树莓派上搭建LIVE555 Streaming Media服务器端

    本文提供两种在树莓派上搭建Live555流媒体服务器端的方法: 1)直接在树莓派上对live555进行编译 2)交叉编译之后在传到树莓派上 注:前者相当简简单,而后者只需要传最后生成的可执行文件以及想 ...

  3. 在树莓派上使用基于MCP2515的CAN总线模块

    本文介绍如何在树莓派上配置CAN总线模块MCP2515,并使用基于SocketCAN的工具Can-utils实现CAN消息的收发. MCP2515概述: Microchip 的MCP2515 是一款独 ...

  4. 树莓派安装python3替换python2_在树莓派上安装基于python3的OpenCV

    书接上文Sebastian Zhou:从零开始在树莓派上安装系统(无显示器和网线)​zhuanlan.zhihu.com关于树莓派上安装OpenCV的教程也有很多,但似乎都陷入了一个怪圈,一定要在树莓 ...

  5. linux下安装intel无线网卡,Linux下hd intel声卡与dell 1395无线网卡的安装

    本人的戴尔(Dell) Inspiron 1525 笔记本电脑,声卡也有问题,虽然声音本身就很小,但是有声总比没声强吧 安装alsa,到alsa的官方网站上,下载,drivers,lib,utils三 ...

  6. 如何在树莓派上安装Fedora 25

    了解 Fedora 第一个官方支持树莓派的版本 2016 年 10 月,Fedora 25 Beta 发布了,随之而来的还有对 树莓派 2 和 3 的初步支持.Fedora 25 的最终"通 ...

  7. 如何在树莓派上安装 Fedora 25

    2016 年 10 月,Fedora 25 Beta 发布了,随之而来的还有对 树莓派 2 和 3 的初步支持.Fedora 25 的最终"通用"版在一个月后发布,从那时起,我一直 ...

  8. 树莓派运行python import os未找到命令_通过pip指令在树莓派上基于Python3安装OpenCV...

    前言 Python是现如今在人工智能领域较为热门的编程语言,因其简洁的语言风格.丰富的类库支持以及具有活跃的交流社区,受到广大开发者的喜爱.起初,python是一门辅助科学研究的一门语言,但因其在当今 ...

  9. 360wifi在linux系统如何使用,在树莓派上使用360WIFI(也适用于小米、百度、腾讯WIFI)...

    在树莓派上使用360WIFI完整步骤如下(也适用于小米.百度.腾讯WIFI) tar xjvf DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2 cd DPO ...

  10. 树莓派linux界面命令行,Linux/Raspberry Pi下使用基于命令行的网页浏览器

    本文将向你介绍如何在树莓派上安装3个不同的基于文本的网页浏览器.大多数的网页浏览器在小派上运行都有点吃力,要不就是会消耗大量资源,所以一个替代方案就是使用一个基于命令行的网页浏览器. 到目前为止基于文 ...

最新文章

  1. nagios系列(六)之nagios实现对服务器cpu温度的监控
  2. 瞬间几千次的重复提交,我用 Spring Boot + Redis 扛住了!
  3. 13个Pandas实用技巧,有点香 !
  4. Angular NgTemplateOutlet的一个例子
  5. .NET Standard 2.0:整齐划一的目标
  6. android程序到处apk,导出已安装到手机中程序的apk文件
  7. [UWP]做个调皮的BusyIndicator
  8. nginx绑定多个端口
  9. python ssl模块安装_在Windows上安装Python的SSL模块(2.5.4)
  10. C#获取屏幕大小或任务栏大小
  11. 如何使用ArcGIS Pro制作三维地图
  12. 雷蛇雷云3无法连接服务器,雷蛇驱动安装无法访问服务器怎么办
  13. 写在2021年的尾巴
  14. mybatis的大于小于号转义符号
  15. 骨传导耳机是利用什么原理听歌?什么骨传导耳机好用
  16. 计算机切换输入法Word关闭,win7旗舰版64位系统下word程序无法切换输入法的解决方法...
  17. VRF虚拟路由转发实例说明
  18. C语言实现乘方运算---m的n次方(附完整源码)
  19. iPhone6对flex的兼容
  20. 中粮集团智慧园区网,锐捷用匠心打造工业4.0时代智能工厂

热门文章

  1. 方波峰峰值和有效值_峰峰值,峰值,平均值,有效值的关系.pdf
  2. Idea如何设置页面内容模板
  3. 二维码生成器如何批量制作溯源二维码
  4. 读计算机专业买什么笔记本电脑好?你算问对人了
  5. c语言实验报告问题错误分析,C语言实验报告(三)
  6. 高等数学学习指导_学习A-Level应该如何选课?
  7. java jsp考试试题_JSP测试题一
  8. 白帽子讲web安全笔记
  9. C语言中的常见关键字
  10. LintCode Memcache