V4l2 with TX2 and LI-IMX424-GMSL2 not working

I have a Jetson TX2 with an LI-IMX424-GMSL2. I have successfully streamed from the camera using argus and gstreamer. I have not had any success using v4l2 with the camera and I want to use v4l2 to get the raw images without any processing done by the ISP. This is the dmesg output I get when running a v4l2-ctl command.

[  963.992245] imx324 30-001a: imx324_power_on: power on
[  964.019248] imx324 30-001a: imx324_s_stream++ enable 1
[  964.024601] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[  964.031207] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x10 = 31
[  964.152435] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[  964.159468] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x330 = 4
[  964.167400] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[  964.175921] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x333 = 4e
[  964.183731] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[  964.190776] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x334 = e4
[  964.198500] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[  964.206944] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x40a = 0
[  964.214541] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[  964.221308] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x44a = c0
[  964.229007] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[  964.235813] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x48a = c0
[  964.243475] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[  964.250116] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x4ca = 0
[  964.257670] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[  964.264283] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x31d = 0
[  964.271852] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[  964.280862] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x320 = 2c
[  964.288484] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[  964.295229] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x323 = 0
[  964.302718] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[  964.309298] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x326 = 0
[  964.316792] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[  964.323339] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x50 = 0
[  964.330742] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[  964.337294] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x51 = 1
[  964.344672] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[  964.351210] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x52 = 2
[  964.358585] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[  964.365115] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x53 = 3
[  964.372496] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[  964.379015] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x332 = f0
[  967.871141] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  968.875152] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  969.879128] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[  970.883149] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11

Hi nick5wn7q,

Please try below command.

v4l2-ctl --set-fmt-video=width=3840,height=1928,pixelformat=RG12 --set-ctrl bypass_mode=0 --stream-mmap --stream-count=3 --stream-to=imx424.raw -d /dev/video0

Hi Simon,

The command did not work. I ran the command and got in the terminal:

VIDIOC_DQBUF: failed: Input/output error

The dmesg output is:

[64923.687099] imx324 30-001a: imx324_power_on: power on
[64923.727542] imx324 30-001a: imx324_s_stream++ enable 1
[64923.732947] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[64923.739648] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x10 = 31
[64923.861065] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[64923.867847] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x330 = 4
[64923.875494] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[64923.882342] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x333 = 4e
[64923.890037] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[64923.896693] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x334 = e4
[64923.904349] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[64923.910921] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x40a = 0
[64923.918494] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[64923.925084] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x44a = c0
[64923.932671] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[64923.939299] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x48a = c0
[64923.946872] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[64923.953470] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x4ca = 0
[64923.960988] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[64923.967636] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x31d = 0
[64923.975210] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[64923.981868] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x320 = 2c
[64923.989484] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[64923.996624] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x323 = 0
[64924.004197] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[64924.010845] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x326 = 0
[64924.018347] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[64924.025166] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x50 = 0
[64924.032632] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[64924.039275] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x51 = 1
[64924.046751] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[64924.053394] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x52 = 2
[64924.060907] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[64924.067464] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x53 = 3
[64924.074933] tegra-i2c 3180000.i2c: no acknowledge from address 0x6a
[64924.081524] max9296 30-006a: max9296_write_reg_Dser:i2c write failed, 0x332 = f0
[64925.382303] IPVS: Creating netns size=1424 id=10
[64926.186578] tegra-vi4 15700000.vi: Status:  7 channel:00 frame:0000
[64926.193792] tegra-vi4 15700000.vi:          timestamp sof 64937836143232 eof 64937882275136 data 0x00000001
[64926.203650] tegra-vi4 15700000.vi:          capture_id 11205 stream  0 vchan  0
[64927.137161] tegra-vi4 15700000.vi: PXL_SOF syncpt timeout! err = -11
[64928.141168] tegra-vi4 15700000.vi: ATOMP_FE syncpt timeout!
[64928.147283] imx324 30-001a: imx324_s_stream++ enable 0
[64928.166885] imx324 30-001a: imx324_power_off: power off

Do you have this setup working with V4L2? I tried reflashing my TX2 with instructions and drivers and still the same result.

Hi nick5wn7q,

Are you using the TX2 IMX424-GMSL2 driver in guide below?

IMX424-GMSL2_R28.2.1_TX2_NV_One_20181116.txt

That isn’t a link, but I had a dropbox link with the same name.

https://www.dropbox.com/s/j33ghpkviyxtvra/IMX424-GMSL2_R28.2.1_TX2_NV_One_20181116txt.txt?dl=0

One thing that I noticed is that the name of the sensor in software is actually IMX324 even though the instructions say they are for IMX424. Is that intended?

Hi nick5wn7q,

Our team will look into this issue.

Hi Simon,

I was just wondering if there was any update on this issue or any idea what could be the problem?

Hi nick5wn7q,

Our team are still working on it. Will keep you posted.

Hi nick5wn7q,

We have a new IMX424 driver which is based on R32.1 and fixed the raw capture issue. Below is the driver guide.

Hi Simon,

Thank you for the new driver. I can confirm it does work and can now get raw images.