Fixed. > Le 21 avr. 2020 à 20:24, Philip Prindeville > <philipp_s...@redfish-solutions.com> a écrit : > > Agreed, especially if you’re using “set -e” for debugging… > > >> On Apr 20, 2020, at 8:09 AM, m...@adrianschmutzler.de wrote: >> >> Acked-by: Adrian Schmutzler <freif...@adrianschmutzler.de> >> >> I personally prefer >> [ -n "$var" ] || do something >> to >> [ -z "$var" ] && do something >> but that's pure matter of taste again. >> >> Best >> >> Adrian >> >>> -----Original Message----- >>> From: openwrt-devel [mailto:openwrt-devel-boun...@lists.openwrt.org] >>> On Behalf Of Thibaut VARÈNE >>> Sent: Montag, 20. April 2020 15:35 >>> To: openwrt-devel@lists.openwrt.org >>> Cc: Thibaut VARÈNE <ha...@slashdirt.org>; koen.vandepu...@ncentric.com >>> Subject: [OpenWrt-Devel] [PATCH v2 11/14] package/base-files: caldata: >>> allow setting target file >>> >>> This will enable platforms to extract caldata to an arbitrary file, or >>> patch mac >>> in an abitrary file. >>> >>> Signed-off-by: Thibaut VARÈNE <ha...@slashdirt.org> >>> --- >>> package/base-files/Makefile | 2 +- >>> package/base-files/files/lib/functions/caldata.sh | 29 ++++++++++++++++-- >>> ----- >>> 2 files changed, 22 insertions(+), 9 deletions(-) >>> >>> diff --git a/package/base-files/Makefile b/package/base-files/Makefile index >>> 156e7bc8b9..f1f0f17a60 100644 >>> --- a/package/base-files/Makefile >>> +++ b/package/base-files/Makefile >>> @@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/version.mk include >>> $(INCLUDE_DIR)/feeds.mk >>> >>> PKG_NAME:=base-files >>> -PKG_RELEASE:=218 >>> +PKG_RELEASE:=219 >>> PKG_FLAGS:=nonshared >>> >>> PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ >>> $(GENERIC_PLATFORM_DIR)/base-files/ >>> diff --git a/package/base-files/files/lib/functions/caldata.sh >>> b/package/base- >>> files/files/lib/functions/caldata.sh >>> index 3bdb1e4dd5..e9349c7eee 100644 >>> --- a/package/base-files/files/lib/functions/caldata.sh >>> +++ b/package/base-files/files/lib/functions/caldata.sh >>> @@ -60,15 +60,21 @@ caldata_from_file() { >>> local source=$1 >>> local offset=$(($2)) >>> local count=$(($3)) >>> + local target=$4 >>> >>> - dd if=$source of=/lib/firmware/$FIRMWARE iflag=skip_bytes >>> bs=$count skip=$offset count=1 2>/dev/null || \ >>> + [ -z "$target" ] && target=/lib/firmware/$FIRMWARE >>> + >>> + dd if=$source of=$target iflag=skip_bytes bs=$count skip=$offset >>> +count=1 2>/dev/null || \ >>> caldata_die "failed to extract calibration data from $source" >>> } >>> >>> caldata_valid() { >>> local expected="$1" >>> + local target=$2 >>> + >>> + [ -z "$target" ] && target=/lib/firmware/$FIRMWARE >>> >>> - magic=$(hexdump -v -n 2 -e '1/1 "%02x"' /lib/firmware/$FIRMWARE) >>> + magic=$(hexdump -v -n 2 -e '1/1 "%02x"' $target) >>> [ "$magic" = "$expected" ] >>> return $? >>> } >>> @@ -77,6 +83,7 @@ caldata_patch_chksum() { >>> local mac=$1 >>> local mac_offset=$(($2)) >>> local chksum_offset=$(($3)) >>> + local target=$4 >>> local xor_mac >>> local xor_fw_mac >>> local xor_fw_chksum >>> @@ -91,38 +98,44 @@ caldata_patch_chksum() { >>> xor_fw_chksum=$(xor $xor_fw_chksum $xor_fw_mac $xor_mac) >>> >>> printf "%b" "\x${xor_fw_chksum:0:2}\x${xor_fw_chksum:2:2}" | \ >>> - dd of=/lib/firmware/$FIRMWARE conv=notrunc bs=1 >>> seek=$chksum_offset count=2 >>> + dd of=$target conv=notrunc bs=1 seek=$chksum_offset >>> count=2 >>> } >>> >>> caldata_patch_mac() { >>> local mac=$1 >>> local mac_offset=$(($2)) >>> local chksum_offset=$3 >>> + local target=$4 >>> >>> [ -z "$mac" -o -z "$mac_offset" ] && return >>> >>> - [ -n "$chksum_offset" ] && caldata_patch_chksum "$mac" >>> "$mac_offset" "$chksum_offset" >>> + [ -z "$target" ] && target=/lib/firmware/$FIRMWARE >>> + >>> + [ -n "$chksum_offset" ] && caldata_patch_chksum "$mac" >>> "$mac_offset" "$chksum_offset" "$target" >>> >>> - macaddr_2bin $mac | dd of=/lib/firmware/$FIRMWARE >>> conv=notrunc oflag=seek_bytes bs=6 seek=$mac_offset count=1 || \ >>> + macaddr_2bin $mac | dd of=$target conv=notrunc oflag=seek_bytes >>> bs=6 >>> +seek=$mac_offset count=1 || \ >>> caldata_die "failed to write MAC address to eeprom file" >>> } >>> >>> ath9k_patch_mac() { >>> local mac=$1 >>> + local target=$2 >>> >>> - caldata_patch_mac "$mac" 0x2 >>> + caldata_patch_mac "$mac" 0x2 "" "$target" >>> } >>> >>> ath9k_patch_mac_crc() { >>> local mac=$1 >>> local mac_offset=$2 >>> local chksum_offset=$((mac_offset - 10)) >>> + local target=$4 >>> >>> - caldata_patch_mac "$mac" "$mac_offset" "$chksum_offset" >>> + caldata_patch_mac "$mac" "$mac_offset" "$chksum_offset" >>> "$target" >>> } >>> >>> ath10k_patch_mac() { >>> local mac=$1 >>> + local target=$2 >>> >>> - caldata_patch_mac "$mac" 0x6 0x2 >>> + caldata_patch_mac "$mac" 0x6 0x2 "$target" >>> } >>> -- >>> 2.11.0 >>> >>> >>> _______________________________________________ >>> openwrt-devel mailing list >>> openwrt-devel@lists.openwrt.org >>> https://lists.openwrt.org/mailman/listinfo/openwrt-devel >> _______________________________________________ >> openwrt-devel mailing list >> openwrt-devel@lists.openwrt.org >> https://lists.openwrt.org/mailman/listinfo/openwrt-devel >
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel