openwrt
文章平均质量分 94
发稿咋胸前
嵌入式系统应用 openwrt软件开发
展开
-
sed
1.简介sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行处理和显转载 2014-12-22 15:43:15 · 399 阅读 · 0 评论 -
openwrt Makefile理解
本文是本人对OpenWrt的Makefile的理解,并非转载。OpenWrt是一个典型的嵌入式Linux工程,了解OpenWrt的Makefile的工作过程对提高嵌入式Linux工程的开发能力有极其重要意义。OpenWrt的主Makefile文件只有100行,可以简单分为三部分,1~17行为前导部分,19~31为首次执行部分,33~101为再次执行部分。 前导部分CU转载 2015-05-23 15:29:47 · 823 阅读 · 0 评论 -
Linux Wireless架构总结
1. 无线网络驱动(ath9k_htc) ath9k_htc是一个基于USB接口的SoftMAC无线网络适配器。为了其驱动能正常工作,首先必须调用usb_register来注册驱动定义的usb_driver,以借助USB Core的力量来处理与USB协议相关的事件。其代码如下:[cpp] view plaincopystat转载 2015-05-23 16:18:03 · 972 阅读 · 0 评论 -
OpenWRT添加模块Makefile
第一次接触到openwrt,真是被毁三观啊,不要说makefile,连源代码在哪里都找不到,知道嵌入式系统水深,没想到迈出第一步就没过了脖子。好在旁边有人指点,直接在芯片厂商提供的既有代码上做二次开发,项目进展倒也完全满足了前期计划的目标。但是哥奔的就是嵌入式,这么好的学习机会怎容错过?!目标:在芯片厂商提供的开发包上添加自己的用户态模块和内核态模块,以使我们自己开发的代码与芯片厂商的代码尽可转载 2015-05-23 11:24:07 · 726 阅读 · 0 评论 -
openwrt Makefile 理解
本篇的主要目的是想通过分析Makefile,了解openwrt编译过程。着重关注以下几点:openwrt目录结构主Makefile的解析过程,各子目录的目标生成。kernel编译过程firmware的生成过程软件包的编译过程openwrt目录结构官方源下载速度太度,我从github上clone了openwrt的代码仓库。git clone https:/转载 2015-05-23 15:29:40 · 1082 阅读 · 0 评论 -
Openwrt常用烧写命令 (tftp)
AR系列分区地址 4M flash的分区地址:分区名 起始地址 结束地址 分区长度 uboot 0x9f000000 0x9f020000 0x20000 firmware 0x9f020000 0x9f3e0000 0x3c0000art 0x9f3f00转载 2015-06-08 15:44:28 · 5231 阅读 · 0 评论 -
OpenWrt系统安全改进<五> --- Web 访问权限分级
摘要OpenWrt系统安全改进中介绍的只是在UI层面对用户进行访问控制,对于深层次非法操作并不能起到保护效果。本节介绍针对不同的用户登录请求,使用不同用户启动luci进程,从而实现不同用户进行操作级别的访问控制。机制分析web页面操作涉及到uhttpd和luci两个模块,uhttpd处理http报文,将cgi请求转给luci处理。从代码实现就可以看出这两个模块目前只是针对单用户:1转载 2015-06-10 08:54:59 · 1555 阅读 · 0 评论 -
hostapd源代码分析(一):网络接口和BSS的初始化
最近在做一个基于OpenFlow 协议的无线AP 的项目,于是就分析了hostapd 的源代码,并在原有的基础上添加上我们的代码。经过近半个月的调试和分析,算是基本上搞清楚了hostapd 的运作机制。鉴于网上对于hostapd 的具体资料甚是稀少,所以笔者在此整理学习笔记并在网上与各位读者分享,希望能对读者们有帮助。如果有分析不恰当或者错误的地方,也欢迎各位指正。另外,本文是在读者已经具有IEE转载 2015-05-26 10:06:25 · 4213 阅读 · 0 评论 -
OpenWrt系统安全改进<四> --- Web UI权限分级
本章实现了不同用户的不同权限级别,但是严格说来,这种实现方式并不属于安全性的改进,而只是针对用户友好性的改进。而且实现方法太过“丑陋”,在此仅提供思路:一 保存用户信息在dispatcher.lua中用户密码认证处添加保存用户信息的相关语句;二 标签卡的选择在controller/.../下的lua文件中获取之前保存的用户信息,根据需要选择调用entry语句三 字符串修转载 2015-06-10 09:00:52 · 759 阅读 · 0 评论 -
hostapd源代码分析(二):hostapd的工作机制
在我的上一篇文章《hostapd源代码分析(一):网络接口和BSS的初始化》中,介绍了两个重要的数据结构hostapd_iface和hostapd_data以及网络接口和BSS的初始化设置的过程。下面,我要在这一篇文章中详细介绍hostapd的工作机制。hostapd的模块结构如下从上图中可以看出,hostapd通过一个叫做“event_loop”的核心模块来处理来自各个模块的转载 2015-05-26 10:11:54 · 6746 阅读 · 0 评论 -
AP模式中多重基础服务集(Multi-BSS)下帧的接收
我们知道,AP模式下的无线网卡可以创建多个基础服务集(Base Service Set, BSS),我们可以为每一个BSS赋予一个SSID,也可以为每一个BSS设置不同的加密方式和密码。通过多个创建多个BSS的方式,就可以让同一个无线路由器提供不同的无线上网服务。那么问题来了,当AP接收到一个帧的时候,如何判断这个帧是否属于这个AP呢?我一开始认为,当AP接收到一个帧的时候,驱动程序便会循环检查每转载 2015-05-26 10:11:28 · 2401 阅读 · 0 评论 -
hostapd源代码分析(三):管理帧的收发和处理
这篇文章我来讲解一下hostapd是如何处理IEEE 802.11管理帧的。我们知道,hostapd主要负责管理工作站(station)认证和接入。因此,它只处理管理帧(Management Frame),并不处理数据帧。802.11的管理帧主要有信标帧(beacon)、探测请求帧(probe request)、探测回应帧(probe response)、请求认证帧(authentication转载 2015-05-26 10:08:26 · 4018 阅读 · 0 评论 -
openwrt wifi 配置
以Atheros71xx为例,修改路径为:trunk/kernel/mac80211/files/lib/wifi/mac80211.sh代码的尾部即为/etc/config/wireless文件的内容。可修改为出厂时即启动无线,无线的SSID为指定值等等[cpp] view plaincopy cat config wifi-device ra转载 2015-08-19 11:31:01 · 4972 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
OpenWRT默认使用dnsmasq提供DHCP/DNS服务,通常情况下够用。但如果我们用路由器爬墙,为了解决DNS污染问题,比如用到了ChinaDNS,对于国外域名的解析,会连到国外的DNS上,延迟是比较高的。默认的配置下,dnsmasq对于DNS记录的缓存时间、还有缓存文件大小都比较受限,一条记录可能没多久就被清除出缓冲区,失效了。这时我们就希望有一个缓存功能更强的DNS软件,可以手动改大TTL转载 2015-09-06 10:12:35 · 692 阅读 · 0 评论 -
IEEE 802
IEEE 802[编辑]IEEE 802 指IEEE标准中关于局域网和城域网的一系列标准。更确切的说,IEEE 802标准仅限定在传输可变大小数据包的网络。其中最广泛使用的有以太网、令牌环、无线局域网等。这一系列标准中的每一个子标准都由委员会中的一个专门工作组负责。IEEE 802中定义的服务和协议限定在OSI模型的最低两层(即物理层和数据链路层)。事实上,IEEE原创 2015-05-18 10:53:45 · 1559 阅读 · 0 评论 -
openwrt系统 sysupgrade 命令执行过程分析
0:扯淡对这个openwrt的细节方面了解的还比较欠缺,故从实际中的经常用的功能说起,研究研究,可以了解更多的细节。在openwrt的页面中已经涉及到下面的内容如:其中在更新系统时候有进行配置保存及恢复的功能。1:sysupgrade是的交互式使用命令如下:经过上面的系统更新之后,会保存上面显示的配置文件中的内容,故更新系统不会影响配置的丢失。3:脚本分析转载 2015-06-18 10:52:37 · 1617 阅读 · 0 评论 -
openwrt开发与luci介绍
Openwrt开发与Luci介绍 分享到 评论LUCIOpenwrt开发文章目录1.Luci介绍1.1.Luci 的启动—uhttpd1.2.Luci 的启动—luci1.3.Luci— Web1.4.以status模块为例进行说明1.5.entry()函数1.6.target主要分为三类:call,template 和cbi。转载 2014-12-09 15:16:27 · 2529 阅读 · 0 评论 -
openwrt编译进阶
Openwrt编译进阶 分享到 评论Openwrt编译文章目录1.Openwrt基础编译2.Openwrt编译进阶2.1.修改WIFI设置2.2.修改LUCI2.2.1.修改LUCI界面配置2.2.2.添加释放内存2.2.3.在顶栏显示重启2.2.4.在顶栏显示备份/升级2.3.修改配置文件2.3.1.转载 2014-12-09 15:18:21 · 2520 阅读 · 0 评论 -
openwrt lcui
最近在学习OpenWrt,需要在OpenWrt的WEB界面增加内容,本文将讲述修改OpenWrt的过程和其中遇到的问题。一、WEB界面开发 LuCI是OpenWrt上的Web管理界面,LuCI采用了MVC三层架构,使用Lua脚本开发,所以开发LuCI的配置界面不需要编辑任何的Html代码,除非想自己单独去创建网页(View层),否则我们基本上只需要修改Model层就可以了转载 2014-12-09 15:09:41 · 1658 阅读 · 0 评论 -
openwrt 转发
学校里最近改造了校园网,要求必须用iNode验证,万幸的是路由器能刷OpenWrt,并且OpenWrt上有好多iNode认证的开源项目,比如 njit8021xclient (以下简称njit-client)就非常好用。虽然程序写的好用,但是配置起来还是稍微麻烦一些的,大家通常的方法是在/etc/init.d下写启动脚本,把用户名、密码什么的都直接填进去,但毕竟配置起来不方便,同时日后修改起来转载 2014-12-09 15:29:01 · 1657 阅读 · 0 评论 -
openwrt 基础知识
penWrt是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件,常常被用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。OpenWrt支持各种处理器架构,无论是对ARM,X86,PowerPC或者MIPS都有很好的支持。 其多达3000多种软件包,囊括从工具链(toolchain),到内核(linux kernel),到软件包(packages),再到根文件系转载 2014-12-10 10:13:53 · 7046 阅读 · 0 评论 -
Openwrt使用mtd和sysupgrade刷机、备份恢复系统配置
查看当前系统分区信息:12345678cat /proc/mtddev: size erasesize namemtd0: 00020000 00020000 "CFE"mtd1: 000dff00 00020000 "kernel"转载 2015-02-07 11:19:07 · 2347 阅读 · 0 评论 -
kernel 移植笔记(从omap linux-02.01.03.11 到 fred 版本kernel 学习)
1、make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm omap3_adv_defconfig,执行之后.config与omap3_adv_defconfig无关问题???参考:文章:再次深入研究kernel的Makefile.config的产成----------------------------------make ${PL转载 2015-03-09 15:55:41 · 615 阅读 · 0 评论 -
wifi基本知识
1. IE802.11简介标准号IEEE 802.11bIEEE 802.11aIEEE 802.11gIEEE 802.11n标准发布时间1999年9月1999年9月2003年6月2009年9月工作频率范围2.4-2.4835GHz5.150-5.350GHz5.475-5.725GHz5.725转载 2015-03-28 09:52:14 · 611 阅读 · 0 评论 -
openwrt 框架分析
这次讲讲openwrt的结构.1. 代码上来看有几个重要目录package, target, build_root, bin, dl....---build_dir/host目录是建立工具链时的临时目录---build_dir/toolchain-*是对应硬件的工具链的目录---staging_dir/toolchain-* 则是工具链的安装位置---target/li转载 2015-03-09 15:51:01 · 706 阅读 · 0 评论 -
hostapd 与 wpa_supplicant详解
根據wiki說明, wpa_supplicant 是一個免費軟體實現了 IEEE 802.11i 管理控制 (在多平台上 Linux, FreeBSD, NetBSD, AROS, Microsoft Windows, Solaris, OS/2 ), 而且wpa_supplicant 既可達到全功能的WPA2 管理控制,它也同時實現了WPA和較舊的無線局域網安全協議。簡介IE转载 2015-03-21 15:38:50 · 10853 阅读 · 0 评论 -
openwrt swconfig
swconfig 是OpenWrt用来配置交换机的命令。交换机是二层设备,是我们用来配置vlan的必备利器。swconfig list 现实系统交换机。swconfig dev show现实当前端口配置。所谓家庭路由器=交换机+网络服务程序+无线企业级路由器还有些路由功能等。[objc] view plaincopy转载 2015-05-15 11:28:30 · 4581 阅读 · 0 评论 -
添加复位键按钮
发现uci-defaults 看起来可以注入设置文件#!/bin/sh uci -q show system.@restorefactory[0] || { uci add system restorefactory uci set system.@restorefactory[0].button=reset uci set system.@restorefactor转载 2015-05-15 13:51:25 · 3271 阅读 · 0 评论 -
mips 存储管理
一.虚拟地址空间地址空间的最大长度与实际可用的物理内存数量无关,因此被称为虚拟地址空间(Virtual Address Space)。这个虚拟地址空间的大小是由计算机的硬件平台决定的,具体来说是由CPU的位数决定的。硬件决定了地址空间的最大理论上限,即硬件的寻址空间大小,比如主流的32位处理器(IA32,MIPS,ARM)等能寻址2^32B,即4GB的大小的地址空间(0~0xFFF转载 2015-05-16 08:53:54 · 785 阅读 · 0 评论 -
MAC802.11数据帧格式
1 MAC802.11数据帧格式首先要说明的是mac802.11的帧格式很特别,它与TCP/IP这一类协议不同,它的长度是可变的。不同功能的数据帧长度会不一样。这一特性说明mac802.11数据帧显得更加灵活,然而,也会更加复杂。mac 802.11的数据帧长度不定主要是由于以下几点决定的 1.1 mac地址数目不定,根据帧类型不同,mac 802.11的mac地址数会不一转载 2015-09-15 17:42:27 · 5268 阅读 · 1 评论