
OpenWrt
文章平均质量分 60
★临★
找到自己喜欢的方向,一路向前!
展开
-
OpenWrt SDK 制作与使用
参考资料:https://openwrt.org/docs/guide-developer/toolchain/using_the_sdk。原创 2023-05-04 10:06:17 · 1838 阅读 · 1 评论 -
linux DSA 开发上手笔记(一)
关键在于 mt7530_switch_ops 和 dsa_register_switch。要点:是用 mdio_module_driver。定义了一些关键函数。原创 2022-09-28 11:18:40 · 3812 阅读 · 0 评论 -
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 · 856 阅读 · 0 评论 -
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 · 3014 阅读 · 3 评论 -
OpenWrt fit 理解
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)),\原创 2022-04-07 15:09:04 · 2415 阅读 · 0 评论 -
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 · 3062 阅读 · 0 评论 -
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 · 981 阅读 · 0 评论 -
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 · 2288 阅读 · 0 评论 -
OpenWrt 防火墙概述
防火墙概述OpenWrt 使用 firewall3 ( fw3) netfilter/iptable 规则构建器应用程序。它在用户空间中运行,将配置文件解析为一组iptables规则,将每个规则发送到内核 netfilter 模块。fw3目的对于典型的路由器,netfilter 规则集可能非常复杂。这是必然的;每个规则都针对路由器提供的离散功能进行定制,以保护其支持的网络,提供 NAT以节省稀缺的IPv4 地址。一个典型的路由器有超过 100 条旨在支持数据包路由的规则。OpenWRT 使用 fw3翻译 2021-08-26 11:10:25 · 5775 阅读 · 0 评论 -
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 · 23367 阅读 · 3 评论 -
OpenWrt 防火墙组件
OpenWrt 防火墙组件OpenWrt 防火墙实现是过滤通过路由器的网络流量的机制,在高层次上,将发生以下三种结果之一:数据包被丢弃(丢弃)而不采取任何进一步行动、拒绝(对源进行适当的响应)或接受(路由到目的地)。OpenWrt 防火墙围绕 Linux netfilter项目展开。OpenWrt 防火墙有以下主要组件:该firewall3应用内核网络堆栈中的一组 netfilter 钩子一组处理网络数据包检查的 linux 内核模块一组用于配置网络堆栈和防火墙模块的内核调整参数Firew翻译 2021-08-25 17:31:34 · 1600 阅读 · 0 评论 -
OpenWrt 防火墙与网络接口
OpenWrt 防火墙与网络接口OpenWrt 防火墙与网络接口路由器的目标是将数据包流从传入网络接口转发到传出网络接口。防火墙规则定义了网络接口间转发的规则,如允许哪些数据包输入和输出到路由器。本节讨论防火墙代码和网络接口之间的关系。所有路由器的核心是具有多个接口/端口的硬件交换机。当数据包进入其中一个交换机端口时,硬件交换机会匹配数据包中的一个固定字段,并将数据包转发到输出端口。交换机一般通过MAC地址确定从哪个端口转发数据当交换机收到数据时,它会检查它的目的MAC地址,然后把数据从目的主翻译 2021-08-25 16:59:46 · 3253 阅读 · 0 评论 -
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 · 1617 阅读 · 0 评论 -
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 · 819 阅读 · 0 评论 -
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 · 1116 阅读 · 0 评论 -
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 · 1795 阅读 · 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 · 678 阅读 · 0 评论 -
全志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 · 3222 阅读 · 0 评论 -
OpenWrt network 启动过程
小结- 网络配置文件 /etc/config/network- 网络初始化脚本/etc/init.d/network- swconfig 用于配置 switch - netifd 进行更复杂的网络管理,创建虚拟网卡,dhcp 等原创 2020-06-03 12:31:17 · 6795 阅读 · 0 评论 -
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 · 9202 阅读 · 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 · 14927 阅读 · 7 评论 -
SQUASHFS error: xz decompression failed, data probably corrupt
平台:Allwinner H3系统:OpenWrt linux出错特点: reboot 后概率出现,下次启动又正常。log :[ 1.781438] Key type dns_resolver registered[ 1.785824] Registering SWP/SWPB emulation handler[ 1.795843] hctosys: unable ...原创 2019-11-21 18:07:10 · 8330 阅读 · 0 评论 -
OpenWRT 启动流程(三) /sbin/procd 分析
在 /sbin/init 执行完后,调用了 spawn_procd 函数 ,启动了 procd 进程。static voidspawn_procd(struct uloop_process *proc, int ret){ char *wdt_fd = watchdog_fd(); char *argv[] = { "/sbin/procd", NULL}; char dbg[2];...原创 2019-08-12 17:01:16 · 4035 阅读 · 0 评论 -
openwrt中添加自定义驱动模块和APP
openwrt中添加自定义驱动模块和APP转载 2019-03-19 17:58:43 · 812 阅读 · 0 评论 -
openwrt 编译 asterisk 添加 chan_alsa.so
子选项里是没有chan_alsa 配置项的。如何添加?需要修改 feeds/telephony/net/asterisk-x/Makefile文件1. DEPENDS 添加 DEPENDS:= ...+alsa-lib ...2. define Package/asterisk18/conffiles 添加/etc/asterisk/alsa.conf3. AST_EMB_MODULES AST_EMB_MODULES:= ... chan_alsa 4. CONFIGURE_ARGS+原创 2019-03-19 17:53:38 · 992 阅读 · 0 评论 -
openwrt 编译遇到的问题
zlib.h: No such file or directoryapt-get install libz-dev 或者apt-get install zlib1g-devfatal error: linux/compiler-gcc6.h: No such file or directory解决:网上说需要降gcc 版本ubuntu 安装多套 gcc 和版本切换 https://blog.youkuaiyun.com/lzy0168/article/details/78276167原创 2019-03-19 17:21:49 · 928 阅读 · 0 评论 -
OpenWRT 编译过程(转载)
openWRT 编译过程转载 2019-03-19 17:19:10 · 507 阅读 · 0 评论 -
OpenWRT 启动流程(二) /etc/preinit 脚本分析
前面分析了 /sbin/init 最终是执行了 /etc/preinit 脚本接着分析 /etc/preinit同样是围绕下面两个问题:1./etc/preinit 是怎么来的?2./etc/preinit 做了些什么?1./etc/preinit 是怎么来的?它来自package/base-files/files/etc/preinit2./etc/preinit 做了些什么?#...原创 2019-02-11 17:01:37 · 4263 阅读 · 1 评论 -
OpenWRT 启动流程(一) /sbin/init 进程分析
小结:1./sbin/init 怎么来的?来自procd 2. /sbin/init 做了些什么?/sbin/init 进程最终是启动了/sbin/procd 进程,并执行/etc/preinit 脚本原创 2019-02-11 11:54:17 · 5321 阅读 · 0 评论 -
OpenWRT rootfs 的生成过程
在include目录中有一个 rootfs.mk ,里面主要是:1.定义了 opkg =2.定义了 prepare_rootfsopkg = 省略TARGET_DIR_ORIG := $(TARGET_ROOTFS_DIR)/root.orig-$(BOARD)define prepare_rootfs ...省略...rootfs.mk 被以下两个...原创 2019-01-29 18:04:01 · 6389 阅读 · 1 评论 -
NanoPi M1 Plus OpenWRT挂载NFS rootfs
学习了韦东山老师的视频才知道可以通过设置内核启动参数来从NFS 挂载rootfs ,于是我在NanoPi M1 Plus 开发板上实际试了下,过程中也终于到一些问题,这里整理一下:1.服务端要安装 nfs-kernel-server 并开启服务apt-get install nfs-kernel-server/etc/init.d/nfs-kernel-server start可以在 /...原创 2019-01-28 12:21:30 · 2387 阅读 · 0 评论 -
openwrt如何修改ssh 密码和端口
1.修改ssh 密码passwd输入两边新密码,即可,注意这里不会校验旧密码 !1111111111112.修改端口uci set dropbear.@dropbear[0].Port=2222uci commit dropbear/etc/init.d/dropbear reload...原创 2019-03-20 15:47:17 · 8997 阅读 · 0 评论 -
settimeofday 设置时区不起作用
使用settimeofday 设置时区不起作用,代码如下:int set_time(struct tm *p_tm,int tzone){ struct timeval tv; struct timezone tz; tv.tv_sec = mktime(p_tm); tv.tv_usec = 0; tz.tz_minuteswest = tzone*-60; tz.tz_d...原创 2019-03-22 12:31:26 · 8864 阅读 · 1 评论 -
MT7688 wifi 调试(二) 如何修改ra0 mac地址
总结梳理:修改 mt7628/88 的ra0 mac 地址的方法1.修改target/linux/ramips/dts/LINKIT7688.dts 将factory分区属性改为可写(去掉read-only)2. 下载一个别人备份的eeprom.bin https://github.com/dcboy/mt7628-p4rev-120395/blob/master/src/eeprom/MT7628_EEPROM_20140317.bin3. 修改MT7628_EEPROM_原创 2019-04-02 21:24:46 · 6389 阅读 · 3 评论 -
OpenWRT的包依赖 package DEPENDS 类型
本文为转载好文:原文链接:OpenWRT的包依赖 package DEPENDShttp://blog.chinaunix.net/uid-27057175-id-5011775.htmlOpenWRT平台的package管理有自己的Makefile,不同于gcc的Makefile,这个Makefile是作为OpenWRT强大的package管理的关键组件。要想往OpenWRT添加自己的...转载 2019-08-14 09:00:29 · 3744 阅读 · 0 评论 -
configure: error: mod_so has been requested but cannot be built on your system 解决办法
configure: error: mod_so has been requested but cannot be built on your systemopenwrt 交叉编译 apache ,configure 添加 --enable-so 选项后报错信息如下:configure: error: mod_so has been requested but cannot be bu...原创 2019-07-22 16:39:39 · 790 阅读 · 0 评论 -
apache2.4 + php-fpm
遇到的问题:无法打开页面,查看/var/log/error_log**AH01071: Got error 'Unable to open primary script: /usr/share/htdocs/index.php (No such file or directory)\n'**找不到文件?网上找了很多资料,大多都是说只要保证 ProxyPassMatch 那行 127.0.0.1:9000 后的路径地址与DocumentRoot 一致,www.conf 里的 user group原创 2019-07-25 13:45:59 · 5366 阅读 · 1 评论 -
openwrt 中的设备节点自动创建
通常在linux 系统中,自动创建设备节点,需要udev 或 mdev 。但是在openwrt 中并没有 udev 和 mdev ,但它任然可以自动创建设备节点,那么它的设备节点是怎么有自动创建的呢?...原创 2019-07-17 15:13:35 · 5146 阅读 · 1 评论 -
AH02418: HTTP Request Line; Unrecognized protocol 'HTTP/0.9' (perhaps whitespace was injected?) 解决办法
最近使用openwrt 的 apache ,移植到全志H3 平台。编译一切正常,实际运行时打开网页总是报错 500 Internal Server Error:查看 /var/log/error_log 如下:(需要将 http.conf 的 LogLevel 设为 debug )root@172:/# cat /var/log/error_log[Tue Jul 23 07:01...原创 2019-07-23 18:52:02 · 905 阅读 · 0 评论 -
H3 使用 128M DDR3启动不了内核问题
总结 H3 使用128M DDR3 内核启动卡在Starting kernel ... 原因是因为环境变量 默认 bootm_size=0xa000000 超出 0x8000000 解决办法是删掉 bootm_size 环境变量 。最开始怀疑内存不够引起,费了半天劲去修改了保留内存大小,虽然走了弯路,但还是有所收获,对uboot 中 DDR 的初始化过程有了进一步的了解。原创 2019-05-15 18:58:19 · 1866 阅读 · 0 评论