Tulip driver with Macronix Chips

David Schwartz davids@webmaster.com
Thu Jul 16 16:16:04 1998


	Thanks, but I still seem to have the same problem I've always had. Here's
what dmesg says.

eth0: Macronix 98713 PMAC at 0x6100, 00 40 33 a6 21 d7, IRQ 11.

	And here's what happens when I ping a local machine that's known working.
Am I receiving every packet twice?

PING 207.89.50.1 (207.89.50.1): 56 data bytes
64 bytes from 207.89.50.1: icmp_seq=0 ttl=255 time=3.1 ms
64 bytes from 207.89.50.1: icmp_seq=1 ttl=255 time=3.0 ms
64 bytes from 207.89.50.1: icmp_seq=2 ttl=255 time=3.1 ms
64 bytes from 207.89.50.1: icmp_seq=3 ttl=255 time=3.0 ms
64 bytes from 207.89.50.1: icmp_seq=4 ttl=255 time=3.1 ms
64 bytes from 207.89.50.1: icmp_seq=5 ttl=255 time=3.0 ms
64 bytes from 207.89.50.1: icmp_seq=6 ttl=255 time=3.0 ms
64 bytes from 207.89.50.1: icmp_seq=7 ttl=255 time=3.0 ms
64 bytes from 207.89.50.1: icmp_seq=8 ttl=255 time=3.0 ms
64 bytes from 207.89.50.1: icmp_seq=0 ttl=255 time=8819.1 ms (DUP!)
64 bytes from 207.89.50.1: icmp_seq=1 ttl=255 time=7821.3 ms (DUP!)
64 bytes from 207.89.50.1: icmp_seq=2 ttl=255 time=6821.4 ms (DUP!)
64 bytes from 207.89.50.1: icmp_seq=3 ttl=255 time=5821.5 ms (DUP!)
64 bytes from 207.89.50.1: icmp_seq=4 ttl=255 time=4821.6 ms (DUP!)
64 bytes from 207.89.50.1: icmp_seq=5 ttl=255 time=3821.6 ms (DUP!)
64 bytes from 207.89.50.1: icmp_seq=6 ttl=255 time=2821.7 ms (DUP!)
64 bytes from 207.89.50.1: icmp_seq=7 ttl=255 time=1821.8 ms (DUP!)
64 bytes from 207.89.50.1: icmp_seq=8 ttl=255 time=821.9 ms (DUP!)

	David Schwartz


> Here's a patch to make tulip v0.88 (as found in 2.0.35) work
> with Macronix MX98713 MAC chips.
>
> Changes basically are:
>
> The original driver assumed MII registers for the 98713 - this is
> simply not always true. In fact the "recommended" (by Macronix)
> 100MB PHY chipset (mx98702/704) does not have a MII interface.
>
> The EEPROM layout is also different.
>
> Macronix seems to distinguish their chips via the top 4 bits
> of the PCI revision register, not using the device ID register like
> everyone else.
>
> Some registers/bits have to be initialized to magic constants, which
> isn't very well documented. One of the better sources of information
> to be found is Macronix' diagnostic program source code, which can
> be found on their website (in MX-Driver-*.EXE)
>
> Tom