Jump to content

chris.lx

Members
  • Posts

    2
  • Joined

  • Last visited

  1. Well the device I am using is not an SD card, but an SMSC7500 (LAN7500) usb-ethernet adapter, but anyway here is what I did to speed transmission up to 300 MBit/sec: The smsc75xx_tx_fixup procedure (in drivers/net/usb/smsc75xx.c) adds 2 dwords in front of the buffer to be transmitted, using skb_push. Now I do an skb_copy_expand to presumably get a contiguous buffer before doing the skb_push: static struct sk_buff *smsc75xx_tx_fixup(struct usbnet *dev, struct sk_buff *skb, gfp_t flags) { u32 tx_cmd_a, tx_cmd_b; // now the following 6 lines added by me: struct sk_buff *skb2; skb2 = skb_copy_expand(skb, 8, 0, GFP_ATOMIC); if (skb2) { dev_kfree_skb_any(skb); skb = skb2; } This change, although bad due to massive "unnecessary" copying, increases transmission speed from 100 MBit/sec to 300 Mbit/sec , 300% ! It seems that the ehci-hcd driver has some problems transmitting non-contiguous buffers.
  2. I use a NEO2 (H5), with armbian linux 4.19.13-sunxi64, and have a StarTech usb2.0 to Gigabit-ethernet adapter, which I plug in the usb slot of the NEO2 and which gives me a new additional ethernet interface. iperf3 on this interface (against another NEO2 with its generic gigabit interface) gives maximum 111 MBit/sec, even with the tips in https://forum.armbian.com/topic/7001-slow-usb-speed-on-h5-devices-orangepi-prime-probably-cpu-governor-related/ (which actually dont change much) Using a raspberry pi (2B) with the same adapter and cable I get 170 MBit/sec, which is significantly more (although still not what one should hope for, which is up to 300, but maybe the StarTech is not perfect) So the usb adapter is not the problem, and I observe similar speeds (around 100 MBit/sec) with other devices too. Why is the usb in the H5 so slow? I need at least 150MBit/sec (ok not really for this adapter, actually for another one, but never mind)
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines