For Ubuntu users coming here after a recent upgrade to 22.04 LTS who are now running into this issue, the temporary downgrade/workaround discussed above still works:
Grab v4l2loopback-dkms_0.12.5-1_all.deb from https://packages.debian.org/sid/all/v4l2loopback-dkms/download
Install it: sudo dpkg -i v4l2loopback-dkms_0.12.5-1_all.deb
Hold it back so system updates don't wipe it out: sudo apt-mark hold v4l2loopback-dkms
Remove the hold in the future when upstream gets fixed: sudo apt-mark unhold v4l2loopback-dkms
The last version of v4l2loopback that worked properly is 0.12.5-1 and that's what we're installing above.
(Ubuntu 21.04 includes 0.12.5-1ubuntu1 and Ubuntu 22.04 includes 0.12.5-1ubuntu5)
Access JetBot by going to https://<jetbot_ip_address>:8888, navigate to ~/Notebooks/teleoperation/
Open teleoperation.ipynb file and following notebook
Connect USB adapter to PC
Go to https://html5gamepad.com, check the INDEX of Gamepad
Before you run the example, let's learn how the gamepad work.
The gamepad included supports two working modes. One is PC/PS3/Andorid mode and another is Xbox 360 mode.
The gamepad is set to PC/PS3/Andorid mode by default, in this mode, the gamepad has two sub-modes. You can press the HOME button to switch it. In Mode 1, the front panel lights on only one LED, the right joystick is mapped to buttons 0,1,2 and 3, and you can get only 0 or -1/1 value from the joysticks. In Mode 2, the front panel lights on two LEDs, the right joystick is mapped to axes[2] and axes[5]. In this mode, you can get No intermediate values from joysticks.
To switch between PC/PS3/Andorid mode and the Xbox 360 mode, you can long-press the HOME button for about 7s. In Xbox mode, the left joystick is mapped to axes[0] and axes[1], right joystick is mapped to axes[2] and axes[3]. This mode is exactly what the NVIDIA examples use. We recommend you to set your gamepad to this mode when you use it. Otherwise, you need to modify the codes.