CSI Camera not found in remote dashboard

Question/Issue:
I cannot connect my new RPi4 via edge-impulse-linux login, because at the terminal login my (ordinary ribbon-cable) camera is not detected, and the connection fails. It does see USB cameras, but I can’t use them for my image classifier. Could not find this topic on the forum. Are generic ribbon cams supported in the EI Dashboard for data and testing?
Thank you

Project ID: T3068

Context/Use case:

Hi @tambourello,

Can you get the the CSI camera initialized with any other tools? What is the set up procedure for this generic camera?

Plug in the CSI camera and…
Can you provide the ouput of the following command:

gst-device-monitor-1.0 Video/Source Source/Video Video/CameraSource

Do you see the CSI camera in the list.

Hi @rjames,
The generic CSI camera runs fine locally using the ‘libcamera’ functions. I ran the command you provided. The output was verbose. I’ll paste it in at the bottom of this reply.

I went out and bought a Raspberry Pi “Camera Module” because it is specifically called out in Edge Impulse documentation as compatible with the EI remote connection:

That camera also runs locally using libcamera. It also is not found when i try to connect remotely to edge impulse. As an aside, please note that the latest RPi OS (installed 3 days ago) does not contain a configuration option to activate a camera. It’s not in there anymore. But the CSI cam and the RPi Camera Module both run on libcamera w no additional packages installed. I do have openCV on this Pi.

If I try remote login with the "no camera’ option it works. My device is connected and recognized in the EI dashboard, but no camera.
Thank you for your help.

Here is the output of the command that you provided:
cpirich@raspberrypi:~ $ gst-device-monitor-1.0 Video/Source Source/Video Video/CameraSource
Probing devices…

Device found:

name  : bcm2835-isp
class : Video/Source
caps  : video/x-raw, format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=BGRx, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=BGRx, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=RGBx, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=RGBx, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=BGR, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=BGR, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=RGB, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=RGB, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=RGB16, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=RGB16, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
properties:
	udev-probed = true
	device.bus_path = platform-bcm2835-isp
	sysfs.path = /sys/devices/platform/soc/fe00b840.mailbox/bcm2835-isp/video4linux/video14
	device.subsystem = video4linux
	device.product.name = bcm2835-isp
	device.capabilities = :capture:
	device.api = v4l2
	device.path = /dev/video14
	v4l2.device.driver = bcm2835-isp
	v4l2.device.card = bcm2835-isp
	v4l2.device.bus_info = platform:bcm2835-isp
	v4l2.device.version = 393526 (0x00060136)
	v4l2.device.capabilities = 2216689665 (0x84200001)
	v4l2.device.device_caps = 69206017 (0x04200001)
gst-launch-1.0 v4l2src device=/dev/video14 ! ...

Device found:

name  : bcm2835-isp
class : Video/Source
caps  : video/x-raw, format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
properties:
	udev-probed = true
	device.bus_path = platform-bcm2835-isp
	sysfs.path = /sys/devices/platform/soc/fe00b840.mailbox/bcm2835-isp/video4linux/video15
	device.subsystem = video4linux
	device.product.name = bcm2835-isp
	device.capabilities = :capture:
	device.api = v4l2
	device.path = /dev/video15
	v4l2.device.driver = bcm2835-isp
	v4l2.device.card = bcm2835-isp
	v4l2.device.bus_info = platform:bcm2835-isp
	v4l2.device.version = 393526 (0x00060136)
	v4l2.device.capabilities = 2216689665 (0x84200001)
	v4l2.device.device_caps = 69206017 (0x04200001)
gst-launch-1.0 v4l2src device=/dev/video15 ! ...

Device found:

name  : bcm2835-isp
class : Video/Source
caps  : video/x-raw, format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=BGRx, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=BGRx, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=RGBx, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=RGBx, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=BGR, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=BGR, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=RGB, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=RGB, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=RGB16, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=RGB16, width=[ 64, 16384 ], height=[ 64, 16384 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
properties:
	udev-probed = true
	device.bus_path = platform-bcm2835-isp
	sysfs.path = /sys/devices/platform/soc/fe00b840.mailbox/bcm2835-isp/video4linux/video21
	device.subsystem = video4linux
	device.product.name = bcm2835-isp
	device.capabilities = :capture:
	device.api = v4l2
	device.path = /dev/video21
	v4l2.device.driver = bcm2835-isp
	v4l2.device.card = bcm2835-isp
	v4l2.device.bus_info = platform:bcm2835-isp
	v4l2.device.version = 393526 (0x00060136)
	v4l2.device.capabilities = 2216689665 (0x84200001)
	v4l2.device.device_caps = 69206017 (0x04200001)
gst-launch-1.0 v4l2src device=/dev/video21 ! ...

Device found:

name  : bcm2835-isp
class : Video/Source
caps  : video/x-raw, format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=YUY2, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=UYVY, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=NV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=I420, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=YV12, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=NV21, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=YVYU, width=[ 64, 16384, 2 ], height=[ 64, 16384, 2 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
properties:
	udev-probed = true
	device.bus_path = platform-bcm2835-isp
	sysfs.path = /sys/devices/platform/soc/fe00b840.mailbox/bcm2835-isp/video4linux/video22
	device.subsystem = video4linux
	device.product.name = bcm2835-isp
	device.capabilities = :capture:
	device.api = v4l2
	device.path = /dev/video22
	v4l2.device.driver = bcm2835-isp
	v4l2.device.card = bcm2835-isp
	v4l2.device.bus_info = platform:bcm2835-isp
	v4l2.device.version = 393526 (0x00060136)
	v4l2.device.capabilities = 2216689665 (0x84200001)
	v4l2.device.device_caps = 69206017 (0x04200001)
gst-launch-1.0 v4l2src device=/dev/video22 ! ...

Device found:

name  : unicam
class : Video/Source
caps  : video/x-raw, format=YUY2, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=YUY2, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=UYVY, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=UYVY, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=xRGB, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=xRGB, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=BGR, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=BGR, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=RGB, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=RGB, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=BGR15, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=BGR15, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=RGB15, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=RGB15, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=RGB16, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=RGB16, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-bayer, format=rggb, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-bayer, format=grbg, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-bayer, format=gbrg, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-bayer, format=bggr, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw, format=GRAY8, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=GRAY8, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
        video/x-raw, format=YVYU, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ]
        video/x-raw(format:Interlaced), format=YVYU, width=[ 16, 16376 ], height=[ 16, 16376 ], framerate=[ 0/1, 2147483647/1 ], interlace-mode=alternate
properties:
	udev-probed = true
	device.bus_path = platform-fe801000.csi
	sysfs.path = /sys/devices/platform/soc/fe801000.csi/video4linux/video0
	device.subsystem = video4linux
	device.product.name = unicam
	device.capabilities = :capture:
	device.api = v4l2
	device.path = /dev/video0
	v4l2.device.driver = unicam
	v4l2.device.card = unicam
	v4l2.device.bus_info = platform:fe801000.csi
	v4l2.device.version = 393526 (0x00060136)
	v4l2.device.capabilities = 2778726401 (0xa5a00001)
	v4l2.device.device_caps = 622854145 (0x25200001)
gst-launch-1.0 v4l2src ! ...

@tambourello,

Thanks for the response. Is any of the devices found the generic camera?

Can you try rpi-bookworm branch. Install via:

npm install && npm run build && npm link

Then run as usual.

1 Like

@rjames,
Thanks for your response. To answer your question: I believe the camera is the “unicam” device toward the end of the previously-posted output. I did try the approach you suggested (rpi-bookworm). I’ll paste below, but it was the same as earlier: I can log in. It see’s the project T3068 but not the camera, then bails. btw the project T3068 is fully trained and set up. I used the RPi and camera locally and uploaded the training images. I just need to connect in order to test the ML. If this is really a corner case i would consider switching platforms. I have many practical applications in manufacturing. The appeal of RPi is ease of use via python. The reason I can’t use a USB cam is lack of control over the camera and lenses…and size. thanks again

cpirich@raspberrypi:~/edge-impulse-linux-cli$ edge-impulse-linux
Edge Impulse Linux client v1.4.8
? What is your user name or e-mail address (edgeimpulse.com)? pelagic@optonline.
net
? What is your password? [hidden]

? To which project do you want to connect this device? Rich / T3068
[GST] checking for /etc/os-release
? Select a microphone (or run this command with --disable-microphone to skip sel
ection) vc4-hdmi - vc4-hdmi-0
[SER] Using microphone hw:0,0
Failed to initialize linux tool Error: Cannot find any webcams, run this command with --disable-camera to skip selection
at /usr/local/lib/node_modules/edge-impulse-linux/build/cli/linux/linux.js:437:23
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
cpirich@raspberrypi:~/edge-impulse-linux-cli$

@tambourello,

I suspect that installation of the linux cli from rpi-bookworm branch didn’t work as expected.
I expected version 1.4.7 for my branch while 1.4.8 is the latest (from npm)

If you’re having issues installing the this cli from my branch globally then you can also run locally. So after running:

npm install && npm run build

Then run:

node build/cli/linux/linux.js --verbose

Note that there’s also another tool debug camera. You can also use it.

The globally installed:

edge-impulse-camera-debug --verbose

or the local version:

node build/linux/cli/camera-debug.js --verbose

The above would help us to solve the issue for bookworm. But another approach is to rollback and use RPi OS on Debian 11 (bullseye) which we officially support and have tested.

// Raul