Another problem with these cheap adapters appears to exist. While running all the steps from
viewtopic.php?p=1324281#p1324281 with original B100 adapter by Auvidea I obtain perfect picture (yavta -> mmal), sound via I2S is present, as expected.
Video source is HXR-NX5U camcorder by Sony, running at 720p, 60fps. Color bars & test tone generator is enabled.
Logs of "normal" execution with original B100:
Code: Select all
CTA-861 Header
IT Formats Underscanned: yes
Audio: yes
YCbCr 4:4:4: no
YCbCr 4:2:2: no
HDMI Vendor-Specific Data Block
Physical Address: 3.0.0.0
YCbCr 4:4:4 Deep Color: no
30-bit: no
36-bit: no
48-bit: no
CTA-861 Video Capability Descriptor
RGB Quantization Range: yes
YCC Quantization Range: no
PT: Supports both over- and underscan
IT: Supports both over- and underscan
CE: Supports both over- and underscan
Device /dev/video0 opened.
Device `unicam' on `platform:unicam 3f801000.csi1' (driver 'unicam') is a video capture (without mplanes) device.
stride is 0
stride is now 1280
Video format set: UYVY (59565955) 1280x720 (stride 2560) field none buffer size 1843200
QUERY_DV_TIMINGS returned 1280x720 pixclk 74250000
Framerate is 50
Video format: UYVY (59565955) 1280x720 (stride 2560) field none buffer size 1843200
vc.ril.isp:in:0(UYVY)(0x11dcd20)type: video, fourcc: UYVY bitrate: 0, framed: 0 extra data: 0, (nil) width: 1280, height: 720, (0,0,1280,720) pixel aspect ratio: 0/0, frame rate: 0/0
buffers num: 6(opt 1, min 1), size: 1843200(opt 1843200, min: 1843200), align: 0
Created pool of length 6, size 0
Create pool of 3 buffers of size 0 for render
Create pool of 3 buffers of size 1382400 for encode/render
6 buffers requested, V4L2 returned 6 bufs.
length: 1843200 offset: 0 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x7314d000.
Importing DMABUF 6 into VCSM...
...done. vcsm_handle 77824
Exported buffer 0 to dmabuf 6, vcsm handle 77824
Linking V4L2 buffer index 0 ptr 0x11e30b8 to MMAL header 0x11e10c0. mmal->data 0xC0000002
length: 1843200 offset: 1843200 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x72f8b000.
Importing DMABUF 8 into VCSM...
...done. vcsm_handle 81920
Exported buffer 1 to dmabuf 8, vcsm handle 81920
Linking V4L2 buffer index 1 ptr 0x11e3128 to MMAL header 0x11e1298. mmal->data 0xC0000003
length: 1843200 offset: 3686400 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x72dc9000.
Importing DMABUF 9 into VCSM...
...done. vcsm_handle 86016
Exported buffer 2 to dmabuf 9, vcsm handle 86016
Linking V4L2 buffer index 2 ptr 0x11e3198 to MMAL header 0x11e1470. mmal->data 0xC0000004
length: 1843200 offset: 5529600 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0x72c07000.
Importing DMABUF 10 into VCSM...
...done. vcsm_handle 90112
Exported buffer 3 to dmabuf 10, vcsm handle 90112
Linking V4L2 buffer index 3 ptr 0x11e3208 to MMAL header 0x11e1648. mmal->data 0xC0000005
length: 1843200 offset: 7372800 timestamp type/source: mono/EoF
Buffer 4/0 mapped at address 0x72a45000.
Importing DMABUF 11 into VCSM...
...done. vcsm_handle 94208
Exported buffer 4 to dmabuf 11, vcsm handle 94208
Linking V4L2 buffer index 4 ptr 0x11e3278 to MMAL header 0x11e1820. mmal->data 0xC0000006
length: 1843200 offset: 9216000 timestamp type/source: mono/EoF
Buffer 5/0 mapped at address 0x72883000.
Importing DMABUF 12 into VCSM...
...done. vcsm_handle 98304
Exported buffer 5 to dmabuf 12, vcsm handle 98304
Linking V4L2 buffer index 5 ptr 0x11e32e8 to MMAL header 0x11e19f8. mmal->data 0xC0000007
0 (0) [-] none 0 1843200 B 202.913365 202.914643 -16949.153 fps ts mono/EoF
1 (1) [-] none 1 1843200 B 202.914655 202.934642 775.194 fps ts mono/EoF
2 (2) [-] none 2 1843200 B 202.934655 202.954682 50.000 fps ts mono/EoF
3 (3) [-] none 3 1843200 B 202.954661 202.974640 49.985 fps ts mono/EoF
4 (4) [-] none 4 1843200 B 202.974656 202.994640 50.013 fps ts mono/EoF
5 (5) [-] none 5 1843200 B 202.994655 203.014639 50.003 fps ts mono/EoF
6 (0) [-] none 6 1843200 B 203.014656 203.034637 49.998 fps ts mono/EoF
7 (1) [-] none 7 1843200 B 203.034656 203.054671 50.000 fps ts mono/EoF
8 (2) [-] none 8 1843200 B 203.054656 203.074640 50.000 fps ts mono/EoF
9 (3) [-] none 9 1843200 B 203.074656 203.094640 50.000 fps ts mono/EoF
================== < OUTPUT OMITTED >=========================
9999 (3) [-] none 9999 1843200 B 405.794913 405.814925 50.000 fps ts mono/EoF
Captured 10000 frames in 202.901501 seconds (49.284998 fps, 6171126.427712 B/s).
Total number of frames dropped 3
Releasing vcsm handle 77824
Closing dma_buf 6
Releasing vcsm handle 81920
Closing dma_buf 8
Releasing vcsm handle 86016
Closing dma_buf 9
Releasing vcsm handle 90112
Closing dma_buf 10
Releasing vcsm handle 94208
Closing dma_buf 11
Releasing vcsm handle 98304
Closing dma_buf 12
6 buffers released.
Output to STDERR is empty.
When disconnect B100 and connect "cheap board" (on powered-down PI, of course

) I got strange random behavior:
1.Sometimes it shows partial video (top-left corner, 640x480), few frames and then freezes.
2.Sometimes it shows "garbage" and also freezes.
Logs of "abnormal" execution:
Code: Select all
CTA-861 Header
IT Formats Underscanned: yes
Audio: yes
YCbCr 4:4:4: no
YCbCr 4:2:2: no
HDMI Vendor-Specific Data Block
Physical Address: 3.0.0.0
YCbCr 4:4:4 Deep Color: no
30-bit: no
36-bit: no
48-bit: no
CTA-861 Video Capability Descriptor
RGB Quantization Range: yes
YCC Quantization Range: no
PT: Supports both over- and underscan
IT: Supports both over- and underscan
CE: Supports both over- and underscan
Device /dev/video0 opened.
Device `unicam' on `platform:unicam 3f801000.csi1' (driver 'unicam') is a video capture (without mplanes) device.
stride is 0
stride is now 1280
Video format set: UYVY (59565955) 640x480 (stride 1280) field none buffer size 614400
Video format: UYVY (59565955) 640x480 (stride 1280) field none buffer size 614400
Unable to get frame rate: Inappropriate ioctl for device (25).
vc.ril.isp:in:0(UYVY)(0x6e1d20)type: video, fourcc: UYVY bitrate: 0, framed: 0 extra data: 0, (nil) width: 640, height: 480, (0,0,640,480) pixel aspect ratio: 0/0, frame rate: 0/0
buffers num: 6(opt 1, min 1), size: 614400(opt 614400, min: 614400), align: 0
Created pool of length 6, size 0
Create pool of 3 buffers of size 0 for render
Create pool of 3 buffers of size 460800 for encode/render
6 buffers requested, V4L2 returned 6 bufs.
length: 614400 offset: 0 timestamp type/source: mono/EoF
Buffer 0/0 mapped at address 0x738bf000.
Importing DMABUF 6 into VCSM...
...done. vcsm_handle 28672
Exported buffer 0 to dmabuf 6, vcsm handle 28672
Linking V4L2 buffer index 0 ptr 0x6e80b8 to MMAL header 0x6e60c0. mmal->data 0xC0000002
length: 614400 offset: 614400 timestamp type/source: mono/EoF
Buffer 1/0 mapped at address 0x73829000.
Importing DMABUF 8 into VCSM...
...done. vcsm_handle 32768
Exported buffer 1 to dmabuf 8, vcsm handle 32768
Linking V4L2 buffer index 1 ptr 0x6e8128 to MMAL header 0x6e6298. mmal->data 0xC0000003
length: 614400 offset: 1228800 timestamp type/source: mono/EoF
Buffer 2/0 mapped at address 0x73793000.
Importing DMABUF 9 into VCSM...
...done. vcsm_handle 36864
Exported buffer 2 to dmabuf 9, vcsm handle 36864
Linking V4L2 buffer index 2 ptr 0x6e8198 to MMAL header 0x6e6470. mmal->data 0xC0000004
length: 614400 offset: 1843200 timestamp type/source: mono/EoF
Buffer 3/0 mapped at address 0x736fd000.
Importing DMABUF 10 into VCSM...
...done. vcsm_handle 40960
Exported buffer 3 to dmabuf 10, vcsm handle 40960
Linking V4L2 buffer index 3 ptr 0x6e8208 to MMAL header 0x6e6648. mmal->data 0xC0000005
length: 614400 offset: 2457600 timestamp type/source: mono/EoF
Buffer 4/0 mapped at address 0x73667000.
Importing DMABUF 11 into VCSM...
...done. vcsm_handle 45056
Exported buffer 4 to dmabuf 11, vcsm handle 45056
Linking V4L2 buffer index 4 ptr 0x6e8278 to MMAL header 0x6e6820. mmal->data 0xC0000006
length: 614400 offset: 3072000 timestamp type/source: mono/EoF
Buffer 5/0 mapped at address 0x735d1000.
Importing DMABUF 12 into VCSM...
...done. vcsm_handle 49152
Exported buffer 5 to dmabuf 12, vcsm handle 49152
Linking V4L2 buffer index 5 ptr 0x6e82e8 to MMAL header 0x6e69f8. mmal->data 0xC0000007
0 (0) [-] none 0 614400 B 138.427036 145.683790 -16666.667 fps ts mono/EoF
1 (1) [-] none 1 614400 B 145.683782 145.703771 0.138 fps ts mono/EoF
DROPPED FRAME - 0 and 7256746, delta 7256746
2 (2) [-] none 2 614400 B 145.703782 145.723787 50.000 fps ts mono/EoF
3 (3) [-] none 3 614400 B 145.723782 145.743767 50.000 fps ts mono/EoF
4 (4) [-] none 4 614400 B 145.743783 145.763800 49.998 fps ts mono/EoF
5 (5) [-] none 5 614400 B 145.763783 145.783767 50.000 fps ts mono/EoF
6 (0) [-] none 6 614400 B 145.783783 145.803780 50.000 fps ts mono/EoF
7 (1) [-] none 7 614400 B 145.803784 145.823768 49.998 fps ts mono/EoF
8 (2) [-] none 8 614400 B 145.823784 145.843768 50.000 fps ts mono/EoF
9 (3) [-] none 9 614400 B 145.843784 145.863797 50.000 fps ts mono/EoF
10 (4) [-] none 10 614400 B 145.863785 145.883781 49.998 fps ts mono/EoF
11 (5) [-] none 11 614400 B 145.883785 145.903782 50.000 fps ts mono/EoF
12 (0) [-] none 12 614400 B 145.903785 145.923770 50.000 fps ts mono/EoF
13 (1) [-] none 13 614400 B 145.923785 145.929529 50.000 fps ts mono/EoF
On STDERR:
Code: Select all
Exception
Source changed
Unmapped all buffers
Source changed
Unmapped all buffers
Does anybody have an idea why this happens?
Also please note, that when I disable overlay and run
raspivid with proprietary driver in
/boot/start_x.elf I get normal video with "cheap" board without any problem (and without sound

non-v4l2 driver doesn't support sound.
Dear
6by9, please give us your respectable opinion!
P.S. Some similar log I found here:
viewtopic.php?f=38&t=218138
There
6by9 says that
It sounds like the source isn't finding a mode that it likes.
I'm not sure if this is my case, as with the same EDID my original B100 works fine.
Video that demonstrates my problem:
https://youtu.be/LthGH5Y9F0g
Normal picture (using B100) from the same source:
