Subject: Re: Gigabit Ethernet support on gmac?
To: Monroe Williams <monroe@criticalpath.com>
From: Jason R Thorpe <thorpej@wasabisystems.com>
List: port-macppc
Date: 10/20/2001 10:39:14
On Sat, Oct 20, 2001 at 01:23:09AM -0700, Monroe Williams wrote:

 > The gm driver seems to work well in all the tests I've tried.  Transfer
 > speeds are just shy of 10MB/sec, and I haven't seen any anomolous
 > behavior.

You should also consider CPU usage ... while it may be running that fast,
note that the "gm" driver does a good deal of data copying, since it doesn't
DMA directly into mbufs.

 > Transfers _to_ the machine using the gem driver run at close to 10MB/sec.

As in "gem is the receiver, works fine"?

 > Transfers _from_ the machine using the gem driver run at widely varying
 > speed, but usually less than 1MB/sec.  They also cause periodic console
 > messages which say:
 > 
 >     MAC rx fault, status 5

Ok, this sounds very much like the GEM is confused about the duplex mode
of the link.  I.e. it probably thinks your full-duplex link is actually
half-duplex, or something.

Looking at gem_mii_statchg() vs. gm_mii_statchg() shows some differences,
which certainly could cause problems.  I'll investigate and get back to you.

 > Continued testing causes the interface to stuff up completely after a few
 > minutes.  There are no console messages when it reaches this state, but once
 > it does, absolutely nothing will pass.  I've seen this a couple of times:
 > 
 >     [root@kenny monroe]# ping xxx.xxx.xxx.xx
 >     PING xxx.xxx.xxx.xx (xxx.xxx.xxx.xx): 56 data bytes
 >     ping: sendto: No buffer space available
 >     ping: sendto: No buffer space available
 >     ^C
 >     ----xxx.xxx.xxx.xx PING Statistics----
 >     2 packets transmitted, 0 packets received, 100.0% packet loss
 >     [root@kenny monroe]#
 > 
 > I've never seen this particular error message before, but it looks ominous.

Ok, the transmitter is getting wedged somehow, and the packet queue has
filled up, hence those error messages.  Guess the watchdog timer isn't
working in the "gem" driver, either.  Sure would be nice to know why it
gets stuffed up, too.  Sigh, I need to get a machine that has one of these
interfaces in it :-)

 > The other G4 is my regular desktop machine, which usually runs Mac OS X but
 > can boot into NetBSD for testing new kernel builds before putting them on
 > the production machine.  This will allow me to continue trying new kernel
 > builds to see if we can get the gem driver working better, and gigabit
 > support enabled.

Just looked, and the "gem" driver is totally lacking support for Gig-E,
which is kind of lame.  But should be easy to fix.  I also see why you
have to do the song-and-dance to actually set the media.  That also should
be easy to fix.  I'll get back to you later, hopefully tonight.

-- 
        -- Jason R. Thorpe <thorpej@wasabisystems.com>