我有一个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
答案 0 :(得分:1)
ip stack会注意到目标是同一台机器,因此没有数据包被发送到硬件。您只是在衡量Linux IP堆栈的软件性能,而您的CPU有点慢。
USB 2.0高速为480 MBit / s,但不能同时发送和接收。这意味着如果您将数据包发送到硬件并再次接收它们,则无法执行240 MBit / s - 实际上甚至更低,因为会有一些开销。