cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
rogerrb1
Visitor
Visitor
7,672 Views
Registered: ‎06-23-2010

zynq usb otg transfer size

Hi, 

 

I have usb otg configured per http://www.wiki.xilinx.com/Zynq+Linux+USB+Device+Driver and configured for otg with the gadget ethernet driver.  I can ping and run iperf test from host to zynq, but trying to connect via ssh or run iperf from zynq to host fails.  The culprit seems to be that whatever is responsible for breaking up ethernet packets in to usb packets is not working, or not configured properly.  If I set the mtu to 512 with "ifconfig usb0 mtu 512", then the ssh session is successful.  Anyone have any suggestions where I should look?

 

-Rick

 

0 Kudos
Reply
5 Replies
milosoftware
Scholar
Scholar
7,588 Views
Registered: ‎10-26-2012

It's not your fault, the driver is just broken.

 

At some point, the Xilinx-specific USB driver has been replaced with a generic "chipidea" one. The chipidea driver is broken.

 

Thanks for providing a workaround though..

0 Kudos
Reply
milosoftware
Scholar
Scholar
7,465 Views
Registered: ‎10-26-2012

Hmm, tried setting mtu as per your suggestion, but it won't work. Setting the mtu to 512 results in the usb ethernet not functioning at all.

0 Kudos
Reply
milosoftware
Scholar
Scholar
7,442 Views
Registered: ‎10-26-2012

The attached kernel patch forces a 512-byte MTU default for outgoing traffic on the gadget ethernet driver, thereby working around the problem.

 

 

0 Kudos
Reply
milosoftware
Scholar
Scholar
7,394 Views
Registered: ‎10-26-2012

Problem is fixed in Xilinx master-next branch:

 

2516e422d06d69e3432b081661dfab4b0a16656b:   usb: chipidea: add xilinx zynq platform data
    
Problem appeared to be the "CI_HDRC_DISABLE_STREAMING" flag.

0 Kudos
Reply
rogerrb1
Visitor
Visitor
7,309 Views
Registered: ‎06-23-2010

Right, applying the patch referenced here worked for me: https://github.com/Xilinx/linux-xlnx/issues/57

 

0 Kudos
Reply