Mouse and keyboard not working after flashing

Hello!

Given:
Ubuntu 22.04 LTS
JP 6.X Release 36.4
Jetson Orin AGX 64 GB Dev kit.

Entered the commands sequentially:


$ cd /home/XXX/JetsonOrinAgx/36_4/Linux_for_Tegra/source
$ export CROSS_COMPILE=/home/XXX/JetsonOrinAgx/aarch64--glibc--stable-final/bin/aarch64-buildroot-linux-gnu-
$ export KERNEL_HEADERS=/home/XXX/JetsonOrinAgx/36_4/Linux_for_Tegra/source/kernel/kernel-jammy-src
$ export INSTALL_MOD_PATH=/home/XXX/JetsonOrinAgx/36_4/Linux_for_Tegra/rootfs
$ make clean
$ make -C kernel
$ sudo -E make install -C kernel
$ cp kernel/kernel-jammy-src/arch/arm64/boot/Image /home/XXX/JetsonOrinAgx/36_4/Linux_for_Tegra/kernel/Image
  
$ make modules
$ sudo -E make modules_install

$ make dtbs

$ cd /home/XXX/JetsonOrinAgx/36_4/Linux_for_Tegra
$ sudo ./tools/l4t_update_initrd.sh
$ sudo ./apply_binary
sudo ./flash.sh jetson-agx-orin-devkit mmcblk0p1

I flashed successfully dev kit and after flashing I got a non-working mouse and keyboard, how can I fix it?

Thanks!

Update: I attached dmesg file
dmesg_log.txt (42.2 KB)

It looks like the kernel modules are not updated to correct one. Is your lsmod result an empty one?

[ 9.558847] phy_tegra194_p2u: disagrees about version of symbol module_layout
[ 9.558936] phy_tegra194_p2u: disagrees about version of symbol module_layout
[ 9.559024] phy_tegra194_p2u: disagrees about version of symbol module_layout
[ 9.559061] phy_tegra194_p2u: disagrees about version of symbol module_layout
[ 9.559627] phy_tegra194_p2u: disagrees about version of symbol module_layout
[ 9.559705] at24: disagrees about version of symbol module_layout
[ 9.560496] phy_tegra194_p2u: disagrees about version of symbol module_layout
[ 9.560763] tegra_xudc: disagrees about version of symbol module_layout
[ 9.561941] tegra234_aon: disagrees about version of symbol module_layout
[ 9.563762] tegra_cactmon_mc_all: disagrees about version of symbol module_layout
[ 9.563830] phy_tegra194_p2u: disagrees about version of symbol module_layout
[ 9.563861] nvpps: disagrees about version of symbol module_layout
[ 9.563961] can_dev: disagrees about version of symbol module_layout
[ 9.563965] can_dev: disagrees about version of symbol module_layout
[ 9.564005] nvhwpm: disagrees about version of symbol module_layout
[ 9.565802] tegra_dce: disagrees about version of symbol module_layout

I ran the command and it became empty.

nvidia@tegra-ubuntu:~$ lsmod 
Module                  Size  Used by
nvidia@tegra-ubuntu:~$

Version of toolchain: gcc version 9.3.0 (Buildroot 2020.08)

On the other hand, here is a version of the assembly that works partially - only dtb files are not builded.

export CROSS_COMPILE=/home/XXX/JetsonOrinAgx/aarch64--glibc--stable-final/bin/aarch64-buildroot-linux-gnu-
export KERN_SRC=/home/XXX/JetsonOrinAgx/36_4/Linux_for_Tegra/source/kernel/kernel-jammy-src
export KERN_OUT=/home/XXX/JetsonOrinAgx/36_4/build

make ARCH=arm64 CROSS_COMPILE=/home/XXX/JetsonOrinAgx/aarch64--glibc--stable-final/bin/aarch64-buildroot-linux-gnu- LOCALVERSION=-tegra O="$KERN_OUT" mrproper

make ARCH=arm64 CROSS_COMPILE=/home/XXX/JetsonOrinAgx/aarch64--glibc--stable-final/bin/aarch64-buildroot-linux-gnu- LOCALVERSION=-tegra O="$KERN_OUT" defconfig

make ARCH=arm64 CROSS_COMPILE=/home/XXX/JetsonOrinAgx/aarch64--glibc--stable-final/bin/aarch64-buildroot-linux-gnu- LOCALVERSION=-tegra O="$KERN_OUT" menuconfig

make ARCH=arm64 CROSS_COMPILE=/home/XXX/JetsonOrinAgx/aarch64--glibc--stable-final/bin/aarch64-buildroot-linux-gnu- LOCALVERSION=-tegra O="$KERN_OUT" Image -j8

make ARCH=arm64 CROSS_COMPILE=/home/XXX/JetsonOrinAgx/aarch64--glibc--stable-final/bin/aarch64-buildroot-linux-gnu- LOCALVERSION=-tegra O="$KERN_OUT" modules -j8

make O="$KERN_OUT" modules_install INSTALL_MOD_PATH=build_modules
make ARCH=arm64 CROSS_COMPILE=/home/XXX/JetsonOrinAgx/aarch64--glibc--stable-final/bin/aarch64-buildroot-linux-gnu- LOCALVERSION=-tegra O="$KERN_OUT" modules_install INSTALL_MOD_PATH=build_modules

sudo make O="$KERN_OUT" modules_install INSTALL_MOD_PATH=/home/XXX/JetsonOrinAgx/36_4/Linux_for_Tegra/rootfs

tar --owner root --group root -cjf kernel_supplements.tbz2 lib/modules

make ARCH=arm64 CROSS_COMPILE=/home/XXX/JetsonOrinAgx/aarch64--glibc--stable-final/bin/aarch64-buildroot-linux-gnu- LOCALVERSION=-tegra O="$KERN_OUT" dtbs -j8

make modules ARCH=arm64 TARGET_ARCH=aarch64 SYSSRC=$KERN_SRC SYSOUT=$KERN_OUT CC=/home/XXX/JetsonOrinAgx/aarch64--glibc--stable-final/bin/aarch64-buildroot-linux-gnu-gcc LD=/home/XXX/JetsonOrinAgx/aarch64--glibc--stable-final/bin/aarch64-buildroot-linux-gnu-ld.bfd AR=/home/XXX/JetsonOrinAgx/aarch64--glibc--stable-final/bin/aarch64-buildroot-linux-gnu-ar CXX=/home/XXX/JetsonOrinAgx/aarch64--glibc--stable-final/bin/aarch64-buildroot-linux-gnu-g++ OBJCOPY=/home/XXX/JetsonOrinAgx/aarch64--glibc--stable-final/bin/aarch64-buildroot-linux-gnu-objcopy

(Manually copy Image into Linux_for_Tegra/kernel/Image and Linux_for_Tegra/rootfs/boot/Image)

sudo ./flash.sh jetson-agx-orin-devkit mmcblk0p1

Is this still an issue to support? Any result can be shared?

@kayccc

I downgraded to version 36.3, mouse and keyboard works without any problems.

As lsmod is empty, it means the drivers are not installed to the new system.

Where is that “build_modules” in this command?

“make O=”$KERN_OUT" modules_install INSTALL_MOD_PATH=build_modules"

@WayneWWW

Where is that “build_modules” in this command?

“make O=”$KERN_OUT" modules_install INSTALL_MOD_PATH=build_modules"

An extra command was added (I forgot to remove it), the current command is:

make ARCH=arm64 CROSS_COMPILE=/home/XXX/JetsonOrinAgx/aarch64--glibc--stable-final/bin/aarch64-buildroot-linux-gnu- LOCALVERSION=-tegra O="$KERN_OUT" modules_install INSTALL_MOD_PATH=build_modules

But you still didn’t answer the question here..

Is “build_modules” just a subdirectory?

Btw, if your kernel configuration changed a non-module feature, then there is a strong possibility that it will invalidate all of the existing modules. You’d need to either build and replace all modules, or change the “CONFIG_LOCALVERSION” and place new modules in the new location (this solution is preferable because it allows the old kernel and modules to continue to exist; they might serve as a rescue kernel). The same is true of any initrd, that you’d need to replace any modules in that as well, or place new modules in a new location of the initrd if you’ve changed non-modular kernel features.

Did you start by exactly matching the current kernel’s configuration, and then changing only modules?

@WayneWWW

But you still didn’t answer the question here..

The subdirectory build_modules located in the direcory /home/XXX/JetsonOrinAgx/36_4/build

My task was to compile the kernel and modules from the source code based on the instructions and reflash the system without changing any module.

It is still necessary to know if your starting configuration was correct. If it was not, then the kernel modules will fail to load.

build_modules should be the directory that got flashed to your board during flash process.

So you should give rootfs location to it. Not some random directories created by yourself.

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