SUMMARY: Autosensor - hme

Date: Tue May 26 1998 - 19:27:27 CDT

Thanks to :
Thomas Leitner
Stephen Wolthusen
David Beard

Here's the possible solution or reason offered by them on why the hme's
doen not always
stick to 100Mbs and also goes to half-duplex even if the switch is
configured as full-duplex.

You need to set both sides to auto-negotiate or to fixed settings.
One side auto-negotiate and the other not won't work.
So you need: either to set the Cat5000 to auto-negotiate or to force
the hme to 100FD. How to force the hme to 100fd can be figured out
by "man hme" or by reading:

Yes, you can do that. Manually through the ndd utility or automatically in
configuration file /etc/system.
The following lines should be added to the end of /etc/system (or replace
whatever hme advertisement might be in there, there is no hme config in
/etc/system unless somebody put it in manually for whatever reason after
OS installation):
set hme:hme_adv_100fdx_cap = 1
set hme:hme_adv_100hdx_cap = 1
set hme:hme_adv_10fdx_cap = 1
set hme:hme_adv_10hdx_cap = 1
set hme:hme_adv_autoneg_cap = 0
The driver will select to the first matching capability in the order listed
without negotiating, in this case 100 MBit FDX. You can of course delete
lines 2 through 4 if you *really* want to force the system to do 100 MBit
bust, but if the *switch* doesn't do 100FDX then, you're stuck without a
network -- and there may come a time when you rip out the hme from the
Catalyst and stick it into your trusty old 10 MBit hub in a hurry... ;)
The important part is the last line. Once the link is up and configured, it
will stay that way until the next driver initialization, usually a reboot.

I've just experienced a similar problem with an Ultra 2 running Solaris
It appears that under Solaris 2.5.1, the 100FDX capability is disabled by
default. It is enabled by default under Solaris 2.6. You can change this.
Even after adding the 100FDX capability, auto-negotiation still got it
so I disabled auto-negotiation.
You can use the utility ndd to experiment with the hme interface settings,
can set them `permanently' in the file /etc/system.
The commands I used to disable autonegotiation and force the hme interface
run at 100Mb full-duplex were:
        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
        ndd -set /dev/hme adv_autoneg_cap 0
After verifying that this had the desired effect - you should see a message
the console about the link coming back something like
May 20 22:18:42 sever unix: SUNW,hme0: 100 Mbps full-duplex Link Up
So that the above changes would happen at every system reboot, I added the
following to the /etc/system file:
        set hme:hme_adv_100fdx_cap = 1
        set hme:hme_adv_100hdx_cap = 0
        set hme:hme_adv_10fdx_cap = 0
        set hme:hme_adv_10hdx_cap = 0
        set hme:hme_adv_autoneg_cap = 0
Further information about the hme driver can be found in the appropriate
AnswerBook pages - the section is
        Platform Notes: The hme FastEthernet Device Driver
You can access Answerbook pages on-line via the URL:
I hope this helps.

This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:12:40 CDT