OV5963 driver detail

Hi,

I am wanting to use 2 x OV5647 cameras on my Xavier CSI break out board, because I need lightweight cameras for my active stereo steerable camera system on our humanoid robot football robot.

I suspect that I need the source of the OV5963 driver to do a good job on the adaptation, but I wonder if any one has some advice?

I am thinking of contacting Omnivision, since I have obtained drivers from them in the past.

Any support most welcome!

regards

Phil

hello pculverhouse,

referring to ov5693 would be helpful if you’re going to have implementation of ov5647 camera driver.
in addition, you could also contact our Jetson Preferred Partner for camera solutions.
thanks

Thanks, I have contacted a couple of your suppliers. An issue is that I have no major funding to continue the development of our humanoid robot football robot, calle Scott. We are an impecunious university department and this is being done to teach students how to use high performance embedded processors, such as the Xavier, in real time robots.

All your suppliers charge serious amount of money for their services. This is fine for industrial and commercial applications. But not for us.

regards

Phil

hello pculverhouse,

may I know what’s the major purpose to choose a bayer sensor (ov5647) for your system.
could you please share your use-case in detail. let’s check if we could have any alternative ways.
thanks

Hi Jerry,

Well its because its low cost and we can buy two of them for little money. Check out https://www.plymouth.ac.uk/research/robotics-neural-systems/plymouth-owl.

We have been competing in international robotics championships (RoboCup and FIRA) since 2007 on kid-size robots. But they are too small to have any serious processing inside them for vision work. We have been developing a teen-sized robot, Scott, since 2016 but progress is slow. Check out https://www.facebook.com/pages/category/College---University/University-of-Plymouth-Robot-Football-148285347160.

We are re-engineering the control systems, and using a Xavier for the vision processing (I managed to get the dept. to buy one). The head is a re-engineered OWL head with agile steerable stereo cameras. We use these for teaching (module code AINT308), and expose students to depth by vergence and also by disparity using the OWL within OpenCV. Also they implement the Itti & Koch saccadic eye motion model for salience, a cognitive psychological model. In this way I go some way to prepare them for a future in computer vision with autonomous robots. This is after they have been given a grounding in OpenCV.

We are adopting the salience model to control the stereo eyes of the Scott robot during a robot football match, to guide the VGA or HD resolution cameras to pan and tilt over a 300 degree neck rotate, and generate a visual map of the scene. We plan to use saccades to update this map. This will be the basis of our executive control unit in the robot, to allow the robot to generate and update its SLAM map of the pitch, the ball and the players.

In addition, we want to implement smooth pursuit for the eyes to allow us to track a ball. This involves a complex set of decisions to change the tracking mode from target tracking using an optical flow field, to vergence tracking and perhaps also disparity depth analysis and Kalman filtering to follow the ball. This will feed into the decision making processes to allow the robot to react to the ball.

The cameras can be run at 90fps with VGA, but the ov5647 has a serious shortcoming of a rolling shutter. But we have to live with that. I already have signed an NDA with Omnivision (some years back) for the full camera datasheet. So we are in a good position to develop a driver for it.

We are using the cameras from Adafruit (the spy camera version) that are very lightweight units. This means that we can shift them using high speed servos at about the same rate as humans can (we can do 450 deg per second, humans at their fastest 900 deg /s), which is fine for normal tracking purposes.

In tests using stereo disparity examples from Visionworks and OpenCV 4 I can get the Xavier processor to run at 100fps on the disparity calculations, and from the OWL stereo cameras (fed from a Pi doing the camera streaming via MJPEG and VideoCapture API in OpenCV on the Xavier host) at 20fps.

So I have an expectation that by placing the cameras on the Samtec CSI2 interface of the Xavier, and installing a V4L2 driver I should be able to get 80fps from the stereo camera pair. This might then be fast enough to mitigate the rolling shutter for my robot football application. We already have a vision processing tree from our kid-sized robots that we need to port and update to the Xavier.

We are getting the hard stuff done, camera interface etc., done first, then students can get involved in the easier stuff (Kalman filtering, optic flow, SLAM etc.), and take the robots to competition.

Sorry that was rather long!!

regards

Phil

hello pculverhouse,

you could have sensor driver implementation by your own, suggest you check tutorials pages for the webinars,
please refer to [DEVELOPER TOOLS]-> [V4L2 Sensor Driver Development Tutorial] for details.

since we already release JetPack-4.2, https://developer.nvidia.com/embedded/jetpack
please working with our latest release, please access Jetson Download Center to download necessary packages.
here are sensor driver and device tree you could refer to.
/kernel/nvidia/drivers/media/i2c/ov5693.c
/hardware/nvidia/platform/t19x/common/kernel-dts/t19x-common-modules/tegra194-camera-e3326-a00.dtsi

please refer to Camera Software Development Solution to introduce camera software stack and sample applications to access camera sensors.
if you need more details for the sensor driver implementation, please refer to Sensor Driver Programming Guide for details.
thanks

Thanks Jerry,

That is really helpful.

I will let you know how we get on.

Regards

Phil

Hi Jerry,

I have run through the device setup instructions first, but need to raise an issue with you.

I have made a device called ov5647, that has a device driver ov5647.c and a device tree entry Xavier-uop-scott001-a00.dtsi

But I cannot see where the actual chip ID is referenced. This is the i2c address that the linux machine uses to access the chip registers through the i2c bus.

The camera chip I am using has an ID of 0x6C. I am looking for where to edit the ov5693 device entry in the v4l2 chain to change it to 0x54 (the ov5447 ID).

I appreciate that the ov5693 has the same chip ID as the ov5647 (ox6C) but the minor one is different. But, can you tell me where the chip ID is embedded in the V4l2 structure please, since we will not have a device eeprom on the camera daughter board. I just want to cover all bases.

Regards

Phil

hello pculverhouse,

I think you’re looking for i2c device address for your OV5447.
usually, you should right shift one bit to get software programming i2c address.
hence, 0x54 = shift right => 0x2A.
thanks

Duh, sorry. that one was obvious I guess!

Phil

Well, water under the bridge etc. the joys of teaching at Uni…

I have done all the changes /edits suggested. Followed the instructions and I am wanting to flash the kernel-dtb to try out my ov5647 camera driver.

I got this error, when trying to sign and encrypt the kernel-dtb

sudo ./flash.sh --no-flash -k kernel-dtb jetson-xavier mmcblk0p1

error: ./flash.sh: line 592: ./tegrarcm_v2: cannot execute binary file: Exec format error

flash.sh output is below

Any ideas what is wrong??

regards

Phil

###############################################################################

L4T BSP Information:

Unknown Release

###############################################################################
./flash.sh: line 592: ./tegrarcm_v2: cannot execute binary file: Exec format error
Board ID() version() sku() revision()
copying bctfile(/SSD500/SDK_4.2/JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-memcfg-p2888.cfg)… done.
copying bctfile1(/SSD500/SDK_4.2/JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-memcfg-sw-override.cfg)… done.
copying uphy_config(/SSD500/SDK_4.2/JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-uphy-lane-p2888-0000-p2822-0000.cfg)… done.
copying device_config(/SSD500/SDK_4.2/JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra/bootloader/t186ref/BCT/tegra19x-mb1-bct-device-sdmmc.cfg)… done.
copying misc_cold_boot_config(/SSD500/SDK_4.2/JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-misc-l4t.cfg)… done.
copying misc_config(/SSD500/SDK_4.2/JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-misc-flash.cfg)… done.
copying pinmux_config(/SSD500/SDK_4.2/JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra/bootloader/t186ref/BCT/tegra19x-mb1-pinmux-p2888-0000-a04-p2822-0000-b01.cfg)… done.
copying gpioint_config(/SSD500/SDK_4.2/JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-gpioint-p2888-0000-p2822-0000.cfg)… done.
copying pmic_config(/SSD500/SDK_4.2/JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-pmic-p2888-0001-a01-p2822-0000.cfg)… done.
copying pmc_config(/SSD500/SDK_4.2/JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra/bootloader/t186ref/BCT/tegra19x-mb1-padvoltage-p2888-0000-a00-p2822-0000-a00.cfg)… done.
copying prod_config(/SSD500/SDK_4.2/JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra/bootloader/t186ref/BCT/tegra19x-mb1-prod-p2888-0000-p2822-0000.cfg)… done.
copying scr_config(/SSD500/SDK_4.2/JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-scr-cbb-mini.cfg)… done.
copying scr_cold_boot_config(/SSD500/SDK_4.2/JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-scr-cbb-mini.cfg)… done.
copying bootrom_config(/SSD500/SDK_4.2/JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-mb1-bct-reset-p2888-0000-p2822-0000.cfg)… done.
copying dev_params(/SSD500/SDK_4.2/JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra/bootloader/t186ref/BCT/tegra194-br-bct-sdmmc.cfg)… done.
Existing bootloader(/SSD500/SDK_4.2/JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra/bootloader/nvtboot_cpu_t194.bin) reused.
Making Boot image… failed.

hello pculverhouse,

below messages seems not correct, may I know your environment setup in detail?

###############################################################################
# L4T BSP Information:
# Unknown Release
###############################################################################
./flash.sh: line 592: ./tegrarcm_v2: cannot execute binary file: Exec format error
Board ID() version() sku() revision()

you should read the BSP revision when perform the flash script.
for example,

###############################################################################
# L4T BSP Information:
# R32 (release), REVISION: 1.0, GCID: , BOARD: t186ref, EABI: aarch64, 
# DATE: Thu Mar 21 03:09:04 UTC 2019
###############################################################################

besides generate signed kerek-dtb file, how about use below commands to update dtb partition directly.

$ sudo ./flash.sh -k kernel-dtb jetson-xavier mmcblk0p1

Hi,

So, I have tried to find how to set the parameters you suggest, but I cannot see anywhere to define them.

My ENV settings are below. I am running native on my Xavier board.

I have just looked into the flash.sh and noticed that these parameters can be set from the command line.

I guess that is what I have to do?

Regards

Phil

##########################
CLUTTER_IM_MODULE=xim
LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.arc=01;31:.arj=01;31:.taz=01;31:.lha=01;31:.lz4=01;31:.lzh=01;31:.lzma=01;31:.tlz=01;31:.txz=01;31:.tzo=01;31:.t7z=01;31:.zip=01;31:.z=01;31:.Z=01;31:.dz=01;31:.gz=01;31:.lrz=01;31:.lz=01;31:.lzo=01;31:.xz=01;31:.zst=01;31:.tzst=01;31:.bz2=01;31:.bz=01;31:.tbz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.war=01;31:.ear=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.cab=01;31:.wim=01;31:.swm=01;31:.dwm=01;31:.esd=01;31:.jpg=01;35:.jpeg=01;35:.mjpg=01;35:.mjpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.emf=01;35:.ogv=01;35:.ogx=01;35:.aac=00;36:.au=00;36:.flac=00;36:.m4a=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.oga=00;36:.opus=00;36:.spx=00;36:.xspf=00;36:
LESSCLOSE=/usr/bin/lesspipe %s %s
XDG_MENU_PREFIX=gnome-
LANG=en_GB.UTF-8
MANAGERPID=6679
DISPLAY=:0
INVOCATION_ID=379f7b354891499c80991eba21c3b3a0
UNITY_DEFAULT_PROFILE=unity
COMPIZ_CONFIG_PROFILE=ubuntu
GTK_CSD=0
COLORTERM=truecolor
USERNAME=ed
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
USER=ed
DESKTOP_SESSION=unity
QT4_IM_MODULE=xim
TEXTDOMAINDIR=/usr/share/locale/
GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/6a36b2ce_16d0_4d48_b212_1e75b01ebd25
PWD=/home/ed
HOME=/home/ed
JOURNAL_STREAM=8:49433
TEXTDOMAIN=im-config
QT_ACCESSIBILITY=1
XDG_SESSION_TYPE=x11
COMPIZ_BIN_PATH=/usr/bin/
XDG_DATA_DIRS=/usr/share/unity:/usr/local/share:/usr/share:/var/lib/snapd/desktop
XDG_SESSION_DESKTOP=unity
SSH_AGENT_LAUNCHER=gnome-keyring
GTK_MODULES=gail:atk-bridge:unity-gtk-module
WINDOWPATH=1
GNOME_SESSION_XDG_SESSION_PATH=
TERM=xterm-256color
SHELL=/bin/bash
VTE_VERSION=5202
QT_IM_MODULE=ibus
XMODIFIERS=@im=ibus
IM_CONFIG_PHASE=2
XDG_CURRENT_DESKTOP=Unity:Unity7:ubuntu
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GNOME_TERMINAL_SERVICE=:1.92
UNITY_HAS_3D_SUPPORT=true
SHLVL=2
LANGUAGE=en_GB:en
GDMSESSION=unity
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
LOGNAME=ed
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
XDG_RUNTIME_DIR=/run/user/1000
XAUTHORITY=/run/user/1000/gdm/Xauthority
XDG_CONFIG_DIRS=/etc/xdg/xdg-unity:/etc/xdg
PATH=/usr/local/cuda-10.0/bin:/usr/local/lib:/usr/local/bin:/usr/bin:/usr/local/include:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
LD_PRELOAD=libgtk3-nocsd.so.0
SESSION_MANAGER=local/Ed:@/tmp/.ICE-unix/7463,unix/Ed:/tmp/.ICE-unix/7463
LESSOPEN=| /usr/bin/lesspipe %s
GTK_IM_MODULE=ibus
_=/usr/bin/env

Hi,

So, I have tried to find how to set the parameters you suggest, but I cannot see anywhere to define them.

My ENV settings are below. I am running native on my Xavier board.

I have just looked into the flash.sh and noticed that these parameters can be set from the command line.

I guess that is what I have to do?

Regards

Phil

##########################
CLUTTER_IM_MODULE=xim
LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.arc=01;31:.arj=01;31:.taz=01;31:.lha=01;31:.lz4=01;31:.lzh=01;31:.lzma=01;31:.tlz=01;31:.txz=01;31:.tzo=01;31:.t7z=01;31:.zip=01;31:.z=01;31:.Z=01;31:.dz=01;31:.gz=01;31:.lrz=01;31:.lz=01;31:.lzo=01;31:.xz=01;31:.zst=01;31:.tzst=01;31:.bz2=01;31:.bz=01;31:.tbz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.war=01;31:.ear=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.cab=01;31:.wim=01;31:.swm=01;31:.dwm=01;31:.esd=01;31:.jpg=01;35:.jpeg=01;35:.mjpg=01;35:.mjpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.emf=01;35:.ogv=01;35:.ogx=01;35:.aac=00;36:.au=00;36:.flac=00;36:.m4a=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.oga=00;36:.opus=00;36:.spx=00;36:.xspf=00;36:
LESSCLOSE=/usr/bin/lesspipe %s %s
XDG_MENU_PREFIX=gnome-
LANG=en_GB.UTF-8
MANAGERPID=6679
DISPLAY=:0
INVOCATION_ID=379f7b354891499c80991eba21c3b3a0
UNITY_DEFAULT_PROFILE=unity
COMPIZ_CONFIG_PROFILE=ubuntu
GTK_CSD=0
COLORTERM=truecolor
USERNAME=ed
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
USER=ed
DESKTOP_SESSION=unity
QT4_IM_MODULE=xim
TEXTDOMAINDIR=/usr/share/locale/
GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/6a36b2ce_16d0_4d48_b212_1e75b01ebd25
PWD=/home/ed
HOME=/home/ed
JOURNAL_STREAM=8:49433
TEXTDOMAIN=im-config
QT_ACCESSIBILITY=1
XDG_SESSION_TYPE=x11
COMPIZ_BIN_PATH=/usr/bin/
XDG_DATA_DIRS=/usr/share/unity:/usr/local/share:/usr/share:/var/lib/snapd/desktop
XDG_SESSION_DESKTOP=unity
SSH_AGENT_LAUNCHER=gnome-keyring
GTK_MODULES=gail:atk-bridge:unity-gtk-module
WINDOWPATH=1
GNOME_SESSION_XDG_SESSION_PATH=
TERM=xterm-256color
SHELL=/bin/bash
VTE_VERSION=5202
QT_IM_MODULE=ibus
XMODIFIERS=@im=ibus
IM_CONFIG_PHASE=2
XDG_CURRENT_DESKTOP=Unity:Unity7:ubuntu
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GNOME_TERMINAL_SERVICE=:1.92
UNITY_HAS_3D_SUPPORT=true
SHLVL=2
LANGUAGE=en_GB:en
GDMSESSION=unity
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
LOGNAME=ed
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
XDG_RUNTIME_DIR=/run/user/1000
XAUTHORITY=/run/user/1000/gdm/Xauthority
XDG_CONFIG_DIRS=/etc/xdg/xdg-unity:/etc/xdg
PATH=/usr/local/cuda-10.0/bin:/usr/local/lib:/usr/local/bin:/usr/bin:/usr/local/include:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
LD_PRELOAD=libgtk3-nocsd.so.0
SESSION_MANAGER=local/Ed:@/tmp/.ICE-unix/7463,unix/Ed:/tmp/.ICE-unix/7463
LESSOPEN=| /usr/bin/lesspipe %s
GTK_IM_MODULE=ibus
_=/usr/bin/env

Hi,

So, I have tried to find how to set the parameters you suggest, but I cannot see anywhere to define them.

My ENV settings are below. I am running native on my Xavier board.

I have just looked into the flash.sh and noticed that these parameters can be set from the command line.

I guess that is what I have to do?

Regards

Phil

##########################
CLUTTER_IM_MODULE=xim
LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64:
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.arc=01;31:.arj=01;31:.taz=01;31:.lha=01;31:.lz4=01;31:.lzh=01;31:.lzma=01;31:.tlz=01;31:.txz=01;31:.tzo=01;31:.t7z=01;31:.zip=01;31:.z=01;31:.Z=01;31:.dz=01;31:.gz=01;31:.lrz=01;31:.lz=01;31:.lzo=01;31:.xz=01;31:.zst=01;31:.tzst=01;31:.bz2=01;31:.bz=01;31:.tbz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.war=01;31:.ear=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.cab=01;31:.wim=01;31:.swm=01;31:.dwm=01;31:.esd=01;31:.jpg=01;35:.jpeg=01;35:.mjpg=01;35:.mjpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.emf=01;35:.ogv=01;35:.ogx=01;35:.aac=00;36:.au=00;36:.flac=00;36:.m4a=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.oga=00;36:.opus=00;36:.spx=00;36:.xspf=00;36:
LESSCLOSE=/usr/bin/lesspipe %s %s
XDG_MENU_PREFIX=gnome-
LANG=en_GB.UTF-8
MANAGERPID=6679
DISPLAY=:0
INVOCATION_ID=379f7b354891499c80991eba21c3b3a0
UNITY_DEFAULT_PROFILE=unity
COMPIZ_CONFIG_PROFILE=ubuntu
GTK_CSD=0
COLORTERM=truecolor
USERNAME=ed
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
USER=ed
DESKTOP_SESSION=unity
QT4_IM_MODULE=xim
TEXTDOMAINDIR=/usr/share/locale/
GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/6a36b2ce_16d0_4d48_b212_1e75b01ebd25
PWD=/home/ed
HOME=/home/ed
JOURNAL_STREAM=8:49433
TEXTDOMAIN=im-config
QT_ACCESSIBILITY=1
XDG_SESSION_TYPE=x11
COMPIZ_BIN_PATH=/usr/bin/
XDG_DATA_DIRS=/usr/share/unity:/usr/local/share:/usr/share:/var/lib/snapd/desktop
XDG_SESSION_DESKTOP=unity
SSH_AGENT_LAUNCHER=gnome-keyring
GTK_MODULES=gail:atk-bridge:unity-gtk-module
WINDOWPATH=1
GNOME_SESSION_XDG_SESSION_PATH=
TERM=xterm-256color
SHELL=/bin/bash
VTE_VERSION=5202
QT_IM_MODULE=ibus
XMODIFIERS=@im=ibus
IM_CONFIG_PHASE=2
XDG_CURRENT_DESKTOP=Unity:Unity7:ubuntu
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GNOME_TERMINAL_SERVICE=:1.92
UNITY_HAS_3D_SUPPORT=true
SHLVL=2
LANGUAGE=en_GB:en
GDMSESSION=unity
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
LOGNAME=ed
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
XDG_RUNTIME_DIR=/run/user/1000
XAUTHORITY=/run/user/1000/gdm/Xauthority
XDG_CONFIG_DIRS=/etc/xdg/xdg-unity:/etc/xdg
PATH=/usr/local/cuda-10.0/bin:/usr/local/lib:/usr/local/bin:/usr/bin:/usr/local/include:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
LD_PRELOAD=libgtk3-nocsd.so.0
SESSION_MANAGER=local/Ed:@/tmp/.ICE-unix/7463,unix/Ed:/tmp/.ICE-unix/7463
LESSOPEN=| /usr/bin/lesspipe %s
GTK_IM_MODULE=ibus
_=/usr/bin/env

As you might guess, I am a newbie to kernel stuff.

I have searched your documentation for how to set these parameters, but the only thing I can find about the version etc is this.

To determine the BSP version and other platform information
• Execute command:
head -1 /etc/nv_tegra_release

This of course is not available under the public_sources, nor is it available in JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra

But it exists in the live /etc folder of the Xavier I am re-building the DTB native on.

When I add to the flash command -b t186ref,

sudo ./flash.sh --no-flash -k kernel-dtb -b t186ref jetson-xavier mmcblk0p1

I get the error

Error: missing bctfile (/SSD500/SDK_4.2/JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra/t186ref).

What should I be doing?

I am referring to this document nvl4t_docs/Tegra Linux Driver Package Development Guide from SDK_4.2 XavierModule.

regards Phil

hello pculverhouse,

  1. you need to execute below command at target (Jetson-Xaviver) side to check the software release version.
$ head -1 /etc/nv_tegra_release
  1. you might given wrong flash commands, “-b” commands specify the boot control table configure file. (bctfile).
    please check the Flashing and Booting the Target Device and referring to [Flash Script Usage] for details.

Thanks JerryChang,

I have tried that command - “head -1 /etc/nv_tegra_release”
It reports correctly. BUT that is for my current live system.

What I am missing is where to plant my newly created DTB devicetree so that I can pickup that board and version status.

The information supplied in the “Tegra Linux Driver Package Development Guide from for version R32.1” says that I must plant it in the downloaded sources called “JAX-TX2-Jetson_Linux_R32.1.0_aarch64”. But when I follow the instructions and do this, the flash.sh reports no board information… as my errors above.

Can you assist please?

Regards

Phil

Thinking of this is a different way…

This is what I have done.

  1. I have a public _kernel folder that I was instructed to make changes to the device tree and add the camera drivers that I use.
  2. I built the kernel and copied it across to what I was told is the source of the linux for Ubuntu Revision 32.1 called
    JAX-TX2-Jetson_Linux_R32.1.0_aarch64/Linux_for_Tegra. The documentation is all correct and I did what was asked.
  3. But then I try and use the flash.sh tool for burning the boot EEPROM that holds the DTB and I just get errors, because it cannot find the information on the linux revision etc.
  4. The command is
    head -1 /etc/nv_tegra_release
    which of course only works on the live system, as I cannot find the /etc/file on the JAX* source. And it should report Version R32.1 etc. etc.

I am missing something crucial in my understanding, and I wonder if it is obvious to anyone!???

hello pculverhouse,

still wondering why you had error of cannot find the information on the linux revision.
may I know… had you install JetPack 4.2 with SDK manager. it should works with whole fresh software image.
thanks