[OpenWrt-Devel] [PATCH] ramips: Speed up eeprom read/write

Rosen Penev rosenp at gmail.com
Mon Mar 18 00:41:54 EDT 2019


On Sun, Mar 17, 2019 at 4:07 PM Adrian Schmutzler
<freifunk at adrianschmutzler.de> wrote:
>
> Reading and writing to and from flash storage is slowed down
> enormously by some functions which use a block size of 1.
>
> This patch reworks the extraction scripts to be much faster and
> efficient by reading and writing in possibly one big block.
>
> This is based on the initial commit a69e101 for ipq40xx by
> Christian Lamparter <chunkeey at gmail.com>.
>
> Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
Tested-by: Rosen Penev <rosenp at gmail.com>
>
> ---
>
> This is NOT TESTED (in this separate version). However, I hope
> someone will test it, as it would be an enormous boot speed gain
> also to ramips.
> ---
>  .../linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom   | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
> index 13a4687251..96a2397191 100644
> --- a/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
> +++ b/target/linux/ramips/base-files/etc/hotplug.d/firmware/10-rt2x00-eeprom
> @@ -15,7 +15,7 @@ rt2x00_eeprom_extract() {
>         [ -n "$mtd" ] || \
>                 rt2x00_eeprom_die "no mtd device found for partition $part"
>
> -       dd if=$mtd of=/lib/firmware/$FIRMWARE bs=1 skip=$offset count=$count 2>/dev/null || \
> +       dd if=$mtd of=/lib/firmware/$FIRMWARE iflag=skip_bytes bs=$count skip=$offset count=1 2>/dev/null || \
>                 rt2x00_eeprom_die "failed to extract from $mtd"
>  }
>
> @@ -39,7 +39,7 @@ rt2x00_eeprom_set_macaddr() {
>                 rt2x00_eeprom_die "invalid wlan mac address"
>
>         macaddr_2bin $macaddr | dd of=/lib/firmware/$FIRMWARE \
> -                               conv=notrunc bs=1 seek=4 count=6 2>/dev/null || \
> +                               conv=notrunc oflag=seek_bytes bs=6 seek=4 count=1 2>/dev/null || \
>                 rt2x00_eeprom_die "failed to write mac address to eeprom file"
>  }
>
> --
> 2.11.0
>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel

_______________________________________________
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