“MY-IMX6开发指导手册 WIFI(RTL8188EUS)”的版本间的差异
第1行: | 第1行: | ||
<div> | <div> | ||
− | = '''文档说明 | + | = '''文档说明''' = |
---- | ---- | ||
− | == '''系统环境说明 | + | == '''系统环境说明''' == |
*编译主机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> | ||
− | |||
2)文档中所有的Linux命令建议手动输入到Linux主机执行(直接复制、粘贴到Linux主机上执行,可能会执行失败)。<br> | 2)文档中所有的Linux命令建议手动输入到Linux主机执行(直接复制、粘贴到Linux主机上执行,可能会执行失败)。<br> | ||
− | |||
3)文档中的Linux执行命令,如果空格后的下一个字符是“-”的(如:sudo apt-get –y install之类的),请手动输入到Linux主机执行(直接复制、粘贴到Linux主机上执行,通常会执行失败)。<br> | 3)文档中的Linux执行命令,如果空格后的下一个字符是“-”的(如:sudo apt-get –y install之类的),请手动输入到Linux主机执行(直接复制、粘贴到Linux主机上执行,通常会执行失败)。<br> | ||
− | |||
4)文档中所有一行没写完的Linux命令请手动输入到Linux主机执行,(因为复制、粘贴命令不能包含类似“换行符”之类的特殊字符)。<br> | 4)文档中所有一行没写完的Linux命令请手动输入到Linux主机执行,(因为复制、粘贴命令不能包含类似“换行符”之类的特殊字符)。<br> | ||
− | |||
5)按文档输入并执行Linux命令时注意观察命令的执行结果与文档图片中的是否一致,以确认命令是否输入有误及是否执行失败。<br> | 5)按文档输入并执行Linux命令时注意观察命令的执行结果与文档图片中的是否一致,以确认命令是否输入有误及是否执行失败。<br> | ||
− | + | == '''其它说明''' == | |
− | == '''其它说明 | ||
− | === 截图说明 | + | === 截图说明 === |
为使视图看起来简洁整齐,截图中的命令提示符统一使用<span style="color:green">myzr</span>$。<br> | 为使视图看起来简洁整齐,截图中的命令提示符统一使用<span style="color:green">myzr</span>$。<br> | ||
− | + | === 图片中的Linux命令 === | |
− | === 图片中的Linux命令 | ||
在文档的图片中观察“<span style="color:green">myzr</span>$”开头的行可以直观的看到输入的Linux命令。<br> | 在文档的图片中观察“<span style="color:green">myzr</span>$”开头的行可以直观的看到输入的Linux命令。<br> | ||
− | + | = '''准备源码''' = | |
− | = '''准备源码 | ||
---- | ---- | ||
− | == '''下载源码包 | + | == '''下载源码包''' == |
+ | |||
在网盘下载 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> | ||
− | |||
*进入源码目录<br> | *进入源码目录<br> | ||
− | |||
<span style="background:yellow">$ cd ~/my-i.mx6/02_source/modules/rtl8188eus<br></span> | <span style="background:yellow">$ cd ~/my-i.mx6/02_source/modules/rtl8188eus<br></span> | ||
*解压<br> | *解压<br> | ||
− | |||
<span style="background:yellow">$ unzip RTL8188EUS_RTL8189ES_linux_v4.1.7_9024.20130916.zip<br></span> | <span style="background:yellow">$ unzip RTL8188EUS_RTL8189ES_linux_v4.1.7_9024.20130916.zip<br></span> | ||
2)解压驱动包<br> | 2)解压驱动包<br> | ||
− | |||
*进入驱动目录<br> | *进入驱动目录<br> | ||
− | |||
<span style="background:yellow">$ cd RTL8188EUS_RTL8189ES_linux_v4.1.7_9024.20130916/driver/<br></span> | <span style="background:yellow">$ cd RTL8188EUS_RTL8189ES_linux_v4.1.7_9024.20130916/driver/<br></span> | ||
*解压<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> | ||
− | = '''准备编译 | + | |
+ | = '''准备编译''' = | ||
---- | ---- | ||
− | + | == '''进入驱动代码目录''' == | |
− | |||
− | |||
− | == '''进入驱动代码目录 | ||
<span style="background:yellow">$ cd rtl8188EUS_rtl8189ES_linux_v4.1.7_9024.20130916/<br></span> | <span style="background:yellow">$ cd rtl8188EUS_rtl8189ES_linux_v4.1.7_9024.20130916/<br></span> | ||
− | == '''配置Makefile | + | == '''配置Makefile''' == |
<span style="background:yellow">$ ./make_drv RTL8188eus<br></span> | <span style="background:yellow">$ ./make_drv RTL8188eus<br></span> | ||
− | == '''修改Makefile | + | == '''修改Makefile''' == |
− | === 添加新的平台类型 | + | === 添加新的平台类型 === |
修改Makefile文件中的<br> | 修改Makefile文件中的<br> | ||
− | |||
CONFIG_PLATFORM_I386_PC = y<br> | CONFIG_PLATFORM_I386_PC = y<br> | ||
− | 为 | + | 为 |
CONFIG_PLATFORM_I386_PC = n<br> | CONFIG_PLATFORM_I386_PC = n<br> | ||
CONFIG_PLATFORM_MYIMX6 = y<br> | CONFIG_PLATFORM_MYIMX6 = y<br> | ||
− | === 配置编译参数 | + | |
+ | === 配置编译参数=== | ||
在Makefile 文件中的“ifeq ($(CONFIG_PLATFORM_I386_PC), y)”前添加<br> | 在Makefile 文件中的“ifeq ($(CONFIG_PLATFORM_I386_PC), y)”前添加<br> | ||
− | + | ||
<span style="background:#yellow">ifeq ($(CONFIG_PLATFORM_MYIMX6), y)<br>EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN<br>MODULE_NAME := wlan<br>Endif</span><br> | <span style="background:#yellow">ifeq ($(CONFIG_PLATFORM_MYIMX6), y)<br>EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN<br>MODULE_NAME := wlan<br>Endif</span><br> | ||
− | <span style="color:red">注意:每行都顶格。 | + | <span style="color:red">注意:每行都顶格。</span><br> |
− | |||
− | |||
− | == '''修改配置文件 | + | == '''修改配置文件''' == |
− | === 配置文件路径 | + | === 配置文件路径 === |
这里我们假设使用的编译配置文件为 ~/my-i.mx6/myimx6_3035_build_env<br> | 这里我们假设使用的编译配置文件为 ~/my-i.mx6/myimx6_3035_build_env<br> | ||
− | + | === 配置文件内容 === | |
− | === 配置文件内容 | ||
在内核的编译过程中我们创建过编译的配置文件,如果没有编译配置文件,请参考下面内容添加:<br> | 在内核的编译过程中我们创建过编译的配置文件,如果没有编译配置文件,请参考下面内容添加:<br> | ||
− | + | export ARCH=arm<br> | |
− | export ARCH=arm<br | ||
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> | 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> | ||
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> | ||
− | |||
MYIMX6EK200_KSRC=${HOME}/my-i.mx6/02_source/myimx6ek200/linux-2.6-imx-imx_3.0.35_4.1.0<br> | MYIMX6EK200_KSRC=${HOME}/my-i.mx6/02_source/myimx6ek200/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> | 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> | ||
− | |||
export KSRC=${MYIMX6EK200_KSRC}<br> | export KSRC=${MYIMX6EK200_KSRC}<br> | ||
如果我们为MY-IMX6-EK314编译WIFI模块,则配置如下:<br> | 如果我们为MY-IMX6-EK314编译WIFI模块,则配置如下:<br> | ||
− | |||
export KSRC=${MYIMX6EK314_KSRC}<br> | export KSRC=${MYIMX6EK314_KSRC}<br> | ||
− | + | = '''编译''' = | |
− | |||
− | = '''编译 | ||
---- | ---- | ||
− | == '''使MY-IMX6的编译配置文件生效 | + | == '''使MY-IMX6的编译配置文件生效''' == |
因为内核模块编译需要指定平台、交叉编译工具、内核源码等,所以需要使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> | </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>