当总线速度为480Mbps时,通过usb的wlan环回吞吐量仅为273Mbps



我有一个STB 7445设备,我们的无线局域网芯片通过usb连接到该设备。

在为wlan0接口加载驱动程序和固件后,将IP地址分配给wlan0界面。

IP地址:

# ifconfig wlan0 192.168.1.2

此后,我在arp条目中添加的一个伪地址上运行环回吞吐量测试。

ARP条目:

# /system/xbin/busybox/arp -s 192.168.1.4 11:22:33:44:55:66

运行iperf以测量UDP TPUT:

# iperf -c 192.168.1.4 -i1 -w2M -b1000M -t 60
.
.
[  3]  4.0- 5.0 sec  32.5 MBytes    273 Mbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3] 59.0-60.0 sec  32.5 MBytes    273 Mbits/sec
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-60.0 sec  1.90 GBytes    273 Mbits/sec
[  3] Sent 1390851 datagrams
[  3] WARNING: did not receive ack of last datagram after 10 tries.
root@bcm_platform:/system/bin/amar/43569a2 # 

我的吞吐量只有273 Mbps,而总线速度是480 Mbps。

usb总线速度:

#cat /sys/bus/usb/devices/usb1/speed
480

ip堆栈会注意到目标是同一台机器,因此不会向硬件发送数据包。您只是在测量linux IP堆栈的软件性能,您的CPU有点慢。

USB 2.0高速为480MBit/s,但无法同时发送和接收。这意味着,如果你将数据包发送到硬件并再次接收,你就不能超过240 MBit/s——实际上甚至更低,因为会有一些开销。

最新更新