spencers9478
Posts: 6
Joined: Fri Apr 27, 2018 1:34 am

Auvidea B101

Wed Jun 27, 2018 8:59 pm

I am working on a project requiring my Pi to intake incoming HDMI connections up to 1080p @60fps, and for this I am using the Auvidea B101 (I recognize the B101 only takes 1080p @25fps, I did not realize this when purchasing, but the B101 will just have to do for now). Yesterday, I was able to capture and stream connections with my B101 perfectly fine, with my Pi 3. Today, I try to run

Code: Select all

raspivid -f
and this is what I now get:

Code: Select all

The driver for the TC358743 HDMI to CSI2 chip you are using is NOT supported. They were written for a demo purposes only, and are in the firmware on an as-is basis and therefore requests for support or changes will not be acted on.

mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates
Yesterday, this command produced the same warning about the drivers but continued to work flawlessly. I have tried this on a Pi 0w using a RPi zero camera cable, and another Pi 3B+, all with the same issue. I have tried re flashing my SD cards, updating my Pi's firmwares, and running sudo apt-get upgrade. I am not sure of the issue, my B101 has the green light activated and I cannot see any physical damage to the device. Can anyone help me with this? The B10x boards from Auvidea are awesome, and would love to implement it into my project. Thank you in advance.

fruitoftheloom
Posts: 27225
Joined: Tue Mar 25, 2014 12:40 pm

Re: Auvidea B101

Thu Jun 28, 2018 10:19 am

spencers9478 wrote:
Wed Jun 27, 2018 8:59 pm
I am working on a project requiring my Pi to intake incoming HDMI connections up to 1080p @60fps, and for this I am using the Auvidea B101 (I recognize the B101 only takes 1080p @25fps, I did not realize this when purchasing, but the B101 will just have to do for now). Yesterday, I was able to capture and stream connections with my B101 perfectly fine, with my Pi 3. Today, I try to run

Code: Select all

raspivid -f
and this is what I now get:

Code: Select all

The driver for the TC358743 HDMI to CSI2 chip you are using is NOT supported. They were written for a demo purposes only, and are in the firmware on an as-is basis and therefore requests for support or changes will not be acted on.

mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates
Yesterday, this command produced the same warning about the drivers but continued to work flawlessly. I have tried this on a Pi 0w using a RPi zero camera cable, and another Pi 3B+, all with the same issue. I have tried re flashing my SD cards, updating my Pi's firmwares, and running sudo apt-get upgrade. I am not sure of the issue, my B101 has the green light activated and I cannot see any physical damage to the device. Can anyone help me with this? The B10x boards from Auvidea are awesome, and would love to implement it into my project. Thank you in advance.

Is this related to you previous post ?

viewtopic.php?f=44&t=212122

There is some discussion regarding Auvidea in this long Post:

viewtopic.php?f=43&t=109137
Take what I advise as advice not the utopian holy grail, and it is gratis !!

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 15291
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Auvidea B101

Thu Jun 28, 2018 1:57 pm

Nothing has changed in the firmware with regard that driver.
Check with "vcgencmd get_camera" whether the GPU can find the module on I2C. If detected=0 then you have a hardware issue and the module isn't responding.

And technically the B101 will run up to 1080P50, but the encoder is unlikely to keep up, and definitely not with raspivid.
Software Engineer at Raspberry Pi Ltd. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

spencers9478
Posts: 6
Joined: Fri Apr 27, 2018 1:34 am

Re: Auvidea B101

Thu Jun 28, 2018 4:48 pm

@6by9:
"vcgencmd get_camera" shows "supported=1 detected=1" so it looks like no permanent damage, hopefully I can get this working sometime soon. Thanks for the help. What would you recommend looking at next in troubleshooting the B101?

@fruitoftheloom:
It is not, I completely forgot ever posting about this before haha. Since then, by some miracle the board started to work with raspivid so I no longer even attempted to use UV4L. But it is the same issue. I will scour the long post you linked and hopefully will find something. I have seen some mention on auvidea's site of a kernel patch to include a driver fromRidgeRun, but cannot find much on how to go about this. Should I look more into this?

RpiName
Posts: 745
Joined: Sat Jul 06, 2013 3:14 am

Re: Auvidea B101

Thu Jun 28, 2018 6:37 pm

To make the B101 work with UV4L on the Pi Zero is rather simple provided that::

1. you follow the instructions here *carefully* (which refer to the Rpi3):
https://www.linux-projects.org/uv4l/installation/

2. as opposite to what mentioned for the rpi3 in the doc., you set the:
tc358743-i2c-dev = /dev/i2c-0
line in the /etc/uv4l-raspicam.conf file

Note that as opposite to raspivid, uv4l is supposed to use the proper firmware components when the tc358743 is detected (and as long as UV4L has been configured according to the doc.).

spencers9478
Posts: 6
Joined: Fri Apr 27, 2018 1:34 am

Re: Auvidea B101

Fri Jun 29, 2018 12:10 am

@RpiName:
Thank you for the link, I followed the instructions exactly but to no avail. When attempting a snapshot, this is what I got:

Code: Select all

pi@raspberrypi:~ $ uv4l --driver raspicam --auto-video_nr --width 640 --height 480 --encoding jpeg
<notice> [core] Trying to loading driver 'raspicam' from built-in drivers...
<notice> [core] Loading driver 'raspicam' from external plug-in's...
<notice> [driver] Dual Raspicam & TC358743 Video4Linux2 Driver v1.9.60 built Jan  6 2018
<notice> [driver] Detected camera toshh2c, 3264x2448
<notice> [driver] Selected format: 640x480, encoding: jpeg, JPEG Video Capture
<notice> [driver] Framerate max. 30 fps
<notice> [core] Device detected!
<notice> [core] Registering device node /dev/video0
pi@raspberrypi:~ $ dd if=/dev/video0 of=snapshot.jpeg bs=11M count=1
dd: failed to open '/dev/video0': No such file or directory
Could you help me figure out what I am doing wrong? I have tried the exact instructions on 2 different SD cards, but no luck still. I am going to reflash my SD card later tonight and test again on a fresh image. I am beginning to think the problem is my board, but I hope I do not have to purchase another due to the hefty price. I have tried re seating the board in my Pi, and on several Pis. I am pulling my hair out over this haha, I have no idea why it didn't work, started working, and stopped again. Thank you guys again for the help, the RPi forums are the best.

RpiName
Posts: 745
Joined: Sat Jul 06, 2013 3:14 am

Re: Auvidea B101

Fri Jun 29, 2018 8:58 am

Try

Code: Select all

uv4l --driver raspicam --auto-video_nr --width 640 --height 480 --encoding jpeg –tc358743-i2c-dev=/dev/i2c-0 -f --verbosity=8

spencers9478
Posts: 6
Joined: Fri Apr 27, 2018 1:34 am

Re: Auvidea B101

Fri Jun 29, 2018 4:15 pm

RpiName:
Thank you! I followed the instructions exactly again on a fresh stretch image and when running the command you gave me this is what I get now:

Code: Select all

pi@raspberrypi:~ $ uv4l --driver raspicam --auto-video_nr --width 640 --height 480 --encoding jpeg –tc358743-i2c-dev=/dev/i2c-0 -f --verbosity=8
<notice> [core] Trying to loading driver 'raspicam' from built-in drivers...
<notice> [core] Loading driver 'raspicam' from external plug-in's...
<notice> [driver] Dual Raspicam & TC358743 Video4Linux2 Driver v1.9.60 built Jan  6 2018
<notice> [driver] Detected camera toshh2c, 3264x2448
<notice> [driver] Selected format: 640x480, encoding: jpeg, JPEG Video Capture
<notice> [driver] Framerate max. 30 fps
<info> [driver] ROI: 0, 0, 1, 1
<notice> [core] Device detected!
<notice> [core] Trying to load the the Streaming Server plug-in...
<warning> [core] libserver.so: cannot open shared object file: No such file or directory
<warning> [core] Continuing without Streaming Server...
<warning> [core] Cannot create /dev/video0 because file already exists
<notice> [core] Registering device node /dev/video1

Since the program is left hanging without moving to the next line, I am assuming it is working but I have no idea how to see the feed.
Sorry for another noob question, but form here I should install the streaming server plugin, then access the stream through vlc, correct?
With this command:

Code: Select all

$ sudo apt-get install uv4l-webrtc 
Is this the best way to get a low latency stream? I'd love to be able to view the feed the B101 is seeing in real time, as if my Pi were just a second screen for my HDMI source. Thank you again for your help, I've been looking into alternatives for days as I thought my B101 was fried somehow.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 15291
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Auvidea B101

Fri Jun 29, 2018 7:03 pm

Next most likely reason for that error is that something is already using the receiver.
Software Engineer at Raspberry Pi Ltd. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

RpiName
Posts: 745
Joined: Sat Jul 06, 2013 3:14 am

Re: Auvidea B101

Sat Jun 30, 2018 11:20 am

spencers9478 wrote:
Fri Jun 29, 2018 4:15 pm
Since the program is left hanging without moving to the next line, I am assuming it is working but I have no idea how to see the feed.
Sorry for another noob question, but form here I should install the streaming server plugin, then access the stream through vlc, correct?
With this command:

Code: Select all

$ sudo apt-get install uv4l-webrtc 
Is this the best way to get a low latency stream? I'd love to be able to view the feed the B101 is seeing in real time, as if my Pi were just a second screen for my HDMI source. Thank you again for your help, I've been looking into alternatives for days as I thought my B101 was fried somehow.
uv4l is not hanging. -f tells it to run in foreground. Open a new terminal and try dd on the registered device, or just remove the -f. The output says you already have a /dev/video0 registered, but this should not really matter as long as /dev/video0 and /dev/video1 are not the same device and you are not using them at the same time.

If you want to use uv4l for streaming only, then uv4l can make use of the (any) loaded kernel driver instead of the built-in ones. So you effectively have two possibilities in this case. For more informations, see the output of "uv4l --help" about the "--external-driver" option.

pifordinner
Posts: 2
Joined: Tue Jan 08, 2019 11:11 pm

Re: Auvidea B101

Mon Mar 04, 2019 4:54 am

Can someone help a desperate newbie?

I am trying to simply capture an HDMI input to disk with the Auvidea B101 connected to a RPI 3 B+ with FFMPEG (Stretch).

It may boil down to: What is the ffmpeg command syntax to use this device as a source and write the file?


This far, if I run a list of device I get:

Code: Select all

pi@raspberrypi:~ $ v4l2-ctl --list-devices
bcm2835-codec (platform:bcm2835-codec):
        /dev/video10
        /dev/video11
        /dev/video12

mmal service 16.1 (platform:bcm2835-v4l2):
        /dev/video0
Not sure why /dev/videoe is "registering" but not showing up:

Code: Select all

pi@raspberrypi:~ $ sudo uv4l --driver raspicam --auto-video_nr --encoding h264
<notice> [core] Trying to loading driver 'raspicam' from built-in drivers...
<notice> [core] Loading driver 'raspicam' from external plug-in's...
<notice> [driver] Dual Raspicam & TC358743 Video4Linux2 Driver v1.9.63 built Oct  6 2018
<notice> [driver] Detected camera toshh2c, 3264x2448
<notice> [driver] Selected format: 1920x1080, encoding: h264, H264 Video Compression
<notice> [driver] Framerate max. 30 fps
<notice> [driver] H264 costant bitrate: 8000000
<notice> [core] Device detected!
<warning> [core] Cannot create /dev/video0 because file already exists
<warning> [core] Cannot create /dev/video1 because file already exists
<notice> [core] Registering device node /dev/video2
pi@raspberrypi:~
Lastly, the ffmpeg examples I try don't seem to be structured correctly, such as-

Code: Select all

pi@raspberrypi:~ $ ffmpeg -f v4l2 -framerate 30 190303f4.avi
ffmpeg version 3.2.12-1~deb9u1+rpt1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 6.3.0 (Raspbian 6.3.0-18+rpi1+deb9u1) 20170516
  configuration: --prefix=/usr --extra-version='1~deb9u1+rpt1' --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libebur128 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-omx-rpi --enable-mmal --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libiec61883 --arch=armhf --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 34.101 / 55. 34.101
  libavcodec     57. 64.101 / 57. 64.101
  libavformat    57. 56.101 / 57. 56.101
  libavdevice    57.  1.100 / 57.  1.100
  libavfilter     6. 65.100 /  6. 65.100
  libavresample   3.  1.  0 /  3.  1.  0
  libswscale      4.  2.100 /  4.  2.100
  libswresample   2.  3.100 /  2.  3.100
  libpostproc    54.  1.100 / 54.  1.100
Output #0, v4l2, to '190303f4.avi':
Output file #0 does not contain any stream
pi@raspberrypi:~ $

Any help is appreciated!


6x9... any ideas?

Thanks.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 15291
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Auvidea B101

Mon Mar 04, 2019 12:52 pm

Sorry, I don't provide any support for UV4L. If you wish to use it then you'll have to hope that RpiName (one of the developers) notices this post.

The fact that you have /dev/video10-12 implies that you have done an rpi-update and got the 4.19 kernel. This is only recommended for those who are needing the cutting edge -there are still a few issues to be resolved before it is rolled out more widely.

However seeing as you have done that, you could make use of either GStreamer or ffmpeg with V4L2 support.

Load the device driver by adding to /boot/config.txt "dtoverlay=tc358743" on a Pi 3B/3B+, or "dtoverlay=tc358743,i2c_pins_28_29=1" on almost all other boards.
v4l2-ctl --list-devices should list

Code: Select all

pi@raspberrypi:~ $ v4l2-ctl --list-devices
bcm2835-codec (platform:bcm2835-codec):
	/dev/video10
	/dev/video11
	/dev/video12

unicam (platform:unicam 3f801000.csi):
	/dev/video0
You need GStreamer 1.10 or higher. You can use the script at https://gist.githubusercontent.com/spha ... r-build.sh to build the latest GStreamer. It will take a while to chug through.
FFmpeg needs a couple of patches to make it work with the codecs. See the thread https://www.raspberrypi.org/forums/view ... 9&t=234778
Software Engineer at Raspberry Pi Ltd. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

pifordinner
Posts: 2
Joined: Tue Jan 08, 2019 11:11 pm

Re: Auvidea B101

Mon Mar 04, 2019 5:40 pm

6x9, thank you for the very quick and well appreciated response.

As you advised, I am reviewing Sakaki's experience, and will pursue patches as noted at https://www.raspberrypi.org/forums/view ... 9&t=234778.

In the meanwhile, before I take any step in the wrong direction could you please address:

1. I don't have to use UV4L, can I definitely achieve what I need with V4L2?
(I've spoken with Jurgen and his team, you may be the best source of wisdom on this)

2. Before I patch ffmpeg, could you please help me understand what kernel and ffmpeg version I should be running?

Remember: what I am trying to do is build the RPI 3 B+ to be an encoding agent via video signal from the B101, a focus on optimal ram and cpu utilization as we try to make 4-8 hour recordings is a big focus here.


Thanks so much.

6by9
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 15291
Joined: Wed Dec 04, 2013 11:27 am
Location: ZZ9 Plural Z Alpha, aka just outside Cambridge.

Re: Auvidea B101

Mon Mar 04, 2019 6:05 pm

pifordinner wrote:
Mon Mar 04, 2019 5:40 pm
1. I don't have to use UV4L, can I definitely achieve what I need with V4L2?
(I've spoken with Jurgen and his team, you may be the best source of wisdom on this)
- Use of raspivid is TOTALLY UNSUPPORTED.
- The RPT bcm2835-v4l2 v4L2 driver is sitting on top of the same driver as raspivid, therefore is also TOTALLY UNSUPPORTED.
- UV4L has two modes of operation. One (uv4l-raspicam) talks to the same driver as raspivid, so 2 guesses at the support level of that. The other (–tc358743) talks directly to the hardware. All support for that has to come from RpiName.
- The Linux kernel bcm2835-unicam V4L2 driver with tc358743 (the chip on the B101) driver is supported, but it needs some extra work with the application as it only delivers raw video frames (no H264 encoding).

- The bcm2835_codec V4L2 memory to memory codec drivers are supported, and can cover the functionality gap between bcm2835-unicam and raspivid if used with recent versions of GStreamer or ffmpeg. I've mainly tested with GStreamer as it just worked.

On each boot you need to provide the B101 with an EDID file so that your HDMI source knows what resolutions and frame rates are supported. There's a suitable file at https://github.com/6by9/yavta/blob/mast ... 50EDID.txt. Use "v4l2-ctl --set-edid file=1080P50EDID.txt --fix-edid-checksums" to load that up.

You also need to run "v4l2-ctl --set-dv-bt-timings query" before running GStreamer or ffmpeg. This sets the resolution to that detected at the HDMI input (neither support automatically setting the timings, nor changing them should the source change).

For GStreamer, "gst-launch -vvv -e v4l2src io-mode=4 ! v4l2h264enc output-io-mode=5 ! matroskamux ! filesink location=file.mkv" should save you a suitable file.
I did get audio capture working too, but I haven't got the commands to hand (it's on the very long thread for tc358743)
pifordinner wrote:2. Before I patch ffmpeg, could you please help me understand what kernel and ffmpeg version I should be running?
Raspbian should be going to 4.19 in the next month or so, so the V4L2 codec drivers and direct TC358743 support will be there as standard.
ffmpeg version - totally up to you.
Software Engineer at Raspberry Pi Ltd. Views expressed are still personal views.
I'm not interested in doing contracts for bespoke functionality - please don't ask.

davidbitton
Posts: 1
Joined: Mon Sep 24, 2018 8:43 pm

Re: Auvidea B101

Fri Mar 08, 2019 12:43 am

I just stumbled on this thread serendipitously. I'll be using a B101 with a CM3. I'd like to add an overlay to the video and then stream it via WiFi. Do I have to go through all of the hoops mentioned before to make it "just work"? By any chance is there a how to or a wiki page on this? Thanks!

Return to “Interfacing (DSI, CSI, I2C, etc.)”