From: Bin Liu <b-liu-l0cyMroinI0@public.gmane.org>
To: Felipe Balbi <balbi-l0cyMroinI0@public.gmane.org>,
Yegor Yefremov
<yegorslists-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>,
linux-usb <linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Cc: "linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: musb: communication issue with more than 12 FTDI ports
Date: Wed, 14 Oct 2015 10:35:21 -0500 [thread overview]
Message-ID: <561E7639.40506@ti.com> (raw)
In-Reply-To: <87r3kyd3xw.fsf-HgARHv6XitJaoMGHk7MhZQC/G2K4zDHf@public.gmane.org>
Hi,
On 10/13/2015 01:22 PM, Felipe Balbi wrote:
> Yegor Yefremov <yegorslists-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> writes:
>> On Mon, Oct 12, 2015 at 11:34 AM, Yegor Yefremov
>> <yegorslists-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> 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
How many EPs does each FTDI device require? at least one INT EP, right?
If I read it right, the topology above has 2 hubs, and 16 high-speed
FTDI and 1 full-speed FTDI. So it requires at least 18 high-speed INT
EPs. MUSB driver only has 11 high-speed EPs for mode-4 which is the EP
configuration used by default. I am wondering how those devices got
enumerated properly.
>>>
>>> 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.
>
> yeah, I don't think MUSB can easily handle that. IIRC, endpoint
> scheduling in MUSB is rather bad. While we have enough endpoints to
> handle this case, you might be running into some IP (or driver) issues.
>
> Bin, have you ever tested this many serial devices on AM335x ?
No, I never tested this many devices. It could be resource limitation,
but the log above is about CPPI, so I recommend to test with CPPI
disabled to isolate if this is MUSB issue or CPPI.
Regards,
-Bin.
>
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2015-10-14 15:35 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-12 9:34 musb: communication issue with more than 12 FTDI ports Yegor Yefremov
[not found] ` <CAGm1_ku3d4q3jQ6ZZYaLktd182O_WY5Hvu-Z877N31e5wN2_NA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-10-12 10:34 ` Yegor Yefremov
[not found] ` <CAGm1_kvwLu=4R1G8+bXEhmU4298B-+XGKQRaOjZOz15eU1StFw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-10-12 13:33 ` Konstantin Shkolnyy
2015-10-13 18:22 ` Felipe Balbi
[not found] ` <87r3kyd3xw.fsf-HgARHv6XitJaoMGHk7MhZQC/G2K4zDHf@public.gmane.org>
2015-10-14 15:35 ` Bin Liu [this message]
[not found] ` <561E7639.40506-l0cyMroinI0@public.gmane.org>
2015-10-14 15:56 ` Felipe Balbi
[not found] ` <87h9ltbg0i.fsf-HgARHv6XitJaoMGHk7MhZQC/G2K4zDHf@public.gmane.org>
2015-10-14 15:57 ` Bin Liu
[not found] ` <561E7B6D.80605-l0cyMroinI0@public.gmane.org>
2015-10-14 16:25 ` Felipe Balbi
[not found] ` <87eggxbeou.fsf-HgARHv6XitJaoMGHk7MhZQC/G2K4zDHf@public.gmane.org>
2015-10-14 16:41 ` Bin Liu
[not found] ` <561E85D4.4040208-l0cyMroinI0@public.gmane.org>
2015-10-14 17:05 ` Felipe Balbi
[not found] ` <87bnc1bcu1.fsf-HgARHv6XitJaoMGHk7MhZQC/G2K4zDHf@public.gmane.org>
2015-10-14 17:09 ` Bin Liu
[not found] ` <561E8C4E.1020602-l0cyMroinI0@public.gmane.org>
2015-10-14 17:19 ` Felipe Balbi
[not found] ` <874mhtbc63.fsf-HgARHv6XitJaoMGHk7MhZQC/G2K4zDHf@public.gmane.org>
2015-10-14 18:11 ` Bin Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=561E7639.40506@ti.com \
--to=b-liu-l0cymroini0@public.gmane.org \
--cc=balbi-l0cyMroinI0@public.gmane.org \
--cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=yegorslists-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).