If I’m not mistaken, LimeUtil is from the classic LimeSuite which does not support LimeSDR XTRX. You need to use LimeSuiteNG and in there the utility command is called limeDevice.
Not sure the status of gr-limesdr. Maybe it supports the LimeSuiteNG directly, or, perhaps, can use the compatibility API level from it.
how to solve it?
I was tried : sudo apt install linux-headers-$(uname -r) dkms
ls /usr/src/linux-headers-5.10.216-tegra-ubuntu20.04_aarch64
sudo apt install build-essential
but it still didn’t work
If you did sudo apt install linux-headers-$(uname -r)
and with cmake you see:
-- ######################################################
-- ## LimeSuiteNG enabled features
-- ######################################################
* LIMEPCIE, PCIe support
* LIMEPCIE_KERNEL_MODULE, Build Linux LimePCIe kernel module
Then you can ignore the missing LinuxKernelHeaders note, the script that detects if headers are installed was made for x86 system, so it currently doesn’t handle Arm architecture naming scheme like that linux-headers-5.10.216-tegra-ubuntu20.04_aarch64
That is not the XTRX board. XTRX would be seen as “Multimedia audio controller”.
Did you check if your XTRX has a resistor or a soldered connection in the marked point? Without it the board discovery on the host system is unstable, that would explain why your system cannot see it.
I’m not familiar with the original Fairwaves xtrx software stack.
You can see the device using “lspci” that means your system can see it and basic PCIe communications are functioning.
But the the -19 (ENODEV) code comming from xtrx driver suggests, that the xtrx driver encounters some kind of problem while initializing the device.
You should check "sudo dmesg | grep xtrx" for any kind of error messages.
Hmm, can you send the whole “dmesg” log without grep? I suspect there could be DMA addressing problems, you’re using 64bit operating system, but the xtrx driver supports only 32bit addressing. Some Arm based systems are not happy about that.