Cisco ASRs and GigE Autonegotiation
I’ve never seen a GigE interface that wouldn’t let me manually specify the speed and duplex. I’m not talking about the speed limitations of the Nexus 2148T (it can’t to 10/100), I’m talking about disabling Ethernet autonegotiation. While working with a Cisco ASR1001 the other day, I’d finally met my match.
The ASR1001 has four built-in GigE interfaces which accept copper for fiber SFPs (though not the traditional GLC-T). I was trying to disable autonegotiation on a single-mode fiber interface but the speed and duplex commands didn’t exist.
Router(config-if)#s? !--Nothing Router(config-if)#d? !--Nothing
But, if autonegotiation was my only option, why did the IOS XE coders torment me by including it as a default part of the interface config?
Router(config-if)#do sh run int g0/0/0 interface GigabitEthernet0/0/0 ip address 18.104.22.168 255.255.255.252 negotiation auto
Turns out, these built-in interfaces only support GigE, not 10Mbps or 100Mbps. More to the point though, only copper interfaces support manually defined speeds. Fiber interfaces operate in one fashion only, the only choice you have is whether or not to use autonegotiation. In my case I disabled it like this.
Router(config)#int g0/0/0 Router(config-if)#no negotiation auto Router(config-if)#do sh run int g0/0/0 interface GigabitEthernet0/0/0 ip address 22.214.171.124 255.255.255.252 no negotiation auto