QQ on maxcount of ftdi interfaces on USB Bus

From: Brian McGovern (bmcgover) via freebsd-questions <freebsd-questions_at_freebsd.org>
Date: Thu, 14 Oct 2021 20:23:00 UTC
I'm running a software terminal server on Raspberry Pi 3s using FTDI->RJ45 serial cables. Presently running FreeBSD 12.1, but honestly, version doesn't matter as I can move to anything, including 13.

It appears there is some upper limit that is keeping the number of devices I can connect to 20. When I add another device, I get the message "usbus0: No free USB device index for new device". This lets me track it bak to usb_device.c.

From there, however, it seems to spread out to a number of possible values - EHCI_MAX_DEVICES, XHCI_MAX_DEVICES, OHCI_MAX_DEVICES,  etc, based on the controller and instance. It eventually seems to reconverge on USB_MAX_DEVICES, which appears to be 128 in most cases.

Before I go and blow an overnight building an updated kernel on a Pi, I'm curious if anyone can tell me if just bumping up USB_MAX_DEVICES will get me a handful more ports - say, setting it to 160 or 192 - or if I'm just going to start breaking things, and the "right answer" (tm) is to start breaking up the hardware at, say, 16 ports each to stay under the limits?

          -Brian