Forcing mode on SMC NIC (Sol8 x86)

Forcing mode on SMC NIC (Sol8 x86)

Post by Konstantin Rozino » Fri, 11 May 2001 13:47:34



Hi all,

Well, this is part 2 of the saga with my SMC 9432TX/MP 10/100 EtherPower
II card.  After getting it to work under Solaris 8(x86) - see my summary
on list, I ran into a few performance issues.  Every time I cold-boot
the box, the SMC card is *extremely* slow:


PING 192.168.0.11: 56 data bytes
64 bytes from 192.168.0.11: icmp_seq=0. time=2. ms
64 bytes from 192.168.0.11: icmp_seq=1. time=9594. ms
64 bytes from 192.168.0.11: icmp_seq=2. time=8595. ms
64 bytes from 192.168.0.11: icmp_seq=3. time=7596. ms
64 bytes from 192.168.0.11: icmp_seq=4. time=6597. ms
64 bytes from 192.168.0.11: icmp_seq=5. time=5597. ms
<snip>
64 bytes from 192.168.0.11: icmp_seq=11. time=3760. ms
^C
----192.168.0.11 PING Statistics----
15 packets transmitted, 12 packets received, 20% packet loss
round-trip (ms)  min/avg/max = 2/4930/9594

After I reboot (with an init 6 - a warm reboot), the card works much
much better:


PING 192.168.0.11: 56 data bytes
64 bytes from benz (192.168.0.11): icmp_seq=0. time=4. ms
64 bytes from benz (192.168.0.11): icmp_seq=1. time=1. ms
64 bytes from benz (192.168.0.11): icmp_seq=2. time=0. ms
64 bytes from benz (192.168.0.11): icmp_seq=3. time=0. ms
64 bytes from benz (192.168.0.11): icmp_seq=4. time=0. ms
64 bytes from benz (192.168.0.11): icmp_seq=5. time=0. ms
^C
----192.168.0.11 PING Statistics----
6 packets transmitted, 6 packets received, 0% packet loss
round-trip (ms)  min/avg/max = 0/0/4

The card uses the spwr module (man spwr or check out
/kernel/drv/spwr.conf - but they don't specify anything important):
# modinfo |grep SMC
 82 fea10bf6   3cd7  28   1  spwr (spwr -- SMC EtherPower II (9432)

I do not understand why the card is so slow after a cold-reboot, and
much much faster after a warm reboot?  Is this because of the modes
(full-duplex, half-duplex, 10, 100, auto-neg)??  I have put the
following in my /etc/system, thinking it would help:
set spwr:spwr_adv_autoneg_cap=0
set spwr:spwr_adv_100T4_cap=0
set spwr:spwr_adv_100fdx_cap=1
set spwr:spwr_adv_100hdx_cap=0
set spwr:spwr_adv_10fdx_cap=0
set spwr:spwr_adv_10hdx_cap=0

But it doesn't.  At boot time, it just gives me errors:

Apr 28 12:39:50 benz genunix: [ID 492708 kern.notice] sorry, variable
'spwr_adv_autoneg_cap' is not defined in the 'spwr'
Apr 28 12:39:50 benz genunix: [ID 966847 kern.notice] module
Apr 28 12:39:50 benz genunix: [ID 100000 kern.notice]
Apr 28 12:39:50 benz genunix: [ID 492708 kern.notice] sorry, variable
'spwr_adv_100T4_cap' is not defined in the 'spwr'
Apr 28 12:39:50 benz genunix: [ID 966847 kern.notice] module
....
...

Even after a warm reboot, my card only gets about 80KB/s, which sucks.
Both the computers I am testing from are on the same subnet, plugged
into the same 10/100 switch.  I have changed all the cables, and both
NICs in both boxes say they can go up to 100mbps.  So what gives??

Thanks for all your help.  Will Summarize.

Konstantin Rozinov

 
 
 

Forcing mode on SMC NIC (Sol8 x86)

Post by John D Groenve » Wed, 16 May 2001 12:43:10


spwr(7D) doesn't indicate any configurable options
nor does /kernel/drv/spwr.conf

strings /kernel/drv/spwr doesn't yield any helpful hints
as it does for some other poorly documented drivers.

John