![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenWRT
-西西弗斯
这个作者很懒,什么都没留下…
展开
-
DMZ原理与应用
DMZ原理与应用DMZ是英文“demilitarized zone”的缩写,中文名称为“隔离区”,“非军事化区”。它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题,而设立的一个非安全系统与安全系统之间的缓冲区,这个缓冲区位于企业内部网络和外部网络之间的小网络区域内,在这个小网络区域内可以放置一些必须公开的服务器设施,如企业Web服务器、FTP服务器等。DMZ防火墙方案为要保护的内部网络增加了一道安全防线,通常认为是非常安全的。同时它提供了一个区域放置公共服务器,从而又能有效地避免一些..转载 2021-08-09 11:07:55 · 678 阅读 · 0 评论 -
WIFI吞吐量测试用例-Ixcharoit6.7
https://www.doc88.com/p-2035614605604.html转载 2021-08-09 11:05:23 · 815 阅读 · 0 评论 -
openwrt中br-lan,eth0,eth0.1,eth0.2
openwrt中br-lan,eth0,eth0.1,eth0.2来源 https://blog.phpgao.com/openwrt-interface.htmlopenwrt的接口真是多,老高一下子都看晕了,不过仔细理一理,还是能够分辨的。首先盗openwrt-wiki中的一张图,这张图对理解这些接口很重要!网络配置有线网配置openwrt的有线网络配置文件位于/etc/config/network,老高的配置如下:config interface 'loopbac转载 2021-08-06 17:55:52 · 3377 阅读 · 0 评论 -
OpenWRT学习笔记-45 mt76x2e闭源驱动移植(上)
mt76x2 代表mt7602与mt7612,一个2G,一个5G驱动。mtk共提供了三套SDK,Linux SDK,openwrt SDK,ECOS SDK高通提供了两套SDK, QSDK就是openwrt SDK,LSDK就是Linux SDK很多时候,厂家已经提供好基于SDK的OpenWRT,自己不需要继续移植。make meconfig有三个目录:Applications,Drivers,Liraries。 这三个目录都是MTK私有的东西。MTK SDK的Kernel是原创 2021-07-26 19:08:06 · 3186 阅读 · 1 评论 -
OpenWRT学习笔记-44 交叉编译工具使用
mipsel-openwrt-linux-gcc原创 2021-07-23 20:16:40 · 1297 阅读 · 0 评论 -
几种常见的ELF文件
几种常见的ELF文件在Linux下,我们经gcc编译之后生成的可执行文件属于ELF文件:ELF是一类文件类型,而不是特指某一后缀的文件。ELF(Executable and Linkable Format,可执行与可链接格式)文件格式,在Linux下主要有如下三种文件: 可执行文件(.out):Executable File,包含代码和数据,是可以直接运行的程序。其代码和数据都有固定的地址 (或相对于基地址的偏移 ),系统可根据这些地址信息把程序加载到内存执行。 可重定位文件转载 2021-07-23 17:08:43 · 624 阅读 · 0 评论 -
OpenWRT学习笔记-43 无线相关的基本概念
AP: 1对多的服务Client: 连接到对端,1对1的方式。 无线网卡一个状态只能工作在一个频段,无法多频率复用。如果实现一对多,就需要实现不同的时间片之间来回切换,网卡不支持。包括virtual ssid,信道也需要设置在一个信道才可以,无法通过virtual ap/virtual ssid设置在不同频段。如果要同时接入多个频段, 需要添置多个网卡才可实现中继模式:repeater或wisp模式,实际上是ap模式与client模式合在一起WDS:AP1与AP2之间两两之间可以互访...原创 2021-07-23 16:18:22 · 481 阅读 · 0 评论 -
无线路由器的AP、Client、WDS、WISP使用功能图解(清晰明了)
原文链接:http://www.anywlan.com/article-4180-1.html先从有线路由器说起。现在的家用有线路由器,一般都有一个 WAN 口和几个 LAN 口,可以等效看成是三个部分组成:一个有一个 WAN 口和一个 LAN 口的路由器,一个有几个 LAN 口的网络交换机,一个接在 LAN 口的 DHCP 服务器。无线路由器的无线功能关闭后,就是这样的一个有线路由器。使用时,Internet 网线插接在路由器的 WAN 口,电脑通过带水晶头的网线插接在交换机的 LAN 口。转载 2021-07-23 14:19:14 · 6245 阅读 · 0 评论 -
无线路由器的五种工作模式
无线路由器的五种工作模式 Router,即无线路由模式,这也是我们最常用的一种工作方式,一般家里宽带连接,将宽带猫连接在无线路由的WAN口上,然后做拨号帐号设置,就用这个模式即可。 AP,即无线交换机,和router的区别就是不使用路由功能,一般是多无线台路由扩展信号覆盖用的。比如家里二层楼,一台放在一楼做Router,但是无线信号在二楼不稳定,那么可以在二楼放置第二台无线路由,路由用网线连接到第一台上,二楼电脑无线连接到二楼路由的无线网络上,而非一楼的无线网络。 Bridge,即桥接转载 2021-07-23 10:05:27 · 11695 阅读 · 0 评论 -
OpenWRT学习笔记-42 根文件系统移植
Zabbix分布式配置Zabbix是一个分布式监控系统,它可以以一个中心点、多个分节点的模式运行,使用Proxy能大大的降低Zabbix Server的压力,Zabbix Proxy可以运行在独立的服务器上,如图13-36所示:图13-36 Zabbix Proxy网络拓扑图安装Zabbix Proxy,基于Zabbix-3.2.6.tar.gz软件包,同时需要导入zabbix基本...原创 2021-07-21 06:42:32 · 452 阅读 · 0 评论 -
OpenWRT学习笔记-41 Linux driver 移植
tbd原创 2021-07-21 06:34:53 · 386 阅读 · 0 评论 -
OpenWRT学习笔记-40 Linux内核移植
tbd原创 2021-07-20 18:34:25 · 500 阅读 · 0 评论 -
OpenWRT学习笔记-38 交叉编译工具链
打印1000以内的素数原创 2021-07-19 23:42:19 · 272 阅读 · 0 评论 -
OpenWRT学习笔记-37 tftp加载Linux内核及rootfs
像前一节,编写驱动程序则过于繁琐。对于STM32而言,使用一个结构体将所有的外设寄存器放在一起原创 2021-07-19 23:31:26 · 249 阅读 · 0 评论 -
OpenWRT学习笔记-36 uboot
cpsie i /* 打开全局中断 */ b main /* 跳转到main函数 */用cpsie 打开IRQ,所有外设中断,都是触发IRQ。进入IRQ_Handler,首先金属push,保存寄存器/现场/* IRQ中断!重点!!!!! */IRQ_Handler: push {lr} /* 保存lr地址 */ push {r0-r3, r12} /* 保存r0-r3,r12寄存器 */ mrs r0, spsr /* 读取spsr寄存...原创 2021-07-19 23:18:25 · 397 阅读 · 0 评论 -
OpenWRT学习笔记-35 环境配置
执行完cpu_init_cp15之后,程序回来执行cpu_init_crit只有一条代码,第363行,跳转到lowlevel_init子过程。lowlevel_init子过程不在start.S文件中,在lowlevel_init.S中原创 2021-07-19 23:11:42 · 242 阅读 · 0 评论 -
OpenWRT学习笔记-34 系统移植简介
1. UART.HUART实际用到了66.5MHz的CLKClock = 66.5M = 66,500,000Baud Rate = 115200DIV_VAL = 66,500,000/(115200 x 16) - 1 = 35UART.c原创 2021-07-19 22:57:24 · 336 阅读 · 0 评论 -
OpenWRT学习笔记-33 SD卡启动盘制作
SD卡第一个分区:512Byte,用于存储分区表信息。即记录每个分区的大小,存储信息的描述等。dd命令:if = input file; of = output file; count 代表分区的数量。一个分区代表512字节(Byte)烧写工具刚好从第1个扇区开始烧写,zero.bin刚好跨过第一个扇区u-boot-fs4412.bin 与 zero.bin 合并在一起,刚好组成可以刷的win-u-boot-fs4412.bin,其第一个扇区为空,第二个扇区开始为uboot2048个..原创 2021-07-19 12:38:49 · 725 阅读 · 1 评论 -
OpenWRT学习笔记-32 联网
前面lowlevel_init.S的memory初始化代码执行完后,接着执行security ram的初始化,这里不需要配置。/* * Memory Setup stuff - taken from blob memsetup.S * * Copyright (C) 2009 Samsung Electronics * Kyungmin Park <kyungmin.park@samsung.com> * * See file CREDITS for list of .原创 2021-07-19 00:51:03 · 174 阅读 · 0 评论 -
OpenWRT学习笔记-31 EPROM烧录备份
设置虚拟机网卡2桥接无线网卡本机网卡连接到Widora-007A192.168.8.1是widora出厂ipEEPROM在factory分区,备份的对象是mtd2原创 2021-07-19 00:28:03 · 406 阅读 · 0 评论 -
OpenWRT学习笔记-30 烧录FW、UBOOT
将开发板网络、串口与虚拟机连好,安装minicom,进入upgrade模式。虚拟机网卡设置为桥接模式虚拟机新加插入的串口重启开发板,按下WPS button进入upgrade模式。按下2秒到7秒之间进入upgrade 模式后,自动打开自己的http服务器192.168.1.111,其中虚拟机桥接网卡的IP 192.168.1.10,同一网段浏览器打开http服务,更新uboot,FW,ART(EEPROM)...原创 2021-07-19 00:17:37 · 840 阅读 · 0 评论 -
OpenWRT学习笔记-29 编译Uboot
将程序解压到opt目录make menuconfigmake报错,发现是320bit系统兼容性的问题。64位系统默认没有安装32位兼容环境此时,接着make,就没有报错原创 2021-07-19 00:02:34 · 608 阅读 · 0 评论 -
OpenWRT学习笔记-28 开发环境搭建
1. 虚拟机建议新建project目录,源代码下载到project目录下面。make menuconfigmake V=99原创 2021-07-18 23:44:01 · 132 阅读 · 0 评论 -
OpenWRT 学习笔记-27- 动态库,静态库
example.c#include <stdio.h>void hello(void){ printf("hello\n");}用Makefile实现继续优化$@--目标文件,$^--所有的依赖文件,$<--第一个依赖文件。main.cint main(void){ hello();}Makefilerm -rf 之前的@是用于取消回显。在执行make clean的时候,不显示执行的...原创 2021-07-18 23:11:37 · 602 阅读 · 0 评论 -
OpenWRT 学习笔记-26- wifidog移植
https://gitee.com/wifidog/wifidog本机编译一次,config + makea- 确保代码没问题b- 查看代码lib的依赖关系,需要那些库,方便写dep的脚本c- 了解程序和lib的位置、目录,方便写install的脚本d- 使用一次,了解方法,init.d/,package的makefile依赖关系、库config的参数make的参数install的脚步 cp xx xx指定库的位置一些功能的开关 ena...原创 2021-07-18 22:03:08 · 313 阅读 · 0 评论 -
OpenWRT 学习笔记-25- 杂记
路由器wifi性能优化:硬件 升级RAM,从DDR3 - DDR4?软件:OS约占40%,app 60%,关掉不必要的appiptablesOpenWRT不支持OS升级,更新都是一次性固件升级。差异化:升级package破解:bin,lib,etc。 ui一般都是加密的,破解后仍然无法使用破解后,还需要自己重新再编...原创 2021-07-18 11:49:54 · 179 阅读 · 0 评论 -
OpenWRT 学习笔记-24- 打补丁
OpenWrt官方推荐使用的是补丁工具是quilt, 用于target开发一般开发者对开源社区:diff + patch的方式https://openwrt.org/docs/guide-developer/helloworld/starthttps://openwrt.org/submitting-patches原创 2021-07-18 10:42:14 · 298 阅读 · 0 评论 -
OpenWRT 学习笔记-23- MTD 技术简析和工具使用
size:分区大小erazesize:0x1000 = 4096 = 4Kbit,相当于磁盘分区的大小。reg = <起始地址 size>;/dev/mtdblocks6: 时overlay,可写的文件系统dmesg中看到的各个分区的大小:起始地址 - 结束地址firmware里面包括kernel,rootfs,rootfs_data三部分。rootfs_data属于可写的,overlay那一层mtd0.bin 与 mtdblock0.bin 内...原创 2021-07-18 10:07:18 · 881 阅读 · 0 评论 -
OpenWRT 学习笔记-22- 基于DTS适配RAM、Flash、复位键、波特率、端口布局实验
CPU里面,与实际的物理端口port mapping布局w@w:/home/openwrt/target/linux/ramips/dts$ cat rt5350_zyxel_keenetic-lite-b.dts // SPDX-License-Identifier: GPL-2.0-or-later#include "rt5350.dtsi"#include <dt-bindings/gpio/gpio.h>#include <dt-bindin...原创 2021-07-18 09:08:17 · 412 阅读 · 0 评论 -
OpenWRT 学习笔记-21 OpenWrt 基于GPIO、Hotplug、DTS 的按键实验
https://openwrt.org/docs/guide-user/hardware/hardware.button?s[]=buttonGPIO引脚,默认拉高,接 VCC驱动编完生成bin文件,将该bin文件copy到开发板在开发板中升级FW原创 2021-07-18 07:40:10 · 673 阅读 · 0 评论 -
OpenWRT 学习笔记-20 opkg特性应用实例(升级时保留配置文件、opkg install remove 时保留配置文件)
preinstall/postnstall 安装app时,保留上一次的文件如果升级后要保留config文件,一定要用sysupgrade升级在uboot/cfe下升级,配置文件不会被保留升级时保留配置文件由sysupgrade实现opkg安装:会将前面的配置覆盖。 升级时备份之前的配置,升级后,恢复原来的配置,从而实现升级后保留之前的配置文件。make package/example/compile V=99多级makefile如何实现?...原创 2021-07-17 21:29:32 · 1138 阅读 · 0 评论 -
Makefile 笔记
程序编译的第一种方式:直接用gcc编译w@w:/home/demo/demo-1$ cat add.c#include <stdio.h>int main(int argc,const char *argv[]){ int a = 1; int b = 2; printf("a + b = %d\n",a+b); return 0;}w@w:/home/demo/demo-1$ sudo gcc add.c -o addw@w:/home/demo/demo-1$ ls原创 2021-07-17 10:03:52 · 129 阅读 · 0 评论 -
OpenWRT 学习笔记-19 OpenWRT开机自启动服务
OpenWRT开机自启动服务通过procd来管理,ubuntu通过systemd管理OpenWrt开机启动服务实现和普通Linux发行版并无明显差异,基本上就是/etc/init.d和/etc/rc.d两个目录在起关键作用。/etc/init.d目录存放的是所有的开机启动脚本(包含启动和未启用的服务),/etc/rc.d存放的是启用的(Enabled)开机启动脚本。只有enabled的service才可以通过软连接放到/etc/rc.d.服务的启用和禁用可以通过service enable/disa原创 2021-07-16 14:53:48 · 4014 阅读 · 0 评论 -
OpenWRT 学习笔记-18 Cron定时任务
定时任务,比如:设定每天0点重启路由器,晚上11:00~早8:00关闭LED灯和Wifi,周一到周五关闭wifi等。OpenWrt计划任务服务默认是关闭的,启用cron需要启用cron服务。/etc/init.d/cronenable/etc/init.d/cronstartcron时间规则格式如何下:#┌─────────────minute(0-59)#│┌─────────────hour(0-23)#││┌─────────────day...原创 2021-07-15 15:38:49 · 1172 阅读 · 0 评论 -
OpenWRT 学习笔记-17 OpenWRT固件的结构分析,逆向解包
固件是由三部分组成:固件头、kernel、rootfs。我们可以通过mkimage工具分析固件头,用binwalk来解包固件分析kernel和rootfs,通常rootfs一般是squashfs格式的。下面我来一步步给大家剖析,每个部分的细节。BroadCom(博通)trx固件头定义struct trx_header { uint32_t magic; /* "HDR0" */ uint32_t len; /* Length of...原创 2021-07-14 22:01:28 · 1991 阅读 · 0 评论 -
OpenWRT 学习笔记-16 创建OpenWrt Package
https://openwrt.org/docs/guide-developer/packages最好现在本机测试没问题之后,才烧到路由器上去调试在系统里面,为新项目新建一个项目文件夹,将需要的代码copy到这个文件夹。不要动openwrt build成功的golden源码。将src的代码调试到没问题之后,才编译到packagew@w:/home/openwrt/package/example/src$ lsMakefile myapp.cw@w:/home/openwrt/packa.原创 2021-07-14 21:51:57 · 659 阅读 · 0 评论 -
OpenWRT 学习笔记-15 opkg 包管理机制
opkg是OpenWrt的包管理系统,opkg源自于optware项目。包管理主要包含几大部分:安装脚本、卸载脚本、程序和库、配置文件、程序依赖关系、版本信息。Redhat: rpmDebain: debOpenwrt: ipk原创 2021-07-14 19:02:50 · 343 阅读 · 0 评论 -
OpenWRT 学习笔记-14 hotplug机制
ubus是用户态 hotplug机制是linux内核提供的一种消息通知机制,主要用来实现内核态事件向用户态传递。OpenWrt下的ubus也类似,一个是用户态的,而hotplug是内核态的,其功能都是用来消息传递。linux早期的hotplug机制并没有现在这么复杂,在2.4内核的时候只是针对usb、pci子系统,只是简单的hotplug调用进程,后面才使用netlink机制来实现通知机制。当时我主要用hotplug机制来实现usb 3g网卡的模式转换(配合usbmodswitch),现在hotp...原创 2021-07-14 11:16:25 · 1076 阅读 · 0 评论 -
OpenWRT 学习笔记-13 ubus
ubus是openwrt下的进程间通讯协议,可以用来获取OpenWrt核心组件的信息,比如iwinfo、uci、service。ubus底层采用的是unix socket,通讯采用的数据结构是json。shell、c、lua都可以使用ubus来实现进程间通讯。ubus采用的是托管方式,后端的消息传递是由ubusd程序来实现的。OpenWrt中很多项目是基于ubus的,比如netifd、ubus-scriptd。https://openwrt.org/docs/guide-developer/ubus原创 2021-07-13 22:17:54 · 757 阅读 · 0 评论 -
OpenWRT 学习笔记-12 OpenWRT启动过程分析
CPU上电 --bootloader --kernel --init(openWRT)kernel: unix,linux,bsd,ecos...OpenWRT/LEDE: System BootSequencehttps://clockworkbird9.wordpress.com/2016/09/29/openwrtlede-system-boot-sequence/http://wiki.dreamrunner.org/public_html/Communication/Ope...原创 2021-07-13 22:03:22 · 452 阅读 · 0 评论