Compare commits

...

6 Commits

Author SHA1 Message Date
Liangbin Lian
42431c3fc8 target/amlogic: Phicomm N1 new eMMC installer
Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
2026-04-07 13:01:17 +08:00
Florian Eckert
19e2fcf570 base-files: treat 'ipaddr is inside range' as warning again
The call to 'ipcalc' is used in 'dnsmasq' init script to create the
configuration. If the 'ipaddr' is in the configured range then 'ipcalc' exited
with an error whereby the START/STOP variables are unavailable.

This behaviour has changed during 'ipcalc' refactoring and now leads to a
problem when starting 'dnsmasq' if the 'ipaddr' is inside this range. To
restore the old behaviour, only a warning is issued as before and the
required variables for the 'dnsmasq' are still set.

Fixes: 854739b32c (base-files: ipcalc.sh: Rewrite in pure shell)

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/18641
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit 32ed3db1a0)
2026-04-03 14:03:01 +08:00
Florian Eckert
b4340aa3ff dnsmasq: fix start if dhcp-range is not correct
If the uci 'dhcp' configuration for the dhcp leases is incorrect then
the call to 'ipclac' fails. However, the problem is that the dnsmasq
configuration option 'dhcp-range' is still written for this uci section
even though the information generated by ipcalc is incorrect or not set.

Due to the incorrectly generated configuration for dnsmasq, the service
cannot start.

To prevent an incorrect configuration from being written to the configuration,
a check is now made beforehand to ensure that the required variables are
present and valid. If the configuration is incorrect, a message is emitted
to the log that this configuration section is incorrect and this uci
configuration section is omitted.

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
Link: https://github.com/openwrt/openwrt/pull/18641
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
(cherry picked from commit ae198c6ba0)
2026-04-03 14:02:39 +08:00
桐话
7734f3068d
rockchip: orangepi-5-plus: fix usb typec power role and add eth_order (#2925) 2026-04-01 18:37:36 +08:00
Liangbin Lian
70b7a8e8e3 target/rockchip: easepi a2 dts add alias to sdmmc2
so we have a fixed mmc number.

Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
2026-03-19 15:28:03 +08:00
Liangbin Lian
2cbc998803 target/rockchip: easepi a2 ota
Signed-off-by: Liangbin Lian <jjm2473@gmail.com>
2026-03-19 14:26:32 +08:00
8 changed files with 40 additions and 11 deletions

View File

@ -133,8 +133,7 @@ _ip2str START "$start"
_ip2str END "$end"
if [ "$start" -le "$ipaddr" ] && [ "$ipaddr" -le "$end" ]; then
echo "error: address $IP inside range $START..$END" >&2
exit 1
echo "warning: address $IP inside range $START..$END" >&2
fi
echo "START=$START"

View File

@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=dnsmasq
PKG_UPSTREAM_VERSION:=2.90
PKG_VERSION:=$(subst test,~~test,$(subst rc,~rc,$(PKG_UPSTREAM_VERSION)))
PKG_RELEASE:=5
PKG_RELEASE:=6
PKG_SOURCE:=$(PKG_NAME)-$(PKG_UPSTREAM_VERSION).tar.xz
PKG_SOURCE_URL:=https://thekelleys.org.uk/dnsmasq/

View File

@ -597,10 +597,20 @@ dhcp_add() {
nettag="${networkid:+set:${networkid},}"
# make sure the DHCP range is not empty
if [ "$dhcpv4" != "disabled" ] && ipcalc "$ipaddr/$prefix_or_netmask" "$start" "$limit" ; then
[ "$dynamicdhcpv4" = "0" ] && END="static"
if [ "$dhcpv4" != "disabled" ]; then
unset START
unset END
unset NETMASK
ipcalc "$ipaddr/$prefix_or_netmask" "$start" "$limit"
xappend "--dhcp-range=$tags$nettag$START,$END,$NETMASK,$leasetime${options:+ $options}"
if [ -z "$START" ] || [ -z "$END" ] || [ -z "$NETMASK" ]; then
logger -t dnsmasq \
"unable to set dhcp-range for dhcp uci config section '$cfg'" \
"on interface '$ifname', please check your config"
else
[ "$dynamicdhcpv4" = "0" ] && END="static"
xappend "--dhcp-range=$tags$nettag$START,$END,$NETMASK,$leasetime${options:+ $options}"
fi
fi
if [ "$dynamicdhcpv6" = "0" ] ; then

View File

@ -24,11 +24,11 @@
# danger zones
# 0-117
# part start size end
# boot 0x7500000/117M 0x4000000/64M 0xB500000/181M
# rootfs 0xB500000/181M 0x18F00000/399M 0x24400000/580M
# part start size end
# boot 0x7500000/117M (239616s) 0x4000000/64M 0xB500000/181M (370687s)
# rootfs 0xB500000/181M (370688s) 0x18F00000/399M 0x24400000/580M (1187839s)
# (gap for amlogic bootloader 0x24400000 - 0x32000000)
# overlay 0x32000000/800M 0x80000000/2G 0xB2000000/2848M
# overlay 0x32000000/800M (1638400s) 0x80000000/2G 0xB2000000/2848M (4194304s)
. /lib/functions.sh
. /lib/functions/system.sh
@ -51,6 +51,19 @@ function umount_disk() {
function part_disk() {
local to="${1#/dev/}"
#dd if="/dev/$to" of=/tmp/mmc-diskid.bin bs=1 skip=440 count=4
dd if=/dev/zero of="/dev/$to" bs=1 seek=446 count=64 conv=notrunc
{
# echo o;
echo n; echo p; echo 1; echo 239616; echo 370687;
echo n; echo p; echo 2; echo 370688; echo 1187839;
echo n; echo p; echo 3; echo 1638400; echo 4194304;
echo t; echo 1; echo c;
echo w;
} | fdisk "/dev/$to"
#dd if=/tmp/mmc-diskid.bin of="/dev/$to" bs=1 seek=440 count=4 conv=notrunc
return 0
dd if=/dev/zero of="/dev/$to" bs=512 count=1 conv=notrunc 2>/dev/null
parted --script "/dev/$to" \
mktable msdos \

View File

@ -20,6 +20,9 @@ export_ota_url() {
lyt,t68m)
export -n OTA_URL_BASE="https://fw0.koolcenter.com/iStoreOS/${board##*,}"
;;
easepi,a2)
export -n OTA_URL_BASE="https://fw0.koolcenter.com/iStoreOS/easepi-a2"
;;
easepi,r1)
export -n OTA_URL_BASE="https://fw0.koolcenter.com/iStoreOS/easepi-r1"
;;

View File

@ -15,6 +15,7 @@
aliases {
ethernet0 = &pcie_eth0;
/delete-property/ ethernet1;
mmc2 = &sdmmc2;
};
chosen {

View File

@ -22,6 +22,7 @@
aliases {
ethernet2 = &pcie_eth2;
ethernet3 = &pcie_eth3;
mmc2 = &sdmmc2;
};
pwr-net-25g {

View File

@ -8,6 +8,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/pwm/pwm.h>
#include <dt-bindings/pinctrl/rockchip.h>
#include <dt-bindings/soc/rockchip,vop2.h>
#include <dt-bindings/usb/pd.h>
@ -21,6 +22,7 @@
/ {
model = "Xunlong Orange Pi 5 Plus";
compatible = "xunlong,orangepi-5-plus", "rockchip,rk3588";
eth_order = "0004:41:00.0,0003:31:00.0";
aliases {
mmc0 = &sdhci;
@ -416,7 +418,7 @@
op-sink-microwatt = <1000000>;
source-pdos = <PDO_FIXED(5000, 3000, PDO_FIXED_USB_COMM)>;
sink-pdos = <PDO_FIXED(5000, 1000, PDO_FIXED_USB_COMM)>;
try-power-role = "source";
try-power-role = "sink";
ports {
#address-cells = <1>;