注:USB BULK 是 USB(通用串行总线)协议的一部分,属于 USB 传输类型之一,并非PSDK特有的部分,因此在网络上也可以找到一些相关的资料信息,另外配置此节点需要开发者具备一定的Linux基础和排障能力,USB BULK的配置实际上是不属于SDK的技术支持范围的,但为了能让各位成功使用PSDK的功能,我们会尽力给大家提供解决方法或排查方向。
Linux平台的BULK配置在官方文档中是有介绍的,但文档中有些地方可能不是特别详细或明确,因此在这里做一些补充,有需要的开发朋友们可以对比参考下。
先下载官方提供的BULK配置包:https://terra-1-g.djicdn.com/71a7d383e71a4fb8887a310eb746b47f/psdk/e-port/usb-bulk-configuration-reference.zip
拿到bulk包以后解压出来,可以看到有几个文件:
其中,需要关注的是nv-l4t-usb-device-mode.sh和start_bulk.c文件。
接下来需手动操作,可以先不参考官方文档:
先使用gcc将startup_bulk.c文件编译生成startup_bulk,然后记录下startup_bulk文件的路径(可以进入该文件的同级目录,输入pwd回车),打开nv-l4t-usb-device-mode.sh文件,在第180和第190行可以看到有指定startup_bulk文件的路径(此处默认是我们DJI路径),需要替换成自己的路径。
替换完成以后,直接手动运行nv-l4t-usb-device-mode.sh脚本
sudo chmod 777 nv-l4t-usb-device-mode.sh
sudo ./nv-l4t-usb-device-mode.sh
看是否有发生报错,如有报错,需根据报错提示来进一步排查,无法解决可以联系dev@dji.com
运行完成无报错,可以看到如下的信息(BULK1 和BULK2节点均已挂载):
常见的问题:
资源异常或繁忙,可以先把脚本和startup_bulk程序kill掉,重新跑,有可能是重复跑了脚本导致的。也可以尝试把配置的部分加入到开机自启的脚本中,不排除是设备中某些自启脚本占用了资源,导致后续手动运行无法使用。
文件已存在或文件夹已存在,可以把脚本中相关的创建操作删除,或把已存在的文件夹删除,重新运行脚本。
没有权限创建文件夹,即使sudo运行了脚本,此时可以手动创建目录,然后再次运行脚本。
评论
2 条评论
这是只针对于jetson nano,还是对所有linux平台都适用?
运行nv-l4t-usb-device-mode.sh脚本报错No known UDC device found是什么问题
请登录写评论。