Skip to content

Releases

R58.7 (v1.0.8.2)

R58.7 (v1.0.8.2) Pre-release
Pre-release

Choose a tag to compare

@ymodlin ymodlin released this 03 Nov 10:54

Release Notes β€” R58.7 (v1.0.8.2) β€” PRE-RELEASE

  • Range: v1.0.7.18 β†’ v1.0.8.2
  • Date range: 2026-11-01 – 2026-11-05
  • Driver: D4XX / D5XX GMSL MIPI CSI-2 for NVIDIA Jetson
  • Status: pre-release β€” validation still in progress; not recommended for production deployment.

Highlights

  • SerDes teardown & probe robustness (RSDEV-15191) β€” Harden SerDes unbind/rebind paths with deadlock prevention, resource unwinding, and lifecycle fixes across MAX96712/MAX96724 and VI file-close handling. Prevents crashes during unload/rebind testing and serializes control refresh with VI unregister.
  • D585 980 kHz I2C DFU (RSDEV-11627) β€” Enable fast-mode I2C (980 kHz) for D585 DFU on JP5/6 with link preparation, ownership tracking, and automatic restoration. Legacy 400 kHz muxed DFU entry and JP7 behavior preserved.

SerDes & Multi-Camera

Item Description Commit
Harden SerDes teardown & probe rollback Fix MAX96712 remove deadlock, balance MAX96724 regulator on removal, drain debugfs on unbind, unwind probe failures. RSDEV-15191. 0199910
D585 980 kHz I2C DFU Add fast-mode I2C switching for D585 DFU with link preparation and ownership tracking per physical I2C root on JP5/6. RSDEV-11627. 72f8d3d

Platform & Camera Support

Item Description Commit
VI lifecycle fixes Fix VI file-close crash on repeated unbind; chan->video cleared on subdevice removal while old V4L2 files still closing. RSDEV-15191. 0199910

Bug Fixes / Stability

Description Ticket Commit
Fix MAX96712 I2C client deadlock under device lock during recursive unregister. RSDEV-15191 0199910
Fix VI file-close crash on unbind: identify focusers through file-held video_device. RSDEV-15191 0199910
Drain video ioctls under video_lock before unregistering node to prevent control callbacks outliving sensor unbind. RSDEV-15191 0199910
Fix DES power lifecycle: keep DES powered until last physical camera leaves, independent of bind/unbind order. RSDEV-15191 0199910
Fix focuser-open power failures and JP7 bounds failures through proper file/lock cleanup. RSDEV-15191 0199910

Upgrade Notes

  • Pre-release β€” this build is published for integration and validation. Do not deploy to production until R58.7 is promoted to a full release.
  • Driver version line β€” moves from 1.0.7.x to 1.0.8.x. Driver version continues to be auto-incremented via the Jenkins pipeline (driver_version.sh).
  • SerDes teardown robustness (RSDEV-15191): fixes critical stability issues during module unload/rebind testing. While these paths are not exercised during normal streaming operation, systems performing frequent module rebinds or debugging SerDes issues should update. The VI lifecycle fixes prevent crashes on repeated unbind. Camera I2C protocol, metadata ABI, stream formats and CSI routing remain unchanged.
  • D585 980 kHz I2C DFU (RSDEV-11627): D585 DFU operations now use fast-mode I2C (980 kHz) on JP5/6 for faster firmware updates. Legacy 400 kHz muxed DFU entry is preserved for backward compatibility, and JP7 clock behavior is unchanged. No DT, SDK or kernel adapter ABI changes. Systems performing D585 DFU should verify compatibility; rejected DFU opens preserve state.
  • MAX96712/MAX96724 teardown (RSDEV-15191): the MAX96712 remove path prevents deadlock under the device lock, and MAX96724 balances regulator enable on removal. Systems using multi-camera configurations should verify clean module removal and rebind behavior.
  • VI control serialization (RSDEV-15191): runtime control refresh is now serialized with VI unregister to prevent use-after-free. This is transparent to userspace but critical for module stability during unbind.
  • Focuser lifecycle (RSDEV-15191): focusers are now identified through the file-held video_device instead of the potentially-cleared chan->video. Applications using focuser controls should verify behavior during stream start/stop.

Contributors

zhou, pinquanw, Yogev Modlin, ejgoldik


Full Commit Log (dev branch)

Codebase commits (dev) since v1.0.7.18 (2026-11-01) to v1.0.8.2 (2026-11-05):

0199910 [RSDEV-15191][host][stable] fix: harden SerDes teardown and probe rollback
72f8d3d [RSDEV-11627] Add 980 kHz I2C switching for D585 DFU

R58.6 (v1.0.7.18)

Choose a tag to compare

@ymodlin ymodlin released this 01 Nov 01:06

Release Notes β€” R58.6 (v1.0.7.18) β€” PRE-RELEASE

  • Range: v1.0.6.17 β†’ v1.0.7.18
  • Date range: 2026-09-17 – 2026-11-01
  • Driver: D4XX / D5XX GMSL MIPI CSI-2 for NVIDIA Jetson
  • Status: pre-release β€” validation still in progress; not recommended for production deployment.

Highlights

  • Control descriptor architecture (RSDEV-15375, RSDEV-15373) β€” V4L2 controls are now parsed from the camera's format descriptor (Β§12.2) and registered at probe, replacing hard-coded control tables. Controls re-sync live after a HW reset or DFU, the REG/HWMC executors return FW results as V4L2 errno, and HW reset readiness is tracked through scratch register 0x400E. Design documented in docs/camera-control-descriptor.md.
  • D58x aligned depth control suite (RSDEV-14700, RSDEV-15754, RSDEV-15676) β€” new Enable Aligned Depth control at FW register 0x4599, settable while 3C color streams and while only the IMU streams.
  • D58X 2C Passive Depth Mode control (RSDEV-14783) β€” new V4L2 control to enable/disable 2C passive depth mode, letting userspace toggle between active and passive depth sensing.
  • D500 DPP struct pass-through (RSDEV-15386) β€” the complete DPP (depth pre-processing) structure is passed between firmware and userspace, with sanity checks on read/write and the full header gated while streaming.
  • MinZ runtime updates and accelerometer sensitivity (RSDEV-14893, RSDEV-14851) β€” supported MinZ fields can update while streaming, and MIPI accelerometer sensitivity is exposed as a V4L2 control.
  • Compressed colour over GMSL (RSDEV-13306) β€” H.264/JPEG compressed colour carried on carrier lines with cleared buffers; each sensor mux now lists its own format table.
  • D585 shared RSVL capture and PD distance control (RSDEV-13372, RSDEV-14726) β€” D585 GMSL_MUX supports shared RSVL capture and programmable PD distance control.
  • D585 multi-camera overlays β€” FG12-16CH and FG12-4CH D585 overlays (RSDEV-14346), FG12-12CH single/dual-camera overlays (RSDSO-21993) and an FG12-4CH D5xx/3D4xx overlay (RSDEV-15311).
  • Read-to-clear FW error code (RSDSO-21898) β€” D4xx GMSL exposes a read-to-clear firmware error code control for polling transient FW errors.
  • Format-descriptor library split (RSDEV-14884) β€” the driver is now a composite kernel module (d4xx_main.c + d4xx_desc.c) for cleaner separation of core logic and descriptor handling.
  • JetPack 5.x install robustness β€” install_to_kernel.sh supports any JP 5.0.x / 5.1.x, installs MAX96717/MAX96724 when needed and fails early on missing artifacts; UVC metadata PIDs added for L4T 35.4.1/35.6.4.

SerDes & Multi-Camera

Item Description Commit
D585 shared RSVL capture & PD distance control Support shared RSVL capture and programmable PD distance control for D585 GMSL_MUX. RSDEV-13372, RSDEV-14726. 2cbf160
Compressed colour over GMSL Support compressed colour formats with carrier lines and cleared buffers. RSDEV-13306. 747ccdc
Per-mux sensor format tables Each d4xx mux lists its own sensor's formats, for proper format discovery and enumeration. RSDEV-13306. d4464ae
Unwind resources after failed stream start Release GMSL resources correctly when a stream start fails. RSDEV-15212. 7e7b744
HWMC transaction serialization Serialize HWMC transactions per camera on D58x. RSDEV-14617. af283cb
D58X remove sync mode master Remove the sync mode master option for D58X GMSL. RSDEV-14614. 43c2a4f
FG12-16CH / FG12-4CH D585 overlays Add multi-camera D585 device-tree overlays for FG12-16CH (cams 0-1-2-3) and FG12-4CH (cams 0-1-2-3, cams 0-1). RSDEV-14346. 929d28b
FG12-12CH single/dual-camera overlays Add FG12-12CH single and dual-camera device-tree overlays. RSDSO-21993. 0bf2bd7
FG12-12CH enable Enable fg12-12ch support. d123336
FG12-4CH D5xx and 3D4xx overlay New device-tree overlay for FG12-4CH with D5xx and mixed 3D4xx camera configurations. RSDEV-15311. 735044d

Platform & Camera Support

Item Description Commit
MIPI descriptor refresh Update MIPI format descriptors across JP 5.0.2, 5.1.2, 5.1.6, 6.x, 7.x. RSDEV-14847. 3502a0e
Control descriptor registration Parse and register controls from the camera descriptor; adds a VI runtime-control-changes patch for every JetPack generation. RSDEV-15375. c0700f3
D585 256x144 frame-rate limit Limit D585 256x144 modes to 90 FPS. RSDEV-13487. ace5639
UVC metadata PIDs for JP 5.1.x Add UVC metadata PIDs missing from L4T 35.4.1/35.6.4 (JetPack 5.1.x). 09bf36d

V4L2 Controls, Metadata & Streaming

Item Description Commit
D58x Enable Aligned Depth control Add the Enable Aligned Depth control; move it to FW register 0x4599 and fix default refresh. RSDEV-14700. 132c580, 402ce1c, 81fce7a
Aligned depth with 3C color Allow aligned depth to be set while 3C color streams. RSDEV-15754. 223baab
Aligned depth with IMU-only Allow D500 aligned depth to be set while only the IMU streams; extract d500_video_is_idle_locked in the passive-depth harness. RSDEV-15676. e8bfe2a, e429a43
D58X 2C Passive Depth Mode control Add V4L2 control to enable/disable 2C passive depth mode for D58X. RSDEV-14783. 8d58cf7
D500 DPP struct pass-through Pass the complete D500 DPP structure between FW and userspace with sanity checks on read/write; gate the full header while streaming. RSDEV-15386. b025d46, 244081c
MinZ runtime updates Allow supported MinZ fields to update while streaming. RSDEV-14893. d578fd3
MIPI accelerometer sensitivity Expose MIPI accelerometer sensitivity control. RSDEV-14851. f52f4e9
FW error code read-to-clear Expose the read-to-clear firmware error code control on D4xx GMSL. RSDSO-21898. e69c17b

Bug Fixes / Stability

Description Ticket Commit
Fix aligned-depth register placement and default refresh behavior. RSDEV-14700 402ce1c
Clamp D585 256x144 frame rate to 90 FPS. RSDEV-13487 ace5639
Fix DFU infinite loop. β€” 865deb7
Fix: unwind resources after failed stream start in the host GMSL driver. RSDEV-15212 7e7b744

Build / CI / Tooling

Description Commit
Split the format-descriptor library out of d4xx.c: the driver is now a composite module (d4xx_main.c + d4xx_desc.c). RSDEV-14884. 1827086
Document the d4xx.c β†’ d4xx_main.c + d4xx_desc.c split. RSDEV-14884. bb1feb7
Add docs/camera-control-descriptor.md (control descriptor design). RSDEV-15373. ec8054d
Document D58x IMU record pass-through. RSDEV-14696. 0321f55
install_to_kernel.sh: support any JetPack 5.0.x / 5.1.x. 85fb2f4
install_to_kernel.sh: fail JP5 install early on missing artifacts, drop non-JP5 version guard. 95647dc
install_to_kernel.sh: install max96717/max96724 for JP5 when d4xx depends on them. be771ad
install_to_kernel.sh: create the JP5 updates/ module dir before copying. bc9c031
Update module version to 1.0.7.0. 3e20c28

Upgrade Notes

  • Pre-release β€” this build is published for integration and validation. Do not deploy to production until R58.6 is promoted to a full release.
  • Driver version line β€” moves from 1.0.6.x to 1.0.7.x. Driver version continues to be auto-incremented via the Jenkins pipeline (driver_version.sh).
  • Control descriptor architecture (RSDEV-15375): controls are registered from the camera descriptor instead of hard-coded tables, so the control set follows the connected camera/FW and re-syncs after HW reset/DFU. Control executors return firmware results as V4L2 errno values. Rebuild and deploy the whole module set.
  • D58x Enable Aligned Depth control (RSDEV-14700, RSDEV-15754, RSDEV-15676): new control to enable/disable aligned depth, settable with 3C color or IMU-only streams active. Applications using aligned depth should verify compatibility, and host logic that assumed -EBUSY in those states should be re-checked.
  • D58X 2C Passive Depth Mode (RSDEV-14783): new V4L2 control to toggle between active and passive depth sensing. Applications using depth streaming should verify compatibility.
  • Breaking β€” D500 DPP struct pass-through (RSDEV-15386): D500 DPP controls now pass the complete structure between FW and userspace. Applications that previously wrote individual DPP fields must now update the entire structure. The driver gates full-header updates while streaming.
  • MinZ runtime updates (RSDEV-14893): supported MinZ fields can now be updated while streaming. Applications using MinZ controls should verify compatibility.
  • MIPI accelerometer sensitivity (RSDEV-14851): new V4L2 control to adjust accelerometer sensitivity. IMU applications should verify compatibility.
  • Read-to-clear FW error code (RSDSO-21898): D4xx GMSL exposes a new read-to-clear firmware error code control. Applications should poll this control to detect and acknowledge transient firmware errors; any read consumes the latched error.
  • Compressed colour over GMSL (RSDEV-13306): compressed RGB formats are supported over GMSL with carrier-line configuration and buffer clearing. Each sensor mux now advertises its own format list; re-test RGB streaming and format enumeration.
  • D585 shared RSVL capture (RSDEV-13372, RSDEV-14726): D585 GMSL_MUX supports shared RSVL capture and PD distance control. Update userspace applications to leverage these capabilities.
  • D585 256x144 frame rate limit (RSDEV-13487): the 256x144 resolution is clamped to a maximum of 90 FPS. Applications that previously set higher frame rates for this resolution will...
Read more

R58.5 (v1.0.6.17)

Choose a tag to compare

@ymodlin ymodlin released this 18 Aug 09:23

Release Notes β€” R58.5 (v1.0.6.17)

  • Range: v1.0.5.20 (R58.4) β†’ v1.0.6.17
  • Date range: 2026-08-06 – 2026-09-17
  • Driver: D4XX / D5XX GMSL MIPI CSI-2 for NVIDIA Jetson

Highlights

  • Camera-supplied format descriptors (RSDEV-13342) β€” the per-SKU format tables are read from the camera at probe (versioned blob at I2C 0x6000) instead of being carried in the driver; built-in tables remain the fallback when the blob is absent or invalid. Documented in docs/camera-format-descriptor.md.
  • DPP control suite β€” D585 GMSL DPP controls (RSDEV-13973, RSDEV-9182, RSDEV-9184), composite decimation/temporal controls (RSDEV-14843) and GMSL gyro sensitivity (RSDEV-14097).
  • D500 control-surface alignment (RSDEV-13639) β€” CIDs renamed, function names aligned, D58X Device Mode / 2C AE moved onto the XU bridge.
  • Variable height buffers (RSDEV-14304) β€” variable-length data formats with a per-format VI datatype override, JP 6.0 / 6.2 / 7.0 / 7.1 / 7.2.
  • D585 GMSL link configuration β€” tunnel CSI lane rates, MAX96712 4-lane rate raised to 1300 Mbps, D585 external sync on FG12-16CH, prototype recovery after HW reset, MAX96712 instability fix.
  • Generic VC mapping (RSDSO-21887) β€” MAX96717 accepts VC IDs up to 15 and generic VC remapping is enabled on every MAX96712 overlay.
  • VI robustness β€” VI metadata paired per capture descriptor, VI5 recovery teardown lifetime fix, BA10 used exclusively for RGB calibration.

SerDes & Multi-Camera

Item Description Commit
MAX96712 4-lane rate β†’ 1300 Mbps Raise the MAX96712 4-lane rate across all MAX96712-based overlays. 7ec01e3
D585 tunnel CSI lane rates Configure tunnel CSI lane rates for D585 GMSL, plus review fixes. 00982c0, 7dba404
D585 external sync Enable D585 external sync on Fangzhu-12-16CH. RSDEV-13332. 94f3e88
MAX96717 driver update Update the MAX96717 serializer driver. f72a75d
MAX96717 VC ID up to 15 Allow VC ID up to 15. RSDSO-21887. 481b391
Generic VC mapping Enable generic VC remapping across MAX96712 overlays. RSDSO-21887. f155939
D585 MAX96712 instability fix RSDSO-21902, RSDSO-21903. f278f31
D5xx compatible string Use the D5xx compatible string in MAX96712 overlays. 453a6af
Remove unused JP5 SerDes sources Clean up unused JP5 MAX96717 sources. b07a7f8

Platform & Camera Support

Item Description Commit
Camera format descriptors Read format tables from the camera at I2C 0x6000 with built-in fallback; bounded two-byte probing avoids wedging legacy-FW I2C slaves. RSDEV-13342. bc4e836
D58x 256x144 profiles Add 256x144 depth and infrared profiles. RSDEV-13487. 8381dfa
Variable height buffer Variable-length formats with per-format VI datatype override. RSDEV-14304. a722fff
FG12-16CH cams 0-1 D5xx overlay New overlay. ce02956
FG12-16CH cams 0-1-2-3 D5xx/D4xx overlay New mixed-camera overlay. 690ad64
D585 NV12 over RAW8 carrier Receive flat NV12 over a RAW8 carrier via format row. RSDSO-21880. fcbbf2d
D585 RGB+IR calib dt override Enable vi5_fops dt override for D585 RGB+IR calibration. 6e181c5
D401 dual-RGB resolution fix Fix exposed resolutions for D401 dual-RGB. 772df55
UVC metadata VID wildcard Add RealSense VID 0x38E5 wildcard to UVC metadata patches; align idVendor indentation in the JP5 patch. 3a03e46, bc0b7e1

V4L2 Controls, Metadata & Streaming

Item Description Commit
Composite DPP controls Decimation and temporal as composite U32 array controls matching the USB XU contract. RSDEV-14843. 23f689c
D585 DPP controls Expose D585 GMSL DPP controls. RSDEV-13973, RSDEV-9182, RSDEV-9184. 52c0817
Gyro sensitivity Expose GMSL gyro sensitivity control. RSDEV-14097. 202c6e8
D500 control CID rename Rename D500 camera control CIDs and align function names. RSDEV-13639. 16cf74a, e036af5
D58X XU bridge Use XU bridge for Device Mode and 2C AE. RSDEV-13639. 0240dce
2C/3C controls disable Disable 2C/3C controls when not applicable. RSDEV-14092. 0b49d88
D5xx RGB gain range Set RGB gain range to 16–248. de396fa

Bug Fixes / Stability

Description Ticket Commit
Pair VI metadata per capture descriptor (own page-aligned metadata DMA slot per in-flight descriptor). β€” 900eff5
Use BA10 exclusively for RGB calibration (replaces GR16 on the shared RAW16 calibration transport). β€” 0ba17dc
Fix D58x GMSL DFU completion and re-enumeration. RSDEV-13621 d150cb7
Fix VI5 recovery teardown: kernel thread task lifetime and failed-request buffer cleanup. β€” e73fcb2
Recover D585 prototype after hardware reset. β€” 939087c

Build / CI / Tooling

Description Commit
Add missing geometry patch for JP5.1.6. RSDEV-14319. 837a3a1
Bump driver version to 1.0.6.0. 6a0dfce

Upgrade Notes

  • Driver version line β€” moves from 1.0.5.x to 1.0.6.x, auto-incremented by the Jenkins pipeline (driver_version.sh).
  • Camera format descriptors (RSDEV-13342) β€” the driver prefers the camera-supplied blob over its built-in tables; on a malformed or unversioned blob it falls back. Check dmesg for the descriptor-validation message if a SKU advertises an unexpected format set.
  • Breaking β€” composite DPP controls (RSDEV-14843) β€” decimation and temporal are composite U32 array controls; userspace driving the old scalar controls must switch.
  • Breaking β€” variable height buffer (RSDEV-14304) β€” changes VI datatype handling; verify existing capture pipelines.
  • D500 / D58X control changes (RSDEV-13639) β€” CIDs renamed; D58X Device Mode and 2C AE go through the XU bridge. Update userspace that references them.
  • 2C/3C controls disabled (RSDEV-14092) when not applicable.
  • D5xx RGB gain range is now 16–248.
  • RGB calibration transport now uses BA10 instead of GR16; re-check userspace that pinned the FourCC.
  • MAX96712 lane rate / VC mapping β€” all MAX96712 overlays use 1300 Mbps on 4 lanes and generic VC mapping; re-verify bandwidth and update custom overlays relying on fixed VC assignments.
  • New overlays β€” FG12-16CH cams-0-1-d5xx and cams-0-1-2-3-d5xx-3d4xx; select the one matching your camera configuration.
  • JP 5.1.6 β€” missing geometry patch added; re-apply patches and rebuild.

Contributors

Nir Azkiel, Yogev Modlin, ejgoldik, pinquanw, shuaili2, zhou


Full Commit Log (dev branch)

Codebase commits (dev) since v1.0.5.20 (2026-08-06) to v1.0.6.17 (2026-09-17):

23f689c [RSDEV-14843] Expose composite DPP controls
bc4e836 [RSDEV-13342] MIPI driver descriptors
0ba17dc [D500][gmsl][fix]: use BA10 exclusively for RGB calibration
900eff5 [D500][GMSL][fix]: pair VI metadata per capture descriptor
a722fff [RSDEV-14304] variable height buffer
8381dfa [RSDEV-13487] Add 256x144 D58x depth and infrared profiles
837a3a1 RSDEV-14319 add missing geometry patch for JP5.1.6
0b49d88 RSDEV-14092 2C 3C controls disable
d150cb7 [RSDEV-13621][D58x] Fix GMSL DFU completion and re-enumeration
202c6e8 RSDEV-14097 Expose GMSL gyro sensitivity control
ce02956 Added fg12-16ch-cams-0-1-d5xx overlay
690ad64 Added fg12-16ch-cams-0-1-2-3-d5xx-3d4xx overlay
52c0817 [RSDEV-13973][RSDEV-9182][RSDEV-9184][D585][GMSL] Expose DPP controls
772df55 D401_dual_RGB_fix_exposed_res
481b391 RSDSO-21887_max96717_allow_vc_id_upto_15
bc0b7e1 Align idVendor indentation with surrounding entries in the JP5 patch
3a03e46 Add RealSense VID 0x38E5 wildcard entry to UVC metadata patches
939087c Recover D585 prototype after hardware reset
f278f31 RSDSO 21902 21903 D585 max 96712 instability fix
f155939 RSDSO-21887 enable generic vc mapping
16cf74a [RSDEV-13639] Rename D500 camera control CIDs
e036af5 [RSDEV-13639][D500] Align product-specific function names
0240dce [RSDEV-13639][D58X] Use XU bridge for Device Mode and 2C AE
fcbbf2d [RSDSO-21880][D585] Receive flat NV12 over a RAW8 carrier via format row
6e181c5 Enable vi5_fops dt override for D585 RGB+IR calib
b07a7f8 Remove_unused_JP5_serdes_sources
7dba404 [D585][gmsl] fix: address tunnel lane-rate review
00982c0 [D585][GMSL] Configure tunnel CSI lane rates
f72a75d Update max96717.c
94f3e88 RSDEV-13332 D585 External sync on Fangzhu-12-16CH
7ec01e3 max96712 update 4 lane rate to 1300Mbps
de396fa [D5xx] Set RGB gain range to 16-248
453a6af Use D5xx compatible string for MAX96712 overlays
6a0dfce Bump driver version to 1.0.6.0
e73fcb2 [Jetson][VI5] fix recovery teardown resource lifetime

R58.4 (v1.0.5.20)

Choose a tag to compare

@ymodlin ymodlin released this 30 Jul 17:08

Release Notes β€” R58.4 (v1.0.5.20) β€” PRE-RELEASE β€” CUMULATIVE

  • Range: v1.0.4.9 β†’ v1.0.5.20
  • Date range: 2026-06-30 – 2026-08-06
  • Driver: D4XX / D5XX GMSL MIPI CSI-2 for NVIDIA Jetson
  • Status: pre-release β€” validation still in progress; not recommended for production deployment.

Highlights

  • D5XX (D585) family bring-up β€” first release with D58x GMSL support: MAX96712 pixel-mode bring-up, MAX96724 tunnel mode ported into the unified driver, a new MAX96717 serializer driver, D58x pixel-mode FW gating with padded IMU lines, D58x RGB controls + telemetry, and a set of D5xx device-tree overlays (seeed nano, FG24-4CH, joint D5xx/D4xx 4-lane).
  • Fangzhu FG12-4CH support β€” FG12-4CH D457 overlays for AGX Orin, plus a 4-camera FG12-4CH configuration on Orin Nano / Orin NX.
  • GMSL link-reset rework β€” the one-shot link flush moved out of __max96712_set_pipe into cold bring-up / HW-reset recovery (RSDEV-12608), then corrected so a multi-camera MAX96712 link is flushed exactly once on cold bring-up (RSDSO-21786).
  • JetPack 5.x streaming fixes β€” JP 5.1.6 G_PARM EINVAL and the D457 color-path kernel panic / recovery path fixed; JP 5.1.2 module copy handled in install/deploy; JetPack-mismatched kernels blocked on JP5.
  • Breaking interface changes β€” GVD control size enlarged (D4xx 276 B, D5xx 606 B, RSDEV-13118) and metadata payload extended to 255 B for HKR (RSDEV-9250). Userspace/SDK must allocate the larger buffers.
  • Timestamp correctness β€” BACKEND_TIMESTAMP > TIME_OF_ARRIVAL on GMSL fixed across JP 5.0.2 / 5.1.2 / 5.1.6 (RSDSO-20101).
  • D58x V4L2 control expansion β€” RGB scalar controls ported to the unified driver, selecting D58x extension offsets by detected device type (RSDEV-12730); D58x manual laser power exposed as 0–540 in steps of 45 (default 225), with control creation gated on device type and legacy metadata preserved for other products (RSDEV-13457).
  • Y16I/RGB calib pixel mode for D585 β€” calib pixel mode enabled for both the Y16I and RGB streams (RSDSO-21787), the now-redundant vi5_fops Y12I error-ignore removed (RSDEV-13252), and a follow-up rebalanced the Y16I patch hunk context so apply_patches_ext.sh's GNU-patch pipeline applies cleanly on every JetPack.
  • More FangZhu/JP7 overlays β€” a JP7 4-camera FG12-16CH overlay (links 0-3) added and the 1-cam overlay renamed to match JP6 naming; a new FG12 4-channel D5xx overlay; every MAX96712-based overlay realigned to 4 MIPI lanes (RSDSO-21762); D5xx video node enumeration order fixed and D585 advertised modes aligned with USB.
  • Merge-queue CI gating β€” a new merge-queue-gate.yml workflow bridges the GitHub merge queue to the D4xx_Kernel_Module_Jetson_JP6 Jenkins job, labeling the gated build with every PR batched in the queue.
  • D401 dual-RGB CSI passthrough (POC) β€” squashed proof-of-concept for RAW8 dual-RGB CSI passthrough on the OV9782 (FW CSI-PT mode, Bayer RGGBβ†’BGGR correction, 1612x808 @ 60 fps advertised).

New Platform & Camera Support

Item Description Commit
D585 MAX96712 bring-up (pixel mode) Initial D585 bring-up over MAX96712 in GMSL pixel mode. 22e8816
D585 single deserializer pipe Route D585 through a single deserializer pipe. RSDSO-21670. 8c75f09
D585 seeed nano overlay Device-tree overlay for D585 on the seeed nano carrier. e27a211
D5xx / D4xx joint 4-lane DTS Joint D5xx + D4xx 4-lane device-tree configuration. 61f96c8
D585 default address β†’ 0x10 Update the D585 default I2C address to 0x10. 69546d5
FG12-4CH D457 support Fangzhu FG12-4CH overlays for D457. 2f8bf08
FG12-4CH 4-camera on Orin Nano/NX 4-camera FangZhu FG12-4CH configuration for Orin Nano / Orin NX. 04f0069
Seeed 3-camera overlay Seeed carrier 3-camera (links 0-1-2) overlay configuration. 49d0564
D436 UVC metadata PID Add D436 (PID 0x1156) to the JP6.x and JP7.x realsense-metadata patches. a490229
JP7 4-cam FG12-16CH overlay New tegra234-camera-d4xx-overlay-fg12-16ch-cams-0-1-2-3.dtso (4x D457, links 0-3, JP7/noble AGX Orin); the 1-cam overlay is renamed ...-cams-0.dtso β†’ ...-fg12-16ch.dtso to match JP6 naming. 694e2ae
FG12 4-channel D5xx overlay New Fangzhu FG12-4CH device-tree overlay for D5xx. e95d46e
D401 dual-RGB CSI passthrough (POC) Squashed POC for a RAW8 dual-RGB CSI-passthrough stream on the OV9782: FW CSI-PT mode (DS5_FW_CSI_PT), Bayer RGGB→BGGR correction, and 1612x808 @ 60 fps advertised. 445d084

SerDes & Multi-Camera

Item Description Commit
MAX96724 tunnel mode in the unified driver Port the D5xx MAX96724 tunnel-mode driver into the unified driver (new max96724.c/.h), refine its structure, and minimize the tunnel integration surface. b485a23, 540ee7e, a871658, 5f7cb81
MAX96717 serializer driver New max96717.c/.h; unify the pixel and tunnel paths and align tunnel initialization with pixel mode. 4b67157, 98a6ff0
MAX96717 RX reset when idle Reset the MAX96717 RX when not streaming. RSDSO-21669. 85724b7
GMSL one-shot flush β†’ cold bring-up Move the one-shot GMSL link reset out of __max96712_set_pipe so a stream toggle no longer re-trains a shared link; arm it only on cold bring-up / HW-reset recovery. RSDEV-12608. 9a93638
Per-link flush on cold bring-up Follow-up fix: flush the GMSL link line buffer exactly once on cold bring-up so the first stream on an already-served MAX96712 link no longer wedges. RSDSO-21786. 7e4d223
Align JP5 max96712 patch Keep the JP5 max96712 patch in step with the unified driver. e80a1bd
D58x NVCSI deskew Disable NVCSI deskew for D58x Y8 tunnel mode. 6d352ad
Align all 96712 overlays to 4 MIPI lanes Realign every MAX96712-based overlay (fg12-16ch, fg12-4ch, seeed, advantech, EVB across JP6/JP7) to 4 MIPI lanes. RSDSO-21762. 135dff3
Y16I/RGB calib pixel mode for D585 Enable calib pixel mode for the Y16I and RGB streams. RSDSO-21787. b032d72, 6012b0a
Align D585 advertised modes with USB Match D585 GMSL advertised modes to the USB variant. 6e9a2d7

V4L2 Controls, Metadata & Streaming

Item Description Commit
Depth AE mode control Expose depth auto-exposure mode as a single read/write V4L2 control. RSDSO-21763. 3e058cd
D58x RGB controls & telemetry Expose D58x RGB controls and telemetry. 4aebb18
D58x pixel-mode flag + padded IMU line Write the serdes_pixel_mode FW register on pixel-mode SerDes and restrict IMU formats to padded wide lines. RSDSO-21757, RSDSO-21758. b552236
Enlarged GVD control size GVD is 276 B on D4xx and 606 B on D5xx β€” breaking, the SDK must allocate accordingly. RSDEV-13118. 2e29ab9
Metadata payload to 255 B Extend the metadata payload to 255 bytes for HKR usage. RSDEV-9250. 513851d
Y12i calibration via regular overlay Use the regular overlay for the Y12i (calibration) stream and drop the separate .calib. overlays. RSDEV-12173. 3b86e99
D585 resolutions Update the D585 resolution set. c2a43ba
D585 RGB scalar controls Port the post-July-27 D5xx RGB scalar control work into the unified driver; select D58x extension offsets by detected device type, keeping Hue and the D58x power-line menu SKU-specific. RSDEV-12730. d7a77c6
D58x laser power range Expose D58x manual laser power as 0–540 in steps of 45, default 225, preserving legacy metadata for other products; define a dedicated D58x V4L2 control config gated on detected device type. RSDEV-13457. b2520e1, a2a54e3

Bug Fixes / Stability

Description Ticket Commit
Fix BACKEND_TIMESTAMP > TIME_OF_ARRIVAL on GMSL (JP 5.0.2 / 5.1.2 / 5.1.6). RSDSO-20101 30b11bb
Fix JetPack 5.1.6 streaming: G_PARM EINVAL plus the D457 color-path kernel panic and error-recovery path. β€” 0a1c415
Flush the GMSL link line buffer on cold bring-up (regression fix for 9a93638). RSDSO-21786 7e4d223
Gate the GMSL one-shot link reset to cold bring-up / HW-reset recovery. RSDEV-12608 9a93638
Reset the MAX96717 RX when not streaming. RSDSO-21669 85724b7
Fix D5xx video node enumeration order. β€” f2d1f98
Remove the vi5_fops Y12I error-ignore now that the underlying issue is fixed. RSDEV-13252 7497160
Fix Y16I patch hunk context rejected by GNU patch, which broke apply_patches_ext.sh on several JetPacks. RSDSO-21787 4e16f4b
Align D585 GMSL advertised modes with USB. β€” 6e9a2d7

Build / CI / Tooling

Description Commit
install_to_kernel.sh / deploy_kernel.sh: handle the JP 5.1.2 module copy. 784cb99
install_to_kernel.sh: block a JetPack-mismatched kernel on JP5. cabab64
CLAUDE.md: correct the GMSL flush invariant and add the model/effort rule. 9e4b1f2
Sync the .claude driver skills for the on-host workflow (adds mipi-bandwidth-check, soak-watch). 581aacd
Add utilities/v4l2_capture helpers (depth / IR / NV12 capture). 4aebb18
Fix deploy docs (deploy_kernel.sh vs. the nonexistent deploy_kernel_6.2.sh, missing REMOTE_BOOT_FOLDER argument) and record rig deploy pitfalls (module set, D-state rmmod, DT-modalias autoload). e1dd0e5
Bridge the GitHub merge queue to the D4xx_Kernel_Module_Jetson_JP6 Jenkins job. 4e35e82
Label the Jenkins gated build with all PRs batched in the merge queue. 6b54edf

Upgrade Notes

  • Pre-release β€” this build is published for integration and validation. Do not deploy to production until R58.4 is promoted to a full release.
  • Driver version line β€”...
Read more

R58.3 (v1.0.4.9)

Choose a tag to compare

@ymodlin ymodlin released this 28 Jun 09:17

Release Notes β€” R58.3 (v1.0.4.9) β€” CUMULATIVE

  • Range: v1.0.3.18 β†’ v1.0.4.9
  • Date range: 2026-05-26 – 2026-06-26
  • Driver: D4XX GMSL MIPI CSI-2 for NVIDIA Jetson
  • Commits: 38 (23 substantive + 15 auto-increment version bumps) | 235 files changed | 15,357 insertions / 21,380 deletions
  • Versions covered: 1.0.3.13, 1.0.3.14, 1.0.3.15, 1.0.3.16, 1.0.3.17, 1.0.4.0, 1.0.4.1, 1.0.4.2, 1.0.4.3, 1.0.4.4, 1.0.4.5, 1.0.4.6, 1.0.4.7, 1.0.4.8, 1.0.4.9 (the 1.0.3.13–1.0.3.17 revisions were skipped by the manual bump to the v1.0.3.18 tag and are first reported here)

Highlights

  • JetPack 7.2 (L4T R39.2) bring-up β€” JP7.2 support on Advantech AGX Thor GMSL (RSDSO-21610), plus single-camera Fangzhu (FG12-16CH) overlay bring-up on AGX Orin (RSDSO-21616).
  • Advantech Thor multi-camera scaling β€” 6-camera (RSDSO-21522) and 8-camera configurations on Advantech Thor.
  • New V4L2 controls β€” RGB ISP controls exposed on the GMSL stack (RSDEV-5918), AE-type control (RSDSO-21570), and a readout-shaping XU control (RSDSO-21508).
  • External sync expansion β€” external sync enabled for D41X (D415) cameras (RSDSO-21490); sync mode simplified to a 3-value public API (RSDEV-6449); ext_sync_gen.py allows re-enable while already enabled.
  • Reliability fixes β€” ds5_hwmc_wait bounded by a wall-clock deadline (RSDEV-12089), MIPI DFU recovery after an interrupted FW upgrade (RSDSO-21588), and a unified YUV422 1X16 Tegra format.
  • Codebase cleanup β€” EOL JetPack 4 (4.6.1) tooling removed (RSDSO-21420), unused D46x code dropped (RSDSO-20950), and JP6.x nvidia-oot patches reorganized by subject with embedded-metadata blocker fixes.

New Platform Support

Item Description Commit
JP7.2 on Advantech Thor GMSL Support JetPack 7.2 (L4T R39.2) on Advantech AGX Thor GMSL. RSDSO-21610. 924804c
JP7.2 Fangzhu (FG12-16CH) overlay on AGX Orin Bring-up + single-camera Fangzhu (FG12-16CH) device-tree overlay for AGX Orin. RSDSO-21616. a47698e
JP7 Advantech display CRC Keep nvidia.ko CRC stable for Advantech display on JP7. c2fe560

Multi-Camera & SerDes

Item Description Commit
Advantech Thor β€” 6 cameras Enable 6-camera configuration on Advantech Thor. RSDSO-21522. 2fe8bc7
Advantech Thor β€” 8 cameras Extend Advantech Thor to an 8-camera configuration. 80c5919

V4L2 Controls & Streaming

Item Description Commit
RGB ISP V4L2 controls on GMSL Expose RGB ISP V4L2 controls on the GMSL stack. RSDEV-5918. b9c5544
AE-type control Add auto-exposure type V4L2 control. RSDSO-21570. 5dda961
Readout-shaping XU control Add V4L2 readout-shaping XU control. RSDSO-21508. 31633c7

External Sync

Item Description Commit
External sync for D41X (D415) Enable external sync for D41X (D415) cameras. RSDSO-21490. 5882fda
3-value sync-mode public API Simplify sync mode to a 3-value public API (driver side). RSDEV-6449. 5152463
ext_sync_gen.py re-enable Allow enable while already enabled. 5abbcbd

Bug Fixes / Stability

Description Ticket Commit
Bound ds5_hwmc_wait by a wall-clock deadline. RSDEV-12089 613ce43
Fix MIPI DFU recovery after an interrupted FW upgrade. RSDSO-21588 505c1e5
Unify YUV422 1X16 Tegra format to T_U8_Y8__V8_Y8. β€” 3620ab4

Build / CI / Tooling / Cleanup

Description Commit
Reorganize JP6.x nvidia-oot patches by subject + fix embedded-metadata blocker bugs. e971a92
install_to_kernel.sh: accept any rootfs.tar.* compression for JP6/7. 3d6d8dd
Remove EOL JetPack 4 (4.6.1) manual patches and tooling. RSDSO-21420. f07fd20
Clean unused D46x code. RSDSO-20950. 40f7450
kernel-5.10: add UVC metadata PIDs missing from L4T 35.1 (incl. D436). 2c56e25
Add pdu-control skill; remove stale copilot-instructions. 4a587ba
Remove committed __pycache__ build artifacts. c819f09
Remove V4L2 On-Device Tests workflow. 2ceae61

Upgrade Notes

  • Driver version line β€” this release moves the driver from the 1.0.3.x series to 1.0.4.x. Driver version continues to be auto-incremented via the Jenkins pipeline (driver_version.sh).
  • JetPack 7.2 β€” new platform target (L4T R39.2) on Advantech AGX Thor and AGX Orin (Fangzhu FG12-16CH). Select the matching device-tree overlay and do not rebuild the BSP NVIDIA display stack on JP7.
  • JetPack 4.6.1 removed β€” EOL JetPack 4 manual patches and tooling have been removed (RSDSO-21420); JP4-based deployments are no longer supported by this branch.
  • D46x removed β€” unused D46x code has been dropped (RSDSO-20950).
  • External sync β€” external sync is now available on D41X (D415); the sync-mode interface is simplified to a 3-value public API (RSDEV-6449) β€” verify userspace against the new contract.
  • New V4L2 controls β€” RGB ISP controls (RSDEV-5918), AE-type (RSDSO-21570), and readout-shaping (RSDSO-21508) are exposed as V4L2 controls; clients should query the control set rather than assuming fixed IDs.

Contributors

ejgoldik, Yogev Modlin, ipilchin1, Nikolai-L, remibettan, pinquanw, Nir Azkiel


Version Progression

v1.0.3.18 β†’ v1.0.3.13 … v1.0.3.17 β†’ v1.0.4.0 β†’ v1.0.4.1 β†’ v1.0.4.2 β†’ v1.0.4.3 β†’ v1.0.4.4 β†’ v1.0.4.5 β†’ v1.0.4.6 β†’ v1.0.4.7 β†’ v1.0.4.8 β†’ v1.0.4.9

R58.2 (v1.0.3.18)

Choose a tag to compare

@ymodlin ymodlin released this 04 Jun 12:58
f1f7ce7

Release Notes β€” R58.2 (v1.0.3.18) β€” CUMULATIVE

  • Range: v1.0.2.34 β†’ v1.0.3.18
  • Date range: 2026-04-13 – 2026-06-04
  • Driver: D4XX GMSL MIPI CSI-2 for NVIDIA Jetson
  • Net change vs v1.0.2.34: 25 files changed | 6,004 insertions / 846 deletions

Highlights

  • Seeed Orin Nano support β€” new carrier-board platform bring-up (RSDSO-20614).
  • On-demand ESYNC GPIO tunneling β€” on-demand GPIO tunneling for external sync, with a design document; JP5 external-sync configuration aligned (RSDEV-6847).
  • Reset / probe robustness β€” reset and probe path optimized, endless-HW-reset on inaccessible cameras fixed, unnecessary probe-time reset logic removed, and MIPI DFU recovery after an interrupted FW upgrade fixed (RSDSO-21588).
  • MAX96712 per-link one-shot reset β€” one-shot reset issued per link on set_pipe.
  • Test & CI β€” standalone parallel-stream test, quad depth-RGB sync test, auto-increment driver-versioning pipeline, and CI-instability fixes.

New Platform Support

Item Description Commit
Seeed Orin Nano Add Seeed Orin Nano carrier-board support, including new device-tree overlays. RSDSO-20614. 41edd02

External Sync / GPIO Tunneling

Item Description Commit
On-demand ESYNC GPIO tunneling On-demand ESYNC GPIO tunneling for external sync. RSDEV-6847. 01f4858
On-demand GPIO tunneling design doc Design document for on-demand GPIO tunneling (docs/gpio-tunneling-external-sync.md). RSDEV-6847. 6de6e89
Align JP5 ESYNC configuration Bring JP5 external-sync configuration in line with the other platforms. d467803

SerDes / Multi-Camera

Item Description Commit
MAX96712 per-link one-shot reset Issue a one-shot reset per link on set_pipe. b47fba0

Bug Fixes / Stability

Description Ticket Commit
Fix MIPI DFU recovery after an interrupted FW upgrade β€” keep the device recoverable over MIPI when left in the bootloader. RSDSO-21588 85ab016
Optimize reset and probe path. β€” 54bcf16
Fix endless HW reset when camera is inaccessible. β€” 8e5cdbc
Remove unnecessary reset logic from the probe function. β€” 0e86a8e

Build / CI / Tooling

Description Commit
Add Jenkins directory and driver_version.sh; auto-increment driver-version pipeline; move driver to the 1.0.3.x line. 046a740, 1d638e3
install_to_kernel.sh: add DELAY_SECONDS argument to improve Jenkins reboot handling. c26d254
Fix CI instability. 77d987f
Update JP6 README overlay explanations. b368811

Testing

Description Commit
Add standalone parallel-stream test (utilities/.../parallel_stream_test). 762d0af
Add quad depth-RGB sync test. 8f47251

Already delivered in v1.0.2.34

These were released in v1.0.2.34 and remain in the v1.0.3.18 codebase; they are listed here only for completeness and are not new in this release:

  • RSDSO-20613 β€” Fangzhu / MAX96712 full-slave mode and quad D457 camera support
  • MAX96712 MFP6 configuration for links B–D
  • RSDSO-21407 β€” external sync via TSC PWM
  • MAX96712 lane data rate raised to 2500 Mbps

Upgrade Notes

  • Driver version line β€” this release moves the driver from the 1.0.2.x series to 1.0.3.x. Driver version is auto-incremented via the Jenkins pipeline (driver_version.sh).
  • DFU recovery β€” if firmware upgrades may be interrupted, this release keeps the device recoverable over MIPI (RSDSO-21588).
  • External sync β€” JP5 deployments should re-verify external-sync configuration against d467803; on-demand ESYNC GPIO tunneling is available per RSDEV-6847.
  • Seeed Orin Nano β€” new carrier target; select the matching device-tree overlay when deploying.

Contributors

ejgoldik, ipilchin1, Nikolai-L, Uzi Sarel (Uzi), Inessa Chernoguz (cinessa), Yogev Modlin


Version Progression

v1.0.2.34 β†’ v1.0.3.0 β†’ … β†’ v1.0.3.12 β†’ v1.0.3.18

R58.1 (v1.0.2.34)

Choose a tag to compare

@sareluzi sareluzi released this 07 May 13:15

Release Notes β€” v1.0.2.34 (CUMULATIVE)

  • Range: v1.0.2.23 β†’ v1.0.2.34
  • Date range: 2026-03-16 – 2026-05-07
  • Driver: D4XX GMSL MIPI CSI-2 for NVIDIA Jetson
  • Commits: 33 | 175 files changed | 15,702 insertions / 5,308 deletions
  • Versions covered: 1.0.2.24, 1.0.2.25, 1.0.2.26, 1.0.2.27, 1.0.2.30, 1.0.2.31, 1.0.2.32, 1.0.2.33, 1.0.2.34

Highlights

  • JetPack 7 on NVIDIA Thor (MIPI) β€” new platform support tracked under RSDSO-20559.
  • JetPack 5.1.6 and JetPack 6.2.2 β€” additional NVIDIA L4T versions added (RSDSO-21191, RSDSO-21146).
  • MAX96712 multi-camera up to quad D457 β€” multi-camera deserializer support, dual-camera per deserializer on JP6.x, and quad-D457 enablement via MAX96712 full-slave mode (Fangzhu) (RSDSO-20613).
  • External sync via TSC PWM β€” Thor-friendly external sync path using TSC PWM, plus restored MAX9296 GPIO tunneling and consolidated MAX9295 GPIO tunneling for external sync (RSDSO-21407).
  • Carrier board support β€” Advantech (Orin, JP6 and JP7) and AVerMedia (JP6.x) carrier/deserializer boards.
  • MAX96712 link tuning β€” lane data rate raised to 2500 Mbps; MFP6 configuration added for links B–D.
  • Driver stability fixes β€” DS5 reset/detection rework, MAX9296 power_off underflow fix that caused spurious XCLR during probe, and DTB copy fix for JP6.x deploy.

Known Issues:

  • Camera doesn't appear in recovery mode after interrupting the upgrade process
    This has been fixed at R58.2 (v1.3.0.18) please update if required [RSDSO-21588] .

New Platform Support

Item Description Commit
JetPack 7 / NVIDIA Thor (MIPI) Add Thor MIPI platform bring-up. Tracked-on RSDSO-20559. 15291ac
JetPack 5.1.x and JP 6.2.2 Add NVIDIA L4T 5.1.6 (RSDSO-21191) and 6.2.2 (RSDSO-21146) version mappings and build pipeline. f1f0c97

Multi-Camera & SerDes

Item Description Commit
MAX96712 multi-camera Enable multiple D4XX cameras behind one MAX96712 deserializer. e9082f1
MAX96712 dual-camera per deserializer (JP6.x) Two D457 cameras per MAX96712 on JP6.x device trees. 97b6e7e
Quad D457 via MAX96712 full-slave mode Enable up to four D457 cameras using MAX96712 full-slave mode. RSDSO-20613. 4947e6b
Fangzhu full-slave mode patches Patch set enabling Fangzhu in MAX96712 full-slave configuration. RSDSO-20613. c5ef147
MAX96712 lane data rate β†’ 2500 Mbps Raise per-lane data rate on MAX96712 for higher aggregate bandwidth. 825a718
MAX96712 MFP6 config (links B–D) Add MFP6 pin configuration for links B, C, and D. 16cb925
MAX9295/MAX9296 driver updates Driver configuration and patch updates for the GMSL SerDes pair. 180432a

External Sync / GPIO Tunneling

Item Description Commit
External sync via TSC PWM External sync implementation using TSC PWM (Thor-compatible path). RSDSO-21407. 88c7f7a
MAX96712A GPIO tunneling for external sync Add GPIO tunneling on MAX96712A for external sync trigger distribution. f304653
Restore MAX9296 GPIO tunneling Restore MAX9296 GPIO tunneling path for external sync. 1bedc08
Consolidate MAX9295 GPIO tunneling Drop legacy patch 0017; MAX9295 GPIO tunneling consolidated into patch 0016. c2b8ee6, 518bf98

Carrier Board Support

Item Description Commit
Advantech (Orin) Initial Advantech board support on Orin. 870da69
Advantech on JP7.x Enable Advantech board on JP7.x; use left CSI port on Orin. 9a7985b, e75b5f6
Advantech DTSO fix for JP7 Fix Advantech device tree overlay source for JP7. 4f32ea1
AVerMedia deserializer (JP6.x) Add AVerMedia deserializer board support on JP6.x. 224bae0

Bug Fixes

Description Commit
DS5 reset and detection rework β€” fixes camera reset/detection corner cases. a7ea226
Remove unused retry variable in ds5_probe. 44c7419
Fix MAX9296 power_off refcount underflow causing spurious XCLR reset during probe. 1917489
Fix JP6.x DTB copy in build_all.sh β€” add missing tegra234-p3737-0000+p3701-0000-nv.dtb and tegra234-p3737-0000+p3701-0005-nv.dtb. 2b748fa
Update apply_patches_ext.sh for renamed DT patch directories. ee7e0ba

Per-version Summary

Version Date Key changes
1.0.2.24 2026-03-25 JP7/Thor MIPI bring-up (RSDSO-20559); MAX96712 dual-camera per deserializer (JP6.x); MAX96712A GPIO tunneling for external sync; DS5 reset/detection fix; remove stale retry variable.
1.0.2.25 2026-04-06 MAX9295 GPIO tunneling consolidated (drop 0017); restore MAX9296 GPIO tunneling for external sync; JP 5.1.x / JP 6.2.2 support; MAX96712 multi-camera; MAX9295/MAX9296 driver updates; Advantech Orin support; apply_patches_ext.sh DT path fix; AVerMedia JP6.x; Advantech DTSO fix for JP7.
1.0.2.26 2026-04-06 Fix JP6.x DTB copy in build_all.sh.
1.0.2.27 2026-04-09 Enable Advantech board on JP7.x; use left port on Orin; MAX9296 power_off underflow fix preventing spurious XCLR during probe.
1.0.2.30 2026-04-21 Fangzhu MAX96712 full-slave mode patches (RSDSO-20613).
1.0.2.31 2026-04-23 Quad D457 camera support via MAX96712 full-slave mode (RSDSO-20613).
1.0.2.32 2026-04-28 MAX96712 MFP6 configuration for links B–D.
1.0.2.33 2026-05-05 External sync via TSC PWM (RSDSO-21407).
1.0.2.34 2026-05-07 MAX96712 lane data rate raised to 2500 Mbps.

Upgrade Notes

  • Patch directory renames β€” if you maintain external patch overlays, refresh against apply_patches_ext.sh changes in ee7e0ba.
  • MAX9295 GPIO tunneling β€” patch 0017 was removed and folded into 0016; downstream forks rebasing manually must drop 0017.
  • JP6.x DTB deploy β€” re-deploy DTBs after upgrading; base platform DTBs are now copied to rootfs/boot/dtb/.
  • MAX96712 lane rate β€” new 2500 Mbps lane rate requires compatible board routing and SerDes calibration; verify on custom carriers before deploying.
  • Full-slave / quad-D457 β€” requires MAX96712 board configured for full-slave mode; review device tree variant selection in hardware/realsense/.

Contributors

ejgoldik, Uzi (Uzi Sarel), Inga Pilchin (ipilchin1), Nikolai-L, KONTRA


Version Progression

v1.0.2.23 β†’ v1.0.2.24 β†’ v1.0.2.25 β†’ v1.0.2.26 β†’ v1.0.2.27 β†’ v1.0.2.30 β†’ v1.0.2.31 β†’ v1.0.2.32 β†’ v1.0.2.33 β†’ v1.0.2.34

v1.0.2.33

v1.0.2.33 Pre-release
Pre-release

Choose a tag to compare

@sareluzi sareluzi released this 05 May 15:41

Release Notes β€” R58.2+ (v1.0.2.33) β€” PRE-RELEASE

  • Range: v1.0.2.23 β†’ v1.0.2.33
  • Date range: 2026-03-22 – 2026-05-05
  • Driver: D4XX / D5XX GMSL MIPI CSI-2 for NVIDIA Jetson
  • Status: pre-release β€” validation still in progress; not recommended for production deployment.

Highlights

  • MAX96712 multi-camera support β€” initial multi-camera overlay configurations for FG12-16CH (2-camera and 4-camera), enabling quad D457 camera support with MAX96712 full slave mode
  • GPIO tunneling for external sync β€” on-demand ESYNC GPIO tunneling support added for MAX9295 and MAX96712A, enabling external sync support across JetPack 5.x and 6.x platforms
  • Expanded platform support β€” new carrier board support including Advantech (Orin, JP6.x, JP7.x), AVerMedia (JP6.x), Seeed Orin Nano, plus JetPack 5.1.6 and 6.2.2 compatibility
  • SerDes driver improvements β€” MAX9295/MAX9296 regmap cache type changed to REGCACHE_FLAT to prevent initialization delays and improve reliability
  • Probe and reset optimization β€” driver probe function optimized to eliminate unnecessary reset logic and reduce spurious XCLR resets, improving camera detection reliability
  • Stream restart robustness β€” stream restart upon capture timeout added across all supported JetPacks (4.6.1, 5.0.2, 5.1.2, 5.1.6, 6.0, 6.1, 6.2.x, 7.0, 7.1)

SerDes & Multi-Camera

Item Description Commit
Align JP5 esync configuration Synchronize esync configuration between JetPack 5.0.2 and 5.1.2 d467803
On-demand ESYNC GPIO tunneling Add on-demand GPIO tunneling for external sync support (MAX9295, JP5/JP6) 01f4858
Quad D457 MAX96712 full slave Enable quad D457 camera support with MAX96712 full slave mode 477a4d2
Fangzhu full slave mode Enable Fangzhu full slave mode in SerDes patches 3a73aa5
MAX96712 multi-camera overlays FG12-16CH dual and quad camera overlays (cams 0-1, cams 0-1-2-3) e9082f1
Restore MAX9296 GPIO tunneling Restore max9296 GPIO tunneling for external sync support 1bedc08
Consolidate GPIO tunneling patches Consolidate MAX9295 GPIO tunneling into unified patch 0016 c2b8ee6, 518bf98
MAX96712A GPIO tunneling Add GPIO tunneling for MAX96712A external sync support f304653
Add mfp6 config Add mfp6 configuration for deserializer links b to d 6da8282
MAX9295/MAX9296 regmap cache Change regmap cache type to REGCACHE_FLAT to prevent init delays 180432a

Platform & Camera Support

Item Description Commit
Seeed Orin Nano support Device-tree overlays for D4xx on Seeed Orin Nano carrier (single, dual, 4-camera configs) 41edd02
Advantech Orin support Advantech deserializer board support for Orin JP6.x 870da69, e75b5f6
Advantech JP7.x support Enable Advantech board support on JetPack 7.x 9a7985b, 4f32ea1
AVerMedia JP6.x support AVerMedia deserializer board support for JetPack 6.x 224bae0
JetPack 5.1.6 support Full platform support for NVIDIA JetPack 5.1.6 f1f0c97
JetPack 6.2.2 support Full platform support for NVIDIA JetPack 6.2.2 f1f0c97
Fix dtb copy for JP6.x Correct device-tree blob copy path for JetPack 6.x builds 2b748fa

Bug Fixes / Stability

Description Ticket Commit
Fix endless HW reset when camera inaccessible Stop infinite reset loop when camera cannot be accessed β€”
Fix max9296 power_off underflow Eliminate spurious XCLR reset during probe caused by power_off underflow β€”
Remove unnecessary reset logic Clean up redundant reset logic from probe function β€”
Fix ds5 reset and detection Improve camera reset sequence and detection reliability β€”
Remove unused 'retry' variable Code cleanup: remove unused variable from ds5_probe function β€”
Update apply_patches_ext.sh Fix patch application for renamed device-tree patch directories β€”

Build / CI / Tooling

Description Commit
Optimize reset and probe Improve driver probe sequence efficiency and reliability

Upgrade Notes

  • Pre-release β€” this build is published for integration and validation. Do not deploy to production until promoted to a full release.
  • Driver version line β€” moves from 1.0.2.23 to 1.0.2.33. Driver version continues to be auto-incremented via the Jenkins pipeline.
  • External sync support β€” cameras using external sync should enable GPIO tunneling via device-tree properties or kernel module parameters for MAX9295 and MAX96712A.
  • New JetPack versions β€” JetPack 5.1.6 and 6.2.2 are now supported; ensure you use the correct patch set and device-tree overlays for your target platform.
  • Carrier board overlays β€” new overlays added for Advantech (JP6.x, JP7.x), AVerMedia (JP6.x), and Seeed Orin Nano; select the appropriate overlay for your hardware configuration.
  • Multi-camera configurations β€” FG12-16CH now supports 2-camera and 4-camera configurations via new overlay files (tegra234-camera-d4xx-overlay-fg12-16ch-cams-0-1.dts and ...-cams-0-1-2-3.dts).
  • SerDes patches reorganized β€” GPIO tunneling patches have been consolidated; if you maintain custom patches, review the new patch numbering (GPIO tunneling is now in patch 0016 instead of separate 0017).

Contributors

ejgoldik, ipilchin1, Nikolai-L, Uzi, Uzi Sarel, KONTRA


Full Commit Log (dev branch)

Codebase commits from dev branch (v1.0.2.23 β†’ v1.0.2.33):

d467803 Align JP5 esync configuration (#431)
01f4858 RSDEV-6847: On-demand ESYNC GPIO tunneling for external sync (#429)
6da8282 Add mfp6 config for links b to d (#430)
41edd02 [RSDSO-20614] - Seeed orin nano support (#428)
0e86a8e Remove unnecessary reset logic from probe function (#427)
8e5cdbc Fix endless HW reset when camera inaccessible (#425)
477a4d2 RSDSO-20613: enable quad D457 camera support with MAX96712 full slave mode (#426)
3a73aa5 RSDSO-20613: enable Fangzhu full slave mode in patches (#424)
54bcf16 Optimize reset and probe (#416)
1917489 Fix max9296 power_off underflow causing spurious XCLR reset during probe
e75b5f6 Use left port for Advantech on Orin
9a7985b Enable Advantech board on JP7.x
2b748fa Fixed dtb copy for JP6.x
4f32ea1 Fix Advantech dtso for JP7 (#408)
224bae0 AVerMedia deserializer board support for JP6.x (#410)
ee7e0ba [FIX] Update apply_patches_ext.sh for renamed DT patch directories (#409)
870da69 Advantech board orin support (#406)
180432a Update max9295 and max9296 driver configurations and patches (#405)
e9082f1 Max96712 multicamera (#404)
f1f0c97 Tracked on RSDSO-21191 Support Nvidia JP 5.1.x/RSDSO-21146 Support Nvidia JP6.2.2 (#402)
1bedc08 Restore max9296 GPIO tunneling for external sync (#403)
c2b8ee6 Remove 0017; MAX9295 GPIO tunneling consolidated into 0016
518bf98 Remove 0017; MAX9295 GPIO tunneling consolidated into 0016
44c7419 [FIX] Remove unused variable 'retry' in ds5_probe function
a7ea226 Fix ds5 reset and detection (#400)
f304653 Add GPIO tunneling for MAX96712A external sync support

πŸ€– Generated with Claude Code

v1.0.2.23

Choose a tag to compare

@sareluzi sareluzi released this 22 Mar 10:23

Release Notes β€” v1.0.2.23

Date: 2026-03-16
Previous release: v1.0.1.33 (2026-01-22)
Driver: D4XX GMSL MIPI CSI-2 for NVIDIA Jetson
Diff: 57 commits, 85+ files changed (~1,974 insertions / 881 deletions in d4xx.c alone)


Highlights

  • Comprehensive HW-reset recovery for GMSL cameras β€” the driver now detects hardware resets mid-operation, re-establishes SerDes links, re-probes sensors, and resumes streaming with minimal disruption. This spanned 12+ incremental patches (v1.0.2.5 β†’ v1.0.2.23).
  • D401 GMSL support β€” first-class support for D401 cameras over GMSL with POR-aligned resolutions (up to 60 FPS at 480p) and 5 FPS mode.
  • JetPack 6.2.1 support β€” compilation and patching support added for L4T 36.4.4.
  • Fangzhu FG12-16ch support β€” multi-camera carrier board support extended to JP 5.0.2 and JP 6.0.

New Features

Area Description Commits
D401 GMSL Add D401 camera support over GMSL with POR-aligned resolutions (max 60 FPS at 480p); restore 5 FPS mode a59cd24, 3a04b6d, 445be76, 81248d8
JetPack 6.2.1 Build, patch, and deploy support for JP 6.2.1 (L4T 36.4.4) 35e34ed
FG12-16ch Fangzhu FG12-16ch carrier board support for JP 5.0.2 + JP 6.0 2d860ad
Camera sync XU control New XU (extension unit) control for camera synchronization mode 0785890
Software I2C address aliasing Support I2C address aliasing without HW mux 0bfa678
Calibration without metadata Enable calibration workflow without metadata stream 3cf003d
Metadata conditional on DTS Metadata support is now gated on device-tree configuration 4a274ac
MAX96712 built-in module MAX96712 deserializer compiled as built-in instead of loadable module 085a702
V4L2 streaming script New scripts/stream_frames.py for multi-device V4L2 streaming 8e91091

HW Reset Recovery (major feature, 15+ patches)

A complete hardware-reset recovery mechanism was developed across versions v1.0.2.5 through v1.0.2.23:

  • Initial implementation β€” detect HW reset via generation counters, re-establish GMSL SerDes links, recover streaming state (bbb0814)
  • Regression fix β€” fix recovery regression in initial release (4fdddfe)
  • Reset generation tracking β€” atomic generation counters with lazy cache invalidation across sensor instances (1a483d4)
  • Device type polling β€” poll device-type register after HW reset for proper re-initialization (c39e16f, 1066a30)
  • Per-stream-instance recovery β€” fix recovery for the per-stream-instance architecture; register all instances in serdes_inited[]; fix EBUSY loop (fdba0ec, ebb67d5, 1afe702)
  • IMU probe fix β€” fix D457 probe failure on 4th instance (IMU) after HW reset (019d69d)
  • Post-reset HWMC readiness β€” add HWMC readiness gate and fix GVD retry logic after reset (0ecf9a1)
  • Format table fix β€” fix wrong format tables when device-type register returns 0 after HW reset (048d43a)
  • D401 I2C stability β€” fix D401 post-reset I2C instability and GMSL link degradation (a26e6a5)
  • Stability checks β€” add stability verification with primary instance handling (be53fef)
  • Light path β€” conditional SERDES recovery (light path), deferred pipe release, remove serializer init from non-critical path (2012bef, 4580502)
  • Streaming state management β€” enhanced recovery ↔ streaming interaction, force stop on generation mismatch (f969628, 559ce09, b367c4a, 5bf5cea)

Bug Fixes

Description Commit
Fix rmmod/modprobe after camera disconnect (RSDEV-6494) 9736b6a
Fix streaming start/stop regression β€” no frames after several iterations (RSDSO-21082) 31af8c4
Fix HW-reset recovery regression 4fdddfe
Revert "Add format YUYV to IR for D405 GMSL" a024987
Fix nvethernetrm symlink handling for JP 6.x e22dab3
Enhance I2C communication with retry-logic fixes 440e6c8

Stability & Refactoring

Description Commit
Refactor ds5 configuration logic β€” improved data-type handling and retry mechanism 7f6995a
Refactor ds5 sensor configuration and streaming logic e6ff1f5
Define PIPE_NOT_CONFIGURED constant; clarify pipe_id assignments b0946f5
Reduce log noise β€” demote warnings to debug; add 100 ms delay on stop 1ba7084
Align D401 resolutions to POR 445be76

Infrastructure & CI

Description Commit
Add V4L2 on-device test workflow with self-hosted Jetson runner 6b0383c
Fix V4L2 test workflow β€” prevent failure on d4xx module loading 54db7f1
Add MAX96712 to apply_patches_ext.sh 00f7401
Refactor and enhance V4L2 test suite 2af4497

Documentation

  • README links migrated to realsenseai GitHub org (1c48909)
  • README updated to remove Intel references (0c5c992)
  • JP6 README minimized (f3bada8)
  • README: add initrd deployment step (a6dc94c)
  • Added CLAUDE.md, copilot-instructions.md, hw-reset follow-up plan doc

Contributors

Ejgoldik, Ilya Pilchin, Nikolai L., Nir Azkiel, Uzi Sarel, Yogev Modlin


Version Progression

v1.0.1.33 β†’ v1.0.2.4 β†’ v1.0.2.5 β†’ v1.0.2.6 β†’ v1.0.2.7 β†’ v1.0.2.8 β†’ v1.0.2.9 β†’ v1.0.2.10 β†’ v1.0.2.12 β†’ v1.0.2.13 β†’ (14–22 untagged) β†’ v1.0.2.23

Full Changelog: v1.0.2.13...v1.0.2.23

v1.0.1.33

Choose a tag to compare

@ymodlin ymodlin released this 22 Jan 15:26

What's Changed

  • Fix Y12I streaming error handling in vi5_capture_dequeue
  • CI: testing frame order and fps by @Kontra2B in #331
  • Add scripts for kernel module aggregation and deployment by @ymodlin in #336

Full Changelog: v1.0.1.32...v1.0.1.33