<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[我的学习笔记]]></title><description><![CDATA[工作，学习，生活]]></description><link>https://blog.csdn.net/agave7</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; agave7]]></copyright><item><title><![CDATA[OpenWrt SDK 制作与使用]]></title><link>https://blog.csdn.net/agave7/article/details/130481448</link><guid>https://blog.csdn.net/agave7/article/details/130481448</guid><author>agave7</author><pubDate>Thu, 04 May 2023 10:06:17 +0800</pubDate><description><![CDATA[参考资料：https://openwrt.org/docs/guide-developer/toolchain/using_the_sdk。]]></description><category></category></item><item><title><![CDATA[cryptodev-linux 介绍]]></title><link>https://blog.csdn.net/agave7/article/details/127938353</link><guid>https://blog.csdn.net/agave7/article/details/127938353</guid><author>agave7</author><pubDate>Sat, 19 Nov 2022 16:33:27 +0800</pubDate><description><![CDATA[Cryptodev-linux 是一个允许访问 Linux 内核加密驱动程序的设备；从而允许用户空间应用程序使用硬件加速器。Cryptodev-linux 被实现为一个独立的模块，除了linux 内核之外不需要任何依赖。它的 API 与 OpenBSD 的 cryptodev 用户空间 API (/dev/crypto) 兼容。]]></description><category></category></item><item><title><![CDATA[linux DSA 开发上手笔记(一)]]></title><link>https://blog.csdn.net/agave7/article/details/127086033</link><guid>https://blog.csdn.net/agave7/article/details/127086033</guid><author>agave7</author><pubDate>Wed, 28 Sep 2022 11:18:40 +0800</pubDate><description><![CDATA[关键在于 mt7530_switch_ops  和  dsa_register_switch。要点：是用 mdio_module_driver。定义了一些关键函数。]]></description><category></category></item><item><title><![CDATA[iw dev wlan0 del 卡住问题]]></title><link>https://blog.csdn.net/agave7/article/details/125843614</link><guid>https://blog.csdn.net/agave7/article/details/125843614</guid><author>agave7</author><pubDate>Mon, 18 Jul 2022 10:46:44 +0800</pubDate><description><![CDATA[内核版本: 5.15.31最近调试 Realtek WIFI 驱动， 配置wifi 后，ifconfig 卡住，查看 log 卡在
最终发现 是 unregister_netdevice 的问题。解决办法：把 unregister_netdevice  改成 cfg80211_unregister_netdevice ，（ register_netdevice 也改成 cfg80211_register_netdevice）参考：https://github.com/aircrack-ng/rtl8812a]]></description><category></category></item><item><title><![CDATA[记一次 u-boot tcp 传输速度慢问题]]></title><link>https://blog.csdn.net/agave7/article/details/125386647</link><guid>https://blog.csdn.net/agave7/article/details/125386647</guid><author>agave7</author><pubDate>Tue, 21 Jun 2022 10:41:24 +0800</pubDate><description><![CDATA[之前移植过不死u-boot , 其实就是在u-boot 中实现了个小型 http 服务器实现刷机功能，HTTP 协议是基于TCP 协议的 ， 而 u-boot 本身没有实现 TCP 协议栈，这里是基于 uip库 实现的 TCP 。代码一直以来工作正常，而近期使用 usb r8152 时发现个问题，使用 u-boot web 刷机时，传输文件特别慢。经过排查与调试最终发现是uipopt.h 中 UIP_RECEIVE_WINDOW 值设置不对引起的

解决

思考
TCP WINDOW  的作用是什么？如何设]]></description><category></category></item><item><title><![CDATA[内核如何解析 mtdparts 参数，mtd-id 如何确定？]]></title><link>https://blog.csdn.net/agave7/article/details/124942538</link><guid>https://blog.csdn.net/agave7/article/details/124942538</guid><author>agave7</author><pubDate>Tue, 24 May 2022 10:43:20 +0800</pubDate><description><![CDATA[内核如何解析 mtdparts 参数，mtd-id 如何确定？
网上搜素了 mtdparts  相关资料，没有一篇讲明白mtd_id 该怎么确认，于是自己从源码中找答案：
先看看 linux-4.14.63/Documentation 里面怎么说的
~/opt/linux-4.14.63/Documentation$ grep mtdparts . -rn                   
./admin-guide/kernel-parameters.txt:2408:       mtdparts=]]></description><category></category></item><item><title><![CDATA[MT7688 使用 u-boot-2021.01]]></title><link>https://blog.csdn.net/agave7/article/details/124248031</link><guid>https://blog.csdn.net/agave7/article/details/124248031</guid><author>agave7</author><pubDate>Mon, 18 Apr 2022 14:00:58 +0800</pubDate><description><![CDATA[MT7688 使用 u-boot-2021.01
mt7688 官方的 u-boot  太老太旧，主线 u-boot 似乎已经支持 mt7688 了。
见：https://github.com/u-boot/u-boot/commit/b02f76a83541fe9fe3a2918039b26fc133699c17
下载 u-boot-2021.01 https://sources.openwrt.org/u-boot-2021.01.tar.bz2
编译
解压：
tar xf u-boot-2021.01]]></description><category></category></item><item><title><![CDATA[OpenWrt fit 理解]]></title><link>https://blog.csdn.net/agave7/article/details/124017189</link><guid>https://blog.csdn.net/agave7/article/details/124017189</guid><author>agave7</author><pubDate>Thu, 07 Apr 2022 15:09:04 +0800</pubDate><description><![CDATA[OpenWrt  fit 理解
开始
在 OpenWrt 中，常看到这样的写法:

fit  是做什么的呢？fit 的定义在 include/image-commands.mk 中
define Build/fit
        $(TOPDIR)/scripts/mkits.sh \
                -D $(DEVICE_NAME) -o $@.its -k $@ \
                -C $(word 1,$(1)) $(if $(word 2,$(1)),\
   ]]></description><category></category></item><item><title><![CDATA[dahdi_tools 分析 （七） fxotune]]></title><link>https://blog.csdn.net/agave7/article/details/121908105</link><guid>https://blog.csdn.net/agave7/article/details/121908105</guid><author>agave7</author><pubDate>Mon, 13 Dec 2021 16:20:07 +0800</pubDate><description><![CDATA[dahdi_tools 分析 （七） fxotune
fxotune
A utility for tuning the various settings on the fxo modules
一个用于调节 FXO （SI3050）参数（主要是阻抗）的工具。
usage
Usage: fxotune [-v[vv] (-s | -i &lt;options&gt; | -d &lt;options&gt;)

        -s : set previously calibrated echo settin]]></description><category></category></item><item><title><![CDATA[dahdi_tools 分析 （六）fxstest]]></title><link>https://blog.csdn.net/agave7/article/details/121899901</link><guid>https://blog.csdn.net/agave7/article/details/121899901</guid><author>agave7</author><pubDate>Mon, 13 Dec 2021 10:33:08 +0800</pubDate><description><![CDATA[dahdi_tools 分析 （六）fxstest
usage
Usage: fxstest &lt;dahdi device&gt; &lt;cmd&gt;
       where cmd is one of:
       stats - reports voltages
       regdump - dumps ProSLIC registers
       tones - plays a series of tones
       polarity - tests polarity rev]]></description><category></category></item><item><title><![CDATA[zImage uImage 区别]]></title><link>https://blog.csdn.net/agave7/article/details/121035781</link><guid>https://blog.csdn.net/agave7/article/details/121035781</guid><author>agave7</author><pubDate>Fri, 29 Oct 2021 15:28:13 +0800</pubDate><description><![CDATA[zImage uImage 区别
uImage 在 zImage 前面加了 0x40 字节的 head 。

head 结构体如下
// u-boot-2017.11.git\include\image.h
/*
 * Legacy format image header,
 * all data in network byte order (aka natural aka bigendian).
 */
typedef struct image_header {
	__be32		ih_magic;	/*]]></description><category></category></item><item><title><![CDATA[OpenWrt 快速打patch 与快速编译]]></title><link>https://blog.csdn.net/agave7/article/details/121029806</link><guid>https://blog.csdn.net/agave7/article/details/121029806</guid><author>agave7</author><pubDate>Fri, 29 Oct 2021 10:33:49 +0800</pubDate><description><![CDATA[OpenWrt 快速打patch 与快速编译
场景
我最近在调试linux 内核代码，需要打patch
方法1.OpenWrt 官方patch方法

make target/linux/{clean,prepare} QUILT=1
cd build_dir/target_xxx/linux-xx
quilt push -a
quilt new xx
quilt edit  xx
quilt refresh
cd  openwrt ; make  target/linux/{update,install}
]]></description><category></category></item><item><title><![CDATA[VLAN 基础知识]]></title><link>https://blog.csdn.net/agave7/article/details/120311234</link><guid>https://blog.csdn.net/agave7/article/details/120311234</guid><author>agave7</author><pubDate>Wed, 15 Sep 2021 16:25:17 +0800</pubDate><description><![CDATA[VLAN 基础知识
虚拟局域网 ( VLAN ) 将单个现有物理网络划分为多个逻辑网络。从而，每个 VLAN 形成自己的广播域。两个不同 VLAN 之间的通信只能通过连接到两个 VLAN 的路由器进行。

原则上，有两种实现 VLAN 的方法：

port-based VLANs （untaged）
tag-based VLANs

port-based  VLANs
对于port-based VLANs，单个物理交换机被简单地划分为多个逻辑交换机。以下示例将八端口物理交换机（交换机 A）划分为两个逻辑交换]]></description><category></category></item><item><title><![CDATA[OpenWrt 中的 Netfilter]]></title><link>https://blog.csdn.net/agave7/article/details/120011982</link><guid>https://blog.csdn.net/agave7/article/details/120011982</guid><author>agave7</author><pubDate>Tue, 31 Aug 2021 10:30:40 +0800</pubDate><description><![CDATA[OpenWrt 中的 Netfilter
本节的目的是简要描述 netfilter/iptables 子系统，然后深入研究 OpenWrt 的细节。
Netfilter 和 iptables 概述
Netfilter是[Linux 内核中](https://en.wikipedia.org/wiki/Linux kernel)的数据包过滤框架。它允许进行数据包过滤、网络地址[和端口] 转换 (NA[P]T) 和其他数据包操作。它不仅仅是一个简单的防火墙，而且非常强大！
Netfilter 在内核网络堆栈中具]]></description><category></category></item><item><title><![CDATA[OpenWrt 防火墙概述]]></title><link>https://blog.csdn.net/agave7/article/details/119927161</link><guid>https://blog.csdn.net/agave7/article/details/119927161</guid><author>agave7</author><pubDate>Thu, 26 Aug 2021 11:10:25 +0800</pubDate><description><![CDATA[防火墙概述
OpenWrt 使用 firewall3 ( fw3) netfilter/iptable 规则构建器应用程序。它在用户空间中运行，将配置文件解析为一组iptables规则，将每个规则发送到内核 netfilter 模块。
fw3目的
对于典型的路由器，netfilter 规则集可能非常复杂。这是必然的；每个规则都针对路由器提供的离散功能进行定制，以保护其支持的网络，提供 NAT以节省稀缺的IPv4 地址。一个典型的路由器有超过 100 条旨在支持数据包路由的规则。
OpenWRT 使用 fw3]]></description><category></category></item><item><title><![CDATA[OpenWrt 防火墙配置 /etc/config/firewall]]></title><link>https://blog.csdn.net/agave7/article/details/119926353</link><guid>https://blog.csdn.net/agave7/article/details/119926353</guid><author>agave7</author><pubDate>Thu, 26 Aug 2021 10:42:59 +0800</pubDate><description><![CDATA[防火墙配置 /etc/config/firewall
OpenWrt 的防火墙管理应用fw3具有三种配置机制
配置文件：

/etc/firewall.user
/etc/config/firewall

本 wiki 中的大部分信息将集中在配置文件和内容上。LuCI 和 UCI 接口是用户抽象，最终修改配置文件。
管理

主要的防火墙配置文件是/etc/config/firewall，编辑此文件以修改防火墙设置

在进行更改之前创建防火墙配置的备份

如果更改导致与路由器的连接丢失，您需要在故障安全模式下]]></description><category></category></item><item><title><![CDATA[OpenWrt 防火墙组件]]></title><link>https://blog.csdn.net/agave7/article/details/119916005</link><guid>https://blog.csdn.net/agave7/article/details/119916005</guid><author>agave7</author><pubDate>Wed, 25 Aug 2021 17:31:34 +0800</pubDate><description><![CDATA[OpenWrt 防火墙组件
OpenWrt 防火墙实现是过滤通过路由器的网络流量的机制，在高层次上，将发生以下三种结果之一：数据包被丢弃（丢弃）而不采取任何进一步行动、拒绝（对源进行适当的响应）或接受（路由到目的地）。
OpenWrt 防火墙围绕 Linux netfilter项目展开。OpenWrt 防火墙有以下主要组件：

该firewall3应用
内核网络堆栈中的一组 netfilter 钩子
一组处理网络数据包检查的 linux 内核模块
一组用于配置网络堆栈和防火墙模块的内核调整参数

Firew]]></description><category></category></item><item><title><![CDATA[OpenWrt 防火墙与网络接口]]></title><link>https://blog.csdn.net/agave7/article/details/119915160</link><guid>https://blog.csdn.net/agave7/article/details/119915160</guid><author>agave7</author><pubDate>Wed, 25 Aug 2021 16:59:46 +0800</pubDate><description><![CDATA[OpenWrt 防火墙与网络接口
OpenWrt 防火墙与网络接口
路由器的目标是将数据包流从传入网络接口转发到传出网络接口。
防火墙规则定义了网络接口间转发的规则，如允许哪些数据包输入和输出到路由器。本节讨论防火墙代码和网络接口之间的关系。
所有路由器的核心是具有多个接口/端口的硬件交换机。当数据包进入其中一个交换机端口时，硬件交换机会匹配数据包中的一个固定字段，并将数据包转发到输出端口。
交换机一般通过MAC地址确定从哪个端口转发数据

当交换机收到数据时，它会检查它的目的MAC地址，然后把数据从目的主]]></description><category></category></item><item><title><![CDATA[OpenWrt 之 Firewall]]></title><link>https://blog.csdn.net/agave7/article/details/119913641</link><guid>https://blog.csdn.net/agave7/article/details/119913641</guid><author>agave7</author><pubDate>Wed, 25 Aug 2021 16:10:00 +0800</pubDate><description><![CDATA[OpenWrt 之 Firewall
防火墙文档

防火墙和网络接口
防火墙组件
防火墙配置 /etc/config/firewall
防火墙概述

fw3 配置

桥接防火墙
DNS劫持
带有 IP 集的基于 DNS 的防火墙
防火墙使用指南
fw3 DMZ 配置使用 VLAN
fw3 IP 集示例
fw3 IPv4 配置示例
fw3 IPv6 配置示例
fw3 记录拒绝的数据包
fw3 NAT 配置
fw3 端口转发
fw3 参考网络拓扑
家长控制权

防火墙杂页

如何使用 tcpdump 或 wir]]></description><category></category></item><item><title><![CDATA[Unable to handle kernel NULL pointer dereference at virtual address 分析]]></title><link>https://blog.csdn.net/agave7/article/details/119875023</link><guid>https://blog.csdn.net/agave7/article/details/119875023</guid><author>agave7</author><pubDate>Mon, 23 Aug 2021 18:19:47 +0800</pubDate><description><![CDATA[Unable to handle kernel NULL pointer dereference at virtual address 分析
现象
[  136.847780] br-lan: received packet on eth0.1 with own address as source address (addr:00:02:e7:f5:02:02, vlan:0)
[  138.026055] Unable to handle kernel NULL pointer dereference a]]></description><category></category></item></channel></rss>