Skip to content

Commit f45e4c0

Browse files
committed
bcm47xx: base-files: hack sysinfo to allow ASU sysupgrades
This old platform(no DTS) is using nvram numeric fields (or "unknown" string) for its board_name, let allow to use ASU sysupgrade by using /tmp/sysinfo/boardtype for keep this value used for some board detection-configure logic, and define a typical board_name as "vendor,device-variant" derived from the /tmp/sysinfo/model. Only a few target profile image names are not consistent in the last prefix, uniform them. Some images with (NA) and (ROW) variants are only meant to be compatible with the upgrade process in the OEM firmware using these NETGEAR_BOARD_ID and NETGEAR_REGION fields but the images are compatibles (i.e. netgear_wnr3500l-v1). Add SUPPORTED_DEVICES in one of these variant for ASU sysupgrade profile identification. Fixes: 7d10f2c1e8511fe07c9760e85f2272a85168f8d "brcm47xx: rework model detection" Fixes: (Netgear wnr3500L) openwrt/asu#419 Closes: openwrt/asu#878 Closes: (Asus RT-N16) openwrt/asu#1042 [1] Fixes: (Asus RT-N16) https://forum.openwrt.org/t/luci-attended-sysupgrade-support-thread/230552/115 [1] [1]: https://wl500g.info/showthread.php?27828-Asus-amp-Broadcom&styleid=18 Signed-off-by: Mario Andrés Pérez <mapb_@outlook.com>
1 parent b15628e commit f45e4c0

File tree

3 files changed

+33
-20
lines changed

3 files changed

+33
-20
lines changed

target/linux/bcm47xx/base-files/etc/board.d/01_network

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ configure_by_model() {
196196

197197

198198
model="$(cat /tmp/sysinfo/model)"
199-
boardtype="$(board_name)"
199+
boardtype="$(cat /tmp/sysinfo/boardtype)"
200200

201201
case "$boardtype" in
202202
*:*)

target/linux/bcm47xx/base-files/lib/preinit/01_sysinfo

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,19 @@ do_sysinfo_bcm47xx() {
77
[ -z "$boardtype" ] && boardtype="unknown"
88

99
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
10-
echo "$boardtype${boardnum:+:$boardnum}" > /tmp/sysinfo/board_name
10+
echo "$boardtype${boardnum:+:$boardnum}" > /tmp/sysinfo/boardtype
1111
echo "$model" > /tmp/sysinfo/model
12+
# Generate board_name in the form vendor,device for ASU sysupgrades
13+
printf '%s' "$model" | awk '{
14+
$0 = tolower($0);
15+
if (NF>=2) {
16+
printf "%s,%s", $1, $2;
17+
for (i=3; i<=NF; i++) {
18+
printf "-%s" $i;
19+
}
20+
}
21+
else printf "%s", $1
22+
}' > /tmp/sysinfo/board_name
1223
}
1324

1425
boot_hook_add preinit_main do_sysinfo_bcm47xx

target/linux/bcm47xx/image/mips74k.mk

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -211,6 +211,7 @@ define Device/linksys_e1000
211211
$(Device/linksys)
212212
DEVICE_ID := E100
213213
VERSION := 1.1.3
214+
SUPPORTED_DEVICES := linksys,e1000-v1 linksys,e1000-v2 linksys,e1000-v2.1
214215
DEFAULT := n
215216
endef
216217
TARGET_DEVICES += linksys_e1000
@@ -336,15 +337,15 @@ define Device/netgear_r6200-v1
336337
endef
337338
TARGET_DEVICES += netgear_r6200-v1
338339

339-
define Device/netgear_wgr614-v10-na
340+
define Device/netgear_wgr614-v10na
340341
DEVICE_MODEL := WGR614
341342
DEVICE_VARIANT := v10 (NA)
342343
$(Device/netgear)
343344
NETGEAR_BOARD_ID := U12H139T01_NETGEAR
344345
NETGEAR_REGION := 2
345346
DEFAULT := n
346347
endef
347-
TARGET_DEVICES += netgear_wgr614-v10-na
348+
TARGET_DEVICES += netgear_wgr614-v10na
348349

349350
define Device/netgear_wgr614-v10
350351
DEVICE_MODEL := WGR614
@@ -405,16 +406,6 @@ define Device/netgear_wndr3400-v3
405406
endef
406407
TARGET_DEVICES += netgear_wndr3400-v3
407408

408-
define Device/netgear_wndr3700-v3
409-
DEVICE_MODEL := WNDR3700
410-
DEVICE_VARIANT := v3
411-
DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
412-
$(Device/netgear)
413-
NETGEAR_BOARD_ID := U12H194T00_NETGEAR
414-
NETGEAR_REGION := 2
415-
endef
416-
TARGET_DEVICES += netgear_wndr3700-v3
417-
418409
define Device/netgear_wndr3400-vcna
419410
DEVICE_MODEL := WNDR3400
420411
DEVICE_VARIANT := vcna
@@ -426,6 +417,16 @@ define Device/netgear_wndr3400-vcna
426417
endef
427418
TARGET_DEVICES += netgear_wndr3400-vcna
428419

420+
define Device/netgear_wndr3700-v3
421+
DEVICE_MODEL := WNDR3700
422+
DEVICE_VARIANT := v3
423+
DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
424+
$(Device/netgear)
425+
NETGEAR_BOARD_ID := U12H194T00_NETGEAR
426+
NETGEAR_REGION := 2
427+
endef
428+
TARGET_DEVICES += netgear_wndr3700-v3
429+
429430
define Device/netgear_wndr4000
430431
DEVICE_MODEL := WNDR4000
431432
DEVICE_VARIANT := v1
@@ -446,7 +447,7 @@ define Device/netgear_wnr1000-v3
446447
endef
447448
TARGET_DEVICES += netgear_wnr1000-v3
448449

449-
define Device/netgear_wnr2000v2
450+
define Device/netgear_wnr2000-v2
450451
DEVICE_MODEL := WNR2000
451452
DEVICE_VARIANT := v2
452453
DEVICE_PACKAGES := kmod-b43
@@ -455,17 +456,17 @@ define Device/netgear_wnr2000v2
455456
NETGEAR_REGION := 2
456457
DEFAULT := n
457458
endef
458-
TARGET_DEVICES += netgear_wnr2000v2
459+
TARGET_DEVICES += netgear_wnr2000-v2
459460

460-
define Device/netgear_wnr3500l-v1-na
461+
define Device/netgear_wnr3500l-v1na
461462
DEVICE_MODEL := WNR3500L
462463
DEVICE_VARIANT := v1 (NA)
463464
DEVICE_PACKAGES := kmod-b43 $(USB2_PACKAGES)
464465
$(Device/netgear)
465466
NETGEAR_BOARD_ID := U12H136T99_NETGEAR
466467
NETGEAR_REGION := 2
467468
endef
468-
TARGET_DEVICES += netgear_wnr3500l-v1-na
469+
TARGET_DEVICES += netgear_wnr3500l-v1na
469470

470471
define Device/netgear_wnr3500l-v1
471472
DEVICE_MODEL := WNR3500L
@@ -474,6 +475,7 @@ define Device/netgear_wnr3500l-v1
474475
$(Device/netgear)
475476
NETGEAR_BOARD_ID := U12H136T99_NETGEAR
476477
NETGEAR_REGION := 1
478+
SUPPORTED_DEVICES := netgear,wnr3500l
477479
endef
478480
TARGET_DEVICES += netgear_wnr3500l-v1
479481

@@ -510,7 +512,7 @@ define Device/netgear_wnr3500-v2
510512
endef
511513
TARGET_DEVICES += netgear_wnr3500-v2
512514

513-
define Device/netgear_wnr3500-v2-vc
515+
define Device/netgear_wnr3500-v2vc
514516
DEVICE_MODEL := WNR3500
515517
DEVICE_VARIANT := v2 (VC)
516518
DEVICE_PACKAGES := kmod-b43
@@ -519,6 +521,6 @@ define Device/netgear_wnr3500-v2-vc
519521
NETGEAR_REGION := 2
520522
DEFAULT := n
521523
endef
522-
TARGET_DEVICES += netgear_wnr3500-v2-vc
524+
TARGET_DEVICES += netgear_wnr3500-v2vc
523525

524526
TARGET_DEVICES += standard standard-noloader-nodictionarylzma

0 commit comments

Comments
 (0)