[Trusty] Trusty-IPC-dev0 not found

Dear All,

I develop Trusted Application on Trusty TEE on Jetson AGX Xavier.
From TA development to board flashing, everything works just fine, as documented here

The following trusty version is deployed on the platform:

:: Problem
But, when I test my TA (based on the sample luks-srv TA) on the board, I get this error:

While investigating on the potential sources for this error, I’ve found the following message in dmesg:


:: Resolution tentative
You can find below my tentatives to solve -in vain- this issue.

:: :: Look for the device inside the /dev:
The device trusty-ipc-dev0 is missing.

:: :: Try other TAs:
I tried hwkey-agent TA with the same result.

:: :: Use tipc_test
Trusty provides TAs cli-testable with tipc_test.


Still the same error, with the TA not capable of connecting with trusty-ipc-dev0.

:: :: List TIPC devices
At this point the only source of the problem left is TIPC itself, so I tried to list tipc devices.


The TIPC module is maybe not loaded.

:: :: Load TIPC
I tried to load TIPC module with modprobe.


Modprobe can’t find the modules inside the kernel.

:: :: Check for TIPC module:
I looked for the module within the kernel. The usual dir for TIPC is /lib/modules/{$uname -r}/kernel/net.


The TIPC folder is missing.

As the issue seems to be related to TIPC loading, I tried the following approaches:
:: :: Look for TIPC modules:
I searched the tipc modules inside the board.


The folder /usr/src/linux-headers-4.9.201-tegra-ubuntu18.04_aarch64/kernel-4.9/net/tipc exists.
I copied/pasted it in /lib/modules/4.9.201-tegra/kernel/net/.
But still modprobe does not load the tipc module.

:: :: Force TIPC loading:
Inside modprobe aliases, tipc was not present.
I tried to force its loading as follows
echo 'tipc' > /lib/modprob.d/tipc.conf & systemctl start systemd-modules-load
But still facing the same errors.

I am short on ideas now, so any suggestions or recommendations would be highly appreciated!
Thank you in advance,

Best.

hello lgiori,

may I know which JetPack release version you’re working with,

BTW,
there’s no file, “/dev/trusty-ipc-dev0”, which means Trusty might be disabled.
please check tegra_defconfig, had you enable CONFIG_TRUSTY for running this?
thanks

Hi JerryChang,

Thanks for your quick reply !

We run JetPack 4.5.1 release.
Once the problem occured, we’ve reflashed the board as documented here. We use the source available here

I will have a look to the configuration setting. I get back to you shortly!

Best,

Hi JerryChang,

You can find below additional information on the current release of the OS

Regarding tegra_defconfig, I haven’t found such file on the board, neither on the host machine. Maybe you could indicate me its location in the file system?
Nevertheless, I found a reference to CONFIG_TRUSTY in /usr/src/linux-headers-4.9.201-tegra-ubuntu18.04_aarch64/kernel-4.9/.config.
Trusty configuration is set as follows
`

Trusty

CONFIG_TRUSTY=y

CONFIG_TRUSTY_FIQ_ARM64 is not set

CONFIG_TRUSTY_LOG=y
CONFIG_TRUSTY_VIRTIO=y
CONFIG_TRUSTY_VIRTIO_IPC=y

CONFIG_TEGRA_HV_WDT_HANDLER is not set

CONFIG_TEGRA_VIRTUALIZATION is not set

CONFIG_GK20A=m
CONFIG_GK20A_PMU=y
CONFIG_GK20A_DEVFREQ=y
CONFIG_GK20A_PM_QOS=y
CONFIG_GK20A_RDMA=y

CONFIG_NVGPU_TRACK_MEM_USAGE is not set

CONFIG_GK20A_CYCLE_STATS=y
CONFIG_GK20A_CTXSW_TRACE=y
CONFIG_TEGRA_GK20A_NVHOST=y
CONFIG_TEGRA_GK20A=y
CONFIG_TEGRA_ACR=y
CONFIG_TEGRA_USE_NA_GPCPLL=y
CONFIG_GK20A_PCI=y

CONFIG_GK20A_TRACE_PRINTK is not set

CONFIG_GK20A_VIDMEM=y
CONFIG_NVGPU_SUPPORT_CDE=y
CONFIG_NVGPU_USE_TEGRA_ALLOC_FD=y`

Please let me know if you need additional information!
Thank you,
Best

hello lgiori,

you should download public sources via L4T page and you’ll see following to have kernel configuration.
for example,
$L4T_Sources/r32.5.1/Linux_for_Tegra/source/public/kernel/kernel-4.9/arch/arm64/configs/tegra_defconfig

you’re cross-compile the trusty on your x86 local host machine, and update the partition of Xavier, right?
I was checking my Jetson AGX Xavier which flashed with r32.5.1,
Trusty is by default enabled, and the node, trusty-ipc-dev0 is present.

$ find /dev/ -name "trusty*"
/dev/trusty-ipc-dev0

Hi JerryChang,

Yes I cross-compile on a x86 host machine and then flash Xavier partition. I use the following source.

I will re-do it from scratch, I get back to you with a complete description of our flashing procedure.
Thanks again for your support and quick replies !
Best

Hi JerryChang,

I’ve made several unsuccessful tentatives to flash the board from the following source, with the flashing procedure.

I’ve finally re-flashed the device from the sdkmanager, and it works.
I have now access to trusty-ipc-dev0.

.
$ find /dev/ -name "trusty*" /dev/trusty-ipc-dev0

Thanks again for your availability and support !
Best,

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.