groupgets / GetThermal

Cross-platform USB thermal camera viewer
MIT License
228 stars 90 forks source link

Unknown error on RPi 4 #23

Closed suyu756 closed 4 years ago

suyu756 commented 4 years ago

There was a change to the usb hardware on the Raspberry Pi 4, so it now uses a VL805 host controller and communicates via PCIe (see here). Despite my hopes that this would solve the current issue with using the PureThermal 2 on a RPi, this seems to have broken the current method for accessing stream data all together.

Here is error printout:

Estimated / selected altsetting bandwith : 18 / 962. 
start_streaming: Unknown error (-99)
Device closed
Segmentation fault

It looks like GetThermal is able to locate and identify the device, it only crashes on start_streaming(). Has anyone else encountered this issue?

suyu756 commented 4 years ago

To clarify, The Pi 4 is running Raspbian Buster (released 2019-07-10).

I've also tried running GetThermal on the Pi 3 B running Raspbian Buster (same release) and it works. And I have successfully run guvcview with a normal usb webcam on the Pi 4 (guvcview does not work in either case with the PureThermal 2).

v4l2-ctl --list-formats shows the same supported formats on both platforms, and uname -a gives for the Pi 4: Linux raspberrypi 4.19.57-v7l+ #1244 SMP Thu Jul 4 18:48:07 BST 2019 armv7l GNU/Linux and for the Pi 3: Linux raspberrypi 4.19.50-v7+ #896 SMP Thu Jun 20 16:11:44 BST 2019 armv7l GNU/Linux

agjunyent commented 4 years ago

Same here... I'm not able to obtain any data from PT2 on a new Raspberry Pi 4 (4GB version) with Raspbian Buster.

The same PT2 board was running perfectly in a Raspberry Pi 3 B and in a Raspberry Pi 3 B+.

I've tried to obtain frames using several methods (v4l2, ffmpeg, opencv, guvcview, etc), and all of them report an error.

Outputs from different debugging tools: dmesg: usb 1-1.3: Not enough bandwidth for new device state. usb 1-1.3: Not enough bandwidth for altsetting 1 ffmpeg: [video4linux2,v4l2 @ 0x1f87220] ioctl(VIDIOC_STREAMON): No space left on device /dev/video0: No space left on device opencv: VIDIOC_STREAMON: No space left on device

martinpeniak commented 4 years ago

I have the same issue, have you resolved it?

kekiefer commented 4 years ago

Have a look at this thread, there is a workaround available https://github.com/groupgets/purethermal1-firmware/issues/24