Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Feb 2007 09:37:56 +0900
From:      Pyun YongHyeon <pyunyh@gmail.com>
To:        Ed Schouten <ed@fxq.nl>
Cc:        freebsd-net@freebsd.org, shigeaki@se.hiroshima-u.ac.jp, rink@stack.nl
Subject:   Re: icsphy(4) for nfe(4) - better Microsoft Xbox support
Message-ID:  <20070207003756.GA37911@cdnetworks.co.kr>
In-Reply-To: <20070206204314.GB27282@hoeg.nl>
References:  <20070206204314.GB27282@hoeg.nl>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Feb 06, 2007 at 09:43:14PM +0100, Ed Schouten wrote:
 > Hello,
 > 
 > When we (Rink and I) ported FreeBSD to the Xbox, Rink patched the kernel
 > to allow the nve(4) driver to attach properly. I recently removed the
 > dust from my Xbox and installed FreeBSD on it. This time I started using
 > the nfe(4) driver.
 > 
 > When compared to the nve(4) driver, the nfe(4) seems a lot faster (and
 > not as interrupt-hungry). I did have some issues with it, however. When

Would you try overhauled nfe(4)?

http://people.freebsd.org/~yongari/nfe/if_nfe.c
http://people.freebsd.org/~yongari/nfe/if_nfereg.c
http://people.freebsd.org/~yongari/nfe/if_nfevar.c

The new nfe(4) should perform better than nve(4) or stock nfe(4).
I'm still not satisfied with its excessive generation of interrtups
but it's better than stock nfe(4). After switching to adaptive
polling I saw noticeable performance boost. If you find any issues
please let me know.

 > the machine boots, I often have to plug out/in the network cable before
 > I get a link. My switch, a HP2626, sometimes temporarily shuts down the
 > port with the message:
 > 
 > 	FFI: port 9-Excessive CRC/alignment errors. See help.
 > 
 > Because the issues seemed more link-related, I tried looking at the phy
 > code. After booting my machine with bootverbose, it seems I had an
 > ICS1893 PHY, using the ukphy(4) driver. NetBSD has a driver for it,
 > called icsphy(4). I decided to port it to FreeBSD.
 > 
 > Porting was quite easy. Just smack the C file in the tree and edit it
 > until it compiles. I had some problems at first, because even with the
 > icsphy(4) driver I didn't get a link. I discovered that the BMSR
 > register kept returning BMSR_ISO, until I unplugged the cable. I added
 > MIIF_NOISOLATE to the mii_flags and voila: it works.
 > 
 > I can now boot my Xbox without plugging around all the time. The
 > CRC/alignment errors have also vanished.
 > 
 > 	http://g-rave.nl/junk/freebsd-icsphy.diff
 > 
 > Yours,
 > -- 
 >  Ed Schouten <ed@fxq.nl>
 >  WWW: http://g-rave.nl/
-- 
Regards,
Pyun YongHyeon



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070207003756.GA37911>