Can't identify PCIe switch version

Hi

I am trying to upgrade the PCIe SWITCH FIRMWARE. Using the 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_linux.html#

I reach this step

nvidia@tegra-ubuntu:~$ cd /lib/firmware/pcie-switch/tools/prebuilt/

I cannot find pcie-switch folder.

I don’t know what happened on this board. This is first time to upgrade board.
Could you please help to check? Thanks a lot.

**Hardware Platform:DRIVE AGX Xavier™ Developer Kit
*Software Version: DRIVE Software 9
**Host Machine Version: Ubuntu 16.04
**SDK Manager Version:1.0.1.5538

Hi @yongsheng.chen,

The documentation is for 5.1.6.1 which is part of DRIVE Software 10.0.
Please refer to below documenation in 5.1.0.2 (part of DRIVE Software 9.0).

https://docs.nvidia.com/drive/active/5.1.0.2L/nvvib_docs/index.html#page/DRIVE_OS_Linux_SDK_Development_Guide%2FFlashing%20Basics%2Fflash_pcie_linux.html%23

Where can i find the for the switchtec fw-update command

Hi @shyam.sundar,

Please follow the documentation to get the source and then build it for the command.

https://docs.nvidia.com/drive/active/5.1.0.2L/nvvib_docs/index.html#page/DRIVE_OS_Linux_SDK_Development_Guide%2FFlashing%20Basics%2Fflash_pcie_linux.html%23

Or you follow https://developer.nvidia.com/drive/downloads to install the latest version (DRIVE Software 10.0) and then you can refer to the link (in the initial post) for the flashing.

Your Documentation say the config file is here I upgraded to 10 /lib/firmware/pcie-switch/e3550/config_files/pm8534…but under the pcie-switch folder there is only a tools folder. There is no e3550 folder so how do i get the config file ?
i could not find it here too /drive-t186ref-foundation/firmwares/bin/t19x/microsemi/pcie/bins/ e3550/config_files/pm8534

Please download it from “Installation Notes” section of https://developer.nvidia.com/drive/downloads (as below). Thanks!

I ran the restricted-pdk.run file was still facing the same issue

After carefully checking, I found a redundspace space prior to e3550 (as " e3550") in below path from the documentation. That’s why you cannot find it.
/drive-t186ref-foundation/firmwares/bin/t19x/microsemi/pcie/bins/ e3550/config_files/pm8534

You should be able to locate “~/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-foundation/firmwares/bin/t19x/microsemi/pcie/bins/e3550/config_files/pm8534” (fixed path) after following below steps:
cd ~/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS cp -i ~/Downloads/restricted_pdk_15191614.run .
chmod +x restricted_pdk_15191614.run ./restricted_pdk_15191614.run

Thanks so which config file are we supposed to use? usecase7.0.pmc or x1_default or one of the others

Please follow my previous post for the documentation about hwo to decide if it needs to be upgraded and which one to use. Thanks!

the documentation isnt clear thats why i am asking

Thanks for your feedback! We will try to improve our documentation.

I am sorry i guess i wasnt clear. I am unable to use the documentation to determine the version and also which config file to use. Can you please clarify the procedure?

Or you can check ~/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_DDPX/DRIVEOS/drive-t186ref-foundation/firmwares/bin/t19x/microsemi/pcie/bins/e3550/config_files/pm8534/README on your host and then following 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_linux.html# to flash your appropriate configuration/firmware on your target.

Hello, VickNV:
Refer to your previous comments, I have gotten the config file from ~/nvidia/nvidia_sdk/DRIVE_Software_10.0_Linux_OS_E3550/DRIVEOS/drive-t186ref-foundation/firmwares/bin/t19x/microsemi/pcie/bins/e3550/config_files/pm8534.

The current question is I don’t know the ID of fireware from the document : 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#

Could you please tell me what is a PCIe switch console? Thanks.

One more question is there is no pcie device in /dev/ folder. please help to check the following output. I’m not sure which device need to upgrade the firmware.

nvidia@tegra-ubuntu:/lib/firmware/pcie-switch/tools/prebuilt$ ./switchtec list
free(): invalid pointer
Aborted (core dumped)

nvidia@tegra-ubuntu:/dev$ sudo ls /dev/s*
/dev/sda /dev/sda1 /dev/ser2 /dev/spidev0.0 /dev/stderr /dev/stdin /dev/stdout

/dev/shm:

/dev/snd:
timer

nvidia@tegra-ubuntu:/$ lsmod | grep switchtec
switchtec 32768 0

nvidia@tegra-ubuntu:/$ lspci
0000:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad0 (rev a1)
0001:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad2 (rev a1)
0004:00:00.0 PCI bridge: NVIDIA Corporation Device 1ad1 (rev a1)
0004:01:00.0 Ethernet controller: Aquantia Corp. AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] (rev 02)

Thanks a lot.

any suspicious kernel messages? Have you tried to re-flash DRIVE Software 9 to see if solve same problem? Could you try to install DRIVE Software 10?

I didn’t see any issue from kernel side. I’m looking for a UART cable and try to get more kernel log.
We didn’t re-flash software. This board is still original version since we got it from Nvidia.
To Drive Software 10, refer to upgrade document, it asks us to upgrade the PCIe switch before update Drive Software 10.

Please access it from UART with minicom on /dev/ttyUSB15 mentioned in “Flashing the PCIe Switch and Configuration File” document (sorry for the typo “ttyUB15” there).

Do you think the board can be upgraded to Drive Software 10 without upgrading the PCIe switch?