Public Service Announcement - Check Your Ethernet Speed


KYThrill

Recommended Posts

For those of you new to unRAID, make sure you check your ethernet speed using:

 

ethtool eth0

 

I had just been assuming my speed was good because it didn't seem slow, my PC and switch were both report the correct Gigabit speed and the bios in my unRAID was set to Gigabit.  However I was just poking around today and discovered I was only connecting at 100 Mbs!  I had to go back to my bios an enable my Ethernet boot ROM (adds a couple seconds to boot time, but oh well).  After doing so, unRAID is now connecting at the correct gigabit speed.

 

I didn't poke much farther, so I don't know why it wasn't auto-negotiating the correct speed to begin with.

 

Just a reminder to not assume everything is working properly just because all the correct settings have been made!

Link to comment

Oops.

 

And actually, after thinking about it some more, it was even weirder than that...

 

I was uploading files to unRAID at 45 MB/s, which is faster than Fast Ethernet (which was also part of why I thought everything was working okay).  However, I was only downloading at about 12 MB/s, which is about the peak of Fast Ethernet.  After enabling the ethernet BIOS, I now upload at 48 MB/s and download at 50 MB/s.

 

Ethtool reported a 100 Mbs connection before and reports a 1000 Mbs connection now.  Sort of weird... didn't realize it could split the negotiation like that.

Link to comment

Hmm, I'm getting something like this:

Settings for eth0:
       Supported ports: [ TP MII ]
       Supported link modes:   10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
                               1000baseT/Half 1000baseT/Full
       Supports auto-negotiation: Yes
       Advertised link modes:  10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
                               1000baseT/Half 1000baseT/Full
       Advertised auto-negotiation: Yes
       Speed: 100Mb/s
       Duplex: Full
       Port: MII
       PHYAD: 0
       Transceiver: internal
       Auto-negotiation: off
       Supports Wake-on: pumbg
       Wake-on: g
       Current message level: 0x00000033 (51)
       Link detected: yes

 

Seems like I'm not using the full potential of my network card... does fixing this require changing a BIOS setting somewhere?

 

I was reading another site that suggests I use something called mii-tool to change the speed and duplex settings.

Link to comment

Hmm, I'm getting something like this:

Settings for eth0:
       Supported ports: [ TP MII ]
       Supported link modes:   10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
                               1000baseT/Half 1000baseT/Full
       Supports auto-negotiation: Yes
       Advertised link modes:  10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
                               1000baseT/Half 1000baseT/Full
       Advertised auto-negotiation: Yes
       Speed: 100Mb/s
       Duplex: Full
       Port: MII
       PHYAD: 0
       Transceiver: internal
       Auto-negotiation: off
       Supports Wake-on: pumbg
       Wake-on: g
       Current message level: 0x00000033 (51)
       Link detected: yes

 

Seems like I'm not using the full potential of my network card... does fixing this require changing a BIOS setting somewhere?

 

I was reading another site that suggests I use something called mii-tool to change the speed and duplex settings.

 

That was exactly the kind of result I was getting with ethtool.  My ethernet is built into the motherboard and there was a BIOS option to enable Ethernet BIOS.  My MB manual said enabling it would give me  gigabit ethernet when there was a driver incompatibility or other driver problem.  I enabled it and on every boot since I've gotten 1000 Mbs, so I guess that worked.

 

Maybe your card has some similar type of BIOS that can be enabled through a jumper or something...

Link to comment

Try

ethtool -s eth0 speed 1000

then do an ethtool eth0 and see what it reports back.

 

If this works, you could add it to your go script to force gigabit on boot.

 

I tried both:

 

ethtool -s eth0 speed 1000
ethtool -s eth0 speed 1000 full duplex

 

and

 

mi-tool -F 1000baseT-FD
eth0: negotiated 100baseTx-FD flow-control, link ok

 

Still reporting 100 Mb/s.

 

I even enabled "Load ethernet BIOS" on my GIGABYTE GA-MA74GM-S2 740G R (don't worry, HPA is disabled), but that didn't seem to help (I'm using the onboard NIC).

 

Anyone else have an idea?

Link to comment

Try

ethtool -s eth0 speed 1000

then do an ethtool eth0 and see what it reports back.

 

If this works, you could add it to your go script to force gigabit on boot.

 

I tried both:

 

ethtool -s eth0 speed 1000
ethtool -s eth0 speed 1000 full duplex

 

and

 

mi-tool -F 1000baseT-FD
eth0: negotiated 100baseTx-FD flow-control, link ok

 

Still reporting 100 Mb/s.

 

I even enabled "Load ethernet BIOS" on my GIGABYTE GA-MA74GM-S2 740G R (don't worry, HPA is disabled), but that didn't seem to help (I'm using the onboard NIC).

 

Anyone else have an idea?

 

You are probably having a similar problem as me on my GIGABYTE GA-G41M-ES2H.  I could not change it off 100 Mbs using any of the methods you attempted.  They only way for me to get 1000 Mbs was to enable the Ethernet BIOS, but I'm not sure why that doesn't work for you.  HAve you adjusted any settings in your ethernet BIOS?

 

Before making this change, I had two occasions where the card failed to make an ethernet connection at all, and once since enabling the BIOS I got a 10 Mbs connection and ifconfig showed that it failed to grab an IP address.  A reboot and it was fine the next time.

 

But looking into the problem, I found that some other flavors of linux were having similar trouble with this same adapter.  It uses the Realtek RTL8110SC/8169SC chipset.  Apparently there are some new drivers from Realtek to address some problems.  However, the 4.5.6 version of unRAID has the previous drivers and not the new ones.  So I would need to compile a custom kernel to try and add the new drivers to fix it, which isn't something I'm ready to tackle yet. 

 

Looks like you are in a similar boat with the 8111 chip on your MB.  Reports of problems in Linux, with people saying the latest drivers helped.  But 4.5.6 has the previous version of the drivers.

Link to comment

They only way for me to get 1000 Mbs was to enable the Ethernet BIOS, but I'm not sure why that doesn't work for you.  HAve you adjusted any settings in your ethernet BIOS?

 

Can you tell me the exact setting you changed for this, and under which menu item? Much appreciated.

Link to comment

They only way for me to get 1000 Mbs was to enable the Ethernet BIOS, but I'm not sure why that doesn't work for you.  HAve you adjusted any settings in your ethernet BIOS?

 

Can you tell me the exact setting you changed for this, and under which menu item? Much appreciated.

 

I don't remember the exact Gigabyte Bios menu, but I'm sure the entry was "Ethernet BIOS" with the options of enable/disable.  It was probably under "Advance Chipset Features".  Then you hit Ctrl+F10 to enter the Ethernet BIOS on reboot (which I left everything as default).

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.