Difference between revisions of "Matrix - USB WiFi/zh"

From FriendlyELEC WiKi
Jump to: navigation, search
(介绍)
 
(26 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[Matrix - USB WiFi|English]]
 
[[Matrix - USB WiFi|English]]
  
* NanoPi 2 Fire使用的固件跟NanoPi 2通用,为了不跟NanoPi 2的SD WiFi产生冲突,内核暂时不支持USB WiFi。如果需要给fire使用USB WiFi,可单独把USB WiFi编译进内核;
+
==介绍==
* 由于市面上USB WiFi型号多达上百种,如果把全部USB WiFi驱动选上不太现实,所以这里只介绍一种的方法,其他USB WiFi型号 方法一样,可参看此处自行编译支持;
+
* 注明:此方法同样适用于NanoPi M2。
 +
NanoPi 2 Fire使用的固件跟NanoPi 2通用,为了不跟NanoPi 2的SD WiFi产生冲突,内核缺省不编译USB WiFi。如果需要给NanoPi 2 Fire使用USB WiFi,可单独把USB WiFi编译进内核。<br>
 +
由于市面上USB WiFi型号多达上百种,如果把全部USB WiFi驱动选上不太现实,所以这里只介绍一种的方法,其他USB WiFi型号 方法一样,可参看此处自行编译支持。
  
此处使用的USB WiFi接口:2.0;
+
* 示例USB WiFi芯片:RT3070;<br>
芯片:RTL8192CU;
+
* 无线标准: - IEEE 802.11b/g/n;<br>
无线标准: - IEEE 802.11b/g/n;
+
* 操作系统:Debian;
 +
* 开始之前,需要先根据NanoPi 2 Fire的wiki:[[NanoPi_2_Fire/zh|NanoPi_2_Fire]],把启动卡做好。
  
1、根据维基教程把开发环境搭建好后,把NanoPi 2 Fire 的内核源码克隆回来:<br>
+
==下载内核源代码==
编译Debian内核:
+
 
 +
根据维基教程把开发环境搭建好后,下载NanoPi 2 Fire的内核源代码:<br>
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
git clone https://github.com/friendlyarm/linux-3.4.y.git
 
git clone https://github.com/friendlyarm/linux-3.4.y.git
Line 15: Line 19:
 
git checkout nanopi2-lollipop-mr1
 
git checkout nanopi2-lollipop-mr1
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
NanoPi 2 Fire的内核所属的分支是nanopi2-lollipop-mr1,在开始编译前先切换分支。<br>
  
NanoPi2内核所属的分支是nanopi2-lollipop-mr1,在开始编译前先切换分支。<br>
+
==增加USB WiFi支持==
<syntaxhighlight lang="bash">
+
修改配置内核配置,增加USB WiFi支持并编译:
make nanopi2_linux_defconfig
+
touch .scmversion
+
make uImage
+
</syntaxhighlight>
+
 
+
编译成功结束后,新生成的内核烧写文件为 arch/arm/boot/uImage,此内核支持HDMI 720p输出,用于替换掉SD卡boot分区下的uImage.hdmi,拷贝完之后,记住执行sync确保拷贝成功。<br>
+
 
+
2、如果需要支持USB WiFi,则重新配置内核配置单后编译:
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
touch .scmversion
 
touch .scmversion
 
make nanopi2_linux_defconfig
 
make nanopi2_linux_defconfig
 
make menuconfig
 
make menuconfig
      Device Drivers  -->
+
  [*] Networking support  -->                               
              [ * ] Network device support  -->                     
+
      -*- Wireless  -->
                      [ * ] Wireless LAN   -->                                   
+
          [*] Generic IEEE 802.11 Networking Stack (mac80211)
                              [ * ] Ralink driver support  -->
+
  Device Drivers  -->
                                      [M] Ralink rt27xx/rt28xx/rt30xx (USB) support                   
+
      [*] Network device support  -->                     
                                      [ * ] rt2800usb - Include support for rt33xx devices
+
          [*] Wireless LAN -->                                   
                                      [ * ] rt2800usb - Include support for rt35xx devices
+
              [*] Ralink driver support  -->
 
+
                  [*] Ralink rt27xx/rt28xx/rt30xx (USB) support                   
         
+
                  [*]   rt2800usb - Include support for rt33xx devices
        [*] Networking support  -->                               
+
                  [*]   rt2800usb - Include support for rt35xx devices
                -*- Wireless  -->
+
                            [ * ] Generic IEEE 802.11 Networking Stack (mac80211)
+
 
make uImage
 
make uImage
 
</syntaxhighlight>
 
</syntaxhighlight>
 
+
编译成功结束后,新生成的内核烧写文件为 arch/arm/boot/uImage,此内核支持HDMI 720p输出,用于替换掉SD卡boot分区下的uImage.hdmi,拷贝完之后,执行sync命令确保拷贝成功。<br>
+
<syntaxhighlight lang="bash">
使用新生成的uImage替换掉SD卡boot分区下的uImage.hdmi即可获得HDMI 1080p输出。<br>
+
sync
 
+
</syntaxhighlight>
如果要编译支持LCD显示的内核,则需要修改内核配置:
+
如果要编译支持LCD显示的内核,则需要在此基础上修改内核配置:
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
touch .scmversion
 
touch .scmversion
make nanopi2_linux_defconfig
 
 
make menuconfig
 
make menuconfig
        Device Drivers -->
+
  Device Drivers -->
                Graphics support -->
+
    Graphics support -->
                        Nexell Graphics -->
+
      Nexell Graphics -->
                                  [*] LCD
+
        [*] LCD
                                  [ ] HDMI
+
        [ ] HDMI
 
mak uImage
 
mak uImage
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
 
启用LCD,同时取消HDMI,然后退出并保存配置,编译后即可获得支持LCD显示的uImage,用于替换SD卡boot分区下的uImage。<br>
 
启用LCD,同时取消HDMI,然后退出并保存配置,编译后即可获得支持LCD显示的uImage,用于替换SD卡boot分区下的uImage。<br>
  
3、将做好的启动卡根据维基的方法进行分区,分区后启动把卡插进开发板上电启动(板子需要接上网线);<br>
+
==下载linux-firmware==
 
+
将SD卡插入开发板,并接上网线,然后上电,执行以下步骤安装RT3070的固件:<br>
4、我们提供的是标准的Debian jessie系统,需要先运行以下步骤:
+
 
+
* 板子启动后,先更改Debian系统的源,需要编辑 /etc/apt/sources.list 更换一个更快的源服务器,这个网址[http://www.debian.org/mirror/list]有一份完整的源镜像服务器列表,注意要选用一个带armhf架构的。
+
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
apt-get update
 
apt-get update
apt-get install linux-firmware
+
apt-get install firmware-ralink
 
</syntaxhighlight>
 
</syntaxhighlight>
 
+
如果你使用的USB WiFi不是RT3070,你可以尝试安装所有固件即可:<br>
5、安装成功后,接上USB WiFi,板子即能识别到USB WiFi。
+
<syntaxhighlight lang="bash">
 +
apt-get install firmware-*
 +
</syntaxhighlight>
 +
安装成功后,接上USB WiFi,板子即能识别到USB WiFi。

Latest revision as of 06:49, 8 March 2016

English

1 介绍

  • 注明:此方法同样适用于NanoPi M2。

NanoPi 2 Fire使用的固件跟NanoPi 2通用,为了不跟NanoPi 2的SD WiFi产生冲突,内核缺省不编译USB WiFi。如果需要给NanoPi 2 Fire使用USB WiFi,可单独把USB WiFi编译进内核。
由于市面上USB WiFi型号多达上百种,如果把全部USB WiFi驱动选上不太现实,所以这里只介绍一种的方法,其他USB WiFi型号 方法一样,可参看此处自行编译支持。

  • 示例USB WiFi芯片:RT3070;
  • 无线标准: - IEEE 802.11b/g/n;
  • 操作系统:Debian;
  • 开始之前,需要先根据NanoPi 2 Fire的wiki:NanoPi_2_Fire,把启动卡做好。

2 下载内核源代码

根据维基教程把开发环境搭建好后,下载NanoPi 2 Fire的内核源代码:

git clone https://github.com/friendlyarm/linux-3.4.y.git
cd linux-3.4.y
git checkout nanopi2-lollipop-mr1

NanoPi 2 Fire的内核所属的分支是nanopi2-lollipop-mr1,在开始编译前先切换分支。

3 增加USB WiFi支持

修改配置内核配置,增加USB WiFi支持并编译:

touch .scmversion
make nanopi2_linux_defconfig
make menuconfig
  [*] Networking support  -->                                 
      -*- Wireless  -->
          [*] Generic IEEE 802.11 Networking Stack (mac80211) 
  Device Drivers  -->
      [*] Network device support  -->                     
          [*] Wireless LAN  -->                                  
              [*] Ralink driver support  -->
                  [*] Ralink rt27xx/rt28xx/rt30xx (USB) support                  
                  [*]   rt2800usb - Include support for rt33xx devices
                  [*]   rt2800usb - Include support for rt35xx devices
make uImage

编译成功结束后,新生成的内核烧写文件为 arch/arm/boot/uImage,此内核支持HDMI 720p输出,用于替换掉SD卡boot分区下的uImage.hdmi,拷贝完之后,执行sync命令确保拷贝成功。

sync

如果要编译支持LCD显示的内核,则需要在此基础上修改内核配置:

touch .scmversion
make menuconfig
  Device Drivers -->
    Graphics support -->
      Nexell Graphics -->
        [*] LCD
        [ ] HDMI
mak uImage

启用LCD,同时取消HDMI,然后退出并保存配置,编译后即可获得支持LCD显示的uImage,用于替换SD卡boot分区下的uImage。

4 下载linux-firmware

将SD卡插入开发板,并接上网线,然后上电,执行以下步骤安装RT3070的固件:

apt-get update
apt-get install firmware-ralink

如果你使用的USB WiFi不是RT3070,你可以尝试安装所有固件即可:

apt-get install firmware-*

安装成功后,接上USB WiFi,板子即能识别到USB WiFi。