[OpenWrt-Devel] [PATCH] ath79: improve mikrotik-caldata.sh

Thibaut hacks at slashdirt.org
Sat Apr 4 05:51:27 EDT 2020


Hi,

Can someone tell me what (if anything) is wrong with this simple patch?

It only affects the ath79/mikrotik subtarget (so two devices to date) and does only three things:

1) run only if necessary (the check is arguably redundant with the one already performed in generic caldata.sh but I thought it couldn’t hurt to add it here in case the script is used independently)
2) use /tmp instead of flash to write the temporary file
3) remove the temporary file after use

Thanks,
Thibaut

> Le 18 mars 2020 à 10:35, Thibaut VARÈNE <hacks at slashdirt.org> a écrit :
> 
> Reduce unnecessary flash wear and be tidy:
> - Run the extraction only if necessary
> - Extract temporary file to /tmp
> - cleanup after execution
> 
> Tested-by: Roger Pueyo Centelles <roger.pueyo at guifi.net>
> Signed-off-by: Thibaut VARÈNE <hacks at slashdirt.org>
> ---
> .../ath79/mikrotik/base-files/lib/functions/mikrotik-caldata.sh  | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/target/linux/ath79/mikrotik/base-files/lib/functions/mikrotik-caldata.sh b/target/linux/ath79/mikrotik/base-files/lib/functions/mikrotik-caldata.sh
> index 9c4016ee5d..71a1bf02f3 100644
> --- a/target/linux/ath79/mikrotik/base-files/lib/functions/mikrotik-caldata.sh
> +++ b/target/linux/ath79/mikrotik/base-files/lib/functions/mikrotik-caldata.sh
> @@ -9,13 +9,18 @@ mikrotik_caldata_extract() {
> 	local offset=$(($2))
> 	local count=$(($3))
> 	local mtd
> -	local erdfile="/lib/firmware/erd.bin"
> +	local erdfile="/tmp/erd.bin"
> +	local fwfile="/lib/firmware/${FIRMWARE}"
> +
> +	[ -e $fwfile ] && exit 0
> 
> 	mtd=$(find_mtd_chardev $part)
> 	[ -n "$mtd" ] || caldata_die "no mtd device found for partition $part"
> 
> 	rbextract -e $mtd $erdfile
> 
> -	dd if=$erdfile of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
> +	dd if=$erdfile of=$fwfile iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
> 		caldata_die "failed to extract calibration data from $mtd"
> +
> +	rm -f $erdfile
> }
> -- 
> 2.11.0
> 


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list