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

时间:2015-12-09 14:10:13

标签: android linux usb wlan

我有一个STB 7445设备,我们的wlan芯片通过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

1 个答案:

答案 0 :(得分:1)

ip stack会注意到目标是同一台机器,因此没有数据包被发送到硬件。您只是在衡量Linux IP堆栈的软件性能,而您的CPU有点慢。

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