Subject: Re: SiS 900 ethernet working?
To: None <current-users@netbsd.org>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: current-users
Date: 08/03/2000 02:42:18
In <200008021630.e72GUTZ18629@flash.vaultron.com>
gillham@vaultron.com wrote:

> Izumi Tsutsui writes:
> > Does anyone use the SiS 900 PCI ethernet with sip driver?
> > 
> > I would like to make it work on macppc, but it does not seems
> > to work even on i386. It does not receive any packets unless
> > IFF_PROMISC flag is set on the interface.

> I have used it on an Amptron all-in-one style motherboard.  It
> appeared to work fine.  I can verify this some night this week.
> Are you testing on 1.5_ALPHA or 1.5C?

1.5_ALPHA, but I think there is no functional change around sip.

Now I notice there are some syslog massages on other machine:

arp info overwritten for 192.168.20.100 by 00:40:22:6c:54:47
arp info overwritten for 192.168.20.100 by 00:40:06:6c:54:47
arp info overwritten for 192.168.20.100 by 00:00:22:6c:54:47

192.168.20.100 is the i386 machine with sip, so I guess
there are some timing problem around eeprom code in if_sip.c.
According to dev/ic/i82557.c, it seems one more delay()
is needed:

--- if_sip.c.orig	Sat May 13 19:42:55 2000
+++ if_sip.c	Thu Aug  3 02:36:02 2000
@@ -1691,6 +1691,7 @@
 			if (bus_space_read_4(st, sh, SIP_EROMAR) & EROMAR_EEDO)
 				data[i] |= (1 << (x - 1));
 			bus_space_write_4(st, sh, SIP_EROMAR, reg);
+			delay(4);
 		}
 
 		/* Clear CHIP SELECT. */

---
I'll check how this patch works both on i386 and macppc.

---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp