SPI bus not working

Alright, the thing I had misunderstood about your previous suggestion was that sdkmanager doesn’t run on the Nano, it runs on my work computer and writes to the nano over USB.

I’ve now updated my Nano to Jetpack 4.6.2. I can check this by following the instructions at https://forums.developer.nvidia.com/t/checking-jetpack-version-on-jetson-nano/110901:

jetson@george:~$ dpkg-query --show nvidia-l4t-core
nvidia-l4t-core	32.7.2-20220420143418

and per JetPack Archive | NVIDIA Developer, version 32.7.2 is only used in Jetpack version 4.6.2.

No luck: jetson-io.py still lets me configure cameras and nothing else. I tried to follow the instructions at About using spi on Jetson NANO to manually configure the SPI pins, but running dmesg | grep -i kernel gives no output. I decided to modify /boot/kernel_tegra210-p3448-0002-p3449-0000-b00.dtb because that’s the file that seems to have the SPI definitions inside it.

I’ve set the pins for SPI1 to “spi1” and the pins for SPI2 to “spi2”, and am confident I did that correctly because I can read them back out of the .dtb file:

jetson@george:~$ fdtget /boot/dtb/kernel_tegra210-p3448-0002-p3449-0000-b00.dtb /pinmux@700008d4/unused_lowpower/spi1_mosi_pc0 nvidia,function
spi1
jetson@george:~$ fdtget /boot/dtb/kernel_tegra210-p3448-0002-p3449-0000-b00.dtb /pinmux@700008d4/unused_lowpower/spi1_miso_pc1 nvidia,function
spi1
jetson@george:~$ fdtget /boot/dtb/kernel_tegra210-p3448-0002-p3449-0000-b00.dtb /pinmux@700008d4/unused_lowpower/spi1_sck_pc2 nvidia,function
spi1
jetson@george:~$ fdtget /boot/dtb/kernel_tegra210-p3448-0002-p3449-0000-b00.dtb /pinmux@700008d4/unused_lowpower/spi1_cs0_pc3 nvidia,function
spi1
jetson@george:~$ fdtget /boot/dtb/kernel_tegra210-p3448-0002-p3449-0000-b00.dtb /pinmux@700008d4/unused_lowpower/spi1_cs1_pc4 nvidia,function
spi1
jetson@george:~$ fdtget /boot/dtb/kernel_tegra210-p3448-0002-p3449-0000-b00.dtb /pinmux@700008d4/unused_lowpower/spi2_mosi_pb4 nvidia,function
spi2
jetson@george:~$ fdtget /boot/dtb/kernel_tegra210-p3448-0002-p3449-0000-b00.dtb /pinmux@700008d4/unused_lowpower/spi2_miso_pb5 nvidia,function
spi2
jetson@george:~$ fdtget /boot/dtb/kernel_tegra210-p3448-0002-p3449-0000-b00.dtb /pinmux@700008d4/unused_lowpower/spi2_sck_pb6 nvidia,function
spi2
jetson@george:~$ fdtget /boot/dtb/kernel_tegra210-p3448-0002-p3449-0000-b00.dtb /pinmux@700008d4/unused_lowpower/spi2_cs0_pb7 nvidia,function
spi2
jetson@george:~$ fdtget /boot/dtb/kernel_tegra210-p3448-0002-p3449-0000-b00.dtb /pinmux@700008d4/unused_lowpower/spi2_cs1_pdd0 nvidia,function
spi2

I rebooted, reran sudo modprobe spidev to get the devices back, but still, spidev_test doesn’t work (it only receives null bytes, no matter what data is sent out).

What else should I try? Do I need to somehow disable the pins as GPIO before enabling them as SPI? Is it a problem that the paths to these pins include the phrase “unused_lowpower”? Is there a link to clear instructions somewhere of how to enable the SPI bus?