Custom kernel, slow USB device enumeration on boot

It sounds like kernel has nothing to do with your issue. Why did you mention a custom kernel?

Also, what kind of firmware is copied here? The usb firmware is loaded from initrd but not /lib/firmare.

For convenience, here is an excerpt near the end of the log after fsck:

[   39.181501] random: 3 urandom warning(s) missed due to ratelimiting
[   64.490173] tegra-xusb 70090000.xusb: cannot find firmware....retry after 1 second

FYI, there is no telling what file might have been removed or corrupted if you had to run fsck. If the journal could not avoid the need to repair, then something was lost.

About the log entry: It takes a long time to begin to attempt bringing up USB after the last non-USB boot log. The “urandom” part is insignificant and unimportant. The part which is significant is that USB did not start to enumerate until about 25 seconds of wait. Apparently that time was spent looking for and failing to find USB firmware. I don’t know what the particular modification is which caused USB firmware to fail, but I am going to suggest that something related to the native Tegra hardware firmware for USB is causing the problem, and that normally you’d never see this.

I wasn’t using a initrd in my custom kernel and that was causing the problem. I’ve added one that contained the USB module and it worked, thanks.

1 Like