rtl8188ce无线模块驱动移植到arm Linux平台
Linux操作系统怎么安装无线网卡驱动
Linux操作系统怎么安装无线网卡驱动Linux操作系统怎么安装无线网卡驱动现在很多人都喜欢用无线上网,无线上网就需要无线网卡,而无线网卡就需要安装无线网卡驱动。
那么Linux操作系统怎么安装无线网卡驱动呢?下面跟着店铺一起去了解下吧。
Linux操作系统怎么安装无线网卡驱动安装方法及步骤:一、准备工作1、安装kernel的源码,在Redhat下是kernel-source.rpm包。
//我使用是FC8的内核,未再进行升级。
2、到/projects/ndiswrapper下载最新的ndiswrapper包,我的版本是ndiswrapper-1.52.tar.gz3、准备好网卡在Winxp下的驱动程序。
驱动程序最好是最新的,指定给XP用的。
我用到的是D-Link的一款PCI无线网卡(dwl-g520),其驱动程序是ar5211.sys、ar52119x.sys和net5211.inf。
二、安装及配置1、安装(1)解压:tar -zxvf ndiswrapper-1.52.tar.gz(2)进入ndiswrapper-1.52:cd ndiswrapper-1.52(3)编译:make//在此操作之前必需先把编译环境搭建好,即:安装好开发环境。
(4)安装:make install //如果不采取默认的安装路径,则可以用.configure --prefix="/etc/local"来指定安装目录。
//此目录是自建。
(5)查看安装后的版本ndiswrapper -v | grep //此处似乎不对。
如安装成功则显示version: 1.51(6)获取该无线网卡的WindowsXP驱动,我取了ar5211.sys、ar52119x.sys和net5211.inf。
(7)进入该驱动所在目录:cd /home/tsm/dwl_g520(8)安装无线网卡驱动:ndiswrapper -i net5211.inf(9)查看驱动是否安装:ndiswrapper -l//如:显示net5211(驱动名称) : driver installed(10)写入配置文件:ndiswrapper -mndiswrapper -mandiswrapper -mi(11)启动后模块自动加载:modprobe ndiswrapper2、配置(1)然后配置wpa_supplicant.conf文件:vi /etc/wpa_supplicant/wpa_supplicant.confctrl_interface=/var/run/wpa_supplicantctrl_interface_group=wheelnetwork={ssid="any"key_mgmt=NONE}(2)配置wpa_supplicant文件:vi /etc/sysconfig/wpa_supplicant将该文件内容设置为:# wlan0 and wifi0# INTERFACES="-iwlan0 -iwifi0"INTERFACES="-iwlan0"# ndiswrapper and prism# DRIVERS="-Dndiswrapper -Dprism"DRIVERS="-Dndiswrapper"(3)iwlist scanning 扫描一下你的AP //此处未成功,未知原因待查。
linux(debian)安装USB无线网卡(tp-linkTL-WN725Nrtl8188eu)
linux(debian)安装USB⽆线⽹卡(tp-linkTL-WN725Nrtl8188eu)1: 台式机家⾥⾯不想再⾛线了。
于是去某东买了个USB⽆线⽹卡。
tp的WN725N USB,⾮常⼩, 和罗技的优联接收器差不多⼤。
2: 驱动能⾃⼰识别是不指望了,既然是usb⽹卡,插⼊USB后,那就lsusb看到新增加了⼀⾏Realtek的 ID 0bda:8179[html]1. root@debian:/# lsusb2. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub3. Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub4. Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub5. Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub6. Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub7. Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub8. Bus 003 Device 007: ID 0bda:8179 Realtek Semiconductor Corp.9. Bus 003 Device 004: ID 04d9:4545 Holtek Semiconductor, Inc.10. Bus 003 Device 005: ID 050d:0304 Belkin Components FSU304 USB 2.0 - 4 Ports Hub11. Bus 003 Device 006: ID 046d:c52b Logitech, Inc. Unifying Receiver12. Bus 003 Device 008: ID 0781:5567 SanDisk Corp. Cruzer Bladegoogle下了,发现是WN725N_V2看下芯⽚组是Probable Linux driver 8188eu3: 既然拿到了芯⽚组号,那就⾸先去debian官⽹看有⽊有驱动的包, 找到了realtek的固件驱动不过⽀持的列表⾥⾯并没有8188eu,只有8188ce, 8188cu那就只有去realtek的官⽹下了, 在逛了⼀圈,还是没有发现8188eu. ⽆奈去github上逛逛,发现了这个接下来就好办多了。
WiFi在linux下的移植
在linux下的移植1、内核驱动支持因为平台上SDIO功能已经支持,所以只需要内核驱动支持marvell-8686即可。
[*] Networking support --->[*] Wireless ---><*> Improved wireless configuration API{*} common routines for IEEE 802.11 driversDevice Drivers --->[*] Network device support --->Wireless LAN ---><*>Marvell 8xxx Libertas WLAN driver support<*>Marvell Libertas 8385 and 8686 SDIO 802.11b/g cards Generic Driver Options --->(sd8686.bin sd8686_helper.bin) External firmware blobs to build into the kernel binary把sd8686.bin 和sd8686_helper.bin这两个固件放在/firmware这个目录下。
2、wpa_suppicant的移植源码版本选择:wpa_supplicant-0.7.2openssl-0.9.8eopenssl移植:a、补丁安装openssl源码编译需要打wpa_supplicant提供的补丁,我们选择的openssl版本为openssl-0.9.8e所以我们需要wpa_supplicant-0.7.2/patches/openssl-0.9.8e-tls-extensions.patch拷贝到openssl源码下。
patch -p1 < openssl-0.9.8e-tls-extensions.patchb、配置编译安装./Configure linux-elf-arm -DL_ENDIAN linux:'arm-none-linux-gnueabi-gcc' shared --prefix=/home/linux/workdir/wifi/opensslmakemake installwpa_supplicant移植:在/wpa_supplicant-0.7.2/wpa_supplicant目录下a、按如下方式修改cp deconfig .configvi .config在里面添加如下CC= arm-linux-gcc -L /home/linux/workdir/wifi/openssl/lib/CFLAGS += -I/home/linux/workdir/wifi/openssl/includeLIBS += -L/home/linux/workdir/wifi/openssl/lib/b、编译make编译后将生产的wpa_supplicant和wpa_cli拷贝到跟文件系统的bin目录下3、固件准备将固件sd8686.bin和sd8686_helper.bin拷贝到linux-2.6.35/firmware下。
基于ARM-Linux平台的无线网络功能设计与实现
t h e wi r e l e s s n e w o t r k d e v i c e . Ba s e d o n t h e a n a l y s i s o f n e t wo r k d e v i c e d r i v e r s t r u c t u r e a n d wo r k i n g p r i n c i p l e i n L i n u x s y s t e m, a s c h e me i s
1 引言
近年来 ,嵌入式系统越来越广泛应用于人们生活的方方 面面 。在很 多的应用场景下 ,嵌入式设备需要与外界进行网
络 通 信 。传 统 的有 线 组 网 方 案 对 设 备 的移 动 性 和 灵 活 性 限 制
相 应 的 驱 动 例程 ,使 控 制 从 用 户 例 程 转 移 到驱 动 例 程 ,完 成 相 关 操 作 后 返 回用 户 例 程 。 L i n u x 的 内 核部 分 与 设 备 驱 动 之 间 通过 接 口 的形 式 进 行 标 准 化 的互 操 作 。对 于每 一 类 设 备 ,如 块 设 备 、字 符 设 备 和
很大,越来越 多的嵌入式设备需要采用无线 网络进行数据传
输 。 嵌入 式 A R M微 处 理 器 及 技 术 的 应 用 几乎 已经 深 入 到 各 个
网络设备都存在相应 的通用接 口以供硬件 为内核提供相关服
务 。有 了这 些通 用接 口, 内核 就 可 以采 用相 同 的方 式 来 处 理
可裁减性 和可 定制性 ,并且对硬件设备具有丰 富的支持 ,因 而在嵌入 式开发 中得到 了广泛的应用。基于 以上 ,本文分析
p r o po s e d t o i m pl e me n t t h e wi r e l e s s n e t w or k f un c t i o n o n AR M —Li nux pl a t f o r m .W i r e l e s s ne t wo r k c a r d i s us e d a s t he wi r e l e s s ne w o t r k de vi c e , a nd i s t r a ns p l a nt e d t o t he e m be d de d s y s t e m t o i mp l e me nt t h e wi r e l e s s ne t wo r k u nc f t i on. Ke y wo r d s : wi r e l e s s ne t wor k c a r d; c r os s c om pi l e ;d r i v e r t r a n s p l a nt a t i o n;e mb e d de d s y s t e m
ralink 无线网卡驱动arm平台移植问题总结
下面是今天遇到的问题,之前配置已经通过了,但是这次却不行。重新配置了几次还是不 行,后来看论坛有人说这是没有用 make clean 的问题。因为之前编译通过的文件不会再编译了, 所以可能里面当时是错误的,虽然后面改过编译选项了,但是这些文件仍然保留,所以还是会报 错。
所以你在改过编译选项后,记住最好是 make clean 一下。
出现这个错误你只需要在内核目录下 make scripts 一下在编译驱动就行了。
今天终于编译的差不多了,现在就是加载是固件有问题。先总结一下前面遇到的问题吧, 前面遇到的很多编译错误,比如缺少文件,没有定义的变量,没有相关的头文件等等,基本都是 内核配置不对产生的问题。
配置无线 usb 网卡时,你先要配置网络参数,之后需要配置设备驱动中的无线设备,即使 他里面没有包含你需要的驱动你至少也要加载一个上去,不然他不会编译需要的文件,你在编译 驱动是当然也报错。最后你还需要配置你用的接口,现在用的是 usb 的,如果你用的 pci 的,你 还需要配置 pci 的编译选项。
操作过程如下(开发包 readme 详细看):
1> $tar -xvzf DPB_RT2870_Linux_STA_x.x.x.x.tgz go to "./DPB_RT2870_Linux_STA_x.x.x.x" directory.
2> In Makefile 设置 "MODE = STA" "TARGET = LINUX" 并设置 linux 源码路径和交叉编译链的路径 ifeq ($(PLATFORM),AM3517) # Linux 2.6 LINUX_SRC = /opt/3517project/DIM3517_kernel_2.6.32 CROSS_COMPILE = /opt/tools/arm-2009q1/bin/arm-none-linux-gnueabiendif
USB_WIFI操作详细过程rtl8188eu(强力推介)
make
3)安装驱动程序
insmod xxx.ko
验证
cat /proc/net/wireless
wlan0:
4)wpa_supplicant_hostapd
libc.so.6 ld.so.1 libdl.so.2
libresolv.so libresolv.so.2 libresolv-2.3.6.so
4.2 hostapd
修改Makefile
CC=arm-linux-gcc
insmod 8188eu.ko
问题:如何确定 dnsmasq会使用 libnP WPA-PSK IEEE8021X NONE
pairwise=TKIP CCMP
group=CCMP TKIP WEP104 WEP40
psk="1234567890" //无线热点网络用户名密码
ifconfig wlan0 192.168.137.1
./hostapd /etc/rtl_hostapd_2G.conf -B
5)dnsmasq
修改Makefile
CC=arm-linux-gcc
make
./dnsmasq -C /etc/dnsmasq.conf
如何动态获取IP地址?
编译busybox 获取udhcpc指令
cp busybox-1.19.4/examples/udhcp/simple.script rootfs/usr/share/udhcpc/default.script
4.1 wpa_supplicant(跳过此过程)
ARM-Linux触摸屏驱动移植--问题总结
ARM-Linux触摸屏驱动移植--问题总结
硬件平台:FL2440 内核版本:2.6.28
主机系统:Ubuntu 11.04
内核版本:2.6.39
1、由于自己编译的内核触摸屏驱动选项选择的问题,触摸屏搞了好久
由于自己编译内核将触摸屏驱动以模块的形式编译的,方便自己调试ADC
驱动和触摸屏驱动。
遇到以下问题:
编译完触摸屏驱动完成后,利用insmod ts.ko 加载驱动,之后在/dev/下生成鼠标结点文件mouse0,没有生成ts0
由于将触摸屏接口也一M 的形式编译了,改成*
/dev 下不生成event*节点,编译选项中选择Event interface
后面的touch screen 驱动以模块的形式编译进内核,手动加载,方便自己调试
重新编译内核,内核编译完毕,烧写内核。
2、使用tslib 更改环境变量
将环境变量写入/ec/profile
export QTDIR=/usr
export QPEDIR=/usr
export LD_LIBRARY_PATH=/usr/lib
export HOME=/usr/Settings。
arm-linux usb wifi移植
arm-linuxusbwifi模块的添加与AP的建立一、内核的配置在内核源码的根目录下执行以下命令打开内核配置菜单:$ make ARCH=arm menuconfig根据下面的菜单进行配置:内核配置完成后,重新编译内核,并将编译出来的内核镜像下载到开发板。
如果仅仅是编译驱动,可以不用将系统烧进板子。
二、驱动源码的编译(1)驱动内容的更改:如果不更改驱动代码,在编译时会遇见缺少create_proc_entry,和create_proc_read_entry 这两个函数的问题(原因在于官方的源码适用于内核小于3.9的linux系统,而本系统上使用的系统内核为3.12.10)。
下载文https:///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的注释去掉(其他方法可以参考源码中的文档)。
WiFi驱动移植到Linux
linux下移植之WIFI驱动2010-05-14 22:271.前言硬件平台: imx27+sd8686软件平台: linux内核: 2.6.272.移植思想1, WIFI 模块本身和 cpu 之间的接口;我们的模块和 cpu 之间的接口是 sdio 的,也就是说必须要先保证SDIO 本身是工作的,与SD卡,MMC属于同类型。
主要用到这几个GPIO引脚SD0...SD3,SD2_CMD,SD2_CLK,以及复位引脚PB24.2, WIFI 模块本身的上电时序;模块都有它自己的规律,所以必须要根据 spec 了解它本身的上电过程,严格遵守;3,以太网接口的创建;我们的 WIFI 模块本身是建立在 SDIO 口之上的,而对上都是提供以太网接口的,所以必须要保证这个接口以及创建;4,特殊处理;不同的模块都有它特别的地方,比如我们用的是 8686 和 compo 也就是说它和蓝牙共用天线,所以需要在初始化的时候做特殊的处理,发送特殊的命令,才能工作;3.移植过程1,sdio本身是通过gpio口模拟的,所以需要对gpio口进行配置;static mfp_cfg_t littleton_mmc3_pins[] = {GPIO7_2_MMC3_DAT0,GPIO8_2_MMC3_DAT1,GPIO9_2_MMC3_DAT2,GPIO10_2_MMC3_DAT3,GPIO103_MMC3_CLK,GPIO105_MMC3_CMD,};2,wifi模块本身的初始化;#define MFP_WIFI_V18_ENABLE (GPIO26_GPIO)#define MFP_WLAN_RESETN (GPIO99_GPIO)#define WIFI_WAKEUP_HOST (GPIO104_GPIO) /*error must be changed*/#define WLAN_ENABLE_PIN 26#define WLAN_RESET_PIN 99#define M200_B#ifdef M200_B#define BT_RESET_PIN EXT1_GPIO(1)#define BT_RESET_GPIO (GPIO1_2_GPIO)#else#define BT_RESET_GPIO (GPIO6_2_GPIO)#define BT_RESET_PIN EXT1_GPIO(6)#endifstatic mfp_cfg_t lin2008_wifibt_pins[] = {MFP_WIFI_V18_ENABLE,MFP_WLAN_RESETN,WIFI_WAKEUP_HOST,/*wakeup host*/};static mfp_cfg_t lin2008_wifibt_pins2[] = {MFP_WIFI_V18_ENABLE,};static int wifibt_power_status;int lin2008_poweron_wifibt_board(void){if (!wifibt_power_status) {mxc_mfp_config(ARRAY_AND_SIZE(lin2008_wifibt_pins)) ;gpio_direction_output(WLAN_ENABLE_PIN, 1);gpio_direction_output(WLAN_RESET_PIN, 1);gpio_direction_output(BT_RESET_PIN,1);mdelay(10);gpio_direction_output(BT_RESET_PIN, 0);gpio_direction_output(WLAN_RESET_PIN, 0);// bt need > 5 ms to resetmdelay(5);gpio_direction_output(BT_RESET_PIN, 1);gpio_direction_output(WLAN_RESET_PIN, 1);wifibt_power_status++;return 0;}wifibt_power_status++;return 1;}int lin2008_poweroff_wifibt_board(void){wifibt_power_status--;if (!wifibt_power_status) {mxc_mfp_config(ARRAY_AND_SIZE(lin2008_wifibt_pins2) );gpio_direction_output(WLAN_ENABLE_PIN, 0);return 0;}return 1;}3,以太网接口的创建这里在 android 平台上要做特殊的处理,也就是 firmware 的位置要放好,否则加载 firmware 始终不成功,那么以太网接口就不会被创建了;需要把 helper_sd.bin 放在 /lib/firmware/mrvl 下面(若没有,则创建一个);把 sd8686.bin 放在 /lib/firmware/mrvl 下面(同上);4,特殊的处理对于 8686 模块需要做特殊的处理,在注册完以太网接口以后,需要添加下面这段话 :{#define BCA_CFG_NUM_OF_MODES 4#define BCA_CFG_SINGLE_ANT_WITH_COEX 0#define BCA_CFG_DUAL_ANT_WITH_COEX 1#define BCA_CFG_SINGLE_ANT_FOR_BT_ONLY 2#define BCA_CFG_MRVL_DEFAULT 3#define BCA_CONFIG BCA_CFG_SINGLE_ANT_WITH_COEXstatic u32 BCACfgTbl[BCA_CFG_NUM_OF_MODES][3] = {//0xA5F0, 0xA58C, 0xA5A0{ 0xa027181c, 0x40214, 0xd24d}, //Mode 0: Single ANT with COEX enable{ 0xa027181c, 0x40211, 0xd24d}, //Mode 1: Dual ANT with COEX enable{ 0xa027181c, 0x40222, 0xd21c}, //Mode 2: single ANT for BT only{ 0xa027801d, 0x18000, 0xd21c}, //Mode 3: Marvell default};wlan_offset_value RegBuffer;RegBuffer.offset = (0xA5F0);RegBuffer.value = BCACfgTbl[BCA_CONFIG][0];wlan_prepare_cmd(priv,HostCmd_CMD_MAC_REG_ACCESS,HostCmd_ACT_GEN_SET,HostCmd_OPTION_WAITFORRSP,0,&RegBuffer);RegBuffer.offset =(0xA58C);RegBuffer.value = BCACfgTbl[BCA_CONFIG][1];wlan_prepare_cmd(priv,HostCmd_CMD_MAC_REG_ACCESS,HostCmd_ACT_GEN_SET,HostCmd_OPTION_WAITFORRSP,0,&RegBuffer);RegBuffer.offset = (0xA5A0);RegBuffer.value = BCACfgTbl[BCA_CONFIG][2];wlan_prepare_cmd(priv,HostCmd_CMD_MAC_REG_ACCESS,HostCmd_ACT_GEN_SET,HostCmd_OPTION_WAITFORRSP,0,&RegBuffer);}基本上这样就可以工作了;4.其它问题Sdio 口默认是用的 3.2V 这里需要修改相关的地方强制设成是1.8V ,否则 SDIO 接口将无法工作;Linux平台上需要移植一些上层软件才能验证,比如iwconfig , iwlist 等。
Atheros无线网卡在linux下的安装
在看了很多国外论坛的技术论坛之后,我觉得下面这个方法是行之有效的。大家不妨试一试。
首先,到这里下载这个驱动程序包。
选择自己网卡模组的简称。因为我的是AR9285,所以我就键入:
ath9k
保存and退出后,重启电脑,一切就OK拉!
这个方法几乎适合所有的无线网卡,唯一就是modules那里改为自己的module名称就好了。
转载请注明出处:/archives/958
Atheros无线网卡在linux下的安装
发表于729 days前 ⁄ 电脑 ⁄ 评论数 1
最近,给我的系统装了三系统,第三个系统就是linux的非常经典的版本--ubuntu。但是由于我的无线网卡是atheros的AR5B95(windows下显示)或AR9285返。看来还得自己动手阿。
/en/users/Download/sБайду номын сангаасable/
然后,在“附件”的“终端”中,“cd”到驱动解压包所在目录,之后依次敲入:
make
sudo make install
sudo make unload
完事后,再输入:
cd /etc
sudo pico modules
LinuxWIFI驱动移植流程
LinuxWIFI驱动移植流程 记录Linux WIFI驱动移植⼤致流程,步骤为正点原⼦的教程,这⾥只是简化了下1. 从官⽹或者其他途径下载到对应的WIFI芯⽚的驱动包2. 将驱动包解压放到内核“/driver/net/wireless⽬录下”,即"drivers/net/wireless/xxxx"3. 打开/driver/net/wireless/Kconfig,在其最后增加"source "drivers/net/wireless/xxxx/Kconfig"4. 打开drivers\net\wireless\Makefile,在其最后增加"obj-y += xxxx/"5. 内核增加USB驱动⽀持,如果⾮USB接⼝WIFI则不需要,路径:Device Drivers-->[*]USB support--->6. 内核增加WIFI驱动⽀持,路径:Device Drivers-->[*] Network device support-->[*] Wireless LAN-->7. 内核增加IEEE 802.11协议⽀持,路径:[*] Networking support-->-*- Wireless-->8. 将下载的驱动编译进内核,路径:Device Drivers-->[*] Network device support-->[*] Wireless LAN-->[*]xxxx wifi-->9. 执⾏make,重新编译内核10. 使⽤新的zImage启动,加载wifi驱动,编译后的ko路径:/drivers/net/wireless/xxxx11. 使⽤ifconfig -a命令,查看⽆线⽹卡是否存在Linux下的WIFI⼯具移植,见另外⼀篇笔记:。
CentOS无线网卡设置
联想thinkpad E430 ,安装上centos后,无线网卡一直无法使用,经历了艰苦曲折到网卡驱动安装过程,历时2个晚上终于开心到用上无线网卡。
1.查看无线网卡到具体型号[root@localhost local]# lspci09:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter (rev 01)可见对应的驱动为:RTL8188CE或者[root@localhost local]# lspci |grep Network09:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter (rev 01)相比较第二个比较方便查找。
直接lspci会把所有pci上到设备都列出来,查找起来比较麻烦。
2.下载下载相应版本,我的是64位,看好自己到内核版本。
然后选择相应到版本驱动下载到本地ftp://WebUser:AxPL9s3k@58.211.24.153/cn/wlan/rtl8192ce_linux_2.6.0006.0321.2011.tar.g z[root@localhost ~]# mkdir /usr/local/mayfio[root@localhost ~]# cd /usr/local/mayfio/[root@localhost mayfio]# wgetftp://WebUser:AxPL9s3k@58.211.24.153/cn/wlan/rtl8192ce_linux_2.6.0006.0321.2011.tar.g z[root@localhost mayfio]# chmod 777 rtl8192ce_linux_2.6.0006.0321.2011.tar.gz[root@localhost mayfio]# tar -zxvf rtl8192ce_linux_2.6.0006.0321.2011.tar.gz3.准备安装包[root@localhost mayfio]# yum install kernel-headers kernel-devel gcc4.安装[root@localhost rtl8192ce_linux_2.6.0006.0321.2011]# make这时候如果提示如下错误make: *** /lib/modules/2.6.32-358.el6.x86_64/build: 没有那个文件或目录。
RTL8188CUS驱动程序移植笔记
RTL8188CUS驱动程序ARM9移植笔记移植背景本人于2015年入手一块周公的AWorks Easy ARM开发板,这块开发板主控为IMX293 ARM9内核,使用的操作系统为Linux 2.35。
前段时间入手了一块全志H3的板子,这个板子带有WiFi网卡,可惜到手时官方并没有完成驱动程序的移植。
由于使用的网卡为RTL8189FTV,该芯片的驱动程序源码在网上怎么都找不到,折腾了几天未果,就从X宝上买了块USB无线网卡,主控为RTL8188CUS,之所以买这块网卡是因为官网有这块网卡的驱动,并且我在本机Ubuntu15.04系统中找到了该网卡的内核模块,所以我相信不管怎么样,它都是可以在linux系统下驱动起来的。
在折腾了两天,各种摸索的情况下终于把这块网卡在ARM9的板子上驱动起来了。
下面就我这次移植过程做个笔记,其中也包括近期的学习总结WiFi模块系统内核配置内核只能编译一次,内核模块要单独编译,否则版本字符串两者配不上就导致内核模块加载不成功。
源码的配置驱动程序测试1)通过网线连接至计算机,把计算机与开发板的IP地址设置为同一个网段计算机IP地址:192.168.1.12开发板IP地址:192.168.1.1002)开发板与计算机直接通过NFS连接并把驱动模块拷贝到开发板3)加载内核模块出现如下如下信息则加载成功rtw_macaddr_cfg MAC Address = 00:13:ef:60:06:19 bDriverStopped:1, bSurpriseRemoved:0, bup:0, hw_init_completed:0 _rtw_drv_register_netdev, MAC Address (if1) = 00:13:ef:60:06:19 usbcore: registered new interface driver rtl8192cu4)查看我们的USB无线网卡是否被系统激活执行:ifconfig发现只有一个网卡,并没有出现我们的USB无线网卡。
CentOS 6.5 安装无线网卡驱动实现无线上网
CentOS 6.5 安装无线网卡驱动实现无线上网一、查看是否安装了无线网卡驱动出现以上的结果证明你的没有安装,不能无线上网。
如果你已经装了网卡驱动并能实现无线上网就会有如下显示:二、查看无线网卡的型号[root@Mr-zhao software]# lspci |grep -i network03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL 8188CE 802.11b/g/n WiFi Adapter (rev 01)可以看到我的网卡类型为 RTL8188CE三、查看系统内核版本[root@Mr-zhao software]# uname -r2.6.32-431.el6.i686四、根据自己的网卡型号和系统内核版本下载无线网卡驱动这里要注意的是:我的内核是 2.6.32,但是我下的Linux driver for kernel 2.6.24 (and later),2.6.24这个版本没能装成功.后来这个Linux driver for kernel 2.6.23 (and earlier)版本居然能安装成功。
五、将下载的tar包,进行编译安装既然是tar源码包地编译安装,那么先要有编译工具,不然会报错!1、[root@Mr-zhao software]# yum install gcc -y //安装gcc编译工具2、解压tar源码包,进行安装。
3、阅读readme.txt 文件。
4、执行make;make install 安装囧~报错了!解决方法如下:yum install kernel-devel -y5、make clean ,再执行make;make install。
就ok啦!六、重启机器就可以连接无线网络了!/儒道至圣。
rtl8188eu驱动移植
rtl8188eu驱动移植测试平台宿主机平台:Ubuntu 16.04.6⽬标机:iMX6ULL⽬标机内核:Linux 4.1.15rtl8188eu 驱动移植在⽹上下载Linux版的驱动源码;wifi驱动的实现有两种:1)将驱动源码交叉编译为内核模块ko⽂件,拷贝到⽬标机,通过 insmod 指令安装,在开机脚本中添加模块安装机wifi配置即可实现开机⾃动联⽹,本⽅法较为简单在此不做赘述;2)将驱动移植到内核中,后⾯通过配置内核实现wifi⽀持,下⾯对内核驱动的移植进⾏详细描述;移植步骤:1.将驱动源码解压,并修改为 rtl8188eu ,对于移植的驱动我⼀般都放在 drivers/staging/ 这个暂存⽬录下;2.修改 drivers/staging/Makefile 加⼊⽀持 rtl8188eu 的驱动编译obj-$(CONFIG_R8188EU) += rtl8188eu/3.添加 Kconfig ⽀持,修改 drivers/staging/Kconfigsource "drivers/staging/rtl8188eu/Kconfig"⾄此内核驱动移植完毕。
内核配置及驱动使⽤在内核⽬录make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig因为使⽤板载wifi情况较多,所以直接编译进内核;然后make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage更新内核查看⽆线⽹络,对于wlan0 已经⽀持wpa_supplicant是⼀个连接、配置WIFI的⼯具,下⾯使⽤该⼯具对wifi⽹络进⾏配置和连接使⽤ wpa_passphrase wifi配置⽂件 wifi.conf⽹络名和密码wpa_passphrase "HTGW-Guest" >> wifi.conf67106002查看配置⽂件启动wlan0wpa_supplicant -D wext -B -i wlan0 -c wifi.conf-D 驱动程序名称(可以是多个驱动程序:nl80211,wext)-i 接⼝名称-c 配置⽂件 -B 在后台运⾏守护进程⾃动获取IP地址udhcpc -b -i wlan0 -R。
RK平台Realtek WiFi驱动移植说明
密级状态:绝密()秘密()内部(√)公开()RK平台Realtek WiFi驱动移植说明(系统产品一部)文件状态:[]正在修改[√]正式发布当前版本:V1.0作者:胡卫国完成日期:2015-03-13审核:完成日期:福州瑞芯微电子有限公司Fuzhou Rockchips Semiconductor Co.,Ltd(版本所有,翻版必究)版本历史版本号作者修改日期修改说明备注V1.0胡卫国2015-03-13初始版本目录1REALTEK驱动基本情况说明 (2)2WIFI驱动移植 (3)2.1WIFI驱动入口函数 (3)2.2电源控制及SDIO识别操作 (4)2.3M AKEFILE配置修改 (5)2.4使用自定义W I F I MAC地址 (6)3BT固件更新 (7)1Realtek驱动基本情况说明Realtek系列WiFi BT芯片,如RTL8188EU,RTL8189ES,RTL8723系列,驱动移植包都是类似的目录结构,驱动代码目录结构也类似。
以RTL8188EUS_RTL8189ES_linux_v4.1.8_9499.20131104.zip为例解压之后里面包含文档、驱动源码包、android reference代码等内容,具体如下:Android部分RK一般都已经移植好集成到SDK中,由于Realtek驱动更新比较频繁,所以客户最常遇到的事情就是更新WiFi驱动。
2WiFi驱动移植可对比SDK Kernel中已经移植好的驱动与Realtek的驱动进行合并。
驱动在以下目录drivers/net/wireless/rockchip_wlan/针对kernel3.10版本drivers/net/wireless/针对kernel3.0版本2.1wifi驱动入口函数Realtek提供的驱动入口函数为:module_init(rtw_drv_entry);module_exit(rtw_drv_halt);在以下文件中:os_dep\linux\sdio_intf.c针对sdio接口wifios_dep\linux\usb_intf.c针对usb接口wifiRK平台做了稍微修改,主要是为了增加RK版本信息打印及wifi gpio电源控制,启动sdio 识别。
CentOS6.3安装RTL8188CE无线网卡驱动
CentOS6.3安装RTL8188CE无线网卡驱动1.驱动下载地址:RTL8188无线网卡驱动下载2.安装步骤:[root@cloud ~]# yum -y install wireless-tools pciutils make gcc gcc-c++ kernel-devel[root@cloud ~]# yum update[root@cloud ~]# tar -zxvf rtl8192ce_linux_2.6.0006.0321.2011.tar.gz[root@cloud ~]# cd rtl8192ce_linux_2.6.0006.0321.2011[root@cloud rtl8192ce_linux_2.6.0006.0321.2011]# make[root@cloud rtl8192ce_linux_2.6.0006.0321.2011]# make install[root@cloud rtl8192ce_linux_2.6.0006.0321.2011]# reboot………………3.卸载命令:[root@cloud rtl8192ce_linux_2.6.0006.0321.2011]# make uninstalll4.注意事项:CentOS6.3系统内核版本是2.6.32-279.el6.x86_64,而yum kernel-devel后/usr/src/kernel下文件名是:2.6.32-358.18.1.el6.x86_64,造成不统一,安装驱动失败,所以在make驱动前要保证内核版本、/lib/modules/内核版本、/lib/modules/内核版/build链接名、以及/usr/src/kernel下内核版本四者一致:[root@cloud ~]# uname -r2.6.32-358.18.1.el6.x86_64[root@cloud ~]#ll /lib/modules/总用量 8drwxr-xr-x. 8 root root 4096 9月 26 17:43 2.6.32-279.el6.x86_64 drwxr-xr-x 7 root root 4096 9月 26 17:53 2.6.32-358.18.1.el6.x86_64 [root@cloud ~]#ll /lib/modules/2.6.32-358.18.1.el6.x86_64/ |grep buildlrwxrwxrwx 1 root root 51 9月 26 17:44 build-> ../../../usr/src/kernels/2.6.32-358.18.1.el6.x86_64lrwxrwxrwx 1 root root 5 9月 26 17:32 source -> build[root@cloud ~]#[root@cniaas ~]# ll /usr/src/kernels/总用量 6520drwxr-xr-x 22 root root 4096 9月 26 17:17 2.6.32-279.el6.x86_64lrwxrwxrwx 1 root root 46 9月 26 17:022.6.32-358.18.1.el6.x86_64-> ../../../usr/src/kernels/2.6.32-279.el6.x86_64其他:查看当前网卡型号:[root@master ~]# lspci | grep Ethernet00:19.0 Ethernet controller: Intel Corporation Ethernet ConnectionI217-V (rev 04)02:00.0 Ethernet controller: Atheros Communications Inc. AR8161 Gigabit Ethernet (rev 10)[root@master ~]# lspci | grep Wireless03:00.0 Network controller: Intel Corporation Centrino Wireless-N 2230 (rev c4)。
基于ARM的嵌入式Linux无线网卡设备驱动设计
1.引言随着移动通信和便携通信的发展,无线局域网WLAN应用而生,日渐普及,嵌入式系统的无线局域网接入可以实现对嵌入式系统的无线控制和数据传输,可以满足一些特殊应用的场合。
本文通过对USB无线网卡的Linux设备驱动的深入理解和分析,成功的移植在Atmel9261ARM处理器上,实现了嵌入式系统的无线局域网接入,利用此平台,可以进一步设计完善的无线数据采集系统,使得控制人员远离数据采集现场,较好的解决了安全性问题,可以将现场的数据和各种控制信号由远程终端来控制。
2.硬件系统构成2.1USB无线网卡介绍无线网卡是无线局域网(WLAN)的重要组成部分,WLAN的物理层及MAC层是由无线网卡的硬件及其软件完成的,而LLC层以上各层均有计算机软件来实现。
WLAN包括进行通信的网络接口卡(简称无线网卡)和接入点/桥接器(AP/网桥)。
其中无线网卡提供了最终用户设备(手持设备)与接入点/桥接器之间的接口。
目前,无线网卡主要以PCMCIA,CompactFlash(CF)卡的形式广泛应用。
大多数可用的无线网卡都是基于In-tersilPrism或LucentHermes芯片组的,其中USB设备的无线网卡则是Atmel芯片组支持的。
本系统采用D-Link的WLG-12254M无线网卡,芯片组为Prism2,通过USBHOSTPORT接入。
2.2系统构成主控制器采用ATMEL9261,工作频率180MHz,具有16KBytes数据cache和16KBytes指令cache,外接64MNANDFLASH和64MSDRAM,外围接口有10/100M自适应以太网卡,3个USB2.0接口,2个通用异步收发器(UART),LCD接口以及串行外围接口(SPI)等,可以方便的外接工作设备。
操作系统采用Linux2.6.15,bootloader采用U-boot,根文件系统采用ramdisk,系统启动后挂载yaffs文件系统,系统采用Atmel公司的Atmel9261开发板,外围接口包括3个USBHOST接口,其中一个外接USB无线网卡。
Centos下无线网卡的安装实现无线上网
Centos下⽆线⽹卡的安装实现⽆线上⽹为什么要使⽤⽆线⽹络呢?因为⽆线⽹络使⽤⽐较⽅便,使⽤⽆线⽹络我们不必使⽤那些乱糟糟的⽹线就能实现上⽹,现在⽆线⽹络⽐较普及,尤其在那些不⽅便布线的地⽅(⼭区、河流、机场、横跨马路、机场、⼯⼚车间等)更是盛⾏。
我呢,最近为了玩linux将我的电脑装成了linux操作系统,由于先前没有做好功课,装上系统后,我要哭了,发现我的电脑没有办法使⽤我们宿舍的⽆线上⽹,在⽹上找了好久发现我的电脑集成的⽆线⽹卡并没有⽀持linux的驱动程序。
可是我⼜不想换回原来的系统啊,于是我就,买了个usb⽆线⽹卡(附带有linux驱动我才买的哦)。
然后我就迫不及待的去尝试着去安装驱动喽,试了好⼏次终于成功了,这⾥就给⼤家分享⼀下下哦。
我的⽆线⽹卡的型号是:Realtek 8176⽀持linux的驱动程序包是:RTL8192xC_USB_linux_v3.4.4_4749.20121105当然,如果你的usb⽆线⽹卡你不知道是什么型号的话,你可以插⼊你的linux主机,待系统识别后通过lsusb查看你的⽆线⽹卡型号,可以根据型号去⽹上找相应的驱动,这个命令是不是很有⽤处哦!下⾯就是详细的安装过程,⼤家伙可要看仔细哦!要想安装驱动,你得把驱动程序包弄到电脑⾥吧,不⽤说⼤家伙也知道不是:接着,使⽤unzip将驱动包解压到当前⽬录,解压完成后进⼊解压的⽬录:那我们⾸先安装驱动动程序,进⼊driver⽬录:我们发现这些都是源代码,我们需将它拆解到/usr/local/src⽬录:tar -zxvf rtl8188C_8192C_usb_linux_v3.4.4_4749.20121105.tar.gz-C /usr/local/src/然后进⼊解压后的⽬录:进⾏make和make install来⽣成linux模块(注意在linux下所有的驱动都是以模块的形式存在的)⼀般linux内核会⾃动加载新安装的模块,此处发现并没有加载,那是什么原因呢?原因是这样的,当系统重新安装了驱动模块后,系统⼀般会在重新启动后加载,如果不能加载,我们可以使⽤指令:insmod +具体路径和模块或者直接使⽤modprobe不需指明路径。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
rtl8188ce无线模块驱动移植到arm Linux平台
一、系统arm Linux 内核2.6.28.6 编译器版本4.2.2(内核版本比较老需要自己编译模块驱动,新内核的话一般内核中可以直接配置模块驱动)
二、驱动下载:官网地址/ 下载驱动为
RTL8188CE-VAU (Software)
RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip
三、解压用unzip命令解
压 RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911.zip 解压出来的为RTL8188C_8192C_USB_linux_v4.0.2_9000.20130911 文件夹包含10来个文件夹有驱动,工具等。
四、编译:
1、修改Makefile修改部分如下:
关闭省电模式修改成 CONFIG_POWER_SAVING = n
选择平台
CONFIG_PLATFORM_I386_PC = n
CONFIG_PLATFORM_TI_AM3517 = n
CONFIG_PLATFORM_ANDROID_X86 = n
CONFIG_PLATFORM_JB_X86 = n
CONFIG_PLATFORM_ARM_S3C2K4 = y
CONFIG_PLATFORM_ARM_PXA2XX = n
CONFIG_PLATFORM_ARM_S3C6K4 = n
CONFIG_PLATFORM_MIPS_RMI = n
CONFIG_PLATFORM_RTD2880B = n
CONFIG_PLATFORM_MIPS_AR9132 = n
CONFIG_PLATFORM_RTK_DMP = n
CONFIG_PLATFORM_MIPS_PLM = n
CONFIG_PLATFORM_MSTAR389 = n
CONFIG_PLATFORM_MT53XX = n
CONFIG_PLATFORM_ARM_MX51_241H = n
CONFIG_PLATFORM_FS_MX61 = n
CONFIG_PLATFORM_ACTIONS_ATJ227X = n
CONFIG_PLATFORM_TEGRA3_CARDHU = n
CONFIG_PLATFORM_TEGRA4_DALMORE = n
CONFIG_PLATFORM_ARM_TCC8900 = n
CONFIG_PLATFORM_ARM_TCC8920 = n
CONFIG_PLATFORM_ARM_TCC8920_JB42 = n
CONFIG_PLATFORM_ARM_RK2818 = n
CONFIG_PLATFORM_ARM_TI_PANDA = n
CONFIG_PLATFORM_MIPS_JZ4760 = n
CONFIG_PLATFORM_DMP_PHILIPS = n
CONFIG_PLATFORM_TI_DM365 = n
CONFIG_PLATFORM_MN10300 = n
CONFIG_PLATFORM_MSTAR_TITANIA12 = n
CONFIG_PLATFORM_MSTAR_A3 = n
CONFIG_PLATFORM_ARM_SUNxI = n
CONFIG_PLATFORM_ARM_SUN6I = n
CONFIG_DRVEXT_MODULE = n
默认为CONFIG_PLATFORM_I386_PC = y这是平台的配置,根据具体情况配置,我的是2440核心板所以把CONFIG_PLATFORM_I386_PC = n改成这样,
CONFIG_PLATFORM_ARM_S3C2K4 = y。
2、下面是编译器的配置:
根据上面配置的平台找到
ifeq ($(CONFIG_PLATFORM_ARM_S3C2K4), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
ARCH := arm
CROSS_COMPILE := /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-
KVER := 2.6.28.6
KSRC := /linux-2.6.28.6_zyw
endif
根据实际编译器和内核配置。
修改好后直接make,在rtl8188C_8192C_usb_linux_v4.0.2_9000.20130911生成8192cu.ko。
拷贝到终端然后insmod就可以了。
五、编译wireless_tools工具
修改Makefile
## Compiler to use (modify this for cross compile).
CC = arm-linux-gcc
## Other tools you need to modify for cross compile (static lib only). AR = arm-linux-ar
RANLIB = arm-linux-ranlib
然后make生成iwpriv,iwconfig,iwlist,iwspy
把iwpriv,iwconfig,iwlist,iwspy和iwlib.so一起拷贝到终端。
六:遇到的问题:
1、编译的时候开始用3.4.1编译器,驱动编译需要abi而在3.4.1下内核要去掉abi选项,这样虽然能成功编译驱动,但是加载后就会出现段错误。
七:无线模块的使用
1、加载模块驱动insmod 8192cu。
ko
2、ifconfig wlan0 up 挂载模块
3、ap连接:iwconfig wlan0 mode Managed iwconfig wlan0 essid "ssid"这是无线不加密的情况。
加密的情况需要设置密码:iwconfig wlan0 key 0123456
4、获取ipudhcpc -i ra0 -n now
5、成功获取ip
udhcpc (v1.13.3) started
Sending discover...
Sending select for 192.168.125.122...
Lease of 192.168.125.122 obtained, lease time 7200 deleting routers
route: SIOCDELRT: No such process
adding dns 221.12.33.227
adding dns 221.12.1.227
ping
PING (61.135.169.105): 56 data bytes
64 bytes from 61.135.169.105: seq=0 ttl=54 time=52.611 ms 64 bytes from 61.135.169.105: seq=2 ttl=54 time=67.501 ms。