Bug#891036: The problem is related to the number of ports created in vhci_hcd.0
In fact I don't understand how the vhci_hcd is supposed to work.
The constants are defined as follows:
https://elixir.bootlin.com/linux/v4.15.4/source/drivers/usb/usbip/vhci.h#L75
/* Number of supported ports. Value has an upperbound of USB_MAXCHILDREN */
#ifdef CONFIG_USBIP_VHCI_HC_PORTS
#define VHCI_HC_PORTS CONFIG_USBIP_VHCI_HC_PORTS
#else
#define VHCI_HC_PORTS 8
#endif
/* Each VHCI has 2 hubs (USB2 and USB3), each has VHCI_HC_PORTS ports */
#define VHCI_PORTS (VHCI_HC_PORTS*2)
#ifdef CONFIG_USBIP_VHCI_NR_HCS
#define VHCI_NR_HCS CONFIG_USBIP_VHCI_NR_HCS
#else
#define VHCI_NR_HCS 1
#endif
#define MAX_STATUS_NAME 16
Then in the line
https://elixir.bootlin.com/linux/v4.15.4/source/drivers/usb/usbip/vhci_hcd.c#L46
we can see:
int vhci_num_controllers = VHCI_NR_HCS;
But, when I have unpacked the sources of the Debian kernel:
("apt source usbip" downloads and unpacks the kernel sources)
In the debian/config/config I can see:
CONFIG_USBIP_CORE=m
CONFIG_USBIP_VHCI_HCD=m
CONFIG_USBIP_VHCI_HC_PORTS=15
CONFIG_USBIP_VHCI_NR_HCS=8
CONFIG_USBIP_HOST=m
So the number of created controllers is equal to 8, and for each
controller there are 30 ports created (2 * 15)
That results in 240 ports, that is above the MAXNPORT number defined in
https://elixir.bootlin.com/linux/v4.15.4/source/tools/usb/usbip/libsrc/vhci_driver.h#L16
#define MAXNPORT 128
To obtain the working configuration it is necessary either to increase
the MAXNPORT to 240 or even to 256 or to decrease the
CONFIG_USBIP_VHCI_NR_HCS to 4
--
Wojciech M Zabolotny, PhD
Institute of Electronic Systems
Faculty of Electronics and Information Technology
Warsaw University of Technology
Reply to: