[SunHELP] Configuring Negotiation on dfme interfaces

John Bigane sunhelp at sunhelp.org
Mon Jan 7 01:07:55 CST 2002


For the dfme interfaces, you have to do things a little differently.

For example, when you use ndd, you need to specify the full interface name
ndd -set /dev/dmfe0 adv_autoneg_cap 0

I'm attaching the Sun FAQ for more information...

Cheers -
John


>    6. Configuring Negotiation on dfme interfaces (Ben Ricker)
> 
> Message: 6
> From: Ben Ricker <bricker at wellinx.com>
> To: Sun Help List <sunhelp at sunhelp.org>
> Date: 03 Jan 2002 09:56:08 -0600
> Subject: [SunHELP] Configuring Negotiation on dfme interfaces
> Reply-To: sunhelp at sunhelp.org
> 
> I am having trouble getting information about how my dfme ethernet
> interfaces are setting up their duplexing. I wrote a script that I
> THOUGHT worked (it is printed below) but I cannot get it to work. 
> 
> My questions are: how do you use ndd to query what the current settings
> are and why doesn't the script reprinted below work?
> 
> Here is the script:
> 
> #!/sbin/sh
>  
> # Set dmfe0 to 100 full, no auto-negotiate
>  
> /usr/sbin/ndd -set /dev/dmfe instance 0
> /usr/sbin/ndd -set /dev/dmfe adv_100T4_cap 0
> /usr/sbin/ndd -set /dev/dmfe adv_100fdx_cap 1
> /usr/sbin/ndd -set /dev/dmfe adv_100hdx_cap 0
> /usr/sbin/ndd -set /dev/dmfe adv_10fdx_cap 0
> /usr/sbin/ndd -set /dev/dmfe adv_10hdx_cap 0
> /usr/sbin/ndd -set /dev/dmfe adv_autoneg_cap 0
>  
> # Set the dmfe1 to 100 Full, no auto-negotiate
>  
> /usr/sbin/ndd -set /dev/dmfe instance 1
> /usr/sbin/ndd -set /dev/dmfe adv_100T4_cap 0
> /usr/sbin/ndd -set /dev/dmfe adv_100fdx_cap 1
> /usr/sbin/ndd -set /dev/dmfe adv_100hdx_cap 0
> /usr/sbin/ndd -set /dev/dmfe adv_10fdx_cap 0
> /usr/sbin/ndd -set /dev/dmfe adv_10hdx_cap 0
> /usr/sbin/ndd -set /dev/dmfe adv_autoneg_cap 0
>  
> # Restart Networking
>  
> /etc/init.d/network start
> 
> Here is the output of that script when run from command line:
> 
> bash-2.03# ./S99zhme_set
> operation failed, Invalid argument
> operation failed, Invalid argument
> operation failed, Invalid argument
> operation failed, Invalid argument
> operation failed, Invalid argument
> operation failed, Invalid argument
> operation failed, Invalid argument
> operation failed, Invalid argument
> operation failed, Invalid argument
> operation failed, Invalid argument
> operation failed, Invalid argument
> operation failed, Invalid argument
> operation failed, Invalid argument
> operation failed, Invalid argument
> configuring IPv4 interfaces: dmfe0 dmfe1.
> Hostname: unknown
> 
> Thanks for your help...
> 
> Ben Ricker
> Web Security System Engineer
> Wellinx.com
> 
> --__--__--
Document ID: 3536

SYNOPSIS:     How to find out and change the link speed of a dmfe ethernet 

DETAIL DESCRIPTION:


The Netra X1 systems have 2 built in Davicom fast ethernet adapters. 
They use the dmfe ethernet driver. How can we find out the current
link speed of these ethernet interfaces and change them forcefully
if needed ?


SOLUTION SUMMARY:


The dmfe driver works in only the 64 bit mode since the Netra X1 which
uses it, can run only in the 64 bit version of Solaris 8. The default
settings for this driver are slightly different from the usual hme or
le driver settings as discussed below.

1. Please note that you have to specify the actual devices /dev/dmfe0 or
/dev/dmfe1 directly when using ndd for these interfaces. Do not use the 
common device name with the instance number as an option, as is the case
with the hme or le drivers. 

2. When you check the link_speed value through ndd, it returns the values 
10 or 100 to specify the appropriate 10 or 100 Mbit/Sec link speed instead
of the usual 0 or 1 as in the case of hme or le drivers.

To print out the user readable and configurable parameters for
a dmfe interface:

# ndd /dev/dmfe0 \?
?                             (read only)
link_status                   (read only)
link_speed                    (read only)
link_mode                     (read only)
adv_autoneg_cap               (read and write)
adv_100fdx_cap                (read and write)
adv_100hdx_cap                (read and write)
adv_10fdx_cap                 (read and write)
adv_10hdx_cap                 (read and write)

To see the current link speed of the interface:

# ndd -get /dev/dmfe0 link_speed 
10

This shows that the interface is operating at 10Mbits/Sec


To disable the link speed Auto-Negotiation feature of the driver:

# ndd -set /dev/dmfe0 adv_autoneg_cap 0


To set the interface link speed to 100Mbits/Sec Full_duplex Mode

# ndd -set /dev/dmfe0 adv_100fdx_cap 1

# ndd -get /dev/dmfe0 link_speed 
100

This verifies that the interface is now operating at 100Mbits/Sec

Forcing the speed and mode of the interfaces can also be done with 
the /platform/sun4u/kernel/drv/dmfe.conf file. Here is what a default
dmfe.conf file looks like:

#
# Copyright (c) 2000, 2001 by Sun Microsystems, Inc.
# All rights reserved.
#
#ident  "@(#)dmfe.conf  1.1     01/01/17 SMI"
#
# Driver.conf file for the Davicom 9102/9102A Ethernet device driver
#
# To force the link speed, set "speed=10" or "speed=100"
# To force the Duplex mode, set "full-duplex=0" or "full-duplex=1"
#
#speed=100;
#full-duplex=1;
#
DMFE_SROM=0x54,0x45,0x4e,0x43,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x2f,0x00,0x03,0x01,0x08,0x00,0x20,0x8a,
0x24,0x24,0x00,0x1e,0x00,0x00,0x00,0x08,
0x80,0x06,0x8e,0x01,0x01,0x00,0x02,0x80,
0x00,0x00,0x78,0xe0,0x01,0x00,0x50,0x00,
0x18,0x85,0x80,0x00,0x20,0x00,0x40,0x85,
0x00,0x00,0x00,0x87,0x00,0x85,0x00,0x01,
0x00,0x87,0x00,0x85,0x00,0x04,0x00,0x87,
0x00,0x85,0x00,0x05,0x00,0x87,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00;

Please note that setting the full-duplex or speed settings in the
dmfe.conf file will disable the link speed Auto-Negotiation feature
of the dmfe interfaces.

Also be aware that there are no supported /etc/system configuration
settings for the dmfe interface at this time.


DATE APPROVED: 06/11/01

KEYWORDS:     dmfe,netra,X1,ndd,link_speed,dmfe.conf

OS RELEASE:   8



More information about the SunHELP mailing list