WIFI-RTL8822CE Not Detected on Nvidia Jetson Orin Nano Dev Board

Issue Overview

Users are experiencing difficulties with the RTL8822CE Wi-Fi card on the Nvidia Jetson Orin Nano Dev Board. The primary issue is that the Wi-Fi card is not being detected by the system. Specific symptoms include:

  • The Wi-Fi card does not appear in the lspci output
  • Error message "Phy link never came up" in system logs
  • No clock signal detected on PCIE2
  • The issue persists across different JetPack versions (5.12 mentioned)

This problem significantly impacts the functionality of the Wi-Fi capabilities on the dev board, preventing users from establishing wireless connections.

Possible Causes

  1. PCIe Controller Configuration: The PCIe controller (pcie@141e0000 C7x1) may not be properly configured to recognize the Wi-Fi card.

  2. GPIO Configuration: Specific GPIO pins required for the Wi-Fi card may not be correctly enabled or configured.

  3. Clock Signal Issues: The absence of a clock waveform output suggests a problem with the PCIe clock generation or distribution.

  4. Driver Compatibility: The RTL8822CE driver may not be compatible with the current JetPack version or kernel.

  5. Hardware Defect: There could be a physical issue with the Wi-Fi card or its connection to the dev board.

  6. BIOS/Firmware Settings: Incorrect BIOS or firmware settings might be preventing the detection of the PCIe device.

  7. Power Management: Aggressive power management settings could be affecting the PCIe device detection.

Troubleshooting Steps, Solutions & Fixes

  1. Verify PCIe Controller Configuration:

    • Check the PCIe controller settings in the device tree:
      pcie@141e0000 {
          compatible = "nvidia,tegra234-pcie\0snps,dw-pcie";
          power-domains = <0x02 0x10>;
          reg = <0x00 0x141e0000 0x00 0x20000 0x00 0x3e000000 0x00 0x40000 0x00 0x3e040000 0x00 0x40000 0x00 0x3e080000 0x00 0x40000 0x32 0x30000000 0x00 0x10000000>;
          // ... (other settings)
      }
      
    • Ensure that the PCIe controller is enabled and properly configured for the Wi-Fi card.
  2. Adjust PCIe Speed:

    • Try limiting the PCIe speed to Gen1 by modifying the device tree:
      nvidia,max-speed = <0x1>;
      
  3. Check and Adjust GPIO Configuration:

    • Verify the WL_DISABLE GPIO pin status:
      • If pulled up by default, try pulling it down to enable the Wi-Fi card.
    • Update the C7 pinmux settings:
      pex_l7_clkreq_n_pag0 {
          nvidia,pins = "pex_l7_clkreq_n_pag0";
          nvidia,function = "pe7";
          nvidia,pull = <TEGRA_PIN_PULL_NONE>;
          nvidia,tristate = <TEGRA_PIN_DISABLE>;
          nvidia,enable-input = <TEGRA_PIN_ENABLE>;
          nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
          nvidia,lpdr = <TEGRA_PIN_DISABLE>;
      }
      
      pex_l7_rst_n_pag1 {
          nvidia,pins = "pex_l7_rst_n_pag1";
          nvidia,function = "pe7";
          nvidia,pull = <TEGRA_PIN_PULL_NONE>;
          nvidia,tristate = <TEGRA_PIN_DISABLE>;
          nvidia,enable-input = <TEGRA_PIN_DISABLE>;
          nvidia,io-high-voltage = <TEGRA_PIN_ENABLE>;
          nvidia,lpdr = <TEGRA_PIN_DISABLE>;
      }
      
  4. Debug PCIe Link-Up Failure:

    • Follow the debug procedure outlined in the Nvidia documentation:
      https://docs.nvidia.com/jetson/archives/r35.4.1/DeveloperGuide/text/HR/JetsonModuleAdaptationAndBringUp/JetsonAgxOrinSeries.html?highlight=orin%20adaptation#debug-pcie-link-up-failure
  5. Check PCIe Clock Signal:

    • Use an oscilloscope to verify the presence of a clock signal on the PCIe lanes.
    • If no signal is detected, investigate the clock generation and distribution circuitry.
  6. Verify PADCTL Settings:

    • Dump and verify PADCTL_PEX_CTL_PEX_L*_CLKREQ_N_0 and PADCTL_PEX_CTL_PEX_L*_RST_N_0 pinmux values:
      busybox devmem 0x02437030
      busybox devmem 0x02437038
      
    • Compare the values with the expected settings in the Orin TRM document.
  7. Update JetPack and Drivers:

    • Ensure you are using the latest JetPack version compatible with your hardware.
    • Check for any available updates for the RTL8822CE driver.
  8. Disable Power Management Features:

    • Add the following to the PCIe controller configuration in the device tree:
      nvidia,disable-power-down;
      
  9. Hardware Inspection:

    • Physically inspect the Wi-Fi card and its connection to the dev board.
    • If possible, try the Wi-Fi card in another compatible system to rule out hardware issues.
  10. Consult Vendor Support:

    • Contact the vendor for specific guidance on enabling the Wi-Fi card, especially regarding any required GPIO configurations.

If the issue persists after trying these steps, consider reaching out to Nvidia support or the Jetson community forums for further assistance. Additional debugging may be required to identify the root cause of the detection failure.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *