Hello, sending again in plain text mode..

On Tue, Apr 2, 2019 at 11:37 AM Antonio Santagiuliana
<santantonios...@gmail.com> wrote:
>
> Hello,
> thank you for the reply.
> We transmit at 46800 bps from 16 devices to the UART side of the UART to USB 
> bridges ( at the moment cp2105 UART to USB bridges ) .
> If we transmit from all of these devices at low throughput small packets of 
> some bytes ( 16 to 64 bytes )  let's say every 20 ms , at the receiver side 
> on the USB host device ( Raspberry PI ) we can follow all of the messages 
> from all of the 16 UART to USB bridges without any problem.
> We can then activate a particular mode by which 1 of the devices connected to 
> one of the UART to USB bridges starts sending data still at the same 
> baudrate, but at much higher throughput, sending packets of 1460 bytes with 
> silence interval between packets of around 20 ms.
> When this happens the normal messages from the other 15 devices appear to be 
> retrieved correctly while these longer messages from the high throughput mode 
> device sometimes miss some bytes , let's say I receive fewer bytes than 
> expected.
> It doesn't appear the problem is the latency of the application layer as I 
> verified it wakes up with short delay.
> if I connect only 1 or 2 devices rather than all of 16 and I activate this 
> high throughput mode on one device , then the system works perfectly. Problem 
> happens when all of the 16 devices are connected and high throughput mode on 
> one device is enabled.
> So I was wondering if we got into a limitation of USB system due to polling 
> rate from the host linked to the fact that the buffers USB 2.0 specified 
> inside these UART-USB bridges are very limited in size ( I think 64 bytes and 
> 32 bytes on the two USB ports of the UART to USB dual bridge ) and the are 
> also translation buffers on the USB hub that could delay further the whole 
> thing.
> I was wondering  also if I could raise priority of USB polling that 
> particular device more frequently from the host rather than lopping to the 
> others and I was checking if it could be useful to log events so to see if I 
> can get some clues of what is going on.
> any idea would be welcome.
> thank you
>
>
>
> On Tue, Apr 2, 2019 at 8:56 AM Minas Harutyunyan 
> <minas.harutyun...@synopsys.com> wrote:
>>
>> Hi,
>>
>> On 4/1/2019 9:01 PM, Felipe Balbi wrote:
>> >
>> > Hi,
>> >
>> > (I can't answer private queries. Please, always Cc the public mailing
>> > list)
>> >
>> > Antonio Santagiuliana <santantonios...@gmail.com> writes:
>> >
>> >> Hello
>> >> I am using RaspberryPI for a project and we want to connect 16 USB to UART
>> >> bridges ( at the moment we are using 8 dual UART cp2105 from Silicon Labs 
>> >> ).
>> >> I have seen your page at :
>> >> https://urldefense.proofpoint.com/v2/url?u=https-3A__dri.freedesktop.org_docs_drm_driver-2Dapi_usb_dwc3.html&d=DwIBAg&c=DPL6_X_6JkXFx7AXWqB0tg&r=cQBKt4q-qzNVC53rNAwuwplH23V61rHQhhULvdLA0U8&m=RfK-uhEeZZ8yf79ch5you3BpE1JNPDHRzgmOGkeLBss&s=rGrgFKpJ6-CEmAtR-hiae64T80Z7oCTx3r4xHn-lf4I&e=
>> >> so I was trying to get tracefs output.
>> >> Problem is that on the /t/events subfolder I cannot find the
>> >> dwc3/enable because
>> >> there is not any /dwc3 in /t/events.
>> >> Because of this I cannot set echo 1 > /t/events/dwc3/enable
>> >> as instead your page says I should do.
>> >> I can only find */t/events/enable* should I activate that ?
>> >> running usb-devices command I get this about the drivers loaded :
>> >>
>> >> T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 1
>> >> D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
>> >> P:  Vendor=1d6b ProdID=0002 Rev=04.14
>> >> S:  Manufacturer=Linux 4.14.39 dwc_otg_hcd
>> >
>> > You're not using dwc3. That's dwc2, instead. Also, dwc3 tracepoints are
>> > peripheral side only. Host side is a standard xhci, so you would use
>> > xhci tracepoints for that.
>> >
>> > Still, you're using dwc2 from what I can tell. Minas is the maintainer
>> > of that driver.
>> >
>> >
>> It's not dwc2 driver. It's dwc_otg Synopsys reference driver which
>> supplying along with HSOTG core.
>>
>> But what the issue?
>> >
>> >
>> >
>> >
>> >> S:  Product=DWC OTG Controller
>> >> S:  SerialNumber=3f980000.usb
>> >> C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=0mA
>> >> I:  If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
>> >>
>> >> T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480 MxCh= 5
>> >> D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=02 MxPS=64 #Cfgs=  1
>> >> P:  Vendor=0424 ProdID=9514 Rev=02.00
>> >> C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=2mA
>> >> I:  If#=0x0 Alt= 1 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=02 Driver=hub
>> >>
>> >> T:  Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=  3 Spd=480 MxCh= 0
>> >> D:  Ver= 2.00 Cls=ff(vend.) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
>> >> P:  Vendor=0424 ProdID=ec00 Rev=02.00
>> >> C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=2mA
>> >> I:  If#=0x0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=ff Driver=smsc95xx
>> >>
>> >> T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=02 Dev#= 14 Spd=480 MxCh= 4
>> >> D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
>> >> P:  Vendor=0409 ProdID=005a Rev=01.00
>> >> C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
>> >> I:  If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
>> >>
>> >> T:  Bus=01 Lev=03 Prnt=14 Port=00 Cnt=01 Dev#= 15 Spd=12  MxCh= 0
>> >> D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
>> >> P:  Vendor=10c4 ProdID=ea70 Rev=01.00
>> >> S:  Manufacturer=Silicon Labs
>> >> S:  Product=CP2105 Dual USB to UART Bridge Controller
>> >> S:  SerialNumber=008714B9
>> >> C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
>> >> I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=vcpsilabs
>> >> I:  If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=vcpsilabs
>> >>
>> >> T:  Bus=01 Lev=03 Prnt=14 Port=01 Cnt=02 Dev#= 16 Spd=12  MxCh= 0
>> >> D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
>> >> P:  Vendor=10c4 ProdID=ea70 Rev=01.00
>> >> S:  Manufacturer=Silicon Labs
>> >> S:  Product=CP2105 Dual USB to UART Bridge Controller
>> >> S:  SerialNumber=0086F956
>> >> C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
>> >> I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=vcpsilabs
>> >> I:  If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=vcpsilabs
>> >>
>> >> T:  Bus=01 Lev=03 Prnt=14 Port=02 Cnt=03 Dev#= 17 Spd=12  MxCh= 0
>> >> D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
>> >> P:  Vendor=10c4 ProdID=ea70 Rev=01.00
>> >> S:  Manufacturer=Silicon Labs
>> >> S:  Product=CP2105 Dual USB to UART Bridge Controller
>> >> S:  SerialNumber=00870FBD
>> >> C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
>> >> I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=vcpsilabs
>> >> I:  If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=vcpsilabs
>> >>
>> >> T:  Bus=01 Lev=03 Prnt=14 Port=03 Cnt=04 Dev#= 18 Spd=480 MxCh= 4
>> >> D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS=64 #Cfgs=  1
>> >> P:  Vendor=0409 ProdID=005a Rev=01.00
>> >> C:  #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=100mA
>> >> I:  If#=0x0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
>> >>
>> >> T:  Bus=01 Lev=04 Prnt=18 Port=00 Cnt=01 Dev#= 19 Spd=12  MxCh= 0
>> >> D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
>> >> P:  Vendor=10c4 ProdID=ea70 Rev=01.00
>> >> S:  Manufacturer=Silicon Labs
>> >> S:  Product=CP2105 Dual USB to UART Bridge Controller
>> >> S:  SerialNumber=00870E54
>> >> C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
>> >> I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=vcpsilabs
>> >> I:  If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=vcpsilabs
>> >>
>> >> T:  Bus=01 Lev=04 Prnt=18 Port=01 Cnt=02 Dev#= 20 Spd=12  MxCh= 0
>> >> D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
>> >> P:  Vendor=10c4 ProdID=ea70 Rev=01.00
>> >> S:  Manufacturer=Silicon Labs
>> >> S:  Product=CP2105 Dual USB to UART Bridge Controller
>> >> S:  SerialNumber=00870B3F
>> >> C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
>> >> I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=vcpsilabs
>> >> I:  If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=vcpsilabs
>> >>
>> >> T:  Bus=01 Lev=04 Prnt=18 Port=02 Cnt=03 Dev#= 21 Spd=12  MxCh= 0
>> >> D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
>> >> P:  Vendor=10c4 ProdID=ea70 Rev=01.00
>> >> S:  Manufacturer=Silicon Labs
>> >> S:  Product=CP2105 Dual USB to UART Bridge Controller
>> >> S:  SerialNumber=0086F938
>> >> C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
>> >> I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=vcpsilabs
>> >> I:  If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=vcpsilabs
>> >>
>> >> T:  Bus=01 Lev=04 Prnt=18 Port=03 Cnt=04 Dev#= 22 Spd=12  MxCh= 0
>> >> D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
>> >> P:  Vendor=10c4 ProdID=ea70 Rev=01.00
>> >> S:  Manufacturer=Silicon Labs
>> >> S:  Product=CP2105 Dual USB to UART Bridge Controller
>> >> S:  SerialNumber=00870981
>> >> C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
>> >> I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=vcpsilabs
>> >> I:  If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=vcpsilabs
>> >>
>> >> T:  Bus=01 Lev=02 Prnt=02 Port=03 Cnt=03 Dev#= 23 Spd=12  MxCh= 0
>> >> D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
>> >> P:  Vendor=10c4 ProdID=ea70 Rev=01.00
>> >> S:  Manufacturer=Silicon Labs
>> >> S:  Product=CP2105 Dual USB to UART Bridge Controller
>> >> S:  SerialNumber=0086E7E6
>> >> C:  #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
>> >> I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=vcpsilabs
>> >> I:  If#=0x1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=vcpsilabs
>> >>
>> >>
>> >>
>> >>
>> >> thank you very much for your page , very interesting.
>> >>
>> >>
>> >> Kind Regards
>> >> Antonio Santagiuliana
>> >
>>
>> Thanks,
>> Minas

Reply via email to