“MY-IMX6开发指导手册 WIFI(RTL8188EUS)”的版本间的差异

来自明远智睿的wiki
跳转至: 导航搜索
(创建页面,内容为“ <br> = '''文档说明''' = ---- == '''系统环境说明''' == *编译主机CPU架构:64位<br> *编译主机系统:Linux<br> *Linux发行版:Ubuntu<br> *Ubu...”)
 
 
(未显示同一用户的2个中间版本)
第1行: 第1行:
<br>
+
<div>
 +
 
 
= '''文档说明''' =
 
= '''文档说明''' =
 
----
 
----
第5行: 第6行:
 
*编译主机CPU架构:64位<br>
 
*编译主机CPU架构:64位<br>
 
*编译主机系统:Linux<br>
 
*编译主机系统:Linux<br>
*Linux发行版:Ubuntu<br>
+
*Linux 发行版:Ubuntu<br>
 
*Ubuntu版本类型:服务器版<br>
 
*Ubuntu版本类型:服务器版<br>
 
*Ubuntu版本号:12.04.5<br>
 
*Ubuntu版本号:12.04.5<br>
 
*Ubuntu系统类型:x86-64<br>
 
*Ubuntu系统类型:x86-64<br>
 +
 
== '''操作说明''' ==
 
== '''操作说明''' ==
 
1)文档中以“$”开头的行,其后是Linux命令。<br>
 
1)文档中以“$”开头的行,其后是Linux命令。<br>
第16行: 第18行:
 
5)按文档输入并执行Linux命令时注意观察命令的执行结果与文档图片中的是否一致,以确认命令是否输入有误及是否执行失败。<br>
 
5)按文档输入并执行Linux命令时注意观察命令的执行结果与文档图片中的是否一致,以确认命令是否输入有误及是否执行失败。<br>
 
== '''其它说明''' ==
 
== '''其它说明''' ==
 +
 +
 
=== 截图说明 ===
 
=== 截图说明 ===
 
为使视图看起来简洁整齐,截图中的命令提示符统一使用<span style="color:green">myzr</span>$。<br>
 
为使视图看起来简洁整齐,截图中的命令提示符统一使用<span style="color:green">myzr</span>$。<br>
第23行: 第27行:
 
----
 
----
 
== '''下载源码包''' ==
 
== '''下载源码包''' ==
 +
 
在网盘下载 RTL8188EUS_RTL8189ES_linux_v4.1.7_9024.20130916.zip<br>
 
在网盘下载 RTL8188EUS_RTL8189ES_linux_v4.1.7_9024.20130916.zip<br>
 +
 
== '''解压源码包''' ==
 
== '''解压源码包''' ==
 +
 
=== 创建工作目录 ===
 
=== 创建工作目录 ===
 
这里我们创建 ~/my-i.mx6/02_source/modules/rtl8188eus 作为WIFI(RTL8188EUS)移植的工作目录。<br>
 
这里我们创建 ~/my-i.mx6/02_source/modules/rtl8188eus 作为WIFI(RTL8188EUS)移植的工作目录。<br>
 
<span style="background:yellow">$ mkdir ~/my-i.mx6/02_source/modules/rtl8188eus -p<br></span>
 
<span style="background:yellow">$ mkdir ~/my-i.mx6/02_source/modules/rtl8188eus -p<br></span>
 +
 
=== 复制源码包到工作目录 ===
 
=== 复制源码包到工作目录 ===
 +
 
将下载的源码包复制到 ~/my-i.mx6/02_source/modules/rtl8188eus 。<br>
 
将下载的源码包复制到 ~/my-i.mx6/02_source/modules/rtl8188eus 。<br>
 
这一步自己采取相应方式完成。<br>
 
这一步自己采取相应方式完成。<br>
 +
 +
 
=== 解压源码 ===
 
=== 解压源码 ===
 
1)解压源码包<br>
 
1)解压源码包<br>
第42行: 第53行:
 
*解压<br>
 
*解压<br>
 
<span style="background:yellow">$ tar zxf rtl8188EUS_rtl8189ES_linux_v4.1.7_9024.20130916.tar.gz<br></span>
 
<span style="background:yellow">$ tar zxf rtl8188EUS_rtl8189ES_linux_v4.1.7_9024.20130916.tar.gz<br></span>
 +
 
= '''准备编译''' =
 
= '''准备编译''' =
 
----
 
----
第51行: 第63行:
 
=== 添加新的平台类型 ===
 
=== 添加新的平台类型 ===
 
修改Makefile文件中的<br>
 
修改Makefile文件中的<br>
<span style="background:#c0c0c0">CONFIG_PLATFORM_I386_PC = y<br></span>
+
CONFIG_PLATFORM_I386_PC = y<br>
<br>
+
<span style="background:#c0c0c0">CONFIG_PLATFORM_I386_PC = n<br>
+
CONFIG_PLATFORM_I386_PC = n<br>
CONFIG_PLATFORM_MYIMX6 = y<br></span>
+
CONFIG_PLATFORM_MYIMX6 = y<br>
=== 配置编译参数 ===
+
 
 +
=== 配置编译参数===
 
在Makefile 文件中的“ifeq ($(CONFIG_PLATFORM_I386_PC), y)”前添加<br>
 
在Makefile 文件中的“ifeq ($(CONFIG_PLATFORM_I386_PC), y)”前添加<br>
<span style="background:#c0c0c0">ifeq ($(CONFIG_PLATFORM_MYIMX6), y)<br>
+
 
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN<br>
+
<span style="background:#yellow">ifeq ($(CONFIG_PLATFORM_MYIMX6), y)<br>EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN<br>MODULE_NAME := wlan<br>Endif</span><br>
MODULE_NAME := wlan<br>
+
 
Endif<br></span>
+
<span style="color:red">注意:每行都顶格。</span><br>
<span style="color:red">注意:每行都顶格。<br>
+
 
 +
 
 
== '''修改配置文件''' ==
 
== '''修改配置文件''' ==
 
=== 配置文件路径 ===
 
=== 配置文件路径 ===
第67行: 第81行:
 
=== 配置文件内容 ===
 
=== 配置文件内容 ===
 
在内核的编译过程中我们创建过编译的配置文件,如果没有编译配置文件,请参考下面内容添加:<br>
 
在内核的编译过程中我们创建过编译的配置文件,如果没有编译配置文件,请参考下面内容添加:<br>
  <span style="background:#c0c0c0">export ARCH=arm<br></span>
+
  export ARCH=arm<br>
  <span style="background:#c0c0c0">GCC_462_PATH=/home/myzr/my-i.mx6/03_tools/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin<br></span>
+
  GCC_462_PATH=/home/myzr/my-i.mx6/03_tools/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin<br>
  <span style="background:#c0c0c0">export CROSS_COMPILE=$GCC_462_PATH/arm-none-linux-gnueabi-
+
  export CROSS_COMPILE=$GCC_462_PATH/arm-none-linux-gnueabi-
 +
 
 +
 
 
=== 检查配置文件中的内核路径设置 ===
 
=== 检查配置文件中的内核路径设置 ===
 
我们需要在配置文件中添加MY-IMX6-EK200和MY-IMX6-EK314的内核源码路径。<br>
 
我们需要在配置文件中添加MY-IMX6-EK200和MY-IMX6-EK314的内核源码路径。<br>
 
提示:这里MY-IMX6-EK200的内核路径为:${HOME}/my-i.mx6/02_source/myimx6ek200/linux-2.6-imx-imx_3.0.35_4.1.0。MY-IMX6-EK314的内核路径为:${HOME}/my-i.mx6/02_source/myimx6ek314/linux-2.6-imx-imx_3.0.35_4.1.0<br>
 
提示:这里MY-IMX6-EK200的内核路径为:${HOME}/my-i.mx6/02_source/myimx6ek200/linux-2.6-imx-imx_3.0.35_4.1.0。MY-IMX6-EK314的内核路径为:${HOME}/my-i.mx6/02_source/myimx6ek314/linux-2.6-imx-imx_3.0.35_4.1.0<br>
 
在配置文件 ~/my-i.mx6/myimx6_3035_build_env 最后添加下面两行内容:<br>
 
在配置文件 ~/my-i.mx6/myimx6_3035_build_env 最后添加下面两行内容:<br>
  <span style="background:#c0c0c0">MYIMX6EK200_KSRC=${HOME}/my-i.mx6/02_source/myimx6ek200/linux-2.6-imx-imx_3.0.35_4.1.0<br></span>
+
  MYIMX6EK200_KSRC=${HOME}/my-i.mx6/02_source/myimx6ek200/linux-2.6-imx-imx_3.0.35_4.1.0<br>
  <span style="background:#c0c0c0">MYIMX6EK314_KSRC=${HOME}/my-i.mx6/02_source/myimx6ek314/linux-2.6-imx-imx_3.0.35_4.1.0<br>
+
  MYIMX6EK314_KSRC=${HOME}/my-i.mx6/02_source/myimx6ek314/linux-2.6-imx-imx_3.0.35_4.1.0<br>
 +
 
 +
 
 
=== 检查KSRC配置 ===
 
=== 检查KSRC配置 ===
 
在 ~/my-i.mx6/myimx6_3035_build_env 文件中检查 KSRC 配置。<br>
 
在 ~/my-i.mx6/myimx6_3035_build_env 文件中检查 KSRC 配置。<br>
 
如果我们为MY-IMX6-EK200编译WIFI模块,则配置如下:<br>
 
如果我们为MY-IMX6-EK200编译WIFI模块,则配置如下:<br>
<span style="background:#c0c0c0">export KSRC=${MYIMX6EK200_KSRC}<br></span>
+
export KSRC=${MYIMX6EK200_KSRC}<br>
 
如果我们为MY-IMX6-EK314编译WIFI模块,则配置如下:<br>
 
如果我们为MY-IMX6-EK314编译WIFI模块,则配置如下:<br>
<span style="background:#c0c0c0">export KSRC=${MYIMX6EK314_KSRC}<br></span>
+
export KSRC=${MYIMX6EK314_KSRC}<br>
 +
 
 
= '''编译''' =
 
= '''编译''' =
 
----
 
----
第87行: 第106行:
 
因为内核模块编译需要指定平台、交叉编译工具、内核源码等,所以需要使MY-IMX6的编译配置文件生效。<br>
 
因为内核模块编译需要指定平台、交叉编译工具、内核源码等,所以需要使MY-IMX6的编译配置文件生效。<br>
 
<span style="background:yellow">$ source ~/my-i.mx6/myimx6_3035_build_env<br>
 
<span style="background:yellow">$ source ~/my-i.mx6/myimx6_3035_build_env<br>
 +
 
== '''编译''' ==
 
== '''编译''' ==
 
<span style="background:yellow">$ make<br>
 
<span style="background:yellow">$ make<br>
 
== '''目标文件''' ==
 
== '''目标文件''' ==
 
<span style="background:yellow">$ ls<br>
 
<span style="background:yellow">$ ls<br>
 +
 
ls可以看到当前目录下有wlan.ko,wlan.do 即编译得到的目标文件<br>
 
ls可以看到当前目录下有wlan.ko,wlan.do 即编译得到的目标文件<br>
= '''WIFI测试''' =
+
 
 +
= '''WIFI 测试''' =
 
----
 
----
 
见《MY-IMX6-EKxxx Linux测试手册》<br>
 
见《MY-IMX6-EKxxx Linux测试手册》<br>
 +
 +
</div>

2018年7月27日 (五) 10:01的最新版本

文档说明


系统环境说明

  • 编译主机CPU架构:64位
  • 编译主机系统:Linux
  • Linux 发行版:Ubuntu
  • Ubuntu版本类型:服务器版
  • Ubuntu版本号:12.04.5
  • Ubuntu系统类型:x86-64

操作说明

1)文档中以“$”开头的行,其后是Linux命令。
2)文档中所有的Linux命令建议手动输入到Linux主机执行(直接复制、粘贴到Linux主机上执行,可能会执行失败)。
3)文档中的Linux执行命令,如果空格后的下一个字符是“-”的(如:sudo apt-get –y install之类的),请手动输入到Linux主机执行(直接复制、粘贴到Linux主机上执行,通常会执行失败)。
4)文档中所有一行没写完的Linux命令请手动输入到Linux主机执行,(因为复制、粘贴命令不能包含类似“换行符”之类的特殊字符)。
5)按文档输入并执行Linux命令时注意观察命令的执行结果与文档图片中的是否一致,以确认命令是否输入有误及是否执行失败。

其它说明

截图说明

为使视图看起来简洁整齐,截图中的命令提示符统一使用myzr$。

图片中的Linux命令

在文档的图片中观察“myzr$”开头的行可以直观的看到输入的Linux命令。

准备源码


下载源码包

在网盘下载 RTL8188EUS_RTL8189ES_linux_v4.1.7_9024.20130916.zip

解压源码包

创建工作目录

这里我们创建 ~/my-i.mx6/02_source/modules/rtl8188eus 作为WIFI(RTL8188EUS)移植的工作目录。
$ mkdir ~/my-i.mx6/02_source/modules/rtl8188eus -p

复制源码包到工作目录

将下载的源码包复制到 ~/my-i.mx6/02_source/modules/rtl8188eus 。
这一步自己采取相应方式完成。


解压源码

1)解压源码包

  • 进入源码目录

$ cd ~/my-i.mx6/02_source/modules/rtl8188eus

  • 解压

$ unzip RTL8188EUS_RTL8189ES_linux_v4.1.7_9024.20130916.zip
2)解压驱动包

  • 进入驱动目录

$ cd RTL8188EUS_RTL8189ES_linux_v4.1.7_9024.20130916/driver/

  • 解压

$ tar zxf rtl8188EUS_rtl8189ES_linux_v4.1.7_9024.20130916.tar.gz

准备编译


进入驱动代码目录

$ cd rtl8188EUS_rtl8189ES_linux_v4.1.7_9024.20130916/

配置Makefile

$ ./make_drv RTL8188eus

修改Makefile

添加新的平台类型

修改Makefile文件中的
CONFIG_PLATFORM_I386_PC = y
为 CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_MYIMX6 = y

配置编译参数

在Makefile 文件中的“ifeq ($(CONFIG_PLATFORM_I386_PC), y)”前添加

ifeq ($(CONFIG_PLATFORM_MYIMX6), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
MODULE_NAME := wlan
Endif

注意:每行都顶格。


修改配置文件

配置文件路径

这里我们假设使用的编译配置文件为 ~/my-i.mx6/myimx6_3035_build_env

配置文件内容

在内核的编译过程中我们创建过编译的配置文件,如果没有编译配置文件,请参考下面内容添加:
  export ARCH=arm
  GCC_462_PATH=/home/myzr/my-i.mx6/03_tools/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin
  export CROSS_COMPILE=$GCC_462_PATH/arm-none-linux-gnueabi-


检查配置文件中的内核路径设置

我们需要在配置文件中添加MY-IMX6-EK200和MY-IMX6-EK314的内核源码路径。
提示:这里MY-IMX6-EK200的内核路径为:${HOME}/my-i.mx6/02_source/myimx6ek200/linux-2.6-imx-imx_3.0.35_4.1.0。MY-IMX6-EK314的内核路径为:${HOME}/my-i.mx6/02_source/myimx6ek314/linux-2.6-imx-imx_3.0.35_4.1.0
在配置文件 ~/my-i.mx6/myimx6_3035_build_env 最后添加下面两行内容:
  MYIMX6EK200_KSRC=${HOME}/my-i.mx6/02_source/myimx6ek200/linux-2.6-imx-imx_3.0.35_4.1.0
  MYIMX6EK314_KSRC=${HOME}/my-i.mx6/02_source/myimx6ek314/linux-2.6-imx-imx_3.0.35_4.1.0


检查KSRC配置

在 ~/my-i.mx6/myimx6_3035_build_env 文件中检查 KSRC 配置。
如果我们为MY-IMX6-EK200编译WIFI模块,则配置如下:
export KSRC=${MYIMX6EK200_KSRC}
如果我们为MY-IMX6-EK314编译WIFI模块,则配置如下:
export KSRC=${MYIMX6EK314_KSRC}

编译


使MY-IMX6的编译配置文件生效

因为内核模块编译需要指定平台、交叉编译工具、内核源码等,所以需要使MY-IMX6的编译配置文件生效。
$ source ~/my-i.mx6/myimx6_3035_build_env

编译

$ make

目标文件

$ ls

ls可以看到当前目录下有wlan.ko,wlan.do 即编译得到的目标文件

WIFI 测试


见《MY-IMX6-EKxxx Linux测试手册》

</div>