Ndd adv_autoneg_cap showing read only


 
Thread Tools Search this Thread
Operating Systems Solaris Ndd adv_autoneg_cap showing read only
# 1  
Old 06-13-2016
Ndd adv_autoneg_cap showing read only

Hi,

Recently, I had to disable autoneg in one of my servers having ixgbe1 interface. While using below command I got "Permission denied" error:

Code:
ndd -set /dev/ixgbe1 adv_autoneg_cap 0

On investigating further I found that adv_autoneg_cap is showing as read-only parameter. Although it is read & write parameter in all other servers. But I don't know how it has become read only parameter in this system.

ndd -get /dev/ixgbe1 /?
adv_autoneg_cap (read only)

Thanks in advance.

//BR

Last edited by RudiC; 06-13-2016 at 06:37 AM.. Reason: Added code tags.
# 2  
Old 06-14-2016
Autonegotiation is a required part of the 1000baseT, 1000baseTX, and 10GbaseT standards:

Quote:
The standards for 1000BASE-T, 1000BASE-TX and 10GBASE-T require autonegotiation to be always present and enabled. Other than speed and duplex mode, autonegotiation is used to communicate the port type (single port or multiport) and the master-slave parameters (whether it is manually configured or not, whether the device is master or slave if this is the case, and the master-slave seed bit otherwise).
If something isn't working properly, disabling autonegotiation isn't going to fix it.

In fact, it might even make it worse - your devices are neither certified nor tested to work at all under those standards with autonegotiation disabled.

Also, read this excerpt from a Solaris 11.2 copy of /kernel/drv/bge.conf, a configuration file for a Broadcom NIC:

Code:
# If autonegotiation is turned OFF ("forced mode"), the remaining 'adv_*'
# speed/duplex properties force selection of a specific mode, namely,
# the first mode found to be enabled, in highest-to-lowest speed order
# (thus, if adv_1000fdx_cap=1, all other values will be ignored; to force
# 10/hdx mode, *all* the faster modes must be explicitly disabled).
#
# BEWARE - it's very easy to end up with a non-working link using forced
# mode.  There's NO validation that the link partner actually supports
# the mode that this device has been forced into.  In some cases, this
# will prevent the link coming up; in others, the link status will show
# 'up' (electrical connection made) but data transfer will not work at
# all, or will work poorly (low throughput, high collision rates, etc).
#
# Note that many switches *require* autonegotiation in order to operate
# at 1000Mbps or in full-duplex mode or with flow control.  In other words,
# the only combinations that are likely to work with autonegotiation off
# are 100Mbps/half-duplex and 10Mbps/half-duplex, unless the peer has also
# been manually forced to some other (matching) combination.
#
# With autonegotiation ON (the default and preferred mode), the 'adv_*'
# properties control which capabilities are advertised to the partner.
# The default is to advertise all the capabilities that the hardware
# supports; thus, the properties below serve only to limit the advertised
# capabilities to restricted subset -- it is not possible to advertise a
# capability that the hardware does not support.
#
# The autonegotiation process will then automagically select the fastest
# speed/duplex mode and greatest degree of flow control supported by both
# partners.
#
# If the local device is set to autonegotiate, but the link partner can't
# or doesn't autonegotiate, the correct speed will be determined anyway,
# and HALF-DUPLEX mode will be selected, as mandated by the IEEE802.3
# standard.  This will yield the correct result if the partner is in fact
# incapable of autonegotiating: it must be a half-duplex device, because
# the only devices that don't support autonegotation are half-duplex (the
# standard says that all full-duplex-capable devices must also support
# autonegotiation).
# 
# However, this choice will NOT be correct if the peer is actually capable
# of autonegotiation and full-duplex operation, and has been manually set
# to "forced full-duplex without autonegotiation" (a mode not recommended
# by the IEEE standard).  The link will appear to work, but the duplex
# mismatch will result in packet loss and spurious "late collisions".  In
# such cases, the preferred solution is to enable autonegotiation by the
# peer.  Failing that, autonegotiation by the BGE device can be disabled,
# and forced mode used to match the peer's forced settings as above.

Not only is disabling autonegotiation a bad idea, if you have a support contract and have network problems, you WILL NOT GET SUPPORT until you enable autonegotiation, for one simple reason: it's part of the standard.

Last edited by achenle; 06-14-2016 at 05:04 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Solaris

Solaris 9 ndd -set issues

Hello forum, I have a Solaris 9 Sun Fire v240 server and Sun Fire v440 Recently we made changes and installed a new switch which both of them are connected to it. Cisco Catalyst 3750. Now the Sun Server v240 is having problems with the network. It was supposed to run at 1000mbs speed. ndd... (10 Replies)
Discussion started by: br1an
10 Replies

2. UNIX for Dummies Questions & Answers

Showing Clock

Is it possible to display the clock (timing) on the screen all the time. (3 Replies)
Discussion started by: vino.paal
3 Replies

3. Solaris

ndd -set /dev/tcp tcp_host_param

Following command was set up in startup script on Solaris 8 servers - improved network transfers of files from one server to the another (doubled transfer speed). ndd -set /dev/tcp tcp_host_param '10.140.20.10 sendspace 279600 recvspace 279600 timestamp 1' Now they are getting a new server... (15 Replies)
Discussion started by: RTM
15 Replies

4. UNIX for Advanced & Expert Users

Question on NIC and ndd command

I have a T2000 server which has 4 e1000g NIC cards How do I configure each of it for 1Gbit full duplex and turnoff autonegotiation. Please assist Thanks (4 Replies)
Discussion started by: Tirmazi
4 Replies

5. Solaris

ndd /dev/tcp help

Solaris 10 server (SunOS 5.10 Generic_137137_09) I have a services file configured in /etc in there windows clients connect to my server on port 6034-6037 when I do the following netstat | grep TestServices it pulls all the connections active for those ports so right now I have 10 clients... (3 Replies)
Discussion started by: deaconf19
3 Replies

6. Solaris

ndd matters

Hi, I would like to know whether there is any config file that i can refer to for the result of 'ndd -get /dev/tcp tcp_time_wait_interval'? When i man 'ndd', there is one statement which is -> Each driver chooses which parameters to make visible using ndd. Does it answering my question above... (3 Replies)
Discussion started by: honmin
3 Replies

7. Programming

ndd commands using function calls

Hi, Is there any function calls available ( for using in a C program ) to get the Ethernet Link status. ? I am looking for the status available from ndd /dev/hme link_status And how about plumbing and configuring an interface using C program ? BTW, Is all this documented... (3 Replies)
Discussion started by: shibz
3 Replies

8. Solaris

Questions related to ndd commands

Hello Gurus I would like to know more about ndd commands related to ethernet(NIC) like how to set link_status, link_speed & link_mode as I know how to check these value. And I also would like to know how to make these setting permanents after reboot as I know that these setting will vanish... (5 Replies)
Discussion started by: amity
5 Replies

9. Solaris

ndd help

Hi Guys, I need help with ndd. I was going through network FAQ but i have more questions then answers regarding ndd. #ndd -set /dev/hme instance 0 #ndd -set /dev/hme adv_100fdx_cap 1 #ndd -set /dev/hme adv_100hdx_cap 0 #ndd -set /dev/hme adv_10fdx_cap 0 #ndd -set /dev/hme adv_10hdx_cap 0... (2 Replies)
Discussion started by: nitinkgoud
2 Replies

10. IP Networking

ndd and le1

I am trying to set an interface to 100/Full, but the command I use are getting rejected. I think it is the last argument, but I don't know how to find the correct values. I am trying to use the following script, but change hme to le . echo "Setting hme interface 1: 100mb/full-duplex..." ... (2 Replies)
Discussion started by: bbrandeb49
2 Replies
Login or Register to Ask a Question