文档介绍:openwrt学习总结目录
1:ath9k中的EEPROM中的数据 2
2:Atheros原厂中的EEPROM的中的数据 3
3:如何在openwrt添加自定义模块接口 4
make menuconfig中的 kernel modules 4
: 6
4:openwrt内核编译及文件系统的生成 7
8
Linux内核uimage生成 11
Linux根文件系统生成 12
5:openwrt中的进程启动方式 12
6:网络配置 15
:有线网络配置 15
:无线网络配置 16
7:LUCI命令使用入门 16
8:openwrt web页面代码分析 19
1:ath9k中的EEPROM中的数据
在文件
compat-wireless-2014-03-31\drivers\net\wireless\ath\ath9k\
struct ar9300_eeprom其中保存了校准相关的数据变量,如MAC地址,eepromVersion;
此数据结构值得研究,同时在sys文件系统了定义了查看这些变量值的接口,其交互的接口如下:
******@OpenWrt:/sys/kernel/debug/ieee80211# ls
phy0 phy1此处说明系统有俩个wifi网卡,每一张都有自己的状态信息。
主要的文件有:modal_eeprom,rx_chainmask,tx_chainmask。
2:Atheros原厂中的EEPROM的中的数据
经过ath9k和Atheros SDK中的代码对比之后,发现, EEPROM中的存放的数据结构完全一致。故可以知道,。
可能涉及到的问题如下:
1:。即需要对内核相关的代码进行移植。
2:需要进一步确定上面定义的ar9300_eeprom数据存放在什么地方,从什么地方读取。
3:需要跟Atheros原厂的进行对比,确保准确无误。
代码当然入口点如下:
[ ] ath_ahb_eeprom_read
[ ] ath9k_hw_use_flash
3:如何在openwrt添加自定义模块接口
make menuconfig中的 kernel modules
[******@localhost /openwrt/openwrt/trunk/package/kernel/linux/modules]$ls
001-                            
                                   
                                 
[******@localhost /openwrt/openwrt/trunk/package/kernel/linux/modules]$
兄弟们可以打开就知道,
其中我们将自己将要添加的内核模块添加到Network Devices中。添加之后的效果为:
:
其中自己的模块代码在 FILES:=$(LINUX_DIR)/drivers/net/ethernet/ethernet中
内核控制选项为:CONFIG_AR9344_PHY8035 其中这个很重要需要在多个文件中进行定义AR9344_PHY8035。
在下面的目录中的Makefile添加obj-y += ethernet/
[******@localhost /openwrt/openwrt/trunk/