我买了一个小型的千兆以太网USB适配器,该适配器在Raspberry Pi 3中可以在OOTB上正常工作,但速度仅为100mbits / s。如何使其全速运行?

ethtool:

# ethtool eth1
Settings for eth1:
Supported ports: [ TP MII ]
Supported link modes:   10baseT/Half 10baseT/Full
                        100baseT/Half 100baseT/Full
                        1000baseT/Half 1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes:  10baseT/Half 10baseT/Full
                        100baseT/Half 100baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                     100baseT/Half 100baseT/Full
Link partner advertised pause frame use: Symmetric
Link partner advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 32
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00007fff (32767)
               drv probe link timer ifdown ifup rx_err tx_err tx_queued intr tx_done rx_status pktdata hw wol
Link detected: yes


lshw:

*-network:2
   description: Ethernet interface
   physical id: 4
   logical name: eth1
   serial: 💩💩💩💩
   size: 100Mbit/s
   capacity: 1Gbit/s
   capabilities: ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
   configuration: autonegotiation=on broadcast=yes driver=r8152 driverversion=v1.08.8 duplex=full ip=192.168.1.5 link=yes multicast=yes port=MII speed=100Mbit/s


lsmod

Module                  Size  Used by
rpcsec_gss_krb5        23752  0
brcmfmac              222874  0
brcmutil                9092  1 brcmfmac
cfg80211              543027  1 brcmfmac
cdc_ether               6354  0
rfkill                 20851  1 cfg80211
r8152                  37460  0
bcm2835_gpiomem         3940  0
uio_pdrv_genirq         3923  0
uio                    10204  1 uio_pdrv_genirq
fixed                   3285  0
snd_bcm2835            24427  0
snd_pcm                98501  1 snd_bcm2835
snd_timer              23968  1 snd_pcm
snd                    70032  3 snd_timer,snd_bcm2835,snd_pcm
joydev                  9988  0
uinput                  9125  0
ipv6                  408971  32


首先想到的是,我确实支持1000,但未进行广告宣传。也许是因为从USB 3到USB 2的回退也下降到了100mbits / s?

我尝试了

# ethtool -s eth1 speed 1000 duplex full


,但是没有运气。

适配器品牌为“ rankie”(在亚马逊上很容易找到)。

此外,适配器已连接到千兆交换机。我的NAS已连接到该交换机,并且以1000mbits / s的速度正常运行,所以我怀疑这是问题所在。

最后,以太网适配器是唯一连接到PI的USB设备,因此即使如果我不希望整个速度达到1000mbps,那我期望可以达到USB2.0速度

评论

与所有Pi型号一样,Pi3肯定是USB2(以太网挂在Pi USB总线上)

当然,我不希望获得完整的千兆以太网速度,但是我看到的基准测试显示USB以太网适配器至少有200mbps。 netbeez.net/blog/raspberry-pi-3-iperf

确保您要连接的交换机能够识别适配器。自动协商可能会失败。我进行了类似的测试(很遗憾,没有保持注释),并回想起在使用ethtool配置端口速度后,必须物理断开并重新连接端口。有趣的是,即使不配置速度,使用USB3适配器也会将RPi吞吐量从〜94 Mbps增加到〜113 Mbps。我听说有人使用正确配置的USB3适配器接近300 Mbps。 USB2总线支持的吞吐量远远高于100Mbps,尽管您不会获得1Gbps。

Pi 3 USB为2.0,但宣传的Rankie适配器为3.0兼容。我怀疑连接到2.0端口时网络速度会降低。

想要启发我lshw的输出吗?

#1 楼

在回答我自己的问题时,这个问题比我想的要简单。

原来,我使用的是家里摆放的廉价电缆。它甚至没有通常的8条线,只有4条线,这使其无法用于千兆位以太网连接(快速以太网仅需要4条线,而千兆位则需要全部8条线)。

我切换到正确的Cat 5e电缆,就解决了该问题。现在ethtool报告为1000mbps,使用iperf可以超过300mbps!

评论


如果您看一下廉价电缆的接头,它有4针或8针连接到电缆吗?如果只有4,则将来购买新电缆时要注意这一点。

– Ferrybig
18年1月15日在8:38

是的,它只有四根电线。在我看来,它可能缺少一半的电线。我不认为我买了那根电线,我很确定那是我在某个时候买的其他一些小工具。无论如何,下次我会更加警惕!

–圣地亚哥
18年1月15日12:00

我修改了回复以添加更多详细信息

–圣地亚哥
18年1月15日在12:03

这就是为什么电缆标有5e等的原因。

–索比昂·拉文·安德森(ThorbjørnRavn Andersen)
18年1月15日在16:58

@santiagozky您所描述的电缆在技术上是CAT3。一段时间以来,千兆以太网变得无处不在,因为房屋已经连接了电话线,因此电话电缆被RJ-45端接以代替以太网电缆。有时也用于交付DSL连接而不安装新硬件。您的CAT3可能是从较旧的10/100设备或旧的DSL调制解调器等遗留的。请注意,两对电缆也是从旧电话线的升级,因为它们可以支持两条独立的电话线(每根仅需要一对)。

–thanby
18年1月15日在19:06

#2 楼

USB2总线支持的速度远远高于100 Mbps,因此您确实应该期望看到更高的速度。 USB2网络适配器的最高输出速率为100 Mbps(IME),但是向后兼容的USB3千兆适配器可以使用USB2总线的功能来实现高于100 Mbps的速度。

我使用双USB适配器进行了类似的测试在RPi 3B上。您的网络交换机可能无法识别ethtool所作的速度开关。在更改RPi的端口速度后,请尝试物理断开并重新连接电缆以强制与交换机重新进行功能协商。如果可行,则需要弄清楚如何在初始连接上强制使用速度开关。

不幸的是,我在测试时搞砸了,却忽略了修改RPi上的端口速度。在以后使用ethtool重新配置速度后,我打算重复测试。作为数据点,我在华硕Tinkerboard上进行了相同的测试,该华硕Tinkerboard还仅提供USB2端口和GBE端口。通过将USB3 GBE适配器插入USB2端口并通过GBE端口连接到第三台设备,我可以在路由配置中获得308 Mbps的吞吐量。如果没有其他说明,这表明USB2总线可以支持> 100 Mbps。

即使不手动设置端口速度,我在RPi 3B上使用2个USB3 GBE适配器的吞吐速度也从〜94 Mbps改善到约113 Mbps,约20%的增益。

评论


“尝试物理断开并重新连接电缆”。惊恐的事件!!开个玩笑。找到了问题,对此感到难过。我正在使用Cat5电缆。在家里某处发现了一个5e,并以305 Mbps的速度(使用iperf)!

–圣地亚哥
18年1月14日在18:12

哈哈!我也被那一点点忘了。当我不记笔记时,我讨厌它。

– bobstro
18年1月14日在19:39



所获得的带宽与通告的链路之间存在差异。从理论上讲,您可以创建一个具有10GBit以太网端口的USB 1.1设备,并且该链接应报告为10GBit,仅无法以该速度传输数据。

– PlasmaHH
18年1月15日在10:20

是的,有区别,但这并不意味着您通过RPi不能获得超过100 Mbps的速度。我们已经阐明了USB2总线不会支持1 Gbps,但是300 Mbps +是现实的。

– bobstro
18年1月15日在14:32