Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have just purchased a D-Link DIR-652 wireless router, and now I want to connect a Shuttle XS25GT V2 computer using a 1 metre Cat 5e ethernet cable. The Shuttle runs Ubuntu 12.10 and has a JMC250 Ethernet card.

When I plug the network cable in, the Shuttle does not detect the connection and can thus not communicate with the network. The output of ethtool is exactly the same as if no network cable was plugged in:

root@shuttle:~# ethtool p33p1
Settings for p33p1:
        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 
                                1000baseT/Half 1000baseT/Full 
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Speed: 10Mb/s
        Duplex: Half
        Port: MII
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pg
        Wake-on: g
        Current message level: 0x000020c6 (8390)
                               probe link rx_err tx_err hw
        Link detected: no

This does not change using a different network cable (1m, 3m, 15m). Strangely, when I connect a different computer with the router using the same network cable, everything works fine, and when I connect the Shuttle to a different router (of a different model) using the same network cable, it also works.

I have discovered that turning auto-negotiation off fixes the problem. After running ethtool -s p33p1 autoneg off speed 100 duplex full, this is the output:

root@shuttle:~# ethtool p33p1
Settings for p33p1:
        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:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: off
        Supports Wake-on: pg
        Wake-on: g
        Current message level: 0x000020c6 (8390)
                               probe link rx_err tx_err hw
        Link detected: yes

However, Gigabit ethernet requires auto-negotiation, so this will only work with reduced speed.

I suspect that the “Green Ethernet” functionality of the router might not detect the connection of the cable and thus not turn on the power of the ethernet port. There seems to be no way to disable Green Ethernet in the config menu of the router, though.

Does anyone have an idea how I could fix this problem? I tried to manually tell the network card to negotiate a connection using ethtool -r, but that did not do anything.

share|improve this question
    
ethtool -s p33p1 autoneg off speed 1000 duplex full doesn't set it to Gb? –  Ƭᴇcʜιᴇ007 Jan 15 '13 at 20:35
    
Have you tried with a cable that is certified by its manufacturer to run at gigabit speeds? Cable cannot negotiate -- it's just wires -- connecting devices with a cable not qualified for the highest speed supported by both ends is not a supported configuration. –  David Schwartz Jan 26 '13 at 3:33
    
techie007: That is not possible, ethtool will not let me set 1000 MBit/s with auto-negotiation off. –  cdauth Jan 27 '13 at 23:19
    
David Schwartz: I have used normal Cat 5e cables. Also, one of the cables I tried was delivered with the Gigabit router, so I guess it should support Gigabit. Also, as written, Gigabit works with my computer and the same cable and with the Shuttle and a different router. –  cdauth Jan 27 '13 at 23:19

2 Answers 2

I'm willing to bet that your router is waiting to hear what kind of link whatever is connected to it is going to run at to turn the port on, and seeing that your Shuttle is waiting to hear what speed it's supposed to run at will keep waiting because the port is turned off!

I haven't read the manual yet so I can't tell you how to do it, but see if you can turn off the Green Networking for the one port your Shuttle is connected to (and leave the auto-negotiation on) and see what happens.

The other thought is to get your Shuttle to force a data packet out somehow (manual ping to 127.0.0.1 for example) to present some sort of electrical activity on the port.

After reading through D-Link's website, Green Ethernet seems to be mostly marketing. I do say mostly because there is potential to save energy, but some of the features they mention are already used in other pieces of technology. So, perhaps the "turning off the port to save energy" is a good idea in theory, but I think it makes some bad assumptions about how some other devices work and is more of a pain than practical.

GL

share|improve this answer
    
So far I haven’t found any way to turn off green ethernet. Do you have any suggestion how I could force a data packet to be sent? Also, I’m not sure if that will help, as I’ve tried running a DHCP client on the interface, which probably sends some traffic, and that did not change anything. –  cdauth Jan 16 '13 at 2:41
    
Interestingly, I have discovered that connecting the Shuttle to a different router that also uses Green Ethernet (an AVM Fritz!Box), the Gigabit connection works fine. –  cdauth Jan 27 '13 at 23:22
up vote 0 down vote accepted

This is what I’ve found out and how I have solved the issue for now.

First of all, I have come accross numerous reports of the same issue on the internet, this one for instance. Most people seem to have solved the issue by upgrading the jme driver. I have found newer versions of the JME driver on ftp://driver.jmicron.com.tw/Ethernet/Linux/ and http://bbs.cooldavid.org/git/?p=jme.git;a=summary. The newest driver from the Git repository (bp-1.0.8.9-noasd) does not change anything about my problem.

Version bp-1.0.8.5 from the JMicron website (strangely, versions 1.0.8.3 to 1.0.8.5 are not available in the Git repository) provides a workaround for the issue that makes it a bit less annoying: It is the same as 1.0.8.4 (it was even uploaded the same day), except that it adds the delay_time module parameter, which causes the network card to automatically fall back to 100 MBit/s after it cannot connect for several seconds (by default 11). With this, link detection works, so it saves me running ethtool manually, but of the connection is only 100 MBit/s.

I got rid of the D-Link DIR-652 router and bought a TP-Link TL-WDR3600 instead. With that, I initially had exactly the same problem. Then I installed the DD-WRT firmware, and suddenly, the issue vanished.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.