I just received my UVC camera module (this) and wanted to use it with lightburn 1.2.01.
Unfortunately it is recognized but no picture is shown. If I select the camera in the “camera control” everything is black, same in the lens calibration wizard.
The module itself seems to work, in other applications like “Smile” or OpenPnP it is recognized and a picture is shown.
The debug-log was not very helpful:
16:39:45.455 D: "USB 2.0 Camera: HD USB Camera" "/dev/video0"
16:39:45.455 D: "UVC Camera (046d:0825)" "/dev/video2"
16:39:45.455 D: "UC60 Video: UC60 Video" "/dev/video4"
dmesg output when connected:
[Do Jul 28 16:19:28 2022] usb 1-1: new high-speed USB device number 6 using xhci_hcd
[Do Jul 28 16:19:28 2022] usb 1-1: New USB device found, idVendor=0bda, idProduct=5805, bcdDevice=10.01
[Do Jul 28 16:19:28 2022] usb 1-1: New USB device strings: Mfr=3, Product=1, SerialNumber=2
[Do Jul 28 16:19:28 2022] usb 1-1: Product: UC60 Video
[Do Jul 28 16:19:28 2022] usb 1-1: Manufacturer: DSJ
[Do Jul 28 16:19:28 2022] usb 1-1: SerialNumber: 200901010001
[Do Jul 28 16:19:28 2022] uvcvideo: Found UVC 1.00 device UC60 Video (0bda:5805)
[Do Jul 28 16:19:28 2022] input: UC60 Video: UC60 Video as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/input/input20
And v4l also reports the module without any obvious problems:
UVC Camera (046d:0825) (usb-0000:00:14.0-14):
UC60 Video: UC60 Video (usb-0000:03:00.0-1):
USB 2.0 Camera: HD USB Camera (usb-0000:03:00.0-2):
Update: Quite sure there is some problem within lightburn.
If I loop the cam through ffmpeg it works, but that is not a real permanent solution. ffmpeg -f v4l2 -framerate 15 -video_size 3264x2448 -input_format mjpeg -i /dev/video4 -vf format=yuv420p -f v4l2 /dev/video6
My guess is, that Lightburn somehow gets confused, since the resulutions in mjpeg and raw are different?
Bump. Same problem with but with some additional info:
Using Ubuntu 22.04 LTS
Tried two cameras – Arducam 8MP USB with 150 wide angle lens – this works
The camera I need to use: Arducam 16MP USB with 180 wide angle lens – this does not work in lightburn, but works in other apps just fine
Followed all suggestions on this thread, threads of links provided, and multiple other threads. I’m not sure if the issue is the 16MP, or video resolution etc… and as a software dev, makes me want to know a bit more about how the camera integration works with lightburn.
I’m worried about purchasing an “official” camera from Lightburn because it appears from other threads/discussions it may just have the same issues.
There are so many similar threads, and it’s not just an Ubuntu thing … so would love to see something “official” put out that goes into more depth with the challenges of camera integration or what’s being worked on etc… going to try the same camera with MacOS on a different computer and see if I have the same issues.
I definitely agree. I was on Ubuntu 16 LTS, but started having several issues, including my ability to install/update latest Lightburn … so I ultimately had to update my OS, and went to 20 then 22.04 LTS … now I have Lightburn updated and working properly except for the cameras.
I would (sort of) understand a decision to not support Linux … but given the target community, my guess is that there are plenty of people in this niche with Linux machines.
I’m going to try installing on my Mac to see if it works, and will only move to Windows kicking and screaming if I have to … but in going through the various threads trying to solve this problem it doesn’t appear to be limited to Linux.
Update: I tested the same cameras on MacOS and they work. So I am back to trying to troubleshoot the Ubuntu issues. Restated: the cameras work with other apps (e.g., Cheese, VLC, etc.) but do not work with LightBurn.
I do know that the camera issue (at least based on forum messages) seem to span multiple OS platforms – and best I can tell, may be related to elevated security restrictions.
With the newer versions of Ubuntu, it would be great to have the app installer work with the Settings → Applications UI that allows users to enable access to the cameras.
So far any Google results looking for solutions all provide ways to test camera use, which pass those tests… but can’t seem to figure out how to provide LightBurn security access to the camera.
To test the security idea I’d just run Lightburn with sudo.
No change, one camera still only a black picture. Same camera piped through the loopback-device works.
But got a new(?) error running with sudo, might help the devs:
Vend: 7531 Prod: 2
res: 640 x 480
res: 800 x 600
res: 1280 x 720
res: 1600 x 1200
res: 1920 x 1080
res: 2048 x 1536
res: 2592 x 1944
res: 3264 x 2448
default: -1 x -1
Setting res: 3264 x 2448
CameraBin error: "Internal data stream error."
Error sounds like, that Lightburn is very “strict” regarding to some encoding settings or something like that.
Edit: Observed something else: if I started my “ffmpeg to loppback hack” after lightburn had created the list of available cameras (so that I can select the UC60) a picture is shown, not a black one.
So I guess that there is a step missing during the “connection setup”, and some cameras are not happy in that case.
Edit2: Have created a short video, but can’t upload the file (6MB webp) here.
On my end I tried adding the logged in $USER to the video group: shown below, but did not resolve the issue. Also tried adjusting the permissions on the /dev/video* end points to allow full ‘rw’ but that didn’t work either.
cat /etc/group | grep video
sudo usermod -G video -a $USER
I also considered the codec option, but kind of ruled it out at some point, but by now its all a bit of a blur trying to resolve … and it may still be an issue.
I also tried different OS GUIs, Wayland, Gnome, Gnome Legacy, XOrg, all to no avail.
My latest option seems to be dumping more money in and getting a Mac Mini or something and abandonding Linux for my lasers/3D printers … but just such a pain… would realy like to find a solution.
I’m still on the “security” thread thinking that the app installer may need updating to enable security options for the camera … or at least going down that path would lead the devs to the solution.
The issue crosses many distros and apps on later Linux kernels/OS versions
I was (somewhat) able to replicate the issue using Guvcview
sudo apt install guvcview
Opening Guvcview and selecting camera via Video Controls, the image was initially black, and I believe it was on the lowest resolution.
Then by adjusting the resolution the camera started working.
So next “hypothesis” or area to explore is understanding how Lightburn (or underlying library) chooses the stream settings – and whether it might be possible for Lightburn to add UI for selecting resolution, framerate and camera output settings.
Additional investigations on this path – does lead me to belive that what is needed is additonal UI settings in LightBurn to adjust camera settings, like in Settings / Camera Resolution area. (again, not 100% but after countless hours discovering this is a common problem for apps and cameras on Linux)
Below are some tools and updated info:
using dmesg able to see error message “cannot get freq at ep 0x84” – exact value at the end changes by camera. You can see this “live” by using:
sudo dmesg -H -L --follow
then physcially disconnect/reconnect camera on USB to see kernel hardware messages for the device. I have multiple cameras, not all display the same error message – and none of them work, so that’s not the “exact” problem – but it was searching for answers on the error message that got me down this path.
My basic summary of solutions I found all seem to follow the basic path of (a) using v4l2-ctl, uvcdynctl, and/or setting modprobe config files to try and permanently set camera options. or (b) using applications such as guvcview, cheese, vlc, etc… where the solution is to modify the camera settings – which does “resolve” the problem for each camera.
So … I’m no longer on the “security” path … and now leaning towards the need for the application to be able to select/set camera options for resolution, format, frame rate, etc.
As pointed out earlier, the same cameras work on Mac (and I’d presume Windows) – but I believe this has to do with how the underlying Linux UVC Video driver exposes the camera to the OS. Older Ubuntu/Linux platforms probably worked… but likely had less camera compatibility (just speculating) … and UVC video driver increased camera interoperability/compatibility … but requires different (more) app controls/logic.
Your initial use of ffmpeg and the video add (in my opinion) credence to what I just posted regarding selection of the resolution etc… in this case, you’re doing it through ffmpeg, but what would be needed for LightBurn would be the option to set these in the UI.
@JohnJohn : Is it possible to get some insight into the underlying camera connection library, code, or something so we can provide additional troubleshooting, investigation or help in debugging?
From research the forum threads, it sounds like (at least at one time) LightBurn was being written in something that is compiled cross platform – but I don’t know what it’s written in to know whether I am able to help… but certainly happy to at least do the legwork to keep pointing in the right direction.
Addendum: Found this topic, and there are others, but hoping to use this to help build the case that the UI would be helpful as it may be a factor in other OS platforms as well – and at the very least – would be useful to have better control over camera settings/options.
I may come back and update further with additional threads that all deal with “no camera image” but where the camera works in other apps on the same OS.