3g arm linux dhcp 路由 移植,arm
arm-linuxusbwifi移植
arm-linuxusbwifi模块的添加与AP的建立一、内核的配置在内核源码的根目录下执行以下命令打开内核配置菜单:$ make ARCH=arm menuconfig根据下面的菜单进行配置:内核配置完成后,重新编译内核,并将编译出来的内核镜像下载到开发板。如果仅仅是编译驱动,可以不用将系统烧进板子。二、驱动源码的编译(1)驱动内容的更改:如果不更改驱动代码,在编译时会遇见缺少create_proc_entry,和create_proc_read_entry 这两个函数的问题(原因在于官方的源码适用于内核小于3.9的linux系统,而本系统上使用的系统内核为3.12.10)。下载文/raspberrypi/linux/rpi-.10.y/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c并替换原文件中的os_intfs.c文件。参考:/group/topic/347735/和/entry/125504在驱动源文件下的Makefile中添加一行:CONFIG_PLATFORM_ARM_AM437X = y并设置:CONFIG_PLATFORM_I386_PC = n同时添加:ifeq ($(CONFIG_PLATFORM_ARM_AM437X), y)EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIANARCH := armCROSS_COMPILE := arm-linux-gnueabihf- #这是你的交叉编译器KVER := 3.12.10 #系统的版本KSRC := /home/hjiahu/Desktop/CrossFiles/linux-3.12.10 #这是第一步编译后的源码文件夹endif(2)为了使用硬件同时支持AP与STA模式,在源码中的include/autoconf.h中将CONFIG_CONCURRENT_MODE的注释去掉(其他方法可以参考源码中的文档)。这样一个usbwifi硬件可以在系统中生成两个wlan模块,wlan0和wlan1,这样就可以使用一个联网,另一个建立ap。(3)wpa软件的编译(当前很多wifi使用wpa加密方式,而iw指令只能用于wep加密方式,故要使用wpa软件)系统自带的wpa软件可能并不适用于你当前使用的usbwifi,故要从驱动源码中编译wpa软件。解压源码中自带的wpa软件包,进入解压后文件中的wpa_supplicant文件夹。更改第二行为CC=arm-linux-gnueabihf-gcc,注意CC为大写。在当前目录中打开终端,输入:make CC=.../ arm-linux-gnueabihf-gcc #交叉编译器,其中...表示你的编译器所处的路径将生成的wpa_cli 、wpa_passphrase、wpa_supplicant替换掉开发板上/usr/sbin 目录下原有的这三个文件。复制wpa_supplicant.conf到板子上可以放在/etc/目录下,并将wpa_supplicant.conf中# Example blocks:下的所有内容删除。三、测试(1)插入usbwifi模块。(2)载入驱动模块:insmod 8192cu.ko(3)启动 wpa_supplicant:# wpa_supplicant -i wlan0 -c/etc/wpa_supplicant.conf -Dwext -B(4)扫描无线网络: # wpa_cli -p/var/run/wpa_supplicant scan(5)显示扫描到的无线网络: # wpa_cli -p/var/run/wpa_supplicantscan_results(6)添加到一个网络,注意返回的网络ID:# wpa_cli -p/var/run/wpa_supplicantadd_network #注意返回的内容我的返回内容是:Selected interface 'wlan0'0记住这个0.(7)设置网络的ssid,这里假设网络名为“MERCURY_85D4”:# wpa_cli -p/var/run/wpa_supplicantset_network 0ssid ‘ ”MERCURY_85D4”’(8)设置网络的psk(密码),这里假设为: #wpa_cli -p/var/run/wpa_supplicantset_network 0 psk ‘’注意这里的0就上上一步获得的,其中ssid与psk是使用一个单引号和一个双引号同时包含。如果成功则会返回OK。(9)选择网络:# wpa_cli -p/var/run/wpa_supplicantsele
3g arm linux dhcp 路由 移植,arm
arm-linuxusbwifi移植
arm-linuxusbwifi模块的添加与AP的建立一、内核的配置在内核源码的根目录下执行以下命令打开内核配置菜单:$ make ARCH=arm menuconfig根据下面的菜单进行配置:内核配置完成后,重新编译内核,并将编译出来的内核镜像下载到开发板。如果仅仅是编译驱动,可以不用将系统烧进板子。二、驱动源码的编译(1)驱动内容的更改:如果不更改驱动代码,在编译时会遇见缺少create_proc_entry,和create_proc_read_entry 这两个函数的问题(原因在于官方的源码适用于内核小于3.9的linux系统,而本系统上使用的系统内核为3.12.10)。下载文/raspberrypi/linux/rpi-.10.y/drivers/net/wireless/rtl8192cu/os_dep/linux/os_intfs.c并替换原文件中的os_intfs.c文件。参考:/group/topic/347735/和/entry/125504在驱动源文件下的Makefile中添加一行:CONFIG_PLATFORM_ARM_AM437X = y并设置:CONFIG_PLATFORM_I386_PC = n同时添加:ifeq ($(CONFIG_PLATFORM_ARM_AM437X), y)EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIANARCH := armCROSS_COMPILE := arm-linux-gnueabihf- #这是你的交叉编译器KVER := 3.12.10 #系统的版本KSRC := /home/hjiahu/Desktop/CrossFiles/linux-3.12.10 #这是第一步编译后的源码文件夹endif(2)为了使用硬件同时支持AP与STA模式,在源码中的include/autoconf.h中将CONFIG_CONCURRENT_MODE的注释去掉(其他方法可以参考源码中的文档)。这样一个usbwifi硬件可以在系统中生成两个wlan模块,wlan0和wlan1,这样就可以使用一个联网,另一个建立ap。(3)wpa软件的编译(当前很多wifi使用wpa加密方式,而iw指令只能用于wep加密方式,故要使用wpa软件)系统自带的wpa软件可能并不适用于你当前使用的usbwifi,故要从驱动源码中编译wpa软件。解压源码中自带的wpa软件包,进入解压后文件中的wpa_supplicant文件夹。更改第二行为CC=arm-linux-gnueabihf-gcc,注意CC为大写。在当前目录中打开终端,输入:make CC=.../ arm-linux-gnueabihf-gcc #交叉编译器,其中...表示你的编译器所处的路径将生成的wpa_cli 、wpa_passphrase、wpa_supplicant替换掉开发板上/usr/sbin 目录下原有的这三个文件。复制wpa_supplicant.conf到板子上可以放在/etc/目录下,并将wpa_supplicant.conf中# Example blocks:下的所有内容删除。三、测试(1)插入usbwifi模块。(2)载入驱动模块:insmod 8192cu.ko(3)启动 wpa_supplicant:# wpa_supplicant -i wlan0 -c/etc/wpa_supplicant.conf -Dwext -B(4)扫描无线网络: # wpa_cli -p/var/run/wpa_supplicant scan(5)显示扫描到的无线网络: # wpa_cli -p/var/run/wpa_supplicantscan_results(6)添加到一个网络,注意返回的网络ID:# wpa_cli -p/var/run/wpa_supplicantadd_network #注意返回的内容我的返回内容是:Selected interface 'wlan0'0记住这个0.(7)设置网络的ssid,这里假设网络名为“MERCURY_85D4”:# wpa_cli -p/var/run/wpa_supplicantset_network 0ssid ‘ ”MERCURY_85D4”’(8)设置网络的psk(密码),这里假设为: #wpa_cli -p/var/run/wpa_supplicantset_network 0 psk ‘’注意这里的0就上上一步获得的,其中ssid与psk是使用一个单引号和一个双引号同时包含。如果成功则会返回OK。(9)选择网络:# wpa_cli -p/var/run/wpa_supplicantsele