Pi4B使用realsense深度相机开机默认识别为USB2.0设备。重新插拔后才能识别为USB3.0设备。
-
系统:coolpi官方提供的Ubuntu20
USB设备:Intel realsense d435深度相机问题十分稳定,每次开机都是识别为USB2.0设备,这是
sudo cat /sys/kernel/debug/usb/devices
命令执行后有关项目的输出:
开机后:T: Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0 D: Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=8086 ProdID=0b07 Rev=50.c7 S: Manufacturer=Intel(R) RealSense(TM) Depth Camera 435 S: Product=Intel(R) RealSense(TM) Depth Camera 435 C:* #Ifs= 5 Cfg#= 1 Atr=c0 MxPwr=110mA A: FirstIf#= 0 IfCount= 3 Cls=0e(video) Sub=03 Prot=00 A: FirstIf#= 3 IfCount= 2 Cls=0e(video) Sub=03 Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideo E: Ad=87(I) Atr=03(Int.) MxPS= 64 Ivl=4ms I:* If#= 1 Alt= 0 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 2 Alt= 0 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms I:* If#= 3 Alt= 0 #EPs= 0 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideo I:* If#= 4 Alt= 0 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
重新插拔后:
T: Bus=08 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=5000 MxCh= 0 D: Ver= 3.20 Cls=ef(misc ) Sub=02 Prot=01 MxPS= 9 #Cfgs= 1 P: Vendor=8086 ProdID=0b07 Rev=50.c7 S: Manufacturer=Intel(R) RealSense(TM) Depth Camera 435 S: Product=Intel(R) RealSense(TM) Depth Camera 435 S: SerialNumber=143623025060 C:* #Ifs= 5 Cfg#= 1 Atr=c0 MxPwr=440mA A: FirstIf#= 0 IfCount= 3 Cls=0e(video) Sub=03 Prot=00 A: FirstIf#= 3 IfCount= 2 Cls=0e(video) Sub=03 Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideo E: Ad=87(I) Atr=03(Int.) MxPS= 64 Ivl=4ms I:* If#= 1 Alt= 0 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms I:* If#= 2 Alt= 0 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=83(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms I:* If#= 3 Alt= 0 #EPs= 0 Cls=0e(video) Sub=01 Prot=00 Driver=uvcvideo I:* If#= 4 Alt= 0 #EPs= 1 Cls=0e(video) Sub=02 Prot=00 Driver=uvcvideo E: Ad=84(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
尝试过一些重置USB设备的方法:
都没有效果,复位之后还是识别为了usb2.0。
后来尝试问微软的chatgpt,得到以下回答:
That sounds like a firmware issue. It could be that your firmware detects the device as USB 2.0 at an early stage and the USB 3.0 features are activated later in the boot process. If a device is already connected, it won't change to USB 3.0 speed later on.
事实证明它是对的,我尝试先打开电源再插数据先,果然可以被正常识别为USB3.0设备。
目前我还是无法解决问题,不知道大家有没有什么看法。 -
补充,同样的系统、设备和线在香橙派5上试验过,没有出现过类似问题。
-
@Mcfly dmesg > log.txt
帮忙传一份 -
@Mcfly 从现象看应该是UBOOT下USB驱动不够完善导致的,简单的方法关闭uboot下USB设备的注册,到内核以后再加载USB驱动。或者等我们更新UBOOT代码,这个因为手上暂时没有设备,会稍微慢一些。
-
@jack_admin 稍等我明天看看
-
@george 好的我试试
-
mark一下,我也遇到有这个问题。用的是奥比中光的深度相机(dabai),每次启动需要拔插一下才能识别。 @george 期待更新
-
@george 关闭uboot下USB设备的注册需要改UBOOT代码吗?还是直接上电的时候进uboot改一下就好了?
-
@AugustRobot_Zou 效果怎么样?我们给无人机用怕距离太短了。
-
@Mcfly 我们用来机器人避障的,效果感觉都差不多。奥比的dabai本来就是对标realsense的d435来做的,甚至算法还有优化。明显使用体验提升有2点,1是USB2.0口也支持,2便宜近一半价格。。。
-
@jack_admin log3.txt
文件是完整的日志,下面是筛选了USB的结果:[ 11.379437] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 11.403501] ehci-platform fc800000.usb: new USB bus registered, assigned bus number 1 [ 11.430272] ehci-platform fc800000.usb: USB 2.0 started, EHCI 1.00 [ 11.436506] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10 [ 11.444760] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 11.467170] hub 1-0:1.0: USB hub found [ 11.482827] ehci-platform fc880000.usb: new USB bus registered, assigned bus number 2 [ 11.506939] ehci-platform fc880000.usb: USB 2.0 started, EHCI 1.00 [ 11.513160] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10 [ 11.521412] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 11.543800] hub 2-0:1.0: USB hub found [ 11.551730] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 11.569969] ohci-platform fc840000.usb: new USB bus registered, assigned bus number 3 [ 11.644335] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.10 [ 11.652586] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 11.676003] hub 3-0:1.0: USB hub found [ 11.690592] ohci-platform fc8c0000.usb: new USB bus registered, assigned bus number 4 [ 11.723632] usb 1-1: new high-speed USB device number 2 using ehci-platform [ 11.764331] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.10 [ 11.772583] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 11.772716] hub 4-0:1.0: USB hub found [ 11.803618] usb 2-1: new high-speed USB device number 2 using ehci-platform [ 11.820409] xhci-hcd xhci-hcd.6.auto: new USB bus registered, assigned bus number 5 [ 11.843631] usb usb5: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10 [ 11.851882] usb usb5: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 11.874533] hub 5-0:1.0: USB hub found [ 11.877863] usb 1-1: New USB device found, idVendor=1a86, idProduct=8091, bcdDevice= 1.21 [ 11.886455] usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=0 [ 11.897497] usb 1-1: Product: USB HUB [ 11.903013] xhci-hcd xhci-hcd.6.auto: new USB bus registered, assigned bus number 6 [ 11.907107] hub 1-1:1.0: USB hub found [ 11.914285] xhci-hcd xhci-hcd.6.auto: Host supports USB 3.0 SuperSpeed [ 11.924583] usb usb6: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.10 [ 11.944891] usb usb6: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 11.961436] usb 2-1: New USB device found, idVendor=8086, idProduct=0b07, bcdDevice=50.c7 [ 11.970720] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 11.975719] hub 6-0:1.0: USB hub found [ 12.009380] xhci-hcd xhci-hcd.7.auto: new USB bus registered, assigned bus number 7 [ 12.032576] usb usb7: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10 [ 12.040830] usb usb7: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 12.063477] hub 7-0:1.0: USB hub found [ 12.076758] xhci-hcd xhci-hcd.7.auto: new USB bus registered, assigned bus number 8 [ 12.084406] xhci-hcd xhci-hcd.7.auto: Host supports USB 3.0 SuperSpeed [ 12.099051] usb usb8: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.10 [ 12.107302] usb usb8: New USB device strings: Mfr=3, Product=2, SerialNumber=1 [ 12.129960] hub 8-0:1.0: USB hub found [ 12.143424] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters [ 12.169461] usbserial: USB Serial support registered for generic [ 12.181042] usbserial: USB Serial support registered for cp210x [ 12.192732] usbserial: USB Serial support registered for FTDI USB Serial Device [ 12.205799] usbserial: USB Serial support registered for Keyspan - (without firmware) [ 12.213604] usb 1-1.3: new full-speed USB device number 3 using ehci-platform [ 12.213624] usbserial: USB Serial support registered for Keyspan 1 port adapter [ 12.228042] usbserial: USB Serial support registered for Keyspan 2 port adapter [ 12.235344] usbserial: USB Serial support registered for Keyspan 4 port adapter [ 12.248231] usbserial: USB Serial support registered for GSM modem (1-port) [ 12.261007] usbserial: USB Serial support registered for oti6858 [ 12.272588] usbserial: USB Serial support registered for pl2303 [ 12.284263] usbserial: USB Serial support registered for Qualcomm USB modem [ 12.296812] usbserial: USB Serial support registered for Sierra USB modem [ 12.319101] usb 1-1.3: New USB device found, idVendor=3163, idProduct=004c, bcdDevice= 1.01 [ 12.330462] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 12.346581] cdc_acm 1-1.3:1.0: ttyACM0: USB ACM device [ 12.426936] usb 1-1.4: new low-speed USB device number 4 using ehci-platform [ 12.538103] usb 1-1.4: New USB device found, idVendor=04f3, idProduct=0103, bcdDevice= 1.07 [ 12.546444] usb 1-1.4: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 13.251195] USB Video Class driver (1.1.1) [ 13.531827] hid-generic 0003:04F3:0103.0001: input,hidraw0: USB HID v1.11 Keyboard [HID 04f3:0103] on usb-fc800000.usb-1.4/input0 [ 13.582668] hid-generic 0003:04F3:0103.0002: input,hidraw1: USB HID v1.11 Device [HID 04f3:0103] on usb-fc800000.usb-1.4/input1 [ 13.599706] usbhid: USB HID core driver [ 98.484874] usb 2-1: USB disconnect, device number 2 [ 100.923579] usb 8-1: new SuperSpeed Gen 1 USB device number 2 using xhci-hcd [ 100.941718] usb 8-1: New USB device found, idVendor=8086, idProduct=0b07, bcdDevice=50.c7 [ 100.941738] usb 8-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
我在最后重新插拔了一下,在日志最后有体现。
-
@AugustRobot_Zou 牛的,种草了
-
@Mcfly said in Pi4B使用realsense深度相机开机默认识别为USB2.0设备。重新插拔后才能识别为USB3.0设备。:
@george 关闭uboot下USB设备的注册需要改UBOOT代码吗?还是直接上电的时候进uboot改一下就好了?
可以不改代码,串口连续输入CP进入uboot命令行,如果是tf卡启动,输入
CPBOOT# run bootcmd_mmc1
如果是emmc启动,输入
CPBOOT# run bootcmd_mmc0
可以源码修改取消USB扫描启动加载,再编译。也可以先试下我编译好的uboot.img,拷贝到tf卡或emmc的第一个分区system-boot (参考sudo cp uboot.img /boot/firmware/)
uboot.zip如果是tf卡启动,执行升级命令
CoolPi 4B# c update tf
reading uboot.img
5242880 bytes read in 423 ms (11.8 MiB/s)
wait for erase...
uboot upgrade ok...
CoolPi 4B#
CPBOOT# c envclr
Resetting to default environment
CPBOOT# reset如果是emmc启动,执行升级命令
CoolPi 4B# c update mmc
reading uboot.img
5242880 bytes read in 423 ms (11.8 MiB/s)
wait for erase...
uboot upgrade ok...
CoolPi 4B#
CPBOOT# c envclr
Resetting to default environment
CPBOOT# reset -
@大法师 好的多谢,那么请问那个到了内核之后再加载驱动,可不可以理解为我再写个脚本开机之后手动insmod来加载USB驱动呢?如果是的话我应该去哪里找到这个USB驱动呢?
-
@Mcfly
内核和系统应用不用额外操作。先试下有没有改善,我们目前没有相应的U3相机验证,帮忙排查下,谢谢! -
@大法师 按照您的流程试过了,没有任何变化。建议您还是得拿相机试一试。另外我又发现,Pi4B的USB3.0的口,底部那个才有我们讨论的情况,上面那个口上电能识别到USB3.0,但是实际无法运行。
-
@Mcfly
更新u-boot.img也没有变化?无法运行是什么现象? -
@大法师 对,更新了之后也没变化,无法运行指运行相机相关程序时会报USB uvc相关的错误。
-
This post is deleted! -
@Mcfly 请问您遇到的这个问题解决了吗?我在cm 5上也遇到了同样的问题
-
This post is deleted! -
-
@admin 这个问题之前在另外一款INTEL的相机上没有复现到现象。目前你用的这款暂时没有。