linux-2.6.26下开发marvell 88w8686 wifi驱动

android 工具 iwconfig iwconfig 工具安卓使用 , 需要root权限, 你可以把他adb到 data目录或者system/xbin下 立即下载
转自:http://blog.youkuaiyun.com/control_tech/article/details/5716077

 最近在做基于2440+linux下,开发marvell 88w8686驱动 ,因为三月、硬件设计是spi接口,所以我从marvell 官方网站下载SPI 接口的驱动程序src_gspi8686.tar.bz2, 此驱动程序是基于PXA270的,所以需要自己移植到2440平台上,主要有如下工作要做:
1.将src_gspi8686 下的 io 文件夹下的gspi.c和gspi.h 这两个文件修改,针对各个具体函数,按照2440 SPI 的时序来编写SPI 驱动
2.修改Makefile编译修改过的代码,编译生成gspi.ko 和gspi8xxx.ko
3.加载SPI 驱动 insmod gspi.ko
4.加载wifi驱动 insmod gspi8686.ko  helper_name=./helper_gspi.bin 
   fw_name=./gspi8686.bin mfdmode=1
5.得到wifi芯片的ID 为 0xb
6.加载firmware 成功
7.设置wifi  MAC地址,ip地址 ifconfig eth1 192.168.1.138 netmask 255.255.255.0等信息
8.扫描网络iwlist eth0 scanning,设置连接点和密码等信息。
9.ping 服务器 ping 192.168.1.130 成功,到此wifi驱动porting 成功.
 
移植过程中出现的问题:
1、硬件问题:我们下载固件是通过主机接口,不是外接eeprom。调试花了不少的时间。
2、接收数据的链表头没有初始化,应该是在使用后再初始化,这是一个bug。
3、网络配置问题。
iwconfig工具使用
  下载iwconfig工具相关的源代码,并成功交叉编译通过,用于实际项目中。
可依据实际需要修改Makefile中的"CC=gcc","AR=ar"以及安装路径, 我是CC=$(TOOLCHAIN)/bin/arm-linux-gcc,和AR=$(TOOLCHAIN)/bin/arm-linux-ar;
其余makefile不需要修改;用 make clean;make;make install即可编译安装。
生成的libiw.so.29与其他工具一起。
把生成的文件拷到目标板的/bin文件夹下,libiw.so.29拷到/lib下即可以使用相关命令。
下面来自网络:
iwconfig是Linux Wireless
Extensions(LWE)的用户层配置工具之一。LWE是Linux下对无线网络配置的工具,包括内核的支持、用户层配置工具和驱动接口的支持三部
分。现在很多无线网卡都支持LWE,而且主流的Linux发布版本,比如Redhat Linux、Ubuntu Linux都已带了这个配置工具。
1、iwconfig
用法: iwconfig interface [essid {NN|on|off}]
                          [nwid {NN|on|off}]
                          [mode {managed|ad-hoc|...}
                          [freq N.NNNN[k|M|G]]
                          [channel N]
                          [ap {N|off|auto}]
                          [sens N]
                          [nick N]
                          [rate {N|auto|fixed}]
                          [rts {N|auto|fixed|off}]
                          [frag {N|auto|fixed|off}]
                          [enc {NNNN-NNNN|off}]
                          [power {period N|timeout N}]
                          [retry {limit N|lifetime N}]
                          [txpower N {mW|dBm}]
                          [commit]
说明:iwconfig是LWE最主要的工具,能够对无线网卡的大部分参数进行配置。
参数:
essid:配置无线网卡的ESSID(Extension Service Set ID)。通过ESSID来区分不同的无线网络,正常情况下只有相同ESSID的无线站点
         才能够互相通讯,除非想监听无线网络。其后的参数为双引号括起的ESSID字符串,或是any/on/off,假如ESSID字符串中包含
         any/no/off,则需要在前面加"--"。
         示例:
             #iwconfig eth0 essid any                   允许任何ESSID,也就是混杂模式
             #iwconfig eth0 essid "My Network"          配置ESSID为"My Network"
             #iwconfig eth0 essid -- "ANY"              配置ESSID为"ANY"
             
  nwid: Network ID,只用于pre-802.11的无线网卡,802.11网卡利用ESSID和AP的MAC地址来替换nwid,现在基本上不用配置。
         示例:
             #iwconfig eth0 nwid AB34
             #iwconfig eth0 nwid off
             
  nick: Nickname,一些网卡需要配置该参数,但是802.11协议栈、MAC都没有用到该参数,一般也不用配置。
         示例:
            #iwconfig eth0 nickname "My Linux Node"
            
  mode:配置无线网卡的工作模式,能够是
        Ad-hoc:不带AP的点对点无线网络
        Managed:通过多个AP组成的网络,无线设备能够在这个网络中漫游
        Master:配置该无线网卡为一个AP
        Repeater:配置为无线网络中继设备,能够转发网络包
        Secondary:配置为备份的AP/Repeater
        Monitor:监听模式
        Auto:由无线网卡自动选择工作模式
        
          示例:
            #iwconfig eth0 mode Managed
            #iwconfig eth0 mode Ad-Hoc
            
  freq/channel:配置无线网卡的工作频率或频道,小于1000的参数被认为是频道,大于10000的参数被认为是频率。频率单位为Hz,
                能够在数字后面附带k, M, G来改变数量级,比如2.4G。频道从1开始。使用lwlist工具能够查看无线网卡支持的频率
                和频道。参数off/auto指示无线网络自动挑选频率。
         注意:假如是Managed模式,AP会指示无线网卡的工作频率,因此该配置的参数会被忽略。Ad-hoc模式下只使用该设定的频率
            初始无线网络,假如加入已存在的Ad-hoc网络则会忽略该配置的频率参数。
         示例:
          #iwconfig eth0 freq 2422000000
          #iwconfig eth0 freq 2.422G
          #iwconfig eth0 channel 3
          #iwconfig eth0 channel auto
  ap:连接到指定的AP或无线网络,后面的参数能够是AP的MAC地址,也能够是iwlist scan出来的标识符。假如是Ad-hoc,则连接到
      一个已存在的Ad-hoc网络。使用off参数让无线网卡不改变当前已连接的AP下进入自动模式。any/auto参数,无线网卡自动选择
      最好的AP。
        注意:假如无线信号低到一定程度,无线网络会进入自动选择AP模式。
        示例:
          #iwconfig eth0 ap 00:60:1D:01:23:45
          #iwconfig eth0 ap any
          #iwconfig eth0 ap off
  rate/bit:假如无线网卡支持多速率,则能够通过该命令配置工作的速率。小于1000的参数由具体的无线网卡驱动定义,一般是传输速
            率的索引值,大于1000的为速率,单位bps,能够在数字后面附带k, M, G来指定数量级。auto参数让无线网卡自动选择速率
            fixed参数让无线网卡不使用自动速率模式。
            
        示例:
         #iwconfig eth0 rate 11M
         #iwconfig eth0 rate auto
         #iwconfig eth0 rate 5.5M auto    //自动选择5.5M以下的速率
         
  txpower:假如无线网卡支持多发射功率设定,则使用该参数设定发射,单位为dBm,假如指定为W(毫瓦),只转换公式为:
           dBm=30+log(W)。参数on/off能够打开和关闭发射单元,auto和fixed指定无线是否自动选择发射功率。
        示例:
         #iwconfig eth0 txpower 15
         #iwconfig eth0 txpower 30mW
         #iwconfig eth0 txpower auto
         #iwconfig eth0 txpower off   
       
  sens:配置接收灵敏度的下限,在该下限之下,无线网卡认为该无线网络信号太差,不同的网卡会采取不同的措施,一些现代的无线网卡
        会自动选择新的AP。正的参数为raw data,直接传给无线网卡驱动处理,一般认为是百分比。负值表示dBm值。
        
        示例:
          #iwconfig eth0 sens -80
          #iwconfig eth0 sens 2
          
  retry:配置无线网卡的重传机制。limit ‘value’ 指定最大重传次数;lifetime ‘value’指定最长重试时间,单位为秒,能够附带m和u来
         指定单位为毫秒和微秒。假如无线网卡支持自动模式,则在limit和lifetime之前还能够附加min和max来指定上下限值。
         
       示例:
         #iwconfig eth0 retry 16
         #iwconfig eth0 retry lifetime 300m
         #iwconfig eth0 retry min limit 8
         
  rts:指定RTS/CTS握手方式,使用RTS/CTS握手会增加额外开销,但假如无线网络中有隐藏无线节点或有很多无线节点时能够提高性能。
       后面的参数指定一个使用该机制的最小包的大小,假如该值等于最大包大小,则相当于禁止使用该机制。能够使用auto/off/fixed
       参数。
       
       示例:
         #iwconfig eth0 rts 250
         #iwconfig eth0 rts off
         
  frag:配置发送数据包的分片大小。配置分片会增加额外开销,但在噪声环境下能够提高数据包的到达率。一般情况下该参数小于最大包
       大小,有些支持Burst模式的无线网卡能够配置大于最大包大小的值来允许Burst模式。还能够使用auto/fixed/off参数。
       
       示例:
         #iwconfig eth0 frag 512
         #iwconfig eth0 frag off      
         
  key/enc[ryption]:配置无线网卡使用的加密密钥,此处为配置WEP模式的加密key,假如要使用WPA,需要wpa_supplicant工具包。
        密钥参数能够是 XXXX-XXXX-XXXX-XXXX 或 XXXXXXXX 格式的十六进制数值,也能够是s:xxxxxx的ASCII字符。假如在密钥参数之前
        加了[index],则只是配置该索引值对应的密钥,并不改变当前的密钥。直接指定[index]值能够配置当前使用哪一个密钥。指定on/
        off能够控制是否使用加密模式。open/restricted指定加密模式,取决于不同的无线网卡,大多数无线网卡的open模式不使用加密且
        允许接收没有加密的数据包,restricted模式使用加密。能够使用多个key参数,但只有最后一个生效。
            WEP密钥能够是40bit,用10个十六进制数字或5个ASCII字符表示,也能够是128bit,用26个十六进制数字或13个ASCII字符表
        示。
        示例:
          #iwconfig eth0 key 0123-4567-89
          #iwconfig eth0 key [3] 0123-4567-89
          #iwconfig eth0 key s:password [2]
          #iwconfig eth0 key [2]
          #iwconfig eth0 key open
          #iwconfig eth0 key off
          #iwconfig eth0 key restricted [3] 0123456789
          #iwconfig eth0 key 01-23 key 45-67 [4] key [4]
          
  power:配置无线网卡的电源管理模式。period ‘value’ 指定唤醒的周期,timeout ‘value’指定进入休眠的等待时间,这两个参数之前能够
         加min和max修饰,这些值的单位为秒,能够附加m和u来指定毫秒和微秒。off/on参数指定是否允许电源管理,all/unicast/multicast
         指定允许唤醒的数据包类型。
         
         示例:
         #iwconfig eth0 power period 2
         #iwconfig eth0 power 500m unicast
         #iwconfig eth0 power timeout 300u all
         #iwconfig eth0 power off
         #iwconfig eth0 power min period 2 power max period 4
         
  commit:提交任何的参数修改给无线网卡驱动。有些无线网卡驱动会先缓存无线网卡参数修,使用这个命令来让无线网卡的参数修改生效。但是一
          般无需使用该命令,因为无线网卡驱动最终都会是参数的修改生效,一般在debug时会用到。
为了方便配置,能够把配置写到 /etc/network/interfaces中,这样以后就不用反复配置了。
  • auto loiface lo inet loopback

  • auto eth1
  • iface eth1 inet staticaddress 192.168.1.3
  • netmask 255.255.255.0gateway 192.168.1.1
  • echo nameserver 192.168.1.1>/etc/resolv.confpre-up /sbin/iwconfig eth1 essid "LW HOME LINK"
  • pre-up /sbin/iwconfig eth1 key s:liwei
  • auto usb0iface usb0 inet static
  • address 192.168.0.200netmask 255.255.255.0
  • auto dsl-provideriface dsl-provider inet ppp
  • pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconfprovider dsl-provider

  • auto eth0
  • iface eth0 inet manua


  • 另外,看了一下,官网上面已经没有了spi的驱动,只有sdio接口的,所以这篇文章可以看一下:https://labs.isee.biz/index.php/How_to_setup_Marvell_88w8686_SDIO_wifi
基于SPI接口wifi8686无线网卡的Linux驱动 基于SPI接口wifi8686无线网卡的Linux驱动,平台是pxa270 立即下载

相关推荐

定时器(PWM输出)触发ADC采样(DMA)——STM32CubeMX

已知 Tclk 为 84MHz , 我们需要 Tout 为 200ms 即 200000us , 不妨先让PSC为 839, 带入上述公式可得 ARR = 19999. 这样算出来之后ARR和PSC都在0~65535的范围, 则可以使用这组参数。例如,如果时钟频率为1MHz,并且PSC设置为1000,则实际的定时频率将为1kHz。当重装载值(Period 或 ARR)设置为 500 时,意味着定时器需要计数 500 个时钟周期才会触发中断。例如,如果时钟频率为1MHz,则Tclk为1微秒。

2301_77123899的博客 1万+

Linux下通过iwconfig命令连接无线

在无线抓取报文后,或者未启动图形化桌面,只有命令行的情况下,需要通过命令来配置无线上网。 1、启动无线接口 ifconfig -a ifconfig wlan0 up 2、扫描无线信号,找到要连接的无线 iwlist wlan 0 scanning 3、连接相应的无线ssid iwconfig wlan0 essid "xxxxx" iwconfig wlan0 ap auto 这里需要注意一下,因为iwconfig命令是比较老的无线配置工具,仅支持无加密或WEP。因为安全性的原因

王鑫宇的博客 1万+

PyTorch实战:A2C算法在Pendulum环境中的调参技巧与收敛优化

本文详细介绍了使用PyTorch实现A2C算法在Pendulum环境中的调参技巧与收敛优化方法。通过分析Pendulum环境特性、设计高效的网络架构、优化超参数设置以及提升训练稳定性,帮助开发者掌握强化学习中的policy-based方法。文章特别强调了奖励工程、优势估计改进和梯度裁剪等关键优化策略,为连续控制任务提供了实用解决方案。

rum55的博客 213

WIFI实践入门--基本命令--iwconfig

WIFI命令--802.11--iwconfig

香蕉一号 1万+

HTML5网页基础设计——课程介绍专栏

案例: 参考代码: <!doctype html> <html> <head> <meta charset="utf-8"> <title>动手实践</title> <style> *{ margin: 0; padding: 0; font-size:14px; } dd{ width: 461px; height: 145px; margin: -4px; pad.

shengming_tutou的博客 4594

2011-2024年间各省数字普惠金融指数数据(覆盖广度、使用深度和数字化程度)

2、指标:数字金融普惠指数、数字金融覆盖广度指数、数字金融使用深度指数、普惠金融数字化程度指数、数字金融使用深度指数下属的支付、保险、货币基金、信用服务、投资、信贷等分类指数。中国各省的数字普惠金融指数数据,从数字金融覆盖广度、数字金融使用深度和普惠金融数字化程度3个维度来构建数字普惠金融指标体系。数字普惠金融指数一共3个维度、33项具体指标。全套指数包含数字金融覆盖广度指数、数字金融使用深度指数和普惠金融数字化程度指数,以及数字金融使用深度指数下属的支付、保险、货币基金、信用服务、投资、信贷等分类指数。

【优快云】 1万+

WiFi开发相关的基础工具:iwconfig、iwlist、wpa_supplicant、hostapd(详解)

它可以用于配置无线网络接口的参数,例如网络名称、密码、加密方式等。iwlist是一个用于列出无线设备信息的命令行工具,它可以获取无线接口的详细信息,包括可用频率、速率、加密密钥、电源管理属性等各种参数。此外,hostapd还支持各种不同的无线信道和频段,例如2.4GHz、5GHz等,可以根据需要进行配置。iwconfig是Linux下的一个命令,它用于配置无线网络接口,可以显示和更改无线网卡的大部分参数。在配置文件中,hostapd的参数可以分为不同的类别,例如通用参数、无线接口参数、无线安全参数等。

Cdy126的博客 5904

L型探测器几何畸变矫正

定位像素空间位置 -> 计算水平面投影点 -> 统一物理分辨率 -> 重采样生成新图。

如果想成为中心,那么就到中心去吧。 241

linux-2.6.26下开发marvell 88w8686 wifi驱动 (转)

最近在做基于2440+linux下,开发marvell 88w8686驱动 ,因为三月、硬件设计是spi接口,所以我从marvell 官方网站下载SPI 接口的驱动程序src_gspi8686.tar.bz2, 此驱动程序是基于PXA270的,所以需要自己移植到2440平台上,主

samssm的专栏 2771

AI Agent Harness Engineering 开发效率工具:Prompt工程、调试与监控平台

随着AI Agent技术从原型探索走向企业级落地,开发者普遍面临Prompt迭代无版本管控、Agent执行黑盒无法定位错误、上线后无监控导致故障频发、多团队协作效率低下四大核心痛点,据2024年LLMOps行业报告显示,没有配套工具链的Agent开发团队平均迭代周期是有工具链团队的6倍,线上故障率高达23%,平均资源浪费超过60%。

小白菜的博客 426

MicroPython学习:在STM32上进行移植

本文将介绍如何在STM32上移植MicroPython,并提供相应的源代码。通过以上步骤,你已经成功地将MicroPython移植到STM32上,并可以使用MicroPython语言编写和运行代码。你可以进一步探索MicroPython的功能和API,以利用STM32的各种外设和功能。使用STM32CubeProgrammer或其他适当的烧录工具,将编译生成的MicroPython固件烧录到STM32微控制器中。打开该文件,并根据你的STM32微控制器类型进行必要的配置更改。模块来控制STM32的LED。

JeeVue的博客 1237

开发linux无线网卡驱动程序,linux-2.6.26下开发marvell 88w8686 wifi驱动 (转)

最近在做基于2440+linux下,开发marvell 88w8686驱动 ,因为三月、硬件设计是spi接口,所以我从marvell官方网站下载SPI 接口的驱动程序src_gspi8686.tar.bz2,此驱动程序是基于PXA270的,所以需要自己移植到2440平台上,主要有如下工作要做:1.将src_gspi8686 下的 io 文件夹下的gspi.c和gspi.h 这两个文件修改,针对各个...

weixin_30717635的博客 555

动态规划之【树形DP】第3课:树形DP应用案例实践2

动态规划之【树形DP】第3课:树形DP应用案例实践2

王老师青少年编程 763

Marvell 88W8686/88W8782/88W8801 WiFi模块驱动程序的编写

本文以STM32F1系列的单片机为例,详细讲解Marvell公司的88W8686/88W8782/88W8801 WiFi模块驱动程序的编写。编写程序时为了代码简短起见,直接用寄存器操作,不使用STM32库函数。IDE采用Keil uVision5。为了存储下WiFi模块庞大的固件,以及方便lwip的移植,请尽量采用较大SRAM和Flash容量的单片机(如High-density或XL-densi

Zorry的专栏 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【教程】Marvell 88W8686 WiFi模块驱动程序的编写(一)

本文以STM32F1系列的单片机为例,详细讲解Marvell公司的88W8686 WiFi模块驱动程序的编写。编写程序时为了代码简短起见,直接用寄存器操作,不使用STM32库函数。IDE采用Keil uVision5。为了存储下WiFi模块庞大的固件,以及方便lwip的移植,请尽量采用较大SRAM和Flash容量的单片机(如High-density或XL-density系列的),这里笔者用的是ST...

ZLK1214的专栏 1万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

STM32开发板移植88W8686 WIFI驱动笔记

目前收集到的 88W8686资料: Mavell 88W8686 数据手册(Rev D,2007年4月).pdf (2647 K) 下载次数:1174 WM-G-MR-09_应用电路(环隆电气).pdf (180 K) 下载次数:434 SDIO(SPI)_WIFI_Linux驱动分析.pdf (1319 K) 下载次数:718 XG-182M Embedded

wince--linux的专栏 8845

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

FLX6410上调试Marvell 88W8787 SDIO WIFI

2012-04-26 15:30 1065人阅读 评论(0) 收藏 举报 随着88W8686芯片的停产,原来产品的sdio wifi模块需要考虑更新换代了,88w8787是marvell目前力推的wifi、蓝牙和FM三合一的模块,无论是功能、性能、功耗还是CPU占用率都是8686望尘莫及的。为了方便方案验证,这边先做了块通用SDIO接口的8787网卡。由于8787芯片还算比较新,linux的

kerson的专栏 2783

SDIO WiFi模块分析

S3C6410硬件模块分析 -- SDIO WiFi模块分析 (2011-05-04 17:42) 分类: 底层开发 Andrew Huang  转载请注明作者及网址.   手头的上课s3c6410开发板,带了SDIO接口的WiFi模块,但是没有Linux下的驱动,因此在上网络驱动时课参考s3c2440的实现试着分析和调试一下SDIO的WiFi驱动。

jidonghui的专栏 7958

iwconfig与iw设置网卡模式

【代码】iwconfig与iw设置网卡模式。

Android系统攻城狮 1941

(1)Windows10连接wifi后无法访问网络问题的解决方法---(IPv4/IPv6未连接)

设备: Surface pro6 系统: Windows10 版本 1903(OS内部版本 18362.592) 问题: 连上wifi后无法访问网络,其它设备均可正常使用wifi,连上手机热点也无法上网。 尝试过的办法: 1.重启电脑 fail 2.检查时间日期设置 normal 3.关电脑防火墙 fail 4.运行网络疑难解答 未能确定问题 5.卸载无线网卡驱动(Marvell AVASTAR ...

Tardis13的博客 7117

iwconfig

解决办法:清空/var/lib/dhclient/dhclient.leases文件里的所有内容 # sudo dhclient -r //release ip 释放IP # sudo dhclient //获取IP 清空dns缓存,(重启dns服务) # service nscd restart 或是 # /etc/init.d/nscd restart 然后重启网络,servi...

weixin_30376163的博客 308

wlan0基础详解

块,系统会自动选择信号最强的网络。

C/C++ 1219
上一篇: Linux 系统信息查询命令
下一篇: 关于stc51的冷启动下载和复位
shareCode
博客等级 码龄15年 125粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值