Ubuntu 19.10 server was recently released with official support for Raspberry Pi 4 SBC. Shortly after I read stories about the USB ports not working on the board, but it took another interesting turn as Canonical now explains the bug only affects RPI 4 with 4GB RAM, and USB works just fine on boards with just 1/2GB RAM.
The issue has been identified and it’s been found to be a kernel bug with a solution in the works that being tested. In the meantime, you can access to your Raspberry Pi 4 4GB USB ports by limiting the memory to 3GB in /boot/firmware/usercfg.txt as follows:
Alternatively here’s the link to an updated kernel provided by Hui Wang with you want to test it out:
I built a testing kernel, not only includes the fix for USB host, but also includes all new patches from https://github.com/raspberrypi/linux.git rpi-5.3.y branch (about 107 patches).
I tested both arm64 and armhf kernels on Pi4 without HDMI monitor, everything works well.
Could anybody help test these two kernels on Pi4 with HDMI monitor, Pi3 and Pi2 if you have any of them?
After verifying the kernel will not introduce regression on Pi4/3/2, I will submit the patches to UBUNTU kernel.
The new kernel could be downloaded: https://people.canonical.com/~hwang4/rpiv2/
To install and test the kernel: copy arm64 or armhf folders to rootfs of Pi, sudo dpkg -i linux-modules-xxxx.deb; sudo dpkg -i linux-image-xxx.deb;sudo reboot
The explanation about the bug is likely related to the “Pi4 Arm64 USB Device descriptor errors” issue on Raspberry Pi’s Linux issue tracker and that was fixed by implementing pcie-brcmstb DMA bounce buffer to ARM64.
Beside discussing about the USB bug, Canonical also announced their roadmap for Raspberry Pi 4 support with Ubuntu 18.04 HWE being next, and Ubuntu Core coming after.