Some host controllers just can't support so many pipes opened at once. Check what the SoC spec says about that. -----Original Message----- From: linux-usb-owner@xxxxxxxxxxxxxxx [mailto:linux-usb-owner@xxxxxxxxxxxxxxx] On Behalf Of Yegor Yefremov Sent: Monday, October 12, 2015 05:35 To: linux-usb Cc: linux-omap@xxxxxxxxxxxxxxx; Felipe Balbi Subject: Re: musb: communication issue with more than 12 FTDI ports On Mon, Oct 12, 2015 at 11:34 AM, Yegor Yefremov <yegorslists@xxxxxxxxxxxxxx> wrote: > We have a problem, when using more than 12 FTDI ports. Kernels tried: > 3.18.1, 4.2.3 and 4.3-rc5. SoC am335x 600MHz > > Below the USB topology: > > # lsusb -t > /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=musb-hdrc/1p, 480M > /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=musb-hdrc/1p, 480M > |__ Port 1: Dev 2, If 0, Class=, Driver=hub/4p, 480M > |__ Port 1: Dev 9, If 0, Class=, Driver=hub/4p, 480M > |__ Port 1: Dev 10, If 0, Class=, Driver=ftdi_sio, 12M > |__ Port 2: Dev 11, If 0, Class=, Driver=ftdi_sio, 480M > |__ Port 2: Dev 11, If 1, Class=, Driver=ftdi_sio, 480M > |__ Port 2: Dev 11, If 2, Class=, Driver=ftdi_sio, 480M > |__ Port 2: Dev 11, If 3, Class=, Driver=ftdi_sio, 480M > |__ Port 3: Dev 12, If 0, Class=, Driver=ftdi_sio, 480M > |__ Port 3: Dev 12, If 1, Class=, Driver=ftdi_sio, 480M > |__ Port 3: Dev 12, If 2, Class=, Driver=ftdi_sio, 480M > |__ Port 3: Dev 12, If 3, Class=, Driver=ftdi_sio, 480M > |__ Port 2: Dev 4, If 0, Class=, Driver=ftdi_sio, 480M > |__ Port 2: Dev 4, If 1, Class=, Driver=ftdi_sio, 480M > |__ Port 2: Dev 4, If 2, Class=, Driver=ftdi_sio, 480M > |__ Port 2: Dev 4, If 3, Class=, Driver=ftdi_sio, 480M > |__ Port 3: Dev 7, If 0, Class=, Driver=ftdi_sio, 480M > |__ Port 3: Dev 7, If 1, Class=, Driver=ftdi_sio, 480M > |__ Port 3: Dev 7, If 2, Class=, Driver=ftdi_sio, 480M > |__ Port 3: Dev 7, If 3, Class=, Driver=ftdi_sio, 480M > > When using 12 ports and performing serial test (a pair of ports is > connected via null-modem cable and a rather short string ca. 90 > characters will be sent alternating at 1200 and 115200b/s, testing > scripts are written in Python and running as own processes per a pair > of ports) there are no timeouts, i.e. all sent characters will be > received. As soon as I open ports 13 and 14 I start to get arbitrary > timeouts (from test software point of view) on all ports. > > In order to check, if ftdi_sio has primary to do with this issue, I've > performed the same test on a PC and PandaBoard Rev. A2 (EHCI port) and > there were no issues with 16 ports. So it seems to have something to > do with am335x + musb + number of end points. > > Any idea? Let me know, if you need our test script. >From time to time I get following warnings (4.3.0-rc5): musb_host_rx 1915: RX1 dma busy, csr 2020 musb_host_rx 1915: RX4 dma busy, csr 2020 musb_host_rx 1915: RX7 dma busy, csr 2220 musb_host_rx 1915: RX1 dma busy, csr 2020 Though they are not timely related to serial test timeouts. Yegor -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html ��.n��������+%������w��{.n�����{�������ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f