Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7,855 changes: 7,855 additions & 0 deletions cx102s_config.buildinfo

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions files/etc/opkg/distfeeds.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
src/gz openwrt_core http://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.5/targets/mvebu/cortexa72/packages
src/gz openwrt_base http://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.5/packages/aarch64_cortex-a72/base
src/gz openwrt_luci http://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.5/packages/aarch64_cortex-a72/luci
src/gz openwrt_packages http://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.5/packages/aarch64_cortex-a72/packages
src/gz openwrt_routing http://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.5/packages/aarch64_cortex-a72/routing
src/gz openwrt_telephony http://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/23.05.5/packages/aarch64_cortex-a72/telephony
56 changes: 56 additions & 0 deletions files/sysInstall.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#!/bin/sh

echo "=> 清空MMC数据..."
dd if=/dev/zero of=/dev/mmcblk0 bs=1M count=1

echo "=> 将MMC分成两个分区..."
fdisk /dev/mmcblk0 <<EOF
n
p
1
2048
+1G
n
p
2
2099200

w
EOF

echo "=> 格式化分区为ext4文件系统..."
mkfs.ext4 -F /dev/mmcblk0p1
mkfs.ext4 -F /dev/mmcblk0p2

# 挂载目标分区
mkdir -p /mnt/mmcblk0p1 /mnt/mmcblk0p2
mount /dev/mmcblk0p1 /mnt/mmcblk0p1
mount /dev/mmcblk0p2 /mnt/mmcblk0p2

# 挂载源分区
mkdir -p /mnt/sda1 /mnt/sda2
mount /dev/sda1 /mnt/sda1
mount /dev/sda2 /mnt/sda2

# 复制文件系统到目标分区
echo "=> 复制文件系统到目标分区..."
cp -rf /mnt/sda1/* /mnt/mmcblk0p1/
cp -rf /mnt/sda2/* /mnt/mmcblk0p2/

rm /mnt/mmcblk0p2/sysInstall.sh

# 取消挂载源分区
sync;sync;sync
umount -l /mnt/sda1
umount -l /mnt/sda2
umount -l /mnt/mmcblk0p1
umount -l /mnt/mmcblk0p2
sync;sync;sync
sleep 3

rmdir /mnt/mmcblk0p1 /mnt/mmcblk0p2
rmdir /mnt/sda1 /mnt/sda2

sync;sync;sync
sleep 3
echo "=> 系统安装完成!"
3 changes: 2 additions & 1 deletion include/kernel-defaults.mk
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,8 @@ define Kernel/Configure/Default
cp $(LINUX_DIR)/.config.set $(LINUX_DIR)/.config.prev; \
}
$(_SINGLE) [ -d $(LINUX_DIR)/user_headers ] || $(KERNEL_MAKE) $(if $(findstring uml,$(BOARD)),ARCH=$(ARCH)) INSTALL_HDR_PATH=$(LINUX_DIR)/user_headers headers_install
grep '=[ym]' $(LINUX_DIR)/.config.set | LC_ALL=C sort | $(MKHASH) md5 > $(LINUX_DIR)/.vermagic
#grep '=[ym]' $(LINUX_DIR)/.config.set | LC_ALL=C sort | $(MKHASH) md5 > $(LINUX_DIR)/.vermagic
echo 929d60da47a7932cac2a52ce60a4eee0 > $(LINUX_DIR)/.vermagic
endef

define Kernel/Configure/Initramfs
Expand Down
3 changes: 2 additions & 1 deletion package/kernel/linux/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ export SHELL:=/bin/sh
include $(INCLUDE_DIR)/package.mk

ifeq ($(DUMP),)
STAMP_BUILT:=$(STAMP_BUILT)_$(shell $(SCRIPT_DIR)/kconfig.pl $(LINUX_DIR)/.config | $(MKHASH) md5)
#STAMP_BUILT:=$(STAMP_BUILT)_$(shell $(SCRIPT_DIR)/kconfig.pl $(LINUX_DIR)/.config | $(MKHASH) md5)
STAMP_BUILT:=$(STAMP_BUILT)_929d60da47a7932cac2a52ce60a4eee0
-include $(LINUX_DIR)/.config
endif

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
From 8dc94a59cfad70ec3a808add56718255eee39ab2 Mon Sep 17 00:00:00 2001
From: Christian Marangi <ansuelsmth@gmail.com>
Date: Sat, 29 Mar 2025 12:50:55 +0100
Subject: [PATCH] backports: handle genlmsg_multicast_allns upstream backport
changes

Better handle genlmsg_multicast_allns upstream backport changes that
dropped a flag to the function middle version. Use a backport function
if backports project is tried to be built on older kernel version.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
backport-include/net/genetlink.h | 11 +++++
compat/Makefile | 3 +-
compat/backport-genetlink.c | 60 +++++++++++++++++++++++
3 files changed, 73 insertions(+), 1 deletion(-)

--- a/backport-include/net/genetlink.h
+++ b/backport-include/net/genetlink.h
@@ -172,4 +172,15 @@ static inline int genlmsg_parse(const st
}
#endif /* LINUX_VERSION_IS_LESS(5,2,0) */

+#if LINUX_VERSION_IN_RANGE(5,15,0,5,15,169) || \
+ LINUX_VERSION_IN_RANGE(6,1,0,6,1,115) || \
+ LINUX_VERSION_IN_RANGE(6,6,0,6,6,58)
+#define genlmsg_multicast_allns LINUX_BACKPORT(genlmsg_multicast_allns)
+int backport_genlmsg_multicast_allns(const struct genl_family *family,
+ struct sk_buff *skb, u32 portid,
+ unsigned int group);
+#endif /* LINUX_VERSION_IN_RANGE(5,15,0,5,15,169) ||
+ LINUX_VERSION_IN_RANGE(6,1,0,6,1,115) ||
+ LINUX_VERSION_IN_RANGE(6,6,0,6,6,58) */
+
#endif /* __BACKPORT_NET_GENETLINK_H */
--- a/compat/Makefile
+++ b/compat/Makefile
@@ -16,7 +16,8 @@ compat-$(CPTCFG_KERNEL_5_9) += backport-
compat-$(CPTCFG_KERNEL_5_10) += backport-5.10.o
compat-$(CPTCFG_KERNEL_5_11) += backport-5.11.o
compat-$(CPTCFG_KERNEL_5_13) += backport-5.13.o
-compat-$(CPTCFG_KERNEL_5_15) += backport-5.15.o
+compat-$(CPTCFG_KERNEL_5_15) += backport-5.15.o backport-genetlink.o
+compat-$(CPTCFG_KERNEL_6_1) += backport-genetlink.o
compat-$(CPTCFG_KERNEL_6_4) += backport-6.4.o

compat-$(CPTCFG_BPAUTO_BUILD_CRYPTO_LIB_ARC4) += lib-crypto-arc4.o
--- a/compat/backport-genetlink.c
+++ b/compat/backport-genetlink.c
@@ -17,6 +17,7 @@
#include <net/netlink.h>
#include <net/sock.h>

+#if LINUX_VERSION_IS_LESS(5,2,0)
static const struct genl_family *find_family_real_ops(const struct genl_ops **ops)
{
const struct genl_family *family;
@@ -249,3 +250,63 @@ int backport_genlmsg_multicast_allns(con
return genlmsg_mcast(skb, portid, group);
}
EXPORT_SYMBOL_GPL(backport_genlmsg_multicast_allns);
+#endif /* LINUX_VERSION_IS_LESS(5,2,0) */
+
+#if LINUX_VERSION_IN_RANGE(5,15,0,5,15,169) || \
+ LINUX_VERSION_IN_RANGE(6,1,0,6,1,115) || \
+ LINUX_VERSION_IN_RANGE(6,6,0,6,6,58)
+static int genlmsg_mcast(struct sk_buff *skb, u32 portid, unsigned long group)
+{
+ struct sk_buff *tmp;
+ struct net *net, *prev = NULL;
+ bool delivered = false;
+ int err;
+
+ rcu_read_lock();
+ for_each_net_rcu(net) {
+ if (prev) {
+ tmp = skb_clone(skb, GFP_ATOMIC);
+ if (!tmp) {
+ err = -ENOMEM;
+ goto error;
+ }
+ err = nlmsg_multicast(prev->genl_sock, tmp,
+ portid, group, GFP_ATOMIC);
+ if (!err)
+ delivered = true;
+ else if (err != -ESRCH)
+ goto error;
+ }
+
+ prev = net;
+ }
+ err = nlmsg_multicast(prev->genl_sock, skb, portid, group, GFP_ATOMIC);
+
+ rcu_read_unlock();
+
+ if (!err)
+ delivered = true;
+ else if (err != -ESRCH)
+ return err;
+ return delivered ? 0 : -ESRCH;
+ error:
+ rcu_read_unlock();
+
+ kfree_skb(skb);
+ return err;
+}
+
+int backport_genlmsg_multicast_allns(const struct genl_family *family,
+ struct sk_buff *skb, u32 portid,
+ unsigned int group)
+{
+ if (WARN_ON_ONCE(group >= family->n_mcgrps))
+ return -EINVAL;
+
+ group = family->mcgrp_offset + group;
+ return genlmsg_mcast(skb, portid, group);
+}
+EXPORT_SYMBOL_GPL(backport_genlmsg_multicast_allns);
+#endif /* LINUX_VERSION_IN_RANGE(5,15,0,5,15,169) ||
+ LINUX_VERSION_IN_RANGE(6,1,0,6,1,115) ||
+ LINUX_VERSION_IN_RANGE(6,6,0,6,6,58) */
4 changes: 2 additions & 2 deletions package/kernel/r8125/Makefile
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=r8125
PKG_VERSION:=9.014.01
PKG_VERSION:=9.015.00
PKG_RELEASE:=1

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://github.com/openwrt/rtl8125/releases/download/$(PKG_VERSION)
PKG_HASH:=f006aa95501738ca55c522812c9d1b473ac781675f3ad88ce341a09316b8aa13
PKG_HASH:=7d6906336c3ad960c3e7c0299ad655659d7110bdc933c5b568b7f2536cb8ffc3

PKG_BUILD_PARALLEL:=1
PKG_LICENSE:=GPLv2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,12 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

--- a/src/r8125.h
+++ b/src/r8125.h
@@ -1672,6 +1672,8 @@ enum RTL8125_register_content {
@@ -1687,6 +1687,9 @@ enum RTL8125_register_content {
LinkStatus = 0x02,
FullDup = 0x01,

+#define RTL8125_FULL_DUPLEX_MASK (_2500bpsF | _1000bpsF | FullDup)
+#define RTL8125_SPEED_1000_MASK (_1000bpsF | _1000bpsL | _2500bpsL)
+
/* DBG_reg */
Fix_Nak_1 = (1 << 4),
Expand All @@ -37,11 +38,11 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/delay.h>
@@ -5116,6 +5117,38 @@ rtl8125_link_down_patch(struct net_devic
@@ -5023,6 +5024,38 @@ rtl8125_link_down_patch(struct net_devic
#endif
}

+static unsigned int rtl8125_phy_duplex(u16 status)
+static unsigned int rtl8125_phy_duplex(u32 status)
+{
+ unsigned int duplex = DUPLEX_UNKNOWN;
+
Expand All @@ -55,14 +56,14 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
+ return duplex;
+}
+
+static int rtl8125_phy_speed(u16 status)
+static int rtl8125_phy_speed(u32 status)
+{
+ int speed = SPEED_UNKNOWN;
+
+ if (status & LinkStatus) {
+ if (status & _2500bpsF)
+ speed = SPEED_2500;
+ else if (status & _1000bpsF)
+ else if (status & RTL8125_SPEED_1000_MASK)
+ speed = SPEED_1000;
+ else if (status & _100bps)
+ speed = SPEED_100;
Expand All @@ -76,14 +77,14 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
static void
_rtl8125_check_link_status(struct net_device *dev, unsigned int link_state)
{
@@ -5128,11 +5161,18 @@ _rtl8125_check_link_status(struct net_de
@@ -5035,11 +5068,18 @@ _rtl8125_check_link_status(struct net_de
if (link_state == R8125_LINK_STATE_ON) {
rtl8125_link_on_patch(dev);

- if (netif_msg_ifup(tp))
- printk(KERN_INFO PFX "%s: link up\n", dev->name);
+ if (netif_msg_ifup(tp)) {
+ const u16 phy_status = RTL_R16(tp, PHYstatus);
+ const u32 phy_status = RTL_R32(tp, PHYstatus);
+ const unsigned int phy_duplex = rtl8125_phy_duplex(phy_status);
+ const int phy_speed = rtl8125_phy_speed(phy_status);
+ printk(KERN_INFO PFX "%s: Link is Up - %s/%s\n",
Expand Down
4 changes: 2 additions & 2 deletions package/kernel/r8126/Makefile
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=r8126
PKG_VERSION:=10.014.01
PKG_VERSION:=10.015.00
PKG_RELEASE:=1

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://github.com/openwrt/rtl8126/releases/download/$(PKG_VERSION)
PKG_HASH:=dbb10a7abd0972e4abd1b89ea4eb22fc55d6c1dc2f711b5acf4a3bc376275e21
PKG_HASH:=fac513aa925264a95b053e7532fcda56022d29db288f6625fafee2759a8a6124

PKG_BUILD_PARALLEL:=1
PKG_LICENSE:=GPLv2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,13 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

--- a/src/r8126.h
+++ b/src/r8126.h
@@ -1740,6 +1740,8 @@ enum RTL8126_register_content {
@@ -1756,6 +1756,10 @@ enum RTL8126_register_content {
LinkStatus = 0x02,
FullDup = 0x01,

+#define RTL8126_FULL_DUPLEX_MASK (_5000bpsF | _2500bpsF | _1000bpsF | FullDup)
+#define RTL8126_SPEED_1000_MASK (_1000bpsF | _1000bpsL | _2500bpsL)
+#define RTL8126_SPEED_2500_MASK (_2500bpsF | _5000bpsL)
+
/* DBG_reg */
Fix_Nak_1 = (1 << 4),
Expand All @@ -37,11 +39,11 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
#include <linux/netdevice.h>
#include <linux/etherdevice.h>
#include <linux/delay.h>
@@ -4744,6 +4745,40 @@ rtl8126_link_down_patch(struct net_devic
@@ -4661,6 +4662,40 @@ rtl8126_link_down_patch(struct net_devic
#endif
}

+static unsigned int rtl8126_phy_duplex(u16 status)
+static unsigned int rtl8126_phy_duplex(u32 status)
+{
+ unsigned int duplex = DUPLEX_UNKNOWN;
+
Expand All @@ -55,16 +57,16 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
+ return duplex;
+}
+
+static int rtl8126_phy_speed(u16 status)
+static int rtl8126_phy_speed(u32 status)
+{
+ int speed = SPEED_UNKNOWN;
+
+ if (status & LinkStatus) {
+ if (status & _5000bpsF)
+ speed = SPEED_5000;
+ else if (status & _2500bpsF)
+ else if (status & RTL8126_SPEED_2500_MASK)
+ speed = SPEED_2500;
+ else if (status & _1000bpsF)
+ else if (status & RTL8126_SPEED_1000_MASK)
+ speed = SPEED_1000;
+ else if (status & _100bps)
+ speed = SPEED_100;
Expand All @@ -78,14 +80,14 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
static void
_rtl8126_check_link_status(struct net_device *dev, unsigned int link_state)
{
@@ -4756,11 +4791,18 @@ _rtl8126_check_link_status(struct net_de
@@ -4673,11 +4708,18 @@ _rtl8126_check_link_status(struct net_de
if (link_state == R8126_LINK_STATE_ON) {
rtl8126_link_on_patch(dev);

- if (netif_msg_ifup(tp))
- printk(KERN_INFO PFX "%s: link up\n", dev->name);
+ if (netif_msg_ifup(tp)) {
+ const u16 phy_status = RTL_R16(tp, PHYstatus);
+ const u32 phy_status = RTL_R32(tp, PHYstatus);
+ const unsigned int phy_duplex = rtl8126_phy_duplex(phy_status);
+ const int phy_speed = rtl8126_phy_speed(phy_status);
+ printk(KERN_INFO PFX "%s: Link is Up - %s/%s\n",
Expand Down
4 changes: 2 additions & 2 deletions package/libs/libxml2/Makefile
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
include $(TOPDIR)/rules.mk

PKG_NAME:=libxml2
PKG_VERSION:=2.12.5
PKG_VERSION:=2.13.6
PKG_RELEASE:=1

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@GNOME/libxml2/$(basename $(PKG_VERSION))
PKG_HASH:=a972796696afd38073e0f59c283c3a2f5a560b5268b4babc391b286166526b21
PKG_HASH:=f453480307524968f7a04ec65e64f2a83a825973bcd260a2e7691be82ae70c96

PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING
Expand Down
Loading