Hi,
I’m facing an issue during playback of a camera stream on Jetson Nano when all 3 camera’s are added in single devicetree. All three cameras are of the same make and are connected on CSI-A(i.e I2C Chip Address: 0x33), CSI-C(i.e I2C Chip Address: 0x32) and CSI-E(i.e I2C Chip Address: 0x31) of Jetson Nano.
Just an FYI, I’m using baseboard(Antmicro · Open Source Jetson Baseboard) with Jetson Nano 4GB SOM.
When I make a separate devicetree’s for individual camera(i.e add only one camera configuration in devicetree), I’m able to view camera stream using the following GStreamer pipeline,
gst-launch-1.0 -v nvarguscamerasrc sensor-id=0 num-buffers=10000 ! ‘video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1’ ! nvvidconv ! queue ! nvoverlaysink
GStreamer console output:
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
/GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1
/GstPipeline:pipeline0/GstNvOverlaySink-nvoverlaysink:nvoverlaysink-nvoverlaysink0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 800 x 800 FR = 59.999999 fps Duration = 16666667 ; Analog Gain range min 1.000000, max 16.000000; Exposure Range min 34000, max 550385000;
GST_ARGUS: Running with following settings:
Camera index = 0
Camera mode = 0
Output Stream W = 800 H = 800
seconds to Run = 0
Frame Rate = 59.999999
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:29.296695116
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
GST_ARGUS: Cleaning up
CONSUMER: Done Success
GST_ARGUS: Done Success
Setting pipeline to NULL ...
Freeing pipeline ...
Following is the dmesg output for reference:
# During bootup of board
[ 114.883971] omcam 30-0032: 03Jan2022 omcam build
[ 114.883981] omcam 30-0032: probing omcam v4l2 sensor
[ 114.883990] omcam 30-0032: registering omcam !!
[ 114.884162] omcam 30-0032: omcam_parse_dt:
[ 114.884191] omcam 30-0032: got the clock
[ 114.884342] omcam 30-0032: tegracam sensor driver:omcam_v2.0.6
[ 114.884350] omcam 30-0032: omcam registered device!
[ 114.884357] omcam 30-0032: omcam_board_setup++
[ 114.884402] omcam 30-0032: omcam_power_on: power on
[ 114.886522] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 114.892012] omcam 30-0032: probe 1
[ 114.897907] omcam 30-0032: probe 2
[ 114.897913] omcam 30-0032: omcam_board_setup: sensor model id: 56 1 41
[ 114.897916] omcam 30-0032: omcam_power_off: power off
[ 114.897944] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 114.897963] omcam 30-0032: omcam board set up done!
[ 114.898005] vi 54080000.vi: subdev omcam 30-0032 bound
[ 114.899021] omcam 30-0032: Detected omcam sensor
[ 114.910647] omcam 30-0032: omcam_power_on: power on
[ 114.912691] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 116.949265] omcam 30-0032: omcam_set_mode [mode_800x800]:
[ 116.949339] omcam 30-0032: omcam_start_streaming
[ 116.962463] omcam 30-0032: omcam_stop_streaming:
[ 116.962505] omcam 30-0032: omcam_power_off: power off
[ 116.962606] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 116.963350] omcam 30-0032: omcam_power_on: power on
[ 116.965476] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 116.968328] omcam 30-0032: omcam_power_off: power off
[ 116.968437] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
# After gstreamer command: gst-launch-1.0 -v nvarguscamerasrc sensor-id=0 num-buffers=10000 ! 'video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1' ! nvvidconv ! queue ! nvoverlaysink
[ 512.770173] omcam 30-0032: omcam_power_on: power on
[ 512.772208] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 514.847317] omcam 30-0032: omcam_set_mode [mode_800x800]:
[ 514.847444] omcam 30-0032: omcam_start_streaming
[ 514.858477] omcam 30-0032: omcam_stop_streaming:
[ 514.858496] omcam 30-0032: omcam_power_off: power off
[ 514.858529] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 514.858695] omcam 30-0032: omcam_power_on: power on
[ 514.860781] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 514.863142] omcam 30-0032: omcam_power_off: power off
[ 514.863222] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 515.410623] omcam 30-0032: omcam_power_on: power on
[ 515.412659] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 517.509310] omcam 30-0032: omcam_set_mode [mode_800x800]:
[ 517.509342] omcam 30-0032: omcam_start_streaming
[ 517.521249] omcam 30-0032: omcam_stop_streaming:
[ 517.521268] omcam 30-0032: omcam_power_off: power off
[ 517.521303] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 517.521467] omcam 30-0032: omcam_power_on: power on
[ 517.523843] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 517.526561] omcam 30-0032: omcam_power_off: power off
[ 517.526662] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 517.532815] omcam 30-0032: omcam_power_on: power on
[ 517.534905] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 517.537071] omcam 30-0032: omcam_power_off: power off
[ 517.537095] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 517.562772] omcam 30-0032: omcam_power_on: power on
[ 517.564885] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 517.566944] omcam 30-0032: omcam_power_off: power off
[ 517.566973] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 517.567129] omcam 30-0032: omcam_power_on: power on
[ 517.569196] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 517.571545] omcam 30-0032: omcam_power_off: power off
[ 517.571607] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 517.572023] omcam 30-0032: omcam_power_on: power on
[ 517.574120] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 517.576227] omcam 30-0032: omcam_power_off: power off
[ 517.576249] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 517.958726] omcam 30-0032: omcam_power_on: power on
[ 517.960786] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 520.028754] omcam 30-0032: omcam_set_mode [mode_800x800]:
[ 520.028805] omcam 30-0032: omcam_start_streaming
[ 539.148881] omcam 30-0032: omcam_stop_streaming:
[ 539.155553] omcam 30-0032: omcam_power_off: power off
[ 539.155603] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
I’ve attached devicetree(32-tegra210-camera-omcam-b00.dtsi & 32-tegra210-porg-camera-omcam-b00.dtsi) files and driver(omcam.c) source file for reference
Now this is the part where playback doesn’t work
If I add all 3 cameras in single devicetree, I’m able to list all 3 cameras
i.e /dev/video0, /dev/video1, /dev/video2 which is good,
But I’m unable to play camera stream using the following gstreamer pipeline using sensor-id 0, 1 or 2,
gst-launch-1.0 -v nvarguscamerasrc sensor-id=0 num-buffers=10000 ! ‘video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1’ ! nvvidconv ! queue ! nvoverlaysink
GStreamer console output:
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:725 No cameras available
/GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:src: caps = video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1
/GstPipeline:pipeline0/GstQueue:queue0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1
/GstPipeline:pipeline0/Gstnvvconv:nvvconv0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1
/GstPipeline:pipeline0/GstNvOverlaySink-nvoverlaysink:nvoverlaysink-nvoverlaysink0.GstPad:sink: caps = video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1
Got EOS from element "pipeline0".
Execution ended after 0:00:00.002237381
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
(Argus) Error EndOfFile: Unexpected error in reading socket (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 266)
(Argus) Error EndOfFile: Receive worker failure, notifying 1 waiting threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 340)
(Argus) Error InvalidState: Argus client is exiting with 1 outstanding client threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 357)
(Argus) Error EndOfFile: Receiving thread terminated with error (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadWrapper(), line 368)
(Argus) Error EndOfFile: Client thread received an error from socket (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 145)
(Argus) Error EndOfFile: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)
But I’m able to capture raw frame from all 3 cameras(video0, video1, video2) using the following command:
v4l2-ctl --set-fmt-video=width=800,height=800,pixelformat=BG10 --set-ctrl bypass_mode=0 --stream-skip=20 --stream-mmap --stream-count=1 -d /dev/video0 --stream-to=omcamFrame.raw
Here is the dmesg output,
# Bootup
[ 121.072843] omcam 30-0031: 03Jan2022 omcam build
[ 121.072848] omcam 30-0031: probing omcam v4l2 sensor
[ 121.072853] omcam 30-0031: registering omcam !!
[ 121.072973] omcam 30-0031: omcam_parse_dt:
[ 121.072990] omcam 30-0031: got the clock
[ 121.073074] omcam 30-0031: tegracam sensor driver:omcam_v2.0.6
[ 121.073079] omcam 30-0031: omcam registered device!
[ 121.073083] omcam 30-0031: omcam_board_setup++
[ 121.073118] omcam 30-0031: omcam_power_on: power on
[ 121.075164] omcam 30-0031: omcam_power_on: Power ON GPIO 1
[ 121.080472] omcam 30-0031: probe 1
[ 121.085832] omcam 30-0031: probe 2
[ 121.085838] omcam 30-0031: omcam_board_setup: sensor model id: 56 1 41
[ 121.085842] omcam 30-0031: omcam_power_off: power off
[ 121.085873] omcam 30-0031: omcam_power_off: Power OFF GPIO 0
[ 121.085893] omcam 30-0031: omcam board set up done!
[ 121.085936] vi 54080000.vi: subdev omcam 30-0031 bound
[ 121.087153] omcam 30-0031: Detected omcam sensor
[ 121.087230] omcam 30-0032: 03Jan2022 omcam build
[ 121.087234] omcam 30-0032: probing omcam v4l2 sensor
[ 121.087237] omcam 30-0032: registering omcam !!
[ 121.087317] omcam 30-0032: omcam_parse_dt:
[ 121.087332] omcam 30-0032: got the clock
[ 121.087405] omcam 30-0032: tegracam sensor driver:omcam_v2.0.6
[ 121.087408] omcam 30-0032: omcam registered device!
[ 121.087412] omcam 30-0032: omcam_board_setup++
[ 121.087442] omcam 30-0032: omcam_power_on: power on
[ 121.090238] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 121.094848] omcam 30-0032: probe 1
[ 121.095794] omcam 30-0031: omcam_power_on: power on
[ 121.096930] omcam 30-0032: probe 2
[ 121.096937] omcam 30-0032: omcam_board_setup: sensor model id: 56 1 41
[ 121.096941] omcam 30-0032: omcam_power_off: power off
[ 121.097027] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 121.097034] omcam 30-0032: omcam board set up done!
[ 121.097073] vi 54080000.vi: subdev omcam 30-0032 bound
[ 121.097990] omcam 30-0031: omcam_power_on: Power ON GPIO 1
[ 121.098268] omcam 30-0032: Detected omcam sensor
[ 121.098350] omcam 30-0033: 03Jan2022 omcam build
[ 121.098353] omcam 30-0033: probing omcam v4l2 sensor
[ 121.098356] omcam 30-0033: registering omcam !!
[ 121.098428] omcam 30-0033: omcam_parse_dt:
[ 121.098442] omcam 30-0033: got the clock
[ 121.098512] omcam 30-0033: tegracam sensor driver:omcam_v2.0.6
[ 121.098515] omcam 30-0033: omcam registered device!
[ 121.098519] omcam 30-0033: omcam_board_setup++
[ 121.098526] omcam 30-0033: omcam_power_on: power on
[ 121.100575] omcam 30-0033: omcam_power_on: Power ON GPIO 1
[ 121.102866] omcam 30-0032: omcam_power_on: power on
[ 121.103695] omcam 30-0033: probe 1
[ 121.104964] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 121.105859] omcam 30-0033: probe 2
[ 121.105864] omcam 30-0033: omcam_board_setup: sensor model id: 56 1 41
[ 121.105868] omcam 30-0033: omcam_power_off: power off
[ 121.105892] omcam 30-0033: omcam_power_off: Power OFF GPIO 0
[ 121.105898] omcam 30-0033: omcam board set up done!
[ 121.105936] vi 54080000.vi: subdev omcam 30-0033 bound
[ 121.106498] omcam 30-0033: Detected omcam sensor
[ 121.110108] omcam 30-0032: omcam_power_off: power off
[ 121.113759] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 121.114140] omcam 30-0033: omcam_power_on: power on
[ 121.116175] omcam 30-0033: omcam_power_on: Power ON GPIO 1
[ 121.118382] omcam 30-0033: omcam_power_off: power off
[ 121.118406] omcam 30-0033: omcam_power_off: Power OFF GPIO 0
[ 123.123257] omcam 30-0031: omcam_set_mode [mode_800x800]:
[ 123.123286] omcam 30-0031: omcam_start_streaming
[ 123.137310] omcam 30-0031: omcam_stop_streaming:
[ 123.137342] omcam 30-0031: omcam_power_off: power off
[ 123.137412] omcam 30-0031: omcam_power_off: Power OFF GPIO 0
[ 123.137880] omcam 30-0032: omcam_power_on: power on
[ 123.139983] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 125.151448] omcam 30-0032: omcam_set_mode [mode_800x800]:
[ 125.151520] omcam 30-0032: omcam_start_streaming
[ 125.163909] omcam 30-0032: omcam_stop_streaming:
[ 125.163932] omcam 30-0032: omcam_power_off: power off
[ 125.163981] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 125.164174] omcam 30-0033: omcam_power_on: power on
[ 125.166289] omcam 30-0033: omcam_power_on: Power ON GPIO 1
[ 127.162531] omcam 30-0033: omcam_set_mode [mode_800x800]:
[ 127.162568] omcam 30-0033: omcam_start_streaming
[ 127.173782] omcam 30-0033: omcam_stop_streaming:
[ 127.173810] omcam 30-0033: omcam_power_off: power off
[ 127.173880] omcam 30-0033: omcam_power_off: Power OFF GPIO 0
[ 127.174162] omcam 30-0031: omcam_power_on: power on
[ 127.176239] omcam 30-0031: omcam_power_on: Power ON GPIO 1
[ 127.179458] omcam 30-0031: omcam_power_off: power off
[ 127.179647] omcam 30-0031: omcam_power_off: Power OFF GPIO 0
# Run GStreamer pipeline: gst-launch-1.0 -v nvarguscamerasrc sensor-id=0 num-buffers=10000 ! 'video/x-raw(memory:NVMM), width=(int)800, height=(int)800, format=(string)NV12, framerate=(fraction)60/1' ! nvvidconv ! queue ! nvoverlaysink
[ 236.671212] omcam 30-0031: omcam_power_on: power on
[ 236.673244] omcam 30-0031: omcam_power_on: Power ON GPIO 1
[ 238.660364] omcam 30-0031: omcam_set_mode [mode_800x800]:
[ 238.660393] omcam 30-0031: omcam_start_streaming
[ 238.670582] omcam 30-0031: omcam_stop_streaming:
[ 238.670624] omcam 30-0031: omcam_power_off: power off
[ 238.670781] omcam 30-0031: omcam_power_off: Power OFF GPIO 0
[ 238.671099] omcam 30-0032: omcam_power_on: power on
[ 238.673181] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 240.668955] omcam 30-0032: omcam_set_mode [mode_800x800]:
[ 240.668984] omcam 30-0032: omcam_start_streaming
[ 240.679085] omcam 30-0032: omcam_stop_streaming:
[ 240.679109] omcam 30-0032: omcam_power_off: power off
[ 240.679155] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 240.679393] omcam 30-0033: omcam_power_on: power on
[ 240.681469] omcam 30-0033: omcam_power_on: Power ON GPIO 1
[ 242.671443] omcam 30-0033: omcam_set_mode [mode_800x800]:
[ 242.671517] omcam 30-0033: omcam_start_streaming
[ 242.681987] omcam 30-0033: omcam_stop_streaming:
[ 242.682009] omcam 30-0033: omcam_power_off: power off
[ 242.682054] omcam 30-0033: omcam_power_off: Power OFF GPIO 0
[ 242.682251] omcam 30-0031: omcam_power_on: power on
[ 242.684382] omcam 30-0031: omcam_power_on: Power ON GPIO 1
[ 242.687509] omcam 30-0031: omcam_power_off: power off
[ 242.687579] omcam 30-0031: omcam_power_off: Power OFF GPIO 0
[ 242.688029] omcam 30-0032: omcam_power_on: power on
[ 242.690239] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 242.692903] omcam 30-0032: omcam_power_off: power off
[ 242.692974] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 242.693329] omcam 30-0033: omcam_power_on: power on
[ 242.695383] omcam 30-0033: omcam_power_on: Power ON GPIO 1
[ 242.697597] omcam 30-0033: omcam_power_off: power off
[ 242.697642] omcam 30-0033: omcam_power_off: Power OFF GPIO 0
[ 243.261234] omcam 30-0031: omcam_power_on: power on
[ 243.263269] omcam 30-0031: omcam_power_on: Power ON GPIO 1
[ 245.289122] omcam 30-0031: omcam_set_mode [mode_800x800]:
[ 245.289154] omcam 30-0031: omcam_start_streaming
[ 245.301470] omcam 30-0031: omcam_stop_streaming:
[ 245.301485] omcam 30-0031: omcam_power_off: power off
[ 245.301513] omcam 30-0031: omcam_power_off: Power OFF GPIO 0
[ 245.301650] omcam 30-0032: omcam_power_on: power on
[ 245.306925] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 247.355211] omcam 30-0032: omcam_set_mode [mode_800x800]:
[ 247.355245] omcam 30-0032: omcam_start_streaming
[ 247.366883] omcam 30-0032: omcam_stop_streaming:
[ 247.366897] omcam 30-0032: omcam_power_off: power off
[ 247.366959] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 247.367161] omcam 30-0033: omcam_power_on: power on
[ 247.369226] omcam 30-0033: omcam_power_on: Power ON GPIO 1
[ 249.393712] omcam 30-0033: omcam_set_mode [mode_800x800]:
[ 249.393741] omcam 30-0033: omcam_start_streaming
[ 249.405322] omcam 30-0033: omcam_stop_streaming:
[ 249.405352] omcam 30-0033: omcam_power_off: power off
[ 249.405415] omcam 30-0033: omcam_power_off: Power OFF GPIO 0
[ 249.405704] omcam 30-0031: omcam_power_on: power on
[ 249.407829] omcam 30-0031: omcam_power_on: Power ON GPIO 1
[ 249.410959] omcam 30-0031: omcam_power_off: power off
[ 249.411031] omcam 30-0031: omcam_power_off: Power OFF GPIO 0
[ 249.411692] omcam 30-0032: omcam_power_on: power on
[ 249.413909] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 249.416233] omcam 30-0032: omcam_power_off: power off
[ 249.416304] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 249.416686] omcam 30-0033: omcam_power_on: power on
[ 249.418893] omcam 30-0033: omcam_power_on: Power ON GPIO 1
[ 249.421086] omcam 30-0033: omcam_power_off: power off
[ 249.421126] omcam 30-0033: omcam_power_off: Power OFF GPIO 0
[ 249.425034] omcam 30-0031: omcam_power_on: power on
[ 249.427066] omcam 30-0031: omcam_power_on: Power ON GPIO 1
[ 249.429204] omcam 30-0031: omcam_power_off: power off
[ 249.429221] omcam 30-0031: omcam_power_off: Power OFF GPIO 0
[ 249.429358] omcam 30-0032: omcam_power_on: power on
[ 249.431408] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 249.433756] omcam 30-0032: omcam_power_off: power off
[ 249.433807] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 249.434112] omcam 30-0033: omcam_power_on: power on
[ 249.436154] omcam 30-0033: omcam_power_on: Power ON GPIO 1
[ 249.438363] omcam 30-0033: omcam_power_off: power off
[ 249.438392] omcam 30-0033: omcam_power_off: Power OFF GPIO 0
[ 249.461570] omcam 30-0033: omcam_power_on: power on
[ 249.463662] omcam 30-0033: omcam_power_on: Power ON GPIO 1
[ 249.465724] omcam 30-0033: omcam_power_off: power off
[ 249.465744] omcam 30-0033: omcam_power_off: Power OFF GPIO 0
[ 249.465903] omcam 30-0032: omcam_power_on: power on
[ 249.467963] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 249.470160] omcam 30-0032: omcam_power_off: power off
[ 249.470207] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 249.470514] omcam 30-0031: omcam_power_on: power on
[ 249.472556] omcam 30-0031: omcam_power_on: Power ON GPIO 1
[ 249.474739] omcam 30-0031: omcam_power_off: power off
[ 249.474803] omcam 30-0031: omcam_power_off: Power OFF GPIO 0
[ 249.474941] omcam 30-0031: omcam_power_on: power on
[ 249.477025] omcam 30-0031: omcam_power_on: Power ON GPIO 1
[ 249.479208] omcam 30-0031: omcam_power_off: power off
[ 249.479234] omcam 30-0031: omcam_power_off: Power OFF GPIO 0
[ 249.479417] omcam 30-0031: omcam_power_on: power on
[ 249.481509] omcam 30-0031: omcam_power_on: Power ON GPIO 1
[ 249.483635] omcam 30-0031: omcam_power_off: power off
[ 249.483662] omcam 30-0031: omcam_power_off: Power OFF GPIO 0
# command able to capture frame: v4l2-ctl --set-fmt-video=width=800,height=800,pixelformat=BG10 --set-ctrl bypass_mode=0 --stream-skip=20 --stream-mmap --stream-count=1 -d /dev/video0 --stream-to=omcamFrame.raw
[ 1378.918826] omcam 30-0031: omcam_power_on: power on
[ 1378.920935] omcam 30-0031: omcam_power_on: Power ON GPIO 1
[ 1380.975319] omcam 30-0031: omcam_set_mode [mode_800x800]:
[ 1380.975357] omcam 30-0031: omcam_start_streaming
[ 1380.984987] omcam 30-0031: omcam_stop_streaming:
[ 1380.985014] omcam 30-0031: omcam_power_off: power off
[ 1380.985053] omcam 30-0031: omcam_power_off: Power OFF GPIO 0
[ 1380.985295] omcam 30-0032: omcam_power_on: power on
[ 1380.987377] omcam 30-0032: omcam_power_on: Power ON GPIO 1
[ 1383.047858] omcam 30-0032: omcam_set_mode [mode_800x800]:
[ 1383.047887] omcam 30-0032: omcam_start_streaming
[ 1383.060426] omcam 30-0032: omcam_stop_streaming:
[ 1383.060454] omcam 30-0032: omcam_power_off: power off
[ 1383.060517] omcam 30-0032: omcam_power_off: Power OFF GPIO 0
[ 1383.060779] omcam 30-0033: omcam_power_on: power on
[ 1383.062941] omcam 30-0033: omcam_power_on: Power ON GPIO 1
[ 1385.114706] omcam 30-0033: omcam_set_mode [mode_800x800]:
[ 1385.114735] omcam 30-0033: omcam_start_streaming
[ 1385.125350] omcam 30-0033: omcam_stop_streaming:
[ 1385.125368] omcam 30-0033: omcam_power_off: power off
[ 1385.125410] omcam 30-0033: omcam_power_off: Power OFF GPIO 0
[ 1385.125608] omcam 30-0031: omcam_power_on: power on
[ 1385.127699] omcam 30-0031: omcam_power_on: Power ON GPIO 1
[ 1387.186196] omcam 30-0031: omcam_set_mode [mode_800x800]:
[ 1387.186480] omcam 30-0031: omcam_start_streaming
[ 1387.592704] omcam 30-0031: omcam_stop_streaming:
[ 1387.605254] omcam 30-0031: omcam_power_off: power off
[ 1387.605545] omcam 30-0031: omcam_power_off: Power OFF GPIO 0
I’ve also attached devicetree(all-tegra210-camera-omcam-b00.dtsi & all-tegra210-porg-camera-omcam-b00.dtsi) for reference.
Note: I noticed in dmesg, when I try to play camera stream or capture frame, all 3 cameras are iterated at 1st and then finally the expected camera is again intiailized and frame is captured.
Don’t know the reason why initially all 3 camera’s are initialized.
Could you please provide me some pointers on where I’m going wrong in this, as I’m in bit confused on why I’m unable to play camera stream, but I’m able capture frame.
Any help on this is much appreciated.
Thanks
32-tegra210-camera-omcam-b00.dtsi (5.5 KB)
32-tegra210-porg-camera-omcam-b00.dtsi (2.0 KB)
all-tegra210-camera-omcam-b00.dtsi (11.4 KB)
all-tegra210-porg-camera-omcam-b00.dtsi (2.7 KB)
omcam.c (22.8 KB)