Jetson nano with balena os

Hello guys,
I have been working on a project to run EI linux object detection model on Jetson nano using balena. I have been following this link from EI and this from balena. I am able to run sample app like smokeparticles running on balena os. I could install edge-impulse-linux but can’t run it. It says failed to start device monitor. I followed the instruction under troubleshooting guide and gave access to entire root folder. But still no luck. Has anyone done this work before or provide me any guidance? My repo is here .

1 Like

Hi @mithundotdas,

It seems Adam has pointed you to our Balena contact, please let us know how that goes!

1 Like

Hello @mithundotdas,

Is this the same error that you encountered some time ago for your “Building an AI-Powered Bird Watcher with Balena and Edge Impulse” project? This sounds familiar but maybe it is a different issue…
What kind of camera are you using? USB or CSI?
@gy4nt you had any issue with the the Jetson’s camera on Balena in the past?

Regards,

Louis

2 Likes

@louis i still didn’t have time to test Jetson Nano + Edge Impulse!

@mithundotdas could you please share more details about your set up? what camera do you use? Maybe it’s a good idea to check here to get more information.

looking fwd to see this running :slight_smile:

@louis I checked my old emails and it was different error on Pi 4. Initially we got “Unsupported architecture …” and then “No camera found”. On Jetson, the error is different. I am using USB camera. Verbose does not reveal any further error message.

root@143a076:/usr/local/cuda-10.2/samples/bin/aarch64/linux/release# lsusb
Bus 002 Device 002: ID 0bda:0411 Realtek Semiconductor Corp. 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 045e:0772 Microsoft Corp. LifeCam Studio
Bus 001 Device 002: ID 0bda:5411 Realtek Semiconductor Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


root@143a076:/usr/local/cuda-10.2/samples/bin/aarch64/linux/release# edge-impulse-linux --verbose --disable-microphone
Edge Impulse Linux client v1.3.1
? What is your user name or e-mail address (edgeimpulse.com)? xxxx@gmail.com
? What is your password? [hidden]

? To which project do you want to connect this device? Mithun / jetson_nano
Failed to initialize linux tool Error code was not 0: Probing devices...

Failed to start device monitor!

root@143a076:/usr/local/cuda-10.2/samples/bin/aarch64/linux/release#
1 Like

Hi @mithundotdas,

Which Jetson Nano do you use?

1 Like

A02 with SD card. Not sure if I am answering your question :slight_smile:

What happens if you remove the docker-compose, bring your Dockerfile up to the root directory, and re-push it @mithundotdas?

@dtischler I started with that :slight_smile: Then moved to docker-compose to add privilege flag to true and host to network.

Aha - gotcha. I’m wondering if CAP_SYS_ADMIN and/or CAP_SYS_RAWIO might be needed when using a Compose. I’m not totally sure, so it would basically be just a “try it and see what happens” test, ha! :joy:

Having some trouble pushing to balena right now. May be my network acting up. Will update when it’s done with above suggested change.

Hi @mithundotdas,

I just thought of something, can you do that and check if it works:

$> whoami
your-username

$> chown -R your-username:your-username ~/.config

I had the same error during a workshop using the Jetson Nano: https://github.com/edgeimpulse/workshop-advantech-jetson-nano

Let me know,

Regards,

Louis

@louis @dtischler I tried both but still same issue. Not sure what I am missing.

root@143a076:/usr/local/cuda-10.2/samples/bin/aarch64/linux/release# whoami
root
root@143a076:/usr/local/cuda-10.2/samples/bin/aarch64/linux/release# chown -R root:root ~/.config
root@143a076:/usr/local/cuda-10.2/samples/bin/aarch64/linux/release# edge-impulse-linux --verbose --disable-microphone
Edge Impulse Linux client v1.3.1
? What is your user name or e-mail address (edgeimpulse.com)? mithundotdas@gmail.com
? What is your password? [hidden]

? To which project do you want to connect this device? Mithun / jetson_nano
Failed to initialize linux tool Error code was not 0: Probing devices...

Failed to start device monitor!

root@143a076:/usr/local/cuda-10.2/samples/bin/aarch64/linux/release# lsusb
Bus 002 Device 002: ID 0bda:0411 Realtek Semiconductor Corp. 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 045e:0772 Microsoft Corp. LifeCam Studio
Bus 001 Device 002: ID 0bda:5411 Realtek Semiconductor Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

And in docker-compose , I have

version: '2.1'
services: 
        inference:
                build: ./inference
                privileged: true
                restart: always
                network_mode: host
                container_name: inference
                cap_add:
                        - CAP_SYS_ADMIN
                        - CAP_SYS_RAWIO
                ports: 
                        - 8080
                labels:
                        io.balena.features.dbus: '1'
                        io.balena.features.kernel-modules: '1'
                volumes: 
                        - 'shared-data:/var/data'
                        - 'shared-media:/var/media'
                environment:
                        - UDEV=1
                devices:
                        - '/dev:/dev'
        
volumes:
        shared-data:
        shared-media:

I’m not even able to complete the Nano installation for some reason, I am failing on the vips-8.10.5 compilation.

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../.. -I../../libvips/include -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -pthread -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -g -O2 -MT im_gradcor.lo -MD -MP -MF .deps/im_gradcor.Tpo -c im_gradcor.c -o im_gradcor.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../.. -I../../libvips/include -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -pthread -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -g -O2 -MT im_gaddim.lo -MD -MP -MF .deps/im_gaddim.Tpo -c im_gaddim.c -o im_gaddim.o >/dev/null 2>&1
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I../.. -I../../libvips/include -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -pthread -I/usr/include/glib-2.0 -I/usr/lib/aarch64-linux-gnu/glib-2.0/include -g -O2 -MT vips7compat.lo -MD -MP -MF .deps/vips7compat.Tpo -c vips7compat.c -o vips7compat.o >/dev/null 2>&1
make[3]: Leaving directory '/usr/local/cuda-10.2/samples/bin/aarch64/linux/release/vips-8.10.5/libvips/deprecated'
Makefile:876: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/usr/local/cuda-10.2/samples/bin/aarch64/linux/release/vips-8.10.5/libvips'
Makefile:629: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/usr/local/cuda-10.2/samples/bin/aarch64/linux/release/vips-8.10.5'
Makefile:536: recipe for target 'all' failed
make: *** [all] Error 2

Worked around that by just updating to https://github.com/libvips/libvips/releases/tag/v8.12.2 instead.

Camera is definitely detected by the system, but, for some reason EI won’t locate it…

At the end of this giant log below, I just disable camera, and it launches (though this defeats the purpose obviously LOL)

root@37574b37dde9:/usr/local/cuda-10.2/samples/bin/aarch64/linux/releasroot@37574b37dde9:/usr/local/cuda-10.2/samples/bin/aarch64/linux/release# edge-impulse-linux --disable-microphone --verbose
Edge Impulse Linux client v1.3.1

Failed to initialize linux tool Error code was not 0: Probing devices...

Failed to start device monitor!


root@37574b37dde9:/usr/local/cuda-10.2/samples/bin/aarch64/linux/release# gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=1 ! video/x-raw ! videoconvert ! jpegenc ! multifilesink location=test%05d.jpg
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:02.438842340
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

root@37574b37dde9:/usr/local/cuda-10.2/samples/bin/aarch64/linux/release# ls
clock        node-v12.13.0-linux-arm64           postProcessGL    smokeParticles  vips-8.10.5.tar.gz    vips-8.12.2.tar.gz
deviceQuery  node-v12.13.0-linux-arm64.tar.xz    simpleGL         test00000.jpg   vips-8.10.5.tar.gz.1
jetson.sh    node-v12.13.0-linux-arm64.tar.xz.1  simpleTexture3D  vips-8.10.5     vips-8.12.2
root@37574b37dde9:/usr/local/cuda-10.2/samples/bin/aarch64/linux/release# v4l2-ctl --list-formats-ext --device /dev/video0 
ioctl: VIDIOC_ENUM_FMT
        Index       : 0
        Type        : Video Capture
        Pixel Format: 'YUYV'
        Name        : YUYV 4:2:2
                Size: Discrete 640x480
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 160x90
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 160x120
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 176x144
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 320x180
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 320x240
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                <snip>
                Size: Discrete 1920x1080
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 2304x1296
                        Interval: Discrete 0.500s (2.000 fps)
                Size: Discrete 2304x1536
                        Interval: Discrete 0.500s (2.000 fps)

        Index       : 1
        Type        : Video Capture
        Pixel Format: 'MJPG' (compressed)
        Name        : Motion-JPEG
                Size: Discrete 640x480
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 160x90
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 160x120
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 176x144
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 320x180
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 320x240
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 352x288
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 432x240
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 640x360
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 800x448
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 800x600
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 864x480
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 960x720
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 1024x576
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 1280x720
                        Interval: Discrete 0.017s (60.000 fps)
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 1600x896
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)
                Size: Discrete 1920x1080
                        Interval: Discrete 0.033s (30.000 fps)
                        Interval: Discrete 0.042s (24.000 fps)
                        Interval: Discrete 0.050s (20.000 fps)
                        Interval: Discrete 0.067s (15.000 fps)
                        Interval: Discrete 0.100s (10.000 fps)
                        Interval: Discrete 0.133s (7.500 fps)
                        Interval: Discrete 0.200s (5.000 fps)

root@37574b37dde9:/usr/local/cuda-10.2/samples/bin/aarch64/linux/release# GST_DEBUG=2 gst-device-monitor-1.0
Probing devices...

0:00:00.128048333   723   0x557cf82a00 WARN                 default gstdevicemonitor.c:458:gst_device_monitor_start:<devicemonitor0> No filters have been set, will expose all devices found
0:00:00.268884896   723   0x557cf82a00 ERROR                  pulse pulsedeviceprovider.c:439:gst_pulse_device_provider_start:<pulsedeviceprovider0> Failed to connect: Connection refused
Failed to start device monitor!

root@37574b37dde9:/usr/local/cuda-10.2/samples/bin/aarch64/linux/release# gst-device-monitor-1.0
Probing devices...


Device found:

        name  : Logitech Webcam C925e Analog Stereo
        class : Audio/Source
        caps  : audio/x-raw, format=(string){ S16LE, S16BE, F32LE, F32BE, S32LE, S32BE, S24LE, S24BE, S24_32LE, S24_32BE, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
                audio/x-alaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
                audio/x-mulaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
        properties:
                alsa.resolution_bits = 16
                device.api = alsa
                device.class = sound
                alsa.class = generic
                alsa.subclass = generic-mix
                alsa.name = "USB\ Audio"
                alsa.id = "USB\ Audio"
                alsa.subdevice = 0
                alsa.subdevice_name = "subdevice\ \#0"
                alsa.device = 0
                alsa.card = 2
                alsa.card_name = "Logitech\ Webcam\ C925e"
                alsa.long_card_name = "Logitech\ Webcam\ C925e\ at\ usb-70090000.xusb-2\,\ high\ speed"
                alsa.driver_name = snd_usb_audio
                device.bus_path = platform-70090000.xusb-usb-0:2:1.2
                sysfs.path = /devices/70090000.xusb/usb1/1-2/1-2:1.2/sound/card2
                udev.id = usb-046d_Logitech_Webcam_C925e_279866DF-02
                device.bus = usb
                device.vendor.id = 046d
                device.vendor.name = "Logitech\,\ Inc."
                device.product.id = 085b
                device.product.name = "Logitech\ Webcam\ C925e"
                device.serial = 046d_Logitech_Webcam_C925e_279866DF
                device.form_factor = webcam
                device.string = front:2
                device.buffering.buffer_size = 256000
                device.buffering.fragment_size = 128000
                device.access_mode = mmap+timer
                device.profile.name = analog-stereo
                device.profile.description = "Analog\ Stereo"
                device.description = "Logitech\ Webcam\ C925e\ Analog\ Stereo"
                alsa.mixer_name = "USB\ Mixer"
                alsa.components = USB046d:085b
                module-udev-detect.discovered = 1
                device.icon_name = camera-web-usb
        gst-launch-1.0 pulsesrc device=alsa_input.usb-046d_Logitech_Webcam_C925e_279866DF-02.analog-stereo ! ...


Device found:

        name  : Monitor of Built-in Audio Analog Stereo
        class : Audio/Source
        caps  : audio/x-raw, format=(string){ S16LE, S16BE, F32LE, F32BE, S32LE, S32BE, S24LE, S24BE, S24_32LE, S24_32BE, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
                audio/x-alaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
                audio/x-mulaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
        properties:
                device.description = "Monitor\ of\ Built-in\ Audio\ Analog\ Stereo"
                device.class = monitor
                alsa.card = 1
                alsa.card_name = tegra-snd-t210ref-mobile-rt565x
                alsa.long_card_name = tegra-snd-t210ref-mobile-rt565x
                device.bus_path = platform-sound
                sysfs.path = /devices/sound/sound/card1
                device.form_factor = internal
                device.string = 1
                module-udev-detect.discovered = 1
                device.icon_name = audio-card
        gst-launch-1.0 pulsesrc device=alsa_output.platform-sound.analog-stereo.monitor ! ...


Device found:

        name  : Built-in Audio Analog Stereo
        class : Audio/Source
        caps  : audio/x-raw, format=(string){ S16LE, S16BE, F32LE, F32BE, S32LE, S32BE, S24LE, S24BE, S24_32LE, S24_32BE, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
                audio/x-alaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
                audio/x-mulaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
        properties:
                alsa.resolution_bits = 16
                device.api = alsa
                device.class = sound
                alsa.class = generic
                alsa.subclass = generic-mix
                alsa.name = ""
                alsa.id = "ADMAIF1\ CIF\ ADMAIF1-0"
                alsa.subdevice = 0
                alsa.subdevice_name = "subdevice\ \#0"
                alsa.device = 0
                alsa.card = 1
                alsa.card_name = tegra-snd-t210ref-mobile-rt565x
                alsa.long_card_name = tegra-snd-t210ref-mobile-rt565x
                device.bus_path = platform-sound
                sysfs.path = /devices/sound/sound/card1
                device.form_factor = internal
                device.string = front:1
                device.buffering.buffer_size = 32768
                device.buffering.fragment_size = 16384
                device.access_mode = mmap+timer
                device.profile.name = analog-stereo
                device.profile.description = "Analog\ Stereo"
                device.description = "Built-in\ Audio\ Analog\ Stereo"
                module-udev-detect.discovered = 1
                device.icon_name = audio-card
        gst-launch-1.0 pulsesrc device=alsa_input.platform-sound.analog-stereo ! ...


Device found:

        name  : Built-in Audio Analog Stereo
        class : Audio/Sink
        caps  : audio/x-raw, format=(string){ S16LE, S16BE, F32LE, F32BE, S32LE, S32BE, S24LE, S24BE, S24_32LE, S24_32BE, U8 }, layout=(string)interleaved, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
                audio/x-alaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
                audio/x-mulaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 32 ];
        properties:
                alsa.resolution_bits = 16
                device.api = alsa
                device.class = sound
                alsa.class = generic
                alsa.subclass = generic-mix
                alsa.name = ""
                alsa.id = "ADMAIF1\ CIF\ ADMAIF1-0"
                alsa.subdevice = 0
                alsa.subdevice_name = "subdevice\ \#0"
                alsa.device = 0
                alsa.card = 1
                alsa.card_name = tegra-snd-t210ref-mobile-rt565x
                alsa.long_card_name = tegra-snd-t210ref-mobile-rt565x
                device.bus_path = platform-sound
                sysfs.path = /devices/sound/sound/card1
                device.form_factor = internal
                device.string = front:1
                device.buffering.buffer_size = 32768
                device.buffering.fragment_size = 16384
                device.access_mode = mmap+timer
                device.profile.name = analog-stereo
                device.profile.description = "Analog\ Stereo"
                device.description = "Built-in\ Audio\ Analog\ Stereo"
                module-udev-detect.discovered = 1
                device.icon_name = audio-card
        gst-launch-1.0 ... ! pulsesink device=alsa_output.platform-sound.analog-stereo


Device found:

        name  : Logitech Webcam C925e
        class : Video/Source
        caps  : video/x-raw, format=(string)YUY2, width=(int)2304, height=(int)1536, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)2/1;
                video/x-raw, format=(string)YUY2, width=(int)2304, height=(int)1296, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)2/1;
                video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)5/1;
                video/x-raw, format=(string)YUY2, width=(int)1600, height=(int)896, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 15/2, 5/1 };
                video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 10/1, 15/2, 5/1 };
                video/x-raw, format=(string)YUY2, width=(int)960, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 15/1, 10/1, 15/2, 5/1 };
                video/x-raw, format=(string)YUY2, width=(int)1024, height=(int)576, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 15/1, 10/1, 15/2, 5/1 };
                video/x-raw, format=(string)YUY2, width=(int)800, height=(int)600, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                video/x-raw, format=(string)YUY2, width=(int)864, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                video/x-raw, format=(string)YUY2, width=(int)800, height=(int)448, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                video/x-raw, format=(string)YUY2, width=(int)640, height=(int)360, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                video/x-raw, format=(string)YUY2, width=(int)432, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                video/x-raw, format=(string)YUY2, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                video/x-raw, format=(string)YUY2, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                video/x-raw, format=(string)YUY2, width=(int)320, height=(int)180, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                video/x-raw, format=(string)YUY2, width=(int)176, height=(int)144, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                video/x-raw, format=(string)YUY2, width=(int)160, height=(int)120, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                video/x-raw, format=(string)YUY2, width=(int)160, height=(int)90, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                image/jpeg, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                image/jpeg, width=(int)1600, height=(int)896, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                image/jpeg, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 60/1, 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                image/jpeg, width=(int)960, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                image/jpeg, width=(int)1024, height=(int)576, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                image/jpeg, width=(int)800, height=(int)600, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                image/jpeg, width=(int)864, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                image/jpeg, width=(int)800, height=(int)448, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                image/jpeg, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                image/jpeg, width=(int)640, height=(int)360, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                image/jpeg, width=(int)432, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                image/jpeg, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                image/jpeg, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                image/jpeg, width=(int)320, height=(int)180, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                image/jpeg, width=(int)176, height=(int)144, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                image/jpeg, width=(int)160, height=(int)120, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
                image/jpeg, width=(int)160, height=(int)90, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction){ 30/1, 24/1, 20/1, 15/1, 10/1, 15/2, 5/1 };
        properties:
                udev-probed = true
                device.bus_path = platform-70090000.xusb-usb-0:2:1.0
                sysfs.path = /sys/devices/70090000.xusb/usb1/1-2/1-2:1.0/video4linux/video0
                device.bus = usb
                device.subsystem = video4linux
                device.vendor.id = 046d
                device.vendor.name = 046d
                device.product.id = 085b
                device.product.name = "Logitech\ Webcam\ C925e"
                device.serial = 046d_Logitech_Webcam_C925e_279866DF
                device.capabilities = :capture:
                device.api = v4l2
                device.path = /dev/video0
                v4l2.device.driver = uvcvideo
                v4l2.device.card = "Logitech\ Webcam\ C925e"
                v4l2.device.bus_info = usb-70090000.xusb-2
                v4l2.device.version = 264588 (0x0004098c)
                v4l2.device.capabilities = 2216689665 (0x84200001)
                v4l2.device.device_caps = 69206017 (0x04200001)
        gst-launch-1.0 v4l2src ! ...



root@37574b37dde9:/usr/local/cuda-10.2/samples/bin/aarch64/linux/release# v4l2-ctl --list-devices
Logitech Webcam C925e (usb-70090000.xusb-2):
        /dev/video0

root@37574b37dde9:/usr/local/cuda-10.2/samples/bin/aarch64/linux/release# edge-impulse-linux --disable-camera --disable-microphone
Edge Impulse Linux client v1.3.1

[WS ] Connecting to wss://remote-mgmt.edgeimpulse.com
[WS ] Connected to wss://remote-mgmt.edgeimpulse.com
? What name do you want to give this device? Nano-2gb
[WS ] Device "Nano-2gb" is now connected to project "Jetson"
[WS ] Go to https://studio.edgeimpulse.com/studio/80308/acquisition/training to build your machine learning model!

Hello @dtischler,

Worked around that by just updating to https://github.com/libvips/libvips/releases/tag/v8.12.2 instead.

This is strange, where did you get the jetson.sh installation script? In our documentation, we changed in december the jetson.sh to use vipsv8.12.1. Maybe I forgot to change the link somewhere…

Unfortunately I don’t have a Jetson Nano with me today so I cannot try. I will try tomorrow on my Jetson Nano 2G and Balena to see if I can reproduce the issue.

Regards,

Louis

2 Likes

Thanks @louis! Looking closer at the versioning issue, that was my bad, I already had jetson.sh on my local machine, and just copied it straight in…Now looking closer at the version sitting at https://cdn.edgeimpulse.com/firmware/linux/jetson.sh I see it has indeed been updated to a newer version. So, that was my bad for going with what I already had, ha!

But yep, once you have your Nano setup, I am curious to see what results you get. :+1:

This is interesting. Someone found similar issue on Raspberry Pi 4 . https://github.com/just4give/balena-edge-impulse-linux/issues/10

1 Like

That someone is a balena team member, :stuck_out_tongue:

1 Like