自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我的学习笔记

工作,学习,生活

  • 博客(123)
  • 资源 (4)
  • 收藏
  • 关注

原创 OpenWrt SDK 制作与使用

参考资料:https://openwrt.org/docs/guide-developer/toolchain/using_the_sdk。

2023-05-04 10:06:17 1242 1

翻译 cryptodev-linux 介绍

Cryptodev-linux 是一个允许访问 Linux 内核加密驱动程序的设备;从而允许用户空间应用程序使用硬件加速器。Cryptodev-linux 被实现为一个独立的模块,除了linux 内核之外不需要任何依赖。它的 API 与 OpenBSD 的 cryptodev 用户空间 API (/dev/crypto) 兼容。

2022-11-19 16:33:27 1208

原创 linux DSA 开发上手笔记(一)

关键在于 mt7530_switch_ops 和 dsa_register_switch。要点:是用 mdio_module_driver。定义了一些关键函数。

2022-09-28 11:18:40 2586

原创 iw dev wlan0 del 卡住问题

内核版本: 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

2022-07-18 10:46:44 645

原创 记一次 u-boot tcp 传输速度慢问题

之前移植过不死u-boot , 其实就是在u-boot 中实现了个小型 http 服务器实现刷机功能,HTTP 协议是基于TCP 协议的 , 而 u-boot 本身没有实现 TCP 协议栈,这里是基于 uip库 实现的 TCP 。代码一直以来工作正常,而近期使用 usb r8152 时发现个问题,使用 u-boot web 刷机时,传输文件特别慢。经过排查与调试最终发现是uipopt.h 中 UIP_RECEIVE_WINDOW 值设置不对引起的解决思考TCP WINDOW 的作用是什么?如何设

2022-06-21 10:41:24 485

原创 内核如何解析 mtdparts 参数,mtd-id 如何确定?

内核如何解析 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=

2022-05-24 10:43:20 1750

原创 MT7688 使用 u-boot-2021.01

MT7688 使用 u-boot-2021.01mt7688 官方的 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

2022-04-18 14:00:58 2552 3

原创 OpenWrt fit 理解

OpenWrt fit 理解开始在 OpenWrt 中,常看到这样的写法:fit 是做什么的呢?fit 的定义在 include/image-commands.mk 中define Build/fit $(TOPDIR)/scripts/mkits.sh \ -D $(DEVICE_NAME) -o [email protected] -k $@ \ -C $(word 1,$(1)) $(if $(word 2,$(1)),\

2022-04-07 15:09:04 1899

原创 dahdi_tools 分析 (七) fxotune

dahdi_tools 分析 (七) fxotunefxotuneA utility for tuning the various settings on the fxo modules一个用于调节 FXO (SI3050)参数(主要是阻抗)的工具。usageUsage: fxotune [-v[vv] (-s | -i <options> | -d <options>) -s : set previously calibrated echo settin

2021-12-13 16:20:07 744

原创 dahdi_tools 分析 (六)fxstest

dahdi_tools 分析 (六)fxstestusageUsage: fxstest <dahdi device> <cmd> where cmd is one of: stats - reports voltages regdump - dumps ProSLIC registers tones - plays a series of tones polarity - tests polarity rev

2021-12-13 10:33:08 512

原创 zImage uImage 区别

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; /*

2021-10-29 15:28:13 146

原创 OpenWrt 快速打patch 与快速编译

OpenWrt 快速打patch 与快速编译场景我最近在调试linux 内核代码,需要打patch方法1.OpenWrt 官方patch方法make target/linux/{clean,prepare} QUILT=1cd build_dir/target_xxx/linux-xxquilt push -aquilt new xxquilt edit xxquilt refreshcd openwrt ; make target/linux/{update,install}

2021-10-29 10:33:49 1643

翻译 VLAN 基础知识

VLAN 基础知识虚拟局域网 ( VLAN ) 将单个现有物理网络划分为多个逻辑网络。从而,每个 VLAN 形成自己的广播域。两个不同 VLAN 之间的通信只能通过连接到两个 VLAN 的路由器进行。原则上,有两种实现 VLAN 的方法:port-based VLANs (untaged)tag-based VLANsport-based VLANs对于port-based VLANs,单个物理交换机被简单地划分为多个逻辑交换机。以下示例将八端口物理交换机(交换机 A)划分为两个逻辑交换

2021-09-15 16:25:17 817

翻译 OpenWrt 中的 Netfilter

OpenWrt 中的 Netfilter本节的目的是简要描述 netfilter/iptables 子系统,然后深入研究 OpenWrt 的细节。Netfilter 和 iptables 概述Netfilter是[Linux 内核中](https://en.wikipedia.org/wiki/Linux kernel)的数据包过滤框架。它允许进行数据包过滤、网络地址[和端口] 转换 (NA[P]T) 和其他数据包操作。它不仅仅是一个简单的防火墙,而且非常强大!Netfilter 在内核网络堆栈中具

2021-08-31 10:30:40 1790

翻译 OpenWrt 防火墙概述

防火墙概述OpenWrt 使用 firewall3 ( fw3) netfilter/iptable 规则构建器应用程序。它在用户空间中运行,将配置文件解析为一组iptables规则,将每个规则发送到内核 netfilter 模块。fw3目的对于典型的路由器,netfilter 规则集可能非常复杂。这是必然的;每个规则都针对路由器提供的离散功能进行定制,以保护其支持的网络,提供 NAT以节省稀缺的IPv4 地址。一个典型的路由器有超过 100 条旨在支持数据包路由的规则。OpenWRT 使用 fw3

2021-08-26 11:10:25 4856

翻译 OpenWrt 防火墙配置 /etc/config/firewall

防火墙配置 /etc/config/firewallOpenWrt 的防火墙管理应用fw3具有三种配置机制配置文件:/etc/firewall.user/etc/config/firewall本 wiki 中的大部分信息将集中在配置文件和内容上。LuCI 和 UCI 接口是用户抽象,最终修改配置文件。管理主要的防火墙配置文件是/etc/config/firewall,编辑此文件以修改防火墙设置在进行更改之前创建防火墙配置的备份如果更改导致与路由器的连接丢失,您需要在故障安全模式下

2021-08-26 10:42:59 17885 3

翻译 OpenWrt 防火墙组件

OpenWrt 防火墙组件OpenWrt 防火墙实现是过滤通过路由器的网络流量的机制,在高层次上,将发生以下三种结果之一:数据包被丢弃(丢弃)而不采取任何进一步行动、拒绝(对源进行适当的响应)或接受(路由到目的地)。OpenWrt 防火墙围绕 Linux netfilter项目展开。OpenWrt 防火墙有以下主要组件:该firewall3应用内核网络堆栈中的一组 netfilter 钩子一组处理网络数据包检查的 linux 内核模块一组用于配置网络堆栈和防火墙模块的内核调整参数Firew

2021-08-25 17:31:34 1308

翻译 OpenWrt 防火墙与网络接口

OpenWrt 防火墙与网络接口OpenWrt 防火墙与网络接口路由器的目标是将数据包流从传入网络接口转发到传出网络接口。防火墙规则定义了网络接口间转发的规则,如允许哪些数据包输入和输出到路由器。本节讨论防火墙代码和网络接口之间的关系。所有路由器的核心是具有多个接口/端口的硬件交换机。当数据包进入其中一个交换机端口时,硬件交换机会匹配数据包中的一个固定字段,并将数据包转发到输出端口。交换机一般通过MAC地址确定从哪个端口转发数据当交换机收到数据时,它会检查它的目的MAC地址,然后把数据从目的主

2021-08-25 16:59:46 2816

翻译 OpenWrt 之 Firewall

OpenWrt 之 Firewall防火墙文档防火墙和网络接口防火墙组件防火墙配置 /etc/config/firewall防火墙概述fw3 配置桥接防火墙DNS劫持带有 IP 集的基于 DNS 的防火墙防火墙使用指南fw3 DMZ 配置使用 VLANfw3 IP 集示例fw3 IPv4 配置示例fw3 IPv6 配置示例fw3 记录拒绝的数据包fw3 NAT 配置fw3 端口转发fw3 参考网络拓扑家长控制权防火墙杂页如何使用 tcpdump 或 wir

2021-08-25 16:10:00 1356

原创 Unable to handle kernel NULL pointer dereference at virtual address 分析

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

2021-08-23 18:19:47 3582

翻译 linux DSA 开发(一)

linux DSA 开发(一)本文主要是翻译,原文链接如下:https://www.kernel.org/doc/html/latest/networking/dsa/dsa.html纲要本文档描述了**分布式交换机架构 (DSA)**子系统的设计原则、限制、与其他子系统的交互、如何为该子系统开发驱动程序设计原则分布式交换机架构最少是用于支持使用 Linux 的 Marvell 以太网交换机的子系统(MV88E6xxx),但此后也发展为支持其他供应商。这种设计

2021-08-02 11:06:19 6481

原创 u-boot 中使用另一个 uart 与外设通信

u-boot 中使用另一个 uart 与外设通信我有一个板子( sun8i h3),uart_0 是console , uart_1 与一个外设连接,要在uboot 命令行中读写 uart_1 与外设通信。dts 修改:--- a/arch/arm/dts/sun8i-h3-nanopi.dtsi+++ b/arch/arm/dts/sun8i-h3-nanopi.dtsi@@ -51,6 +51,7 @@ / { aliases { seria

2021-07-23 17:57:46 1608 3

原创 Failed to set attribute: Invalid input data or parameter 解决

arm64 swconfig 配置vlan 失败问题内核版本:linux-5.20.26现象:root@OpenWrt:/usr/lib# swconfig dev switch0 vlan 2 set ports "1 2 3"Failed to set attribute: Invalid input data or parameter参考资料:https://forum.openwrt.org/t/ath79-kernel-5-4-swconfig-libnl-tiny-issue/50

2021-07-23 10:39:12 694

原创 OpenWrt 中sdcard.img 制作过程

OpenWrt 中sdcard.img 制作过程sdcard.img 的文件组成分区表u-bootboot.imgrootfs.img制作脚本分析openwrt/target/linux/sunxi/image/gen_sunxi_sdcard_img.sh#!/usr/bin/env bash## Copyright (C) 2013 OpenWrt.org## This is free software, licensed under the GNU General Publ

2021-05-19 18:47:22 863

原创 openwrt/scripts/kconfig.pl 理解

openwrt/scripts/kconfig.pl 理解目的理解 openwrt/scripts/kconfig.pl ,了解.config 的生成开始一般的编译内核.config 是由 make xxx_defconfig 生成的在OpenWrt 中则更复杂些涉及的文件有/openwrt/target/linux/generic/config-4.14/openwrt/target/linux/sunxi/config-4.14/openwrt/target/linux/sunx

2021-05-12 15:47:41 1404 1

原创 安装并配置 quilt

安装并配置 quiltapt-get install quiltvi ~/.quiltrcQUILT_DIFF_ARGS="--no-timestamps --no-index -p ab --color=auto"QUILT_REFRESH_ARGS="--no-timestamps --no-index -p ab"QUILT_PATCH_OPTS="--unified"QUILT_DIFF_OPTS="-p"EDITOR="vi"

2021-01-07 11:37:06 561

翻译 U-Boot设计的10条黄金法则

U-Boot设计的10条黄金法则1.保持小巧2.保持快速3.保持简单4.保持可移植5.保持可配置6.保持可调试7.保持可用性8.保持可维护性9.保持美丽10.保持开源黄金法则中的引理1.通用代码就是好代码

2020-09-27 11:50:44 199

原创 uboot distro_bootcmd 理解

uboot distro_bootcmd 理解从 run distro_bootcmd 开始distro_bootcmd=for target in ${boot_targets};do run bootcmd_${target};done我的 sun8-h3 板子中 boot_targets 为:boot_targets=fel mmc_auto usb0 pxe dhcp 重点分析 mmc_auto dhcpbootcmd_mmc_auto以下变量的值,都可以通过 printe

2020-09-24 15:10:31 2238 1

原创 OpenWrt uboot 编译时间戳问题

OpenWrt uboot 编译时间戳问题背景在uboot 启动过程中会有如下打印:U-Boot SPL 2017.11 (Aug 16 2018 - 07:51:15)DRAM: 128 MiBTrying to boot from MMC1U-Boot 2017.11 (Aug 16 2018 - 07:51:15 +0000) Allwinner Technology通常我们需要通过编译时间来区分uboot 版本。在使用OpenWrt 编译时uboot 时发现上面的时间戳并不会变。

2020-09-23 12:11:49 1639

原创 uboot dhcp tftpboot cmd

二者区别dhcp 与 tftpboot 用法和功能基本一样,最终都是从tftpserver 中下载文件到内存指定位置。不同之处在于- dhcp 会先用dhcp 协议申请一个ip地址- tftpboot 直接使用 env 中的 ipaddr 作为ip 地址

2020-09-22 17:59:15 1898

原创 uboot env ethaddr 是如何生成的

uboot env ethaddr 是如何生成的?思考默认环境变量中并不会指定 ethaddr , 然而板子起来后会自己生成ethaddr 变量,并且各个板子的ethaddr 是唯一的。并且即使清除env分区,重新启动后ethaddr 也不会变。是如何做到的?ethaddr 变量是何时设置的?是如何做各个板子唯一的?为何清除env 分区,重新启动也不会变?ethaddr 可以手动设置吗?ethaddr 变量是何时设置的?在uboot/doc/README.enetaddr 中有说明:

2020-09-22 17:55:15 3979

原创 dahdi_tools 分析 (五) dahdi_monitor

dahdi_tools 分析 (五) dahdi_monitor作用用于录音,可以录指定通道的音频数据。用法# dahdi_monitor -hUsage: dahdi_monitor <channel num> [-v[v]] [-m] [-o] [-l limit] [-f FILE | -s FILE | -r FILE1 -t FILE2] [-F FILE | -S FILE | -R FILE1 -T FILE2]Options: -v: Visual

2020-07-22 11:29:43 488

原创 dahdi_tools 分析(四) dahdi_cfg

dahdi_tools 分析(四) dahdi_cfgdahdi_cfg 的使用dahdi_cfg -hDAHDI Tools Version - 2.11.1Usage: dahdi_cfg [options] Valid options are: -c <filename> -- Use <filename> instead of /etc/dahdi/system.conf -d [level] -- Generate debugg

2020-07-14 17:36:54 492

原创 dahdi_tools 分析(三)dahdi_test

dahdi_tools 分析(三)dahdi_testdahdi_test 的使用# dahdi_test -hUsage: dahdi_test [-c COUNT] [-v] Valid options are: -c COUNT Run just COUNT cycles (otherwise: forever). -v More verbose output. -h This help text.示例:# dahdi_test

2020-07-14 16:30:16 375

原创 dahdi_tools 分析(二)dahdi_speed

dahdi_tools 分析(二)dahdi_speeddahdi_speed 使用# dahdi_speed Count: 0dahdi_speed 运行一定时间后,打印 Count: 0 。具体什么用途需要看代码。源码分析#include <stdio.h>#include <sys/signal.h>#include <unistd.h>#include <stdlib.h>static long count=0;static

2020-07-10 18:38:19 370

原创 dahdi_tools 分析(一)dahdi_scan

dahdi_tools 分析(一)dahdi_scandahdi_scan 的使用示例:# dahdi_scan [1]active=yesalarms=OKdescription= XX WCTDM Board 1name=WCTDM/0manufacturer=xxdevicetype=xxlocation=PCI Bus 00 Slot 00basechan=1totchans=4irq=0type=analogport=1,FXSport=2,FXSport=3,

2020-07-10 15:22:14 466

原创 全志H3 usb-otg 配置为 host 模式

文章目录全志H3 usb-otg 配置为 host 模式1.dts 配置2.内核编译选项全志H3 usb-otg 配置为 host 模式最近 H3 的USB0 用作 host ,发现识别不了设备。最终发现是内核配置上的问题。这里总结梳理一下。1.dts 配置&usb_otg{ dr_mode = "host"; status = "okay";};&usbphy{ status = "okay";};&ehci

2020-07-01 11:57:17 2721

原创 OpenWrt network 启动过程

小结- 网络配置文件 /etc/config/network- 网络初始化脚本/etc/init.d/network- swconfig 用于配置 switch - netifd 进行更复杂的网络管理,创建虚拟网卡,dhcp 等

2020-06-03 12:31:17 6039

原创 OpenWrt /etc/config/network 的生成过程

OpenWrt /etc/config/network 的生成过程/etc/config/network 是由谁生成的?是由 /bin/config_generate 自动生成的/bin/config_generate 在 /etc/init.d/boot 中被调用boot() { ... /bin/config_genera

2020-06-03 12:24:07 7657 6

原创 phy 驱动与 switch 驱动

phy 驱动与 switch 驱动phy 驱动phy 与 cpu 的硬件连接一般为 MAC-PHY 模式:MAC -PHY 之间使用 RGMII /MII 接口连接,用于传输数据。 SMI 接口,通常为 MDIO 接口或 I2C接口,用于读写PHY上面的寄存器。- MAC-MAC 模式下一般要使用 fixed-link- switch 驱动一般注册为平台驱动- switch 驱动核心功能是实现switch 的配置,vlan ,port 等- swconfig 框架和 dsa 框架都是为了

2020-06-03 10:39:59 12963 6

Introduction To MIPS Assembly Language Programming.pdf

MIPS 汇编入门

2021-03-04

mysql-5.0.tar.gz

mysql-5.0.tar.gz linux 源码安装包,适用于嵌入式开发。

2018-11-13

sipdroid源码

android 手机 sip 客户端,可打sip电话,实测可用,仅供学习

2018-11-13

AsteriskCookBook

AsteriskCook是Asterisk入门文档,详细介绍了asterisk的使用。

2018-11-12

空空如也

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

TA关注的人

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