第九章 openwrt学习总结.docx

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1:ath9k中的EEPROM中的数据在文件compat-wireless-2014-03-31\drivers\net\wireless\ath\ath9k\ Ar9003_eeprom.h中定义了struct ar9300_eeprom其中保存了校准相关的数据变量,如MAC地址,eepromVersion;此数据结构值得研究,同时在sys文件系统了定义了查看这些变量值的接口,其交互的接口如下:root@OpenWrt:/sys/kernel/debug/ieee80211# lsphy0 phy1此处说明系统有俩个wifi网卡,每一张都有自己的状态信息。主要的文件有:modal_eeprom,rx_chainmask,tx_chainmask。2:Atheros原厂中的EEPROM的中的数据经过ath9k和Atheros SDK中的代码对比之后,发现, EEPROM中的存放的数据结构完全一致。故可以知道,我们可以通过Atheros原厂提供的art.ko及校准文件对openwrt系统进行校准来提供wifi性能的稳定。可能涉及到的问题如下:1:需要对ark.ko。即需要对内核相关的代码进行移植。2:需要进一步确定上面定义的ar9300_eeprom数据存放在什么地方,从什么地方读取。3:需要跟Atheros原厂的进行对比,确保准确无误。代码当然入口点如下:[ 16.300000] ath_ahb_eeprom_read [ 16.300000] ath9k_hw_use_flash3:如何在openwrt添加自定义模块接口3.1 make menuconfig中的?kernel modules其中的各个配置选项来自于下面目录中的.mk文件[root@localhost /openwrt/openwrt/trunk/package/kernel/linux/modules]$ls001-depends.mk ?crypto.mk ? ?hwmon.mk ?leds.mk ? ? ? ?netdevices.mk.bak ?nls.mk ? ? sound.mk ?video.mk ? ?wireless11221.mkblock.mk ? ? ? ?firewire.mk ?i2c.mk ? ?lib.mk ? ? ? ? netfilter.mk ? ? ? other.mk ? spi.mk ? ?virtual.mk ?wireless.mkcan.mk ? ? ? ? ?fs.mk ? ? ? ?input.mk ?netdevices.mk ?netsupport.mk ? ? ?pcmcia.mk ?usb.mk ? ?w1.mk[root@localhost /openwrt/openwrt/trunk/package/kernel/linux/modules]$兄弟们可以打开就知道,其中我们将自己将要添加的内核模块添加到Network Devices中。添加之后的效果为:3.2:添加自己的模块到文件netdevices.mk其中自己的模块代码在?FILES:=$(LINUX_DIR)/drivers/net/ethernet/ethernet中内核控制选项为:CONFIG_AR9344_PHY8035 其中这个很重要需要在多个文件中进行定义AR9344_PHY8035。在下面的目录中的Makefile添加obj-y += ethernet/[root@localhost /openwrt/openwrt/trunk/build_dir/target-mips_34kc_uClibc-/linux-ar71xx_generic/linux-3.10.36/drivers/net/ethernet]$more Makefile## Makefile for the Linux network Ethernet device drivers.#obj-y += ethernet/同时还需要在Kconfig中添加source drivers/net/ethernet/ethernet/Kconfig其中内容如下:[root@localhost /openwrt/openwrt/trunk/build_dir/target-mips_34kc_uClibc-/linux-ar71xx_generic/linux-3.10.36/drivers/net/ethernet/ethernet]$cat Kconfigconfig AR9344_PHY8035 ?//很重要的东西? ? ? ? tristate db12x borad for 9344chip? ? ? ? depends on PCI? ? ? ? h

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档