Воспроизвожу.
mkfs -t fat /dev/sdd1
mkfs.fat 4.2 (2021-01-31)
cd на флешку
wget http://fw-releases.wirenboard.com/fit_image/stable/67/202109131119_stable_webupd_wb67.fit
wget http://fw-releases.wirenboard.com/fit_image/stable/67/latest_stretch.fit.md5
Переименовываю:
mv 202109131119_stable_webupd_wb67.fit wb6_update_FACTORYRESET.fit
Проверяю хэш
md5sum wb6_update_FACTORYRESET.fit
009b118e35b1bba41a645160548b2941 wb6_update_FACTORYRESET.fit
cat latest_stretch.fit.md5
009b118e35b1bba41a645160548b2941
Хорошо. Отмонтирую, вставляю в контроллер
U-Boot 2017.03-1.1.0-gaa233c0fa3 (Jun 09 2020 - 19:28:23 +0000)
CPU: Freescale i.MX6ULL rev1.1 792 MHz (running at 396 MHz)
CPU: Industrial temperature grade (-40C to 105C) at 47C
Reset cause: POR
Model: Wiren Board rev. 6.1 (i.MX6UL)
Board: Wiren Board MX6UL
DRAM: 512 MiB
MMC: FSL_SDHC: 0
Using default environment
In: serial
Out: serial
Err: serial
Net: eth0: ethernet@02188000
Hit any key to stop autoboot: 0
Checking if there is a USB storage with update file wb6_update.fit
dev: usb1_vbus @ regulator@0
starting USB...
USB0: USB EHCI 1.00
USB1: USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
scanning bus 1 for devices... EHCI timed out on TD - token=0x80008c80
unable to get device descriptor (error=-1)
1 USB Device(s) found
scanning usb for storage devices... 1 Storage Device(s) found
Device 0: Vendor: Rev: PMAP Prod: silicon-power
Type: Removable Hard Disk
Capacity: 7498.1 MB = 7.3 GB (15356160 x 512)
reading wb6_update.fit
** Unable to read file wb6_update.fit **
reading wb6_update_FACTORYRESET.fit
1 bytes read in 19 ms (0 Bytes/s)
##############################
# Detected USB flash drive with update file
# Filename: wb6_update_FACTORYRESET.fit
# Press a FW key if you want to update firmware from this file
# or wait 3 seconds to boot normally.
##############################
USB update procedure start
Checking if ubootenv part is present
## Loading FIT header to 0x82000000 ...
reading wb6_update_FACTORYRESET.fit
## Loading FIT strings to 0x82000028 ...
reading wb6_update_FACTORYRESET.fit
## Loading FIT struct to 0x82000100 ...
reading wb6_update_FACTORYRESET.fit
FAT: Misaligned buffer address (820010c8)
Skip 7965224 bytes of data
reading wb6_update_FACTORYRESET.fit
FAT: Misaligned buffer address (82000694)
Skip 46158 bytes of data
reading wb6_update_FACTORYRESET.fit
FAT: Misaligned buffer address (82001238)
Skip 4085 bytes of data
Skip 167839358 bytes of data
reading wb6_update_FACTORYRESET.fit
** wb6_update_FACTORYRESET.fit shorter than offset + len **
Can't find subimage 'ubootenv'
Extracting kernel
## Loading FIT header to 0x82000000 ...
reading wb6_update_FACTORYRESET.fit
## Loading FIT strings to 0x82000028 ...
reading wb6_update_FACTORYRESET.fit
## Loading FIT struct to 0x82000100 ...
reading wb6_update_FACTORYRESET.fit
FAT: Misaligned buffer address (820010c8)
reading wb6_update_FACTORYRESET.fit
7981864 bytes read in 4912 ms (1.5 MiB/s)
Description: Update kernel
Type: Kernel Image
Compression: uncompressed
Data Start: 0x82000300
Data Size: 7965224 Bytes = 7.6 MiB
Architecture: ARM
OS: Linux
Load Address: unavailable
Entry Point: unavailable
Hash algo: sha1
Hash value: 4761e0a8836ca69fc8188afc487a1486afab70ce
## Verifying ... sha1+
Loading part 0 ... OK
Extracting DTB
## Loading FIT header to 0x83000000 ...
reading wb6_update_FACTORYRESET.fit
## Loading FIT strings to 0x83000028 ...
reading wb6_update_FACTORYRESET.fit
## Loading FIT struct to 0x83000100 ...
reading wb6_update_FACTORYRESET.fit
FAT: Misaligned buffer address (830010c8)
Skip 7965224 bytes of data
reading wb6_update_FACTORYRESET.fit
FAT: Misaligned buffer address (83000694)
reading wb6_update_FACTORYRESET.fit
63242 bytes read in 697 ms (87.9 KiB/s)
Description: Update DTB
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x830004c0
Data Size: 46158 Bytes = 45.1 KiB
Architecture: ARM
Hash algo: sha1
Hash value: e19cb24d6128413dcbedc6de84874be5b729737a
## Verifying ... sha1+
Loading part 0 ... OK
Kernel image @ 0x82000000 [ 0x000000 - 0x798a28 ]
## Flattened Device Tree blob at 83000000
Booting using the fdt blob at 0x83000000
Loading Device Tree to 9ef47000, end 9ef5544d ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.9.22-wb6_initramfs (root@WB-buildserver) (gcc ve1
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instructie
[ 0.000000] OF: fdt:Machine model: Wiren Board rev. 6.7.0 (i.MX6UL/ULL)
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] percpu: Embedded 14 pages/cpu @cfbd0000 s25932 r8192 d23220 u5734
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pa8
[ 0.000000] Kernel command line: console=ttymxc0,115200 bootmode=usbupdate,wt
[ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes)
[ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
[ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Memory: 506760K/524288K available (5120K kernel code, 202K rwdat)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xd0800000 - 0xff800000 ( 752 MB)
[ 0.000000] lowmem : 0xb0000000 - 0xd0000000 ( 512 MB)
[ 0.000000] modules : 0xaf000000 - 0xb0000000 ( 16 MB)
[ 0.000000] .text : 0xb0008000 - 0xb0600000 (6112 kB)
[ 0.000000] .init : 0xb0800000 - 0xb0d00000 (5120 kB)
[ 0.000000] .data : 0xb0d00000 - 0xb0d32880 ( 203 kB)
[ 0.000000] .bss : 0xb0d34000 - 0xb0d7ddb0 ( 296 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 32.
[ 0.000000] RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=1.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=1
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] Switching to timer-based delay loop, resolution 41ns
[ 0.000015] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 8947s
[ 0.000051] clocksource: mxc_timer1: mask: 0xffffffff max_cycles: 0xffffffffs
[ 0.002572] Console: colour dummy device 80x30
[ 0.002615] Calibrating delay loop (skipped), value calculated using timer f)
[ 0.002646] pid_max: default: 32768 minimum: 301
[ 0.002839] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.002863] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.004055] CPU: Testing write buffer coherency: ok
[ 0.004551] /cpus/cpu@0 missing clock-frequency property
[ 0.004589] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[ 0.004643] Setting up static identity map for 0x80100000 - 0x80100070
[ 0.007040] Brought up 1 CPUs
[ 0.007074] SMP: Total of 1 processors activated (48.00 BogoMIPS).
[ 0.007090] CPU: All CPU(s) started in SVC mode.
[ 0.008301] devtmpfs: initialized
[ 0.034000] VFP support v0.3: implementor 41 architecture 2 part 30 variant 5
[ 0.034668] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, ms
[ 0.034715] futex hash table entries: 256 (order: 2, 16384 bytes)
[ 0.034891] pinctrl core: initialized pinctrl subsystem
[ 0.036919] NET: Registered protocol family 16
[ 0.037437] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.039959] cpuidle: using governor menu
[ 0.074618] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint.
[ 0.074650] hw-breakpoint: maximum watchpoint size is 8 bytes.
[ 0.076907] imx6ul-pinctrl 20e0000.iomuxc: initialized IMX pinctrl driver
[ 0.117046] mxs-dma 1804000.dma-apbh: initialized
[ 0.121435] SCSI subsystem initialized
[ 0.122053] usbcore: registered new interface driver usbfs
[ 0.122209] usbcore: registered new interface driver hub
[ 0.122452] usbcore: registered new device driver usb
[ 0.124064] i2c-gpio i2c_rtc: using pins 48 (SDA) and 49 (SCL)
[ 0.124911] i2c-gpio i2c_eeprom1: using pins 76 (SDA) and 67 (SCL)
[ 0.125731] i2c-gpio i2c_eeprom2: using pins 70 (SDA) and 71 (SCL)
[ 0.127211] i2c i2c-1: IMX I2C adapter registered
[ 0.127255] i2c i2c-1: can't use DMA, using PIO instead.
[ 0.127632] pps_core: LinuxPPS API ver. 1 registered
[ 0.127657] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giom>
[ 0.127713] PTP clock support registered
[ 0.129950] clocksource: Switched to clocksource mxc_timer1
[ 0.153679] NET: Registered protocol family 2
[ 0.154877] TCP established hash table entries: 4096 (order: 2, 16384 bytes)
[ 0.155001] TCP bind hash table entries: 4096 (order: 3, 32768 bytes)
[ 0.155157] TCP: Hash tables configured (established 4096 bind 4096)
[ 0.155273] UDP hash table entries: 256 (order: 1, 8192 bytes)
[ 0.155330] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes)
[ 0.155637] NET: Registered protocol family 1
[ 0.156450] RPC: Registered named UNIX socket transport module.
[ 0.156482] RPC: Registered udp transport module.
[ 0.156497] RPC: Registered tcp transport module.
[ 0.156512] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.730488] workingset: timestamp_bits=30 max_order=17 bucket_order=0
[ 0.745360] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 0.747354] ntfs: driver 2.1.32 [Flags: R/W].
[ 0.757785] Block layer SCSI generic (bsg) driver version 0.4 loaded (major )
[ 0.757819] io scheduler noop registered (default)
[ 0.763445] imx-sdma 20ec000.sdma: Direct firmware load for imx/sdma/sdma-im2
[ 0.763487] imx-sdma 20ec000.sdma: external firmware not found, using ROM fie
[ 0.772384] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 19, base_baud =X
[ 1.327065] console [ttymxc0] enabled
[ 1.332644] 21e8000.serial: ttymxc1 at MMIO 0x21e8000 (irq = 56, base_baud =X
[ 1.375419] imx_rngc 2284000.rngb: Freescale RNGC registered.
[ 1.410404] brd: module loaded
[ 1.429129] loop: module loaded
[ 1.437377] at24 5-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[ 1.448808] at24 6-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[ 1.456373] libphy: Fixed MDIO Bus: probed
[ 1.462885] 20b4000.ethernet supply phy not found, using dummy regulator
[ 1.470929] pps pps0: new PPS source ptp0
[ 1.504358] libphy: fec_enet_mii_bus: probed
[ 1.510508] fec 20b4000.ethernet eth0: registered PHC device 0
[ 1.630036] 2188000.ethernet supply phy not found, using dummy regulator
[ 1.750982] pps pps1: new PPS source ptp1
[ 1.756040] libphy: fec_enet_mii_bus: probed
[ 1.763922] fec 2188000.ethernet eth1: registered PHC device 1
[ 1.770458] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.777029] ehci-mxc: Freescale On-Chip EHCI Host driver
[ 1.782885] usbcore: registered new interface driver cdc_acm
[ 1.788580] cdc_acm: USB Abstract Control Model driver for USB modems and ISs
[ 1.797064] usbcore: registered new interface driver usb-storage
[ 1.860449] rtc-pcf8563 4-0051: rtc core: registered rtc-pcf8563 as rtc0
[ 1.876550] snvs_rtc 20cc000.snvs:snvs-rtc-lp: rtc core: registered 20cc000.1
[ 1.885653] i2c /dev entries driver
[ 1.893825] imx2-wdt 20bc000.wdog: timeout 60 sec (nowayout=0)
[ 1.901979] sdhci: Secure Digital Host Controller Interface driver
[ 1.908205] sdhci: Copyright(c) Pierre Ossman
[ 1.912693] sdhci-pltfm: SDHCI platform and OF driver helper
[ 1.980019] mmc0: SDHCI controller on 2194000.usdhc [2194000.usdhc] using ADA
[ 1.996820] ledtrig-cpu: registered to indicate activity on CPUs
[ 2.018345] random: fast init done
[ 2.026739] usbcore: registered new interface driver usbhid
[ 2.034483] usbhid: USB HID core driver
[ 2.048695] NET: Registered protocol family 17
[ 2.059399] Registering SWP/SWPB emulation handler
[ 2.066375] registered taskstats version 1
[ 2.082000] imx_thermal 2000000.aips-bus:tempmon: Industrial CPU temperatureC
[ 2.106500] rtc-pcf8563 4-0051: setting system clock to 2021-09-14 08:24:43 )
[ 2.114992] of_cfs_init
[ 2.117721] of_cfs_init: OK
[ 2.125574] vdd3p0: disabling
[ 2.128570] vref-3v3: disabling
[ 2.131790] usb1_vbus: disabling
[ 2.142786] Freeing unused kernel memory: 5120K (b0800000 - b0d00000)
[ 2.180246] mmc0: new DDR MMC card at address 0001
[ 2.196875] mmcblk0: mmc0:0001 Q2J55L 7.09 GiB
[ 2.202067] mmcblk0boot0: mmc0:0001 Q2J55L partition 1 16.0 MiB
mount: mounting none on /dev/pts failed: No such file or directory
[ 2.220477] mmcblk0boot1: mmc0:0001 Q2J55L partition 2 16.0 MiB
[ 2.226786] mmcblk0rpmb: mmc0:0001 Q2J55L partition 3 4.00 MiB
[ 2.242800] mmcblk0: p1 p2 p3 p4 < p5 p6 >
Boot mode: usbupdate,wb6_update_FACTORYRESET.fit
Board is WB6, loading ci_hdrc_imx module
[ 2.473090] ci_hdrc ci_hdrc.0: EHCI Host Controller
[ 2.478037] ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
[ 2.509965] ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
[ 2.515645] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 2.522520] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber1
[ 2.529752] usb usb1: Product: EHCI Host Controller
[ 2.534679] usb usb1: Manufacturer: Linux 4.9.22-wb6_initramfs ehci_hcd
[ 2.541330] usb usb1: SerialNumber: ci_hdrc.0
[ 2.547146] hub 1-0:1.0: USB hub found
[ 2.551143] hub 1-0:1.0: 1 port detected
[ 2.556634] 2184200.usb supply vbus not found, using dummy regulator
[ 2.567317] ci_hdrc ci_hdrc.1: EHCI Host Controller
[ 2.572402] ci_hdrc ci_hdrc.1: new USB bus registered, assigned bus number 2
[ 2.600024] ci_hdrc ci_hdrc.1: USB 2.0 started, EHCI 1.00
[ 2.605784] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[ 2.612659] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber1
[ 2.619899] usb usb2: Product: EHCI Host Controller
[ 2.624837] usb usb2: Manufacturer: Linux 4.9.22-wb6_initramfs ehci_hcd
[ 2.631530] usb usb2: SerialNumber: ci_hdrc.1
[ 2.637263] hub 2-0:1.0: USB hub found
[ 2.641263] hub 2-0:1.0: 1 port detected
[ 2.910120] usb 1-1: new high-speed USB device number 2 using ci_hdrc
[ 3.000108] usb 2-1: new high-speed USB device number 2 using ci_hdrc
[ 3.106088] usb 1-1: New USB device found, idVendor=13fe, idProduct=3d00
[ 3.112998] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3.120326] usb 1-1: Product: silicon-power
[ 3.124560] usb 1-1: Manufacturer:
[ 3.128786] usb 1-1: SerialNumber: 11020348E6B21000B21E0077
[ 3.137701] usb-storage 1-1:1.0: USB Mass Storage device detected
[ 3.145533] scsi host0: usb-storage 1-1:1.0
[ 3.191186] usb 2-1: New USB device found, idVendor=0424, idProduct=2514
[ 3.198015] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 3.208342] hub 2-1:1.0: USB hub found
[ 3.212920] hub 2-1:1.0: 4 ports detected
[ 3.530156] usb 2-1.1: new high-speed USB device number 3 using ci_hdrc
[ 3.682489] usb 2-1.1: New USB device found, idVendor=0bda, idProduct=b720
[ 3.689500] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumbe3
[ 3.697120] usb 2-1.1: Product: 802.11n WLAN Adapter
[ 3.702211] usb 2-1.1: Manufacturer: Realtek
[ 3.706526] usb 2-1.1: SerialNumber: 00e04c000001
Load modules for USB to work
Starting USB update
Waiting for USB to settle (0/10)
[ 4.264820] scsi 0:0:0:0: Direct-Access silicon-power PMAP PS
[ 4.822502] sd 0:0:0:0: [sda] 15356160 512-byte logical blocks: (7.86 GB/7.3)
[ 4.831454] sd 0:0:0:0: [sda] Write Protect is off
[ 4.837377] sd 0:0:0:0: [sda] No Caching mode page found
[ 4.842937] sd 0:0:0:0: [sda] Assuming drive cache: write through
[ 4.870995] sda: sda1
[ 4.880284] sd 0:0:0:0: [sda] Attached SCSI removable disk
umount: can't umount /usb: Invalid argument
Looking for wb6_update_FACTORYRESET.fit on /dev/sda
umount: can't umount /usb: Invalid argument
mount: mounting /dev/sda on /usb failed: Invalid argument
Looking for wb6_update_FACTORYRESET.fit on /dev/sda1
umount: can't umount /usb: Invalid argument
BusyBox v1.22.1 (Debian 1:1.22.0-19+b3) built-in shell (ash)
Enter 'help' for a list of built-in commands.
~ # ############################################################################
FACTORY RESET REQUESTED
This WILL destroy ALL YOUR DATA: configuration, scripts,
files in home directory!
If you are ABSOLUTELY SURE that you want to reset Wiren Board
to factory condition, hold the FW button for 4 seconds.
If you will not do it in 10 seconds, the controller will reboot
without firmware update.
If you want to perform a regular firmware update, rename
FIT file to "wbX_update.fit" without "factory-reset" suffix.
##############################################################################
ooo
.
o....
ooo....
Factory reset is confirmed!
===============================================================================
Tue Sep 14 08:25:07 UTC 2021: started update from /usb/wb6_update_FACTORYRESET.t
===============================================================================
Description: WirenBoard firmware update
Compatible device: contactless,imx6ul-wirenboard670
Firmware version: 202109131119
Firmware compatible: unknown
Time of creation: Mon Sep 13 11:20:59 UTC 2021
===============================================================================
>>> Checking SHA1 hash of install
PROGRESS: 0%
>>> SHA1 hash of install ok
>>> Wiping data partition (factory reset)
mke2fs 1.43.4 (31-Jan-2017)
ext2fs_check_if_mount: Can't check if filesystem is mounted due to missing mtab.
[ 27.538230] random: crng init done
Discarding device blocks: done
Creating filesystem with 1264896 4k blocks and 316368 inodes
Filesystem UUID: 354ee6cf-c92f-4809-a1ba-d5151d79cb30
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
>>> Extracting install script
>>> Running install script
>>> Checking SHA1 hash of rootfs
PROGRESS: 100%
>>> SHA1 hash of rootfs ok
>>> Installing firmware update
>>> Getting mmcpart from U-Boot environment
>>> Will install to /dev/mmcblk0p2
>>> Check if partition table is correct
[ 72.906035] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. )
>>> Mounting /dev/mmcblk0p2 at /dev/shm/rootfs
[ 72.943040] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. )
>>> Cleaning up /dev/mmcblk0p2
>>> Cleaning up using rsync
>>> Extracting files to new rootfs
/dev/shm/rootfs /
PROGRESS: 57%
Советую проверить md5 хэш файла. Я протестировал свежие образы - с ними проблем не возникает.