ubuntu 16.04修复固件刷新失败的LimeSDR-USB V1.4

最近在使用LimeSDR捣鼓软件定义无线电,结果在刷新固件的过程中,莫名失败,导致无法识别硬件。

使用LimeUtil检查硬件,出现如下结果:

之后就再也无法通过

更新固件了,一直失败。

修复方法

首先确定LimeSDR硬件版本,这个一般刻印在主板的边缘,如下图箭头指向的地方:

v1.4版本的LimeSDR

这一步骤的目的是确认稍后我们需要更新到主板上的镜像,我们的是1.4版本,因此到http://downloads.myriadrf.org/project/limesuite上找到最新日期的目录,然后在这个目录下找到对应版本的镜像,比如我就需要http://downloads.myriadrf.org/project/limesuite/18.02/LimeSDR-USB_HW_1.4_r4.0.img这个镜像(当前日期最新)。如果跟我一样是更新失败导致的,可能在本地的~/.local/share/LimeSuite/images/目录下已经存在相应的文件,比如~/.local/share/LimeSuite/images/18.02/LimeSDR-USB_HW_1.4_r4.0.img

接下来找到J17跳线,如下图箭头指向的位置:

v1.4版本的LimeSDRJ17跳线位置

放大图像,可以看到J17跳线的位置,默认情况下跳线是联通的。这个跳线旁边印着“FX3 BOOT”字样。这个跳线在断开的时候,重新加电的时候,芯片会恢复到刷机模式,这个模式下,我们可以使用Cypress提供的固件更新工具刷新固件(LimeSDR使用的USB 3.0芯片是Cypress提供的)。

因此我们需要先断开USB设备的供电,然后拔除J17跳线,然后连接USB设备,等待差不多5S左右,插上J17跳线。(J17跳线可以在刷机完成后再插上的,但是由于刷机完成后,芯片会自动重置,因此建议在芯片启动到刷机模式之后,就把J17跳线插上,可以减少一次重启。

注意:这个软件是从Cypress官网下载的,是整合在EZ-USB FX3 SDK v1.3.3 for Linux这个SDK里面的,整个包非常大,我们只需要里面的其中一个工具包,可点击此处下载已经提取的工具包,下载完成后,解压缩到目录,然后执行如下命令安装工具包:

在出现的界面中参考如下操作:

选完文件后,出现如下图的界面,点击“Start Download”刷新镜像

刷新完成后,设备自动重启,会从设备列表中丢失,关闭窗口即可。

执行如下命令,可以看到设备已经成功的切换到正常模式了,如下:

完成后,需要执行

升级一下FPGA的固件。

注意,执行上面的操作之后,可能正常运行,也可能依旧不能正常工作。如果出现如下图的情况:

注意最后的输出:

明显是没有正确的读取到FPGA固件信息。

正常情况下应该是如下输出:

这种情况是由于固件自身的BUG导致的,固件没有正确的初始化完成,初步估计是USB固件与FPGA固件初始化顺序导致的问题(这个现象应该是USB供电导致的,如果是独立供电,应该是FPGA优先于USB芯片启动,而不会出现此问题)。需要重置一下USB接口才可以。
首先加电等待10S以上,让芯片内部完成初始化。然后在LimeSuiteGUI界面中断开USB设备的连接(USB线或者外接触供电不要断开),然后按下主板上的FX3 RST触点开关,如下图:

上述操作有时需要多试几次才行,后续的版本是否会修复这个问题,暂时未知。
也可以从Linux系统发起重置命令:

然后使用如下脚本:

执行脚本:

另外貌似上面的问题,也可以插上设备后,不要操作设备,等3到5分钟,再操作也可正常使用,难道是硬件初始化时间需要这么长时间?

目前测试发现,使用v17.06.0版本的LimeSuitGUI配合对应的LimeSDR-USB_HW_1.3_r3.0.imgLimeSDR-USB_HW_1.4_r2.8.rbf,是目前最稳定的匹配版本。这两个可以从本站下载:推荐使用LimeUtil刷新的固件

最新版本的固件,然后外接一个12V的电源的情况下(建议12V,目前测试5V供电的情况下,问题依旧不是太好),可以很好的改善启动状况以及稳定性,如果是带外壳的版本,可能没有焊接额外供电接口出来,也不方便焊接这个接口,有些外壳,由于没有预留足够空间,没办法额外供电。这种情况下,可以焊接一个导线出来,目前使用的是淘宝上买的“DC电源线 母座转接线 适用于5.5x2.1mm 25cm长 线径3.5mm”,如下图:

供电的话,外接一个12V变压器即可,比如路由器的,也可以在淘宝购买。

参考链接


发布者

默默

默默码农

《ubuntu 16.04修复固件刷新失败的LimeSDR-USB V1.4》上有2条评论

    1. 出现 "WestBridge",说明固件已经损坏了,固件启动之后,没有重置USB的设备,但是USB芯片部分还是工作正常的,利用USB芯片强制去刷新固件来实现恢复,这部分应该不难的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注