您尚未登录。

楼主 # 2021-12-03 15:40:07

t123yh
会员
注册时间: 2019-10-15
已发帖子: 18
积分: 44

全志 FEL 或 Rockchip MaskRom 在 Linux 下有时连不上的问题解决方法

最近在试 F1C100s 开发,之前都是在 Windows 上用 sunxi-fel,非常稳定,每次都能下载。现在在 Linux 下面,使用 xfel 工具,有时会出现 ERROR: Can't found any FEL device 的提示,并且在出现这个提示的时候,dmesg 里面能够看到 USB 被重置了(reset full-speed USB device number 61 using xhci_hcd),设备重新连接。

经过分析发现,Linux 会自动把 USB 设备置于 suspend 模式,而全志的 USB FEL 实现可能有点问题,进入过后就无法再次唤醒,导致系统只能重置设备,连接失败。因此,我们必须禁用自动休眠模式。禁用的方法很简单,只需要加一条 udev 规则就可以了:

ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="1f3a", ATTRS{idProduct}=="efe8", TEST=="power/autosuspend", ATTR{power/autosuspend}="-1"

我在 Rockchip RK3308 也观察到了类似的问题,用同样的方法可以解决,改一下 vid 和 pid 就行。已经给 xfel 工具和 xrock 工具的仓库发送 Pull Request,等其合并之后只需要 make install 就可以自动解决问题。

离线

楼主 #2 2021-12-04 10:18:22

t123yh
会员
注册时间: 2019-10-15
已发帖子: 18
积分: 44

Re: 全志 FEL 或 Rockchip MaskRom 在 Linux 下有时连不上的问题解决方法

xboot 说:

已合并,这个USB自动休眠,大概多长时间会触发呢,libusb是否有唤醒usb设备相关功能呢。

默认是两秒,cat /sys/module/usbcore/parameters/autosuspend 可以看到。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn