自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(202)
  • 资源 (3)
  • 收藏
  • 关注

原创 11-openwrt-one支持双固件升级

上一个章节我们已经创建了fit2分区,用来做系统升级时的备份分区,这样就可以避免升级是主分区挂了导致起不来的问题。

2025-04-18 14:32:58 90

原创 10-openwrt-one调整rootfs_data卷,新增fit2、log、plugins等卷

固件镜像生成的时候没有设置rootfs_data卷,为啥内核启动后可以查到呢,这个卷的创建过程和挂载过程分析和调整,有便于我们重新创建我们自己想要的卷。

2025-04-18 14:32:12 165

原创 9-openwrt-one sysupgrade升级过程分析、如何支持fip升级

升级的过程只是输入了一条sysupgrade就升级了,但是其中经过了哪些动作我们需要分析下,这样我们就可以实现通过sysupgrade升级fip了,否则只能在uboot下接串口升级fip。

2025-04-15 11:20:56 94

原创 8-openwrt-one ubi系统结构、ubi命令使用、ubi镜像制作

官方提供的系统与以往最大的差异点在于使用ubi镜像卷,而非以往的mtd分区。使用ubi镜像卷有挺多好处,也有很多功能兼容性需要去解决,我们不做评判,先做分析,后期再去做选择。

2025-04-15 11:20:11 199

原创 7-openwrt-one通过web页面配置访客网络、无线中继等功能

前几个章节一直在介绍编译、分区之类的,都还没正常开始使用这个路由器的wifi。默认wifi是没有启动的,前面还是通过手动修改uci配置启动的,这个章节介绍下官方web页面的使用。

2025-04-10 13:47:06 417

原创 6-openwrt-one迁移fartory分区到nand flash

上章节介绍分析了mac地址的读取写入流程都是从factory分区获取的,但是factory分区是位于nor flash上面,正常的产品一般不会有双flash,所以我们还是得把nor flash去掉,迁移到nand flash上面来。

2025-04-10 13:46:15 59

原创 5-openwrt-one mac地址读取与写入

mac地址作为一个路由器的基础信息,需要确保工厂写入唯一的mac地址到路由器指定位置,网卡从指定位置读取mac进行使用。openwrt的做法是专门开辟了一个factory分区,将mac地址写在该分区,后面以太网eth或者无线wireless的驱动,都从factory分区读取mac地址,进行对应的转换操作。

2025-04-08 16:56:51 246

原创 4-openwrt-one分区介绍、固件生成流程

bl2:就是preloader,也就是一个单独的分区factory:存mac地址,wifi校准参数之类的volumes {bl2:就是preloader,也就是一个单独的分区ubi:其他数据都放在ubi分区,跟以前的做法很不一样,以前都是有很多mtd分区。为什么nand的分区看不到fip,firmware等分区?因为使用了新的ubi分区的做法。

2025-04-08 16:56:08 210

原创 3-openwrt-one系统启动流程分析

mt7981是arm内核,所以都是arm提供的ATF那一套启动流程:全流程:ROM Code → BL2 (Preloader) → FIP (BL31 + U-Boot) → Kernelbl2和bl31的代码都属于ATF,位于模块。有好几种启动模式可以选择,比如nor、nand、emmc等,openwrt-one使用的有两种:该部分的代码定义选择位于,如下:根据选择的配置编译运行,最终bl2的代码会调用到函数,这个函数里面根据不同的默认跑对应的平台代码:通过函数获取fip地址进行bl3,,里面定义了

2025-04-07 14:39:45 199

原创 6-实际项目应用wifidog的一些优化

wifidog为了能够让用户直接看到效果,做的比较多。在网关和服务器之间做了很多功能,比如登陆、授权、心跳之类的,还做了服务器数据库的存储之类的。但是实际我们可能用不到这些,因为我们肯定是在已有的项目上进行搭建。

2025-04-07 10:53:05 297

原创 2-openwrt-one开发板接口、升级流程介绍

前面我们将项目环境已经搭建并编译输出了升级文件,下面我们将对开发板的使用接口进行介绍,并介绍每个模块的升级命令。

2025-04-06 11:30:14 139

原创 1-openwrt-one(MT7981B+MT7976C)项目工程搭建

为了庆祝openwrt项目20周年,官方和香蕉派合作推出openwrt-one开发板,本专栏将从零开始解剖整个开发过程,定制自己的MT7981B路由器平台。

2025-04-06 11:26:50 384

原创 37-Openwrt 使用wpa_supplicant实现sta

openwrt上面如果想要使用无线中继上网的话,需要使用uci的配置+udhcpc进程进行配合使用,但是wpa_supplicant做为一个开源使用很普遍的工具,在很多终端设备上使用,有必要介绍使用。

2025-04-02 16:10:56 226

原创 36-Openwrt wifi命令工具iwconfig、iwinfo、iwpriv、iwlist

增对wifi的调试命令有很多,这边列出我们常用的命令提供参考,方便查看信息定位问题。

2025-03-04 16:50:40 485

原创 5-portal认证与qos冲突问题解决

mark的最大长度是32位0xffffffff,所以可以把不同的应用分配给不同的mark位,设置mark的时候通过掩码或设置(–or-mark value/mask),匹配mark的时候也通过掩码只匹配自己的位断(-m mark --mark value/mask)由于portal和qos用的方法都是使用mark原理,将数据流标记后,再通过标记匹配做出不同的动作,mark的动作都处于mangle表中。原本的mark设置,改成通过子网掩码或设置mark。原本的单位mark标记,改成第6位为mark标记。

2025-02-17 10:49:10 64

原创 4-电脑一连接上自动弹框到路由器web配置页面

很多路由器在还没有配置路由信息的时候,只要一连接wifi/有线,就会自动弹出路由器web配置页面,强制用户配置一次基本信息才可以进行上网这也其实也是portal认证的一种应用,原本的portal是跳转到后台认证服务器页面,目前是跳转到路由器本地管理页面。所以我们只需要根据应用策略进行区分,然后修改跳转的页面url即可。

2025-02-12 17:20:43 412

原创 3-wifidog代码流程

wifidog的做法是先全部黑名单,然后再放行白名单的做法。

2025-02-11 09:13:02 139

原创 2-使用wifidog实现portal

wifidog是openwrt上面实现portal认证的一个开源工具,从网关端到服务器都帮你搭建好,通过学习wifidog的原理,后面就可以改造成自己需要的逻辑。

2025-02-11 09:11:41 367

原创 1-portal认证功能

很多时候公共网络需要提供安全认证功能,比如我们去星巴克或者商场、酒店,我们连接wifi上网的时候, 需要认证后才可以上网。用户可以主动访问已知的Portal认证网站,输入用户名和密码进行认证,这种开始Portal认证的方式称作主动认证。反之,如果用户试图通过HTTP访问其他外网,将被强制访问Portal认证网站,从而开始Portal认证过程,这种方式称作强制认证。一般都是这种方式。路由器实现portal认证的方式有两种,黑名单或者白名单机制。

2025-02-10 09:25:55 564

原创 35-Openwrt rpcd

rpcd package里面包含了多个模块,session,ubus插件等,是opewnrt的基础组件,只是很少关注到。

2024-06-25 09:09:33 769

原创 34-Openwrt uhttpd与rpcd

uhttpd作为一个简单的web服务器,其代码量并不多,而且组织结构比较清楚。和其它网络服务器差不多,其main函数进行一些初始化(首先parse config-file,然后parse argv),然后进入一个循环,不断地监听,每当有一个客户请求到达时,则对它进行处理。

2024-06-24 16:45:00 2189

原创 3-EMMC命令使用

在调试emmc的过程,我们需要用到命令读写emmc,烧录,查看emmc寄存器,设置寄存器等功能,所以uboot和linux下都有各自的命令可以使用。

2024-05-29 14:47:16 2044

原创 2-EMMC启动及各分区文件生成过程

跟普通nand或spi flash不同,uboot前面还有好几级在vendor某些厂商的设计中,ATF并不是BOOTROM加载后的第一个启动镜像,可能是这样的:BOOTROM—>PL—>ATF—>optee—>uboot…, 在PL阶段就已经将ATF/optee/uboot镜像的load到内存了.ATF(ARM Trusted firmware)完成启动流程:https://blog.csdn.net/u014426028/article/details/117949006?

2024-05-28 10:08:55 2077

原创 1-EMMC介绍

eMMC Device会进行内部初始化,Host需要持续发送CMD1命令,查询eMMC Device是否已经完成初始化,同时进行工作电压和寻址模式协商:eMMC Device 在接收到这些信息后,会将OCR的内容(MMC出厂就烧录在里面的卡的操作电压值)通过 Response 返回给 Host,其中包含了 eMMC Device 是否完成初始化的标志位、设备工作电压范围 Voltage Range 和存储访问模式 Memory Access Mode 信息。MMC完成初始化后,就会进入该阶段。

2024-05-27 17:21:46 4565

原创 33-Openwrt nand flash生产烧录

openwrt编译生产的sysupgrade.bin文件是一个升级文件,无法直接提供给工厂进行nand flash烧录使用。因为flash的每一个page是由data+ecc组成的,烧录的时候需要一起烧录,但是sysupgade.bin是原始data内容,没有ecc。

2024-05-22 16:56:05 546 1

原创 32-Openwrt nand flash坏块管理nmbm功能支持

nand flash很容易有坏块出现,一旦出现坏块数据就会丢失,如果是烧录、写入的时候检测到坏块,驱动可以帮忙跳过不写入之类的,但这不是一个完整的坏块管理,因为我们还是需要写入成功。

2024-05-15 14:46:53 1438 1

原创 9-家长控制-儿童上网

家长控制或者儿童上网,说的都是可以指定某个设备可以在某个时间段允许上网,或者某个时间断不允许上网。

2023-07-20 17:05:15 2327

原创 31-Openwrt 内核版本替换

有些时候因为一些解不了的bug,在新的内核版本里面已经解决了,这时候我们会想着升级下内核版本,而不是把整个openwrt升级。

2023-05-30 09:44:05 7317

原创 30-Openwrt config save and restore

在使用sysupgrade升级的时候,默认需要把配置文件进行备份,升级完成后进行恢复。如果是-n则把配置文件删除,恢复默认配置。

2023-05-24 10:36:18 1540

原创 29-Openwrt 防攻击

DOS攻击很常见,路由器可以通过iptables做一些简单的攻击防护,这边主要介绍模拟攻击的工具和防护攻击的手段。

2023-05-18 11:29:25 2448

原创 28-Openwrt 固件签名与验签

openwrt使用sysupgrade升级的时候,只会对固件的头部image进行校验是否合法,不会校验固件的完整性,所以当固件只有头部正常其他地方被破坏修改后,这个固件就是危险的,一旦升级就会出现变砖的情况。为了验证固件的完整性和合法性,可以有两种方式进行保护。

2023-05-09 11:43:40 1443

原创 5-Linux 内存溢出oom

Linux内核为了提高内存的使用效率采用过度分配内存(over-commit memory)的办法,造成物理内存过度紧张进而触发OOM机制来杀死一些进程回收内存。该机制会监控那些占用内存过大,尤其是瞬间很快消耗大量内存的进程,为了防止内存耗尽会把该进程杀掉。

2023-04-02 16:44:52 3875

原创 1-Linux 保存kernel panic信息到flash

Linux 保存kernel panic信息到flash

2023-02-23 14:43:35 2590

原创 2023新的征程

距离上一篇的五年睿进已经过了四年,不知出于什么理由,中间的这三年没有写年终总结,今年也是比较特殊的一年,重新开始自己的年终总结,回顾四年里发生的事情,计划2023新的征程。

2023-01-11 21:04:59 676

原创 27-Openwrt rtc htpdate system

rtc htpdate

2022-11-05 16:32:30 1512

原创 26-Openwrt 端口转发 dmz upnp

端口转发 dmz upnp

2022-06-14 17:42:55 5644

原创 25-Openwrt 访客网络添加

主人网络和访客网络相互隔离

2022-06-14 17:41:15 1894

原创 24-Openwrt dnsmasq

dnsmasq是openwrt一个重要的进程,里面提供了两个重要的功能。一个是dhcp server,给lan口使用的,另一个是dns功能,维护路由器的dns信息,而且支持ipv4和ipv6。1、 dnsmasq启动过程从/etc/init.d/dnsmasq start脚本启动root@Openwrt:/# cat /etc/config/dhcpconfig dnsmasq option domainneeded '1' option boguspriv '.

2022-05-28 16:33:20 5993

原创 23-Openwrt switch vlan配置

2022-05-28 10:13:25 8642 4

原创 22-Openwrt 使用外部kernel和kernel_config

由于内核的修改要通过打patch的方式会比较麻烦,有时候我们会把内核直接解压出来用修改源码的方式,这时候就需要使用外部kernel的这个选项。openwrt的内核config是根据版本保存的,如config-4.19,当我们在一个版本下如果有很多和硬件平台的时候,平台config的分类保存就很重要了,这时候我们会选择使用外部kernel_config的方式。1、使用外部kernel使用外部内核源码的方式,我们一遍会编译一遍openwrt,然后将build_dir/target-aarch64_cor.

2022-05-18 18:07:01 4337

MT6261芯片手册

MT6261芯片手册 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2018-04-13

Qt从零开始制作串口调试助手源代码(V1.0)-Creator_Ly

Qt从零开始制作串口调试助手源代码(V1.0)-Creator_Ly

2016-01-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除