Can't identify PCIe switch version

Thank you!

Is there any hardware related issue of PCIe switch? As I listed before, there was no switch related device is emulated. I’m not sure which kind of devices should be listed in /dev/ and by “switchtec list”.
Could you please share this board block Diagram so that we can figure out if any PCIE Device connection errors ? Thanks a lot.

That may be because the Config flashed on pcie switch is not the one which will make it show up on RP of xavier hence its xavier cannot see pcie switch.

You can follow below document to check and update firmware/configuration via serial port.
https://docs.nvidia.com/drive/drive_os_5.1.6.1L/nvvib_docs/index.html#page/DRIVE_OS_Linux_SDK_Development_Guide/Flashing%20Basics/flashing_pcie.html#

Thank you! I will try this way.

By the way, where and how can I get the hardware module block diagram for this reference board ?

AFAIK, we don’t publish the diagram in the developer site. But You can try to check with your nvidia representative to get their feedback. Thanks!

Thank you!

1 Like

Hello, VickNV:
I flashed the configuration and firmware by PCIe switch console (/dev/ttyUSB15). After the reboot, the version number is not changed. And there still no any switchtec device.
nvidia@tegra-ubuntu:/lib/firmware/pcie-switch/tools/prebuilt$ ./switchtec list
free(): invalid pointer
Aborted (core dumped)

Firmware Version Major 01. Minor 08. Type 0. Build D58.
Device Id 8534
Device Revision 1
XML File Version 58

Could you please tell me what I can do next for PCIe switch ?

Is your target system with DRIVE Software 9 or 10 now?

Could you also follow “To identify the configuration file version” in the document to get the current VTR information?

The system is still Drive Software 9.

Refer to VTR and README, I selected x2_default.pmc to flash.
x00000000:0007>gasrd 0x2010 1
gas_reg_read <0x2010> [1]
0x40041101

Please try with usecase4.0.pmc.

I tried to flash the usecase4.0.pmc. The issue is same as before.
There is still no switchtec device .
nvidia@tegra-ubuntu:/lib/firmware/pcie-switch/tools/prebuilt$ ./switchtec list
free(): invalid pointer
Aborted (core dumped)

One more question:
• Expose the current PCIe configuration management end point (EP) or non-transparent (NT) EP to the root complex.
How to get current PCIe configuration? And how to expose these to root complex?

Thanks a lot!

gasrd command you used in your previous post is for checking the current version. In the document, there is the detailed information of the command.

Thank you!
I followed the documents to select the configuration file. https://docs.nvidia.com/drive/drive_os_5.1.6.1L/nvvib_docs/index.html#page/DRIVE_OS_Linux_SDK_Development_Guide/Flashing%20Basics/flashing_pcie.html#wwpID0E0ZF0HA
This is what I did before.

Did you mean still no /dev/switchtec0 in your system? What’s the VTR information from the gasrd command?

x00000000:0007>gasrd 0x2010 1
gas_reg_read <0x2010> [1]
0x40041101

Yes. There is still no /dev/switchtec0 on system.

After usecase4.0.pmc flashed successfully, you should see 0X400?4001 VTR information (highlighted digitals stands for usecase 4.0. ? depends on configuration file revision). any error message in flashing? Did you power cycle the system? Thanks!

0x00000000:0001>gasrd 0x2010 1
gas_reg_read <0x2010> [1]
0x40044001

There is no error during flashing. and I reboot the system.

I’m going to upgrade to SDK 10 firstly. And check this issue after that.

The VTR information looks correction. Please let us know after upgrading. Thanks!

After upgrading the system to SDK 10. The device can be seen in /dev/ and get from “switchtec list”.

Thank you very much!

Good to hear that the device node shows up on your side!