Jetson TX2 - USB and HDMI not working

Jetpack Version - 3.0
L4T 27.1
Carrier board: dev-kit

I will just mention how we are using Jetson board just in case if it helps in debugging:
We are using Jetson board on our ground vehicle, Jetson Board is powered with power supply (‘2S 7.4V Lipo 5200mah 35C’ battery). We are using USB hub which is connected to USB 3.0 of Jetson board. USB hub used requires no external power supply or it is powered by USB port of Jetson itself. Also, for display purposes we use two display screens, one for working offline when we are not moving our ground vehicle and other smaller display is used when vehicle is operational/moving.

Problem:
During Operation, USB hub and HDMI stopped working (earlier they were working fine with same setup). After that we are not able to connect any device to usb. On the other hand, we are only able to connect with smaller display using HDMI, and that also 5 minutes after boot up display shows up, before this screen is black.

Command ‘dmesg’ shows:

[    8.776875] Wake78 for irq=199
[    8.779921] Wake79 for irq=199
[    8.782969] Wake80 for irq=199
[    8.786015] Wake81 for irq=199
[    8.789059] Wake82 for irq=199
<b>[    8.792488] xhci-tegra 3530000.xhci: can't get usb3-0 phy (-517)</b>

Complete dmesg command log File: https://drive.google.com/open?id=1D8ajILtzxBLkRxEaHb9HZFLxaes06AE9

Solutions already tried:

  • I have already tried reflashing Jetson, but that also doesnt solve the problem.
  • I also tried the solution suggested at this https://elinux.org/Jetson/TX2_USB, which is:
    1. At 64_TX2/Linux_for_tegra_tx2/kernel/dtb copied tegra186-tx2-usb-base.dtb to tegra186-quill-p3310-1000-c03-00-base.dtb
    2. Put the TX2 in recovery mode and then at 64_TX2/Linux_for_tegra_tx2 ran command "sudo ./flash.sh -r -k kernel-dtb jetson-tx2 mmcblk0p1"
     <b>The transcript says the operation was successful.</b>
     <b>However the TX2 now fails to function on ethernet, HDMI or USB</b>, which forced me too again reflash the device </li>
    

    dmesg_log.txt (31.6 KB)

  • Hi,
    The steps are for later release. Please try r28.2.1(Jetpack 3.3).

    Hello DaneLLL,

    I would like to correct myslelf here,

    Earlier version was Jetpack 3.3, when i tried below steps.

    I also tried the solution suggested at this https://elinux.org/Jetson/TX2_USB, which is:
    At 64_TX2/Linux_for_tegra_tx2/kernel/dtb copied tegra186-tx2-usb-base.dtb to tegra186-quill-p3310-1000-c03-00-base.dtb
    Put the TX2 in recovery mode and then at 64_TX2/Linux_for_tegra_tx2 ran command "sudo ./flash.sh -r -k kernel-dtb jetson-tx2 mmcblk0p1"
    
    The transcript says the operation was successful.
    However the TX2 now fails to function on ethernet, HDMI or USB, which forced me too again reflash the device
    

    But when this method didn’t solve the problem, i flashed the Jetson again with jetpack 3.3. As installing Jetpack version 3.3 also didn’t solve the problem, Then i flashed Jetson with older version Jetpack 3.0(thinking may be this may solve the problem).

    Earlier version Jetpack 3.3
    Current version Jetpack 3.0 (dmesg log was taken with current version )

    Sorry for confusion caused.

    Hi,
    https://elinux.org/Jetson/TX2_USB is for custom board. Looks like you are using default development board?

    With default board, you should get the functions working in clean re-flashing via Jetpack. If it does not work, maybe some HW components are broken?
    The default power adaptor outputs in 19V 4.74A, 90W MAX. Maybe your power supply does not meet requirement?

    But can low voltages also cause this damage

    And i dont understand how Display/hdmi problem appears, because display was seperately powered

    I was going through other blogs on forum, people have faced similar problems

    Is thr any way to confirm it is hardware problem, as we are still able to use ssh.

    Just to add i am not able to access fan too as mentioned in may other blogs.

    nvidia@tegra-ubuntu:~$ sudo ./jetson_clocks.sh 
    Can't access Fan!
    
    nvidia@tegra-ubuntu:~$ dmesg |grep  tegradc
    [    1.749857] tegradc 15210000.nvdisplay: Display dc.15210000 registered with id=0
    [    1.750018] tegradc 15210000.nvdisplay: DT parsed successfully
    [    1.756722] tegradc 15210000.nvdisplay: vblank syncpt # 7 for dc 1
    [    1.756739] tegradc 15210000.nvdisplay: vpulse3 syncpt # 8 for dc 1
    [    1.763784] tegradc 15210000.nvdisplay: probed
    [    2.413256] tegradc 15210000.nvdisplay: fb registered
    [    8.223964] tegradc 15210000.nvdisplay: blank - powerdown
    

    dmesg_log.txt (31.7 KB)

    1. Are you using custom carrier board or devkit?
    2. For HDMI issue, could you see new kernel log appeared if you hotplug hdmi cable after boot up?
    3. Are you using pure image from Jetpack?
    4. Does other peripheral like ethernet/wifi work?
    1. Are you using custom carrier board or devkit?
      it is devkit

    2. For HDMI issue, could you see new kernel log appeared if you hotplug hdmi cable after boot up?
      As i have mentioned in my first post, we are using 2 displays, one for working offline and other smaller display which is used when vehicle is operational. we are only able to connect with smaller display using HDMI, and that also display shows up 5 minutes after boot, before this screen is black.

      dmesg output when smaller display is hotplugged and display is blank for initial few minutes

    [  287.815231] PD DISP0 index2 UP
    [  287.818432] PD DISP1 index3 UP
    [  287.821579] PD DISP2 index4 UP
    [  288.823245] tegra-i2c 3190000.i2c: --- register dump for debugging ----
    [  288.829913] tegra-i2c 3190000.i2c: I2C_CNFG - 0x22c00
    [  288.835100] tegra-i2c 3190000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
    [  288.841789] tegra-i2c 3190000.i2c: I2C_FIFO_CONTROL - 0xe0
    [  288.847375] tegra-i2c 3190000.i2c: I2C_FIFO_STATUS - 0x800070
    [  288.853207] tegra-i2c 3190000.i2c: I2C_INT_MASK - 0xac
    [  288.858403] tegra-i2c 3190000.i2c: I2C_INT_STATUS - 0x0
    [  288.863671] tegra-i2c 3190000.i2c: msg->len - 1
    [  288.868243] tegra-i2c 3190000.i2c: is_msg_write - 1
    [  288.873182] tegra-i2c 3190000.i2c: buf_remaining - 0
    [  288.878187] tegra-i2c 3190000.i2c: i2c transfer timed out, addr 0x0050, data 0x00
    [  289.887291] tegra-i2c 3190000.i2c: --- register dump for debugging ----
    [  289.893964] tegra-i2c 3190000.i2c: I2C_CNFG - 0x22c00
    [  289.899103] tegra-i2c 3190000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
    [  289.905869] tegra-i2c 3190000.i2c: I2C_FIFO_CONTROL - 0xe0
    [  289.911445] tegra-i2c 3190000.i2c: I2C_FIFO_STATUS - 0x800070
    [  289.917266] tegra-i2c 3190000.i2c: I2C_INT_MASK - 0xac
    [  289.922454] tegra-i2c 3190000.i2c: I2C_INT_STATUS - 0x0
    [  289.927753] tegra-i2c 3190000.i2c: msg->len - 1
    [  289.932350] tegra-i2c 3190000.i2c: is_msg_write - 1
    [  289.937266] tegra-i2c 3190000.i2c: buf_remaining - 0
    [  289.942280] tegra-i2c 3190000.i2c: i2c transfer timed out, addr 0x0050, data 0x00
    


    After few minutes, display appears on small display , below is dmesg log for that

    [  393.166830] tegra-i2c 3190000.i2c: --- register dump for debugging ----
    [  393.173501] tegra-i2c 3190000.i2c: I2C_CNFG - 0x22c00
    [  393.178684] tegra-i2c 3190000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
    [  393.185388] tegra-i2c 3190000.i2c: I2C_FIFO_CONTROL - 0xe0
    [  393.190961] tegra-i2c 3190000.i2c: I2C_FIFO_STATUS - 0x800070
    [  393.196795] tegra-i2c 3190000.i2c: I2C_INT_MASK - 0xac
    [  393.201984] tegra-i2c 3190000.i2c: I2C_INT_STATUS - 0x0
    [  393.207250] tegra-i2c 3190000.i2c: msg->len - 1
    [  393.211821] tegra-i2c 3190000.i2c: is_msg_write - 1
    [  393.216746] tegra-i2c 3190000.i2c: buf_remaining - 0
    [  393.221762] tegra-i2c 3190000.i2c: i2c transfer timed out, addr 0x0050, data 0x00
    [  394.230876] tegra-i2c 3190000.i2c: --- register dump for debugging ----
    [  394.237548] tegra-i2c 3190000.i2c: I2C_CNFG - 0x22c00
    [  394.242671] tegra-i2c 3190000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
    [  394.249436] tegra-i2c 3190000.i2c: I2C_FIFO_CONTROL - 0xe0
    [  394.255011] tegra-i2c 3190000.i2c: I2C_FIFO_STATUS - 0x800070
    [  394.260827] tegra-i2c 3190000.i2c: I2C_INT_MASK - 0xac
    [  394.266018] tegra-i2c 3190000.i2c: I2C_INT_STATUS - 0x0
    [  394.271318] tegra-i2c 3190000.i2c: msg->len - 1
    [  394.275911] tegra-i2c 3190000.i2c: is_msg_write - 1
    [  394.280828] tegra-i2c 3190000.i2c: buf_remaining - 0
    [  394.285836] tegra-i2c 3190000.i2c: i2c transfer timed out, addr 0x0050, data 0x00
    [  394.294825] tegradc 15210000.nvdisplay: hdmi: edid read failed
    [  394.300755] tegradc 15210000.nvdisplay: hdmi: using fallback edid
    [  394.306887] tegradc 15210000.nvdisplay: vrr_setup failed
    [  394.312239] PD DISP2 index4 DOWN
    [  394.315720] PD DISP1 index3 DOWN
    [  394.318977] PD DISP0 index2 DOWN
    [  394.322609] tegradc 15210000.nvdisplay: hdmi: plugged
    [  394.332849] tegradc 15210000.nvdisplay: blank - powerdown
    [  394.463933] tegradc 15210000.nvdisplay: blank - powerdown
    [  394.469427] tegradc 15210000.nvdisplay: unblank
    [  394.469444] PD DISP0 index2 UP
    [  394.469541] PD DISP1 index3 UP
    [  394.469543] PD DISP2 index4 UP
    [  394.470212]  rate get on hub 408000000
    [  394.470743] Parent Clock set for DC plld2
    [  394.473525]  dc clk 74250000
    [  394.478895] tegradc 15210000.nvdisplay: Link compression not supported by the panel
    [  394.478903]  rate get on compclk 74250000
    [  394.491989] tegradc 15210000.nvdisplay: Window 3 assigned to head 1
    [  394.508676] tegradc 15210000.nvdisplay: Window 4 assigned to head 1
    [  394.525338] tegradc 15210000.nvdisplay: Window 5 assigned to head 1
    [  395.578635] tegradc 15210000.nvdisplay: unblank
    

    And thr was no change in dmesg when any other displays were hotplugged.

    1. Are you using pure image from Jetpack?
      Yes, i have downloaded everything from nvidia website(hope u mean this by pure image).

    2. Does other peripheral like ethernet/wifi work?
      Yes, ethernet/wifi work are working.

    dmesg_log_hotplug_hdmi_with_small_display.txt (31.5 KB)
    dmesg_log_hotplug_hdmi_with_small_display_starts.txt (30.7 KB)
    dmesg_log_no_hdmi.txt (31.7 KB)

    According to this log, looks like i2c does not work either and hotplug just time out.
    The driver gives you an default EDID so that your monitor can light up.

    394.285836] tegra-i2c 3190000.i2c: i2c transfer timed out, addr 0x0050, data 0x00
    [  394.294825] tegradc 15210000.nvdisplay: hdmi: edid read failed
    [  394.300755] tegradc 15210000.nvdisplay: hdmi: using fallback edid
    [  394.306887] tegradc 15210000.nvdisplay: vrr_setup failed
    [  394.312239] PD DISP2 index4 DOWN
    [  394.315720] PD DISP1 index3 DOWN
    [  394.318977] PD DISP0 index2 DOWN
    [  394.322609] tegradc 15210000.nvdisplay: hdmi: plugged
    

    I also see your ina3221 seems broken.

    2.971432] tegra-i2c 3160000.i2c: arb lost in communicate to add 0x40
    [    2.972152] tegra-i2c 3160000.i2c: Un-recovered Arb lost
    [    2.972157] ina3221x 0-0040: ina3221 reset failure status: 0xfffffff5
    [    2.972293] ina3221x: probe of 0-0040 failed with error -11
    [    2.972556] tegra-i2c 3160000.i2c: arb lost in communicate to add 0x41
    [    2.972871] sdhci-tegra 3460000.sdhci:  voltage switch failed in probe, err: -524
    [    2.973042] tegra-i2c 3160000.i2c: Un-recovered Arb lost
    [    2.973046] ina3221x 0-0041: ina3221 reset failure status: 0xfffffff5
    [    2.973147] ina3221x: probe of 0-0041 failed with error -11
    [    2.973389] tegra-i2c 3160000.i2c: arb lost in communicate to add 0x42
    [    2.974035] tegra-i2c 3160000.i2c: Un-recovered Arb lost
    [    2.974040] ina3221x 0-0042: ina3221 reset failure status: 0xfffffff5
    [    2.974138] ina3221x: probe of 0-0042 failed with error -11
    [    2.974372] tegra-i2c 3160000.i2c: arb lost in communicate to add 0x43
    [    2.975036] tegra-i2c 3160000.i2c: Un-recovered Arb lost
    [    2.975040] ina3221x 0-0043: ina3221 reset failure status: 0xfffffff5
    [    2.975125] ina3221x: probe of 0-0043 failed with error -11
    

    It looks like a hardware issue here.

    Hello WayneWWW,

    ok. As Jetson board is under warranty, can u guide how to proceed from here.

    Thanks for looking into the matter.

    Here is the link:
    https://developer.nvidia.com/embedded/faq#rma-process