Pluto固件更新误拔出的修复方法
避免固件损坏
这里不要勾选,你要是碰巧勾选了,碰巧将固件更新了,碰巧在固件更新时把Pluto拔了下来,不用怕,问题不大。
厂家可能料到了这种情况,所以留有了 DFU 模式
DFU 模式
USB 设备固件升级 (DFU) 是 USB 实施者论坛的官方 USB 设备类规范。 它指定了一种独立于供应商和设备的更新 USB 设备固件的方式。 这个概念是只将一个独立于供应商的更新工具作为操作系统的一部分,然后可以(给定特定的固件映像)下载到设备中。 在固件升级操作期间(当 Pluto 或 M2k 处于“DFU”模式时),设备更改其操作模式(它不再是 SDR 或仪器,不再使用其标准的 PID/VID,而是成为闪存编程器) .
进入 __DFU 模式__有三种方法,但对于我们只有一种方法:将电源断开,用牙签、回形针或类似的东西按下设备按钮,然后插入USB电缆施加电源。
将Pluto插入电脑后(要用中间的口连),在电脑的设备管理器中会出现PlutoSDR DFU,如下图所示,可能有的电脑不会识别,需要换一台电脑进行操作。
如果没有安装驱动的话,需要先安装驱动。
使用 DFU 模式更新固件
- 下载并保存 UPDATE.BAT
这里因为官网这个网站不好进,我把它下载了下来放在文章最后
- 下载好的这个文件是一个文本文件,复制在文本文档中,将其另存为.BAT格式,放在自己能找得到的地方。
注意要在保存类型中选择所有类型才能保存为.BAT格式。
-
下载PlutoSDR Release
PlutoSDR Release(这里是链接)
下载好得到的是一个这样的文件,把它解压到一个能找得到的位置。
-
使用命令行窗口进行更新(重点)
打开命令提示符,找到UPDATE.BAT文件:
- 先到该盘,我这里是输入
i:
- 再指定文件夹,就是之前UPDATE.MAT保存的文件夹,我这里是
cd plutosdr-fw-v0.34
语法是cd 文件夹\文件夹\……
- 然后输入语句
UPDATE.BAT i:\plutosdr-fw-v0.34\pluto.dfu
i:\plutosdr-fw-v0.34\pluto.dfu
需要更换为你所保存的pluto.dfu文件的位置,这个文件在之前下载好的plutosdr-fw-v0.34压缩包中 - 最后——耐心等待,不要乱动
命令行窗口会自动弹出以下内容,等到结束时会输出Done!
dfu-util 0.9
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge/p/dfu-util/tickets/
Opening DFU capable USB device...
ID 0456:b674
Run-time device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Setting #1 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0110
Device returned transfer size 4096
Copying data from PC to DFU device
Download [=========================] 100% 8694467 bytes
Download done.
state(7) = dfuMANIFEST, status(0) = No error condition is present
state(2) = dfuIDLE, status(0) = No error condition is present
Done!
然后大功告成,重启计算机,重新插入Pluto,可以正常使用了
官方文档链接
官方文档
UPDATE.BAT代码
@echo OFF
IF %1.==. GOTO help
set FILE=%1
set pInstallDir=NULL
set KEY_NAME=HKEY_LOCAL_MACHINE\SOFTWARE\Analog Devices\PlutoSDR-M2k-USB-Win-Drivers\Settings
FOR /F "tokens=2*" %%A IN ('REG.exe query "%KEY_NAME%" /v "InstallPath"') DO (set pInstallDir=%%B)
IF "%pInstallDir%"=="NULL" (
echo PlutoSDR-M2k-USB-Win-Drivers not installed && exit /b 1
)
REM "%pInstallDir%\dfu-util.exe" -l || exit /b 1
for /F %%i in ("%FILE%") do @set NAME=%%~nxi
if %NAME%==pluto.dfu goto firmware
if %NAME%==m2k.dfu goto firmware_m2k
if %NAME%==uboot-env.dfu goto ubootenv
goto help
:firmware
"%pInstallDir%\dfu-util.exe" -d 0456:b673,0456:b674 -D %FILE% -a firmware.dfu
exit /b 0
:firmware_m2k
"%pInstallDir%\dfu-util.exe" -d 0456:b672,0456:b675 -D %FILE% -a firmware.dfu
exit /b 0
:ubootenv
"%pInstallDir%\dfu-util.exe" -d 0456:b673,0456:b674 -D %FILE% -a uboot-env.dfu || "%pInstallDir%\dfu-util.exe" -d 0456:b672,0456:b675 -D %FILE% -a uboot-env.dfu
exit /b 0
:help
echo PlutoSDR/M2k DFU update utility
echo Usage: %0 PATH-TO\[pluto^|m2k].dfu
exit /b 0
2021.11.21
更多推荐
Pluto固件更新误拔出的修复方法
发布评论