USB keyboard and mouse not working on Jetson TX2

I recently bought the Jetson TX2 developer package. It was able to turn on, USB everything worked fine. However, as I was going through flashing the board with JetPack (JetPack-L4T-3.2-linux-x64_b196), in the one of the last step, where I connected both the board with my host computer to router, the command line in the host computer indicated that it could not identify the host’s IP address, and the two option was to either ‘try again’ or ‘manually input target IP address’. At this point, the board was able to turn on (from the USB force recovery mode) but the USB keyboard and mouse (connected through USB port to the board) were not working at all, so I could not retrieve the IP address to finish the flashing process on my host computer.

I tried reflashing the board, turning it off and on normally, and none of them could work. I would appreciated any kind of help as I really want to get started with my personal project on Jetson :)

My host computer is on Ubuntu 16.04 LTS

zilu.p.tang,

Please share your dmesg after plugging usb device. If IP issue causes you cannot debug, please try to flash + install those sw package simultaneously so that it would not ask you to enter the IP manually.

Thanks for the response.

I am not quite sure what you mean by ‘dmesg after plugging USB device’. I connected the USB device to the board before powering the board so the dmesg after powering on is not USB specific, but I did record a video of it in case it helps
the last few messages look like this:

[OK] created slice User Slice of Ubuntu
[OK] started session c1 of user ubuntu.
starting user manager for UID 1000...
[OK] started user manager for UID 1000.
Starting daemon for power management
[OK] started Daemon for power management
Stopping User Management for UID 1000...
[OK] stopped User management for UID 1000.
[OK] removed slice user slice of ubuntu

With respect to IP issue, I think the problem is different now that I tried to flash it again. This time, the Xterm at the end of installation process looks like this.

[ 136.0644 ] Flashing completed

[ 136.0644 ] Coldbooting the device
[ 136.0657 ] tegradevflash_v2 --reboot coldboot
[ 136.0668 ] Bootloader version 01.00.0000
[ 136.0734 ] 
*** The target t186ref has been flashed successfully. ***
Reset the board to boot from internal eMMC.

root      8412  0.0  0.0 199572  1528 ?        Ssl  14:10   0:00 /media/peter/OS/software/JetPack/_installer/sudo_daemon -installer=8296 -d=/media/peter/OS/software/JetPack/_installer/tmp
0
/media/peter/OS/software/JetPack//_installer/run_command  -c="mv /media/peter/OS/software/JetPack/64_TX2/Linux_for_Tegra/rootfs/etc/rc.local.original /media/peter/OS/software/JetPack/64_TX2/Linux_for_Tegra/rootfs/etc/rc.local" -d=/media/peter/OS/software/JetPack//_installer/tmp
1
Finished Flashing OS
Determining the IP address of target...
10.0.0.107 

Waiting 30 seconds to make sure target is fully up
DEBUG:  echo GetValueToInfoBroker: key = Install_Dir, value = /media/peter/OS/software/JetPack >> /tmp/jetpack_debug.log
DEBUG:  mkdir -p /home/peter/.ssh 
DEBUG:  ssh-keygen -R 10.0.0.107
# Host 10.0.0.107 found: line 9
# Host 10.0.0.107 found: line 10
# Host 10.0.0.107 found: line 11
/home/peter/.ssh/known_hosts updated.
Original contents retained as /home/peter/.ssh/known_hosts.old
DEBUG:  ssh-keyscan 10.0.0.107>>/home/peter/.ssh/known_hosts
# 10.0.0.107:22 SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu1
# 10.0.0.107:22 SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu1
# 10.0.0.107:22 SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu1
DEBUG:  echo /home/peter
/home/peter
DEBUG:  ssh-add /home/peter/.ssh/id_rsa 0<&-
Identity added: /home/peter/.ssh/id_rsa (/home/peter/.ssh/id_rsa)
scp -F /dev/null -o PubkeyAuthentication=no -o ConnectTimeout=30 -o StrictHostKeyChecking=no /home/peter/.ssh/id_rsa.pub nvidia@10.0.0.107:/home/nvidia/tmp.pub
 0.107'
id_rsa.pub                                    100%  401     0.4KB/s   00:00    
nvidia@tegra-ubuntu:~$ b /home/nvidia/.ssh/authorized_keys 
nvidia@tegra-ubuntu:~$ exit
logout
Connection to 10.0.0.107 closed.

Even though it did not look like what a successful installation message look like such as this one I found on Youtube

Installation of target components finished, press Enter key to continue.

, it was close (I think?).

I am not sure what you mean by flash + install packages simultaneously since all I did was following the instruction of the JetPack L4T 3.2 installation instruction. And I think what it does is that it installed the package in my host computer first, then transfered it to the target (Jetson TX2) through Router. There were two options for the transfer step and I chose the router option because I had the system set up as indicated in the router option. I can’t really choose the other network layout because I don’t have two network interface cards. For the network interface selection page, I chose ‘enp2s0’, and then, I put the board in force USB recovery mode. Then I checked that the target device showed up in my host ‘lsusb’. I then proceeded with the transfer process which is in Xterm. And I have shown the last few lines of my Xterm above.

Now the problem is still, USB mouse and keyboard not working

Hi,

It means plugging your usb device to tegra and use command “dmesg” to see if usb driver gives out any log.

As for the IP issue, below are the behavior of jetpack.

  1. Choose to install all package in Jetpack -> It will flash first and then detect the IP itself, so you don’t need to manually enter th IP addr.

  2. If you flash the board only, close jetpack and then back to install anything else after then. It would requires your device ip so that you need to enter it by yourself.

What I wanted to say is option 1.

I faced the same problem as zilu.p.tang faced.
The message

Installation of target components finished, press Enter key to continue.

never came. Just stopped at

nvidia@tegra-ubuntu:~$ exit
logout
Connection to 192.168.1.5 closed.

Mouse and keyboard weren’t connected on TX2 after flashing

dqthebt,

Your log seems not have error. Please share the dmesg as what I indicated in previous comment for debugging.

BTW, are you also using 16.04 host to flash?

Hi WayneWWW,

Here is my dmesg https://drive.google.com/file/d/1iRYXAqd33K5im6VQKQkMEhrrha8_9AXJ/view?usp=sharing

I used ubuntu 16.04 host PC to flash

Some line of dmesg

I notice you have a Bluetooth chip. Is it working? Could you try to connect a keyboard or mouse and see if dmesg gives out any output?

sorry, maybe I’ve misunderstood, but did you want dmesg on host PC? The dmesg above was took from host PC

No, all logs should be from tegra device. Are you able to get it?

Here is dmesg from tegra device

Full file here https://drive.google.com/file/d/1A-GHni7pQyrXLRfH0ONwECPCJqI7OSEW/view?usp=sharing

I tried disconnect and reconnect mouse and keyboard then the dmesg did change, it only showed

Hi dqthebt,

Below log is critical to your problem. xusb controller requires a firmware and it fails to load it on your device.

[   18.294269] xhci-tegra 3530000.xhci: Direct firmware load for tegra18x_xusb_firmware failed with error -2
[   18.294272] xhci-tegra 3530000.xhci: Falling back to user helper
[   18.296102] xhci-tegra 3530000.xhci: cannot find firmware....retry after 1 second

Could you see this file “tegra18x_xusb_firmware” under directory “/lib/firmware” ?

zilu.p.tang,

Could you also check it as what dqthebt did?

I can’t see file “tegra18x_xusb_firmware” under directory “/lib/firmware”

My host PC has only one folder “hp” under “~/Dowloads/jetpack/64_TX2/Linux_for_Tegra/rootfs/lib/firmware/”

Is there something with Jetpack 3.2 extraction? Do I need to copy tegra18x_xusb_firmware to terga device?

It appears the rootfs is not fully installed. In fact, you miss a lot of firmware.

~/Documents/JetPack3.2/64_TX2/Linux_for_Tegra/rootfs/lib/firmware$ ls
bcm4354.hcd  brcm  gp10b  hp  nv-BT-Version  tegra18x  tegra18x_xusb_firmware

I think the better way to resolve this is to find out why you have permission error in your log.

[   14.848270] systemd[1]: Configuration file /lib/systemd/system/ofono.service is marked executable. Please remove executable permission bits. Proceeding anyway.
[   14.869160] systemd[1]: Configuration file /lib/systemd/system/ofono.service is marked world-writable. Please remove world writability permission bits. Proceeding anyway.
[   14.892478] systemd[1]: Configuration file /lib/systemd/system/cron.service is marked executable. Please remove executable permission bits. Proceeding anyway.
[   14.913275] systemd[1]: Configuration file /lib/systemd/system/cron.service is marked world-writable. Please remove world writability permission bits. Proceeding anyway.
[   14.935166] systemd[1]: Configuration file /lib/systemd/system/cups.path is marked executable. Please remove executable permission bits. Proceeding anyway.
[   14.952383] systemd[1]: Configuration file /lib/systemd/system/cups.path is marked world-writable. Please remove world writability permission bits. Proceeding anyway.
[   14.975292] systemd[1]: Configuration file /lib/systemd/system/anacron.service is marked executable. Please remove executable permission bits. Proceeding anyway.
[   14.996301] systemd[1]: Configuration file /lib/systemd/system/anacron.service is marked world-writable. Please remove world writability permission bits. Proceeding anyway.
[   15.021054] systemd[1]: Configuration file /lib/systemd/system/rescue.target is marked executable. Please remove executable permission bits. Proceeding anyway.
[   15.041905] systemd[1]: Configuration file /lib/systemd/system/rescue.target is marked world-writable. Please remove world writability permission bits. Proceeding anyway.
[   15.065619] systemd[1]: Configuration file /lib/systemd/system/accounts-daemon.service is marked executable. Please remove executable permission bits. Proceeding anyway.
[   15.087315] systemd[1]: Configuration file /lib/systemd/system/accounts-daemon.service is marked world-writable. Please remove world writability permission bits. Proceeding anyway.
[   15.111671] systemd[1]: Configuration file /lib/systemd/system/plymouth-quit.service is marked executable. Please remove executable permission bits. Proceeding anyway.
[   15.133216] systemd[1]: Configuration file /lib/systemd/system/plymouth-quit.service is marked world-writable. Please remove world writability permission bits. Proce

Does Jetpack show a prompt to you to enter your host account/pwd when installation? Is your account able to run as super user(root)? I mean your host but not device for these two questions.

Jetpack only asked me for host PC root password, and my account on host PC can run as supper user

If you are running as root, the owner of your lib/firmware should be root but not ubuntu.

~/Documents/JetPack3.2/64_TX2/Linux_for_Tegra/rootfs/lib/firmware$ ll
total 212
drwxr-xr-x  6 root root   4096  5月  3 13:44 ./
drwxr-xr-x 22 root root   4096  5月  3 13:44 ../
-rw-rw-r--  1 root root  64552  5月  3 13:44 bcm4354.hcd
drwxr-xr-x  2 root root   4096  5月  3 13:44 brcm/
drwxr-xr-x  2 root root   4096  5月  3 13:44 gp10b/
drwxr-xr-x  2 root root   4096  4月  7  2016 hp/
-rw-rw-r--  1 root root      9  5月  3 13:44 nv-BT-Version
drwxr-xr-x  2 root root   4096  5月  3 13:44 tegra18x/
-rw-rw-r--  1 root root 122368  5月  3 13:44 tegra18x_xusb_firmware

To be more precise, the owner should be root for rootfs

drwxr-xr-x 21 root root 4096 5月 3 13:43 rootfs/

Hi WayneWWW,

I copied file “JetPack-L4T-3.2-linux-x64_b196.run” to folder “~/Documents/” then chmod +x and ran the file again.
Everything done without error.
I think the errors come from my disk. Because my host PC has installed Windows 7 before, when I switched to Ubuntu, I created a symbol link to Windows’s storage which formated as ntfs partition and I copied and run the .run file on there (because it is a larger disk partition).
Now, I copied to Ubuntu’s disk format and everything was good.
Thank you so much

dqthebt,

Great! I’m glad to hear that. Hope this could shed some light on @zilu.p.tang 's problem