Newsgroups: comp.sys.sun.admin Subject: Intermittent slow response Date: 20 Jun 2002 09:11:46 -0700 I spent considerable time tracking down a "slow reponse" problem. I administer two Ultra 2's and a Ultra 5 on one linkswitch (on the same subnet), connected to a large intranet. I was experiencing some awful delays in processing on one Ultra 2 even though the perfmeters showed little activity. After much testing, I finally found that the command netstat -i -I hme0 5 where the 5 means print a line every 5 seconds, was showing lots of output errors and collisions whenever I tried to send a file from that host to one of the other ones on the same subnet. One puzzling thing about it was that both Ultra 2's showed this pattern when sending a file, but the Ultra 5 only showed collisions - not output errors (and not the awful delays). All three systems are on Solaris 8, (2/02). I think there may be a bug in the motherboard ethernet card on Ultra 2's - maybe there is a patch for that. The solution: I used ndd -get /dev/hme link_speed and ndd -get /dev/hme link_mode to discover that I was running 100Mbs, half-duplex, on all three Ultra's, even though the link switch was capable of full-duplex. Apparently the autonegotiation software is not working properly. In the /etc/init.d/inetsvc script I added a test to find out the speed/mode, and force it to go to full-duplex, high-speed if it were not there already. IIRC, the commands to force it were: ndd -set /dev/hme adv_100T4_cap 0 ndd -set /dev/hme adv_autoneg_cap 0 ndd -set /dev/hme adv_100fdx_cap 1 ndd -set /dev/hme adv_10fdx_cap 0 ndd -set /dev/hme adv_100hdx_cap 0 ndd -set /dev/hme adv_10hdx_cap 0 I did this on all three hosts and rebooted each one. Once this was done, the collisions and the output errors all disappeared, and also there were no more long delays. However, now that I have read the docs at Solaris 8 2/02 on Sun Hardware Collection >> Platform Notes: The hme FastEthernet Device Driver >> 4. Setting Parameters >> Setting Parameters in the /etc/system File I see the better way to do it is in the /etc/system file. Oh well, live and learn. At least I accomplished the same thing this way. Hope this helps another admin person. Boyd