| Summary: | [if_ed] [patch] Driver for RealTek 8029 | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Base System | Reporter: | slavoff <slavoff> | ||||
| Component: | i386 | Assignee: | Warner Losh <imp> | ||||
| Status: | Closed FIXED | ||||||
| Severity: | Affects Only Me | ||||||
| Priority: | Normal | ||||||
| Version: | 3.3-STABLE | ||||||
| Hardware: | Any | ||||||
| OS: | Any | ||||||
| Attachments: |
|
||||||
|
Description
slavoff
2000-01-02 20:20:00 UTC
State Changed From-To: open->closed 4.3 contains a realtek driver.4.3 contains a realtek driver.4.3 contains a realtek driver. State Changed From-To: closed->open This is apparently still an issue. ----- Forwarded message from Przemyslaw Frasunek <venglin@freebsd.lublin.pl> ----- Delivered-To: kkenn@localhost.obsecurity.org Date: Wed, 30 May 2001 11:22:26 +0200 From: Przemyslaw Frasunek <venglin@freebsd.lublin.pl> Subject: Re: i386/15845: Driver for RealTek 8029 In-reply-to: <200105300919.f4U9JP224181@freefall.freebsd.org>; from sos@FreeBSD.org on Wed, May 30, 2001 at 02:19:25AM -0700 To: sos@FreeBSD.ORG, freebsd-bugs@FreeBSD.ORG Precedence: bulk Delivered-to: kris@freebsd.org Delivered-to: freebsd-bugs@freebsd.org User-Agent: Mutt/1.2.5i List-ID: <freebsd-bugs.FreeBSD.ORG> List-Archive: <http://docs.freebsd.org/mail/> (Web Archive) List-Help: <mailto:majordomo?subject=help> (List Instructions) List-Subscribe: <mailto:majordomo?subject=subscribe%20freebsd-bugs> List-Unsubscribe: <mailto:majordomo?subject=unsubscribe%20freebsd-bugs> X-Loop: FreeBSD.org On Wed, May 30, 2001 at 02:19:25AM -0700, sos@FreeBSD.org wrote: > Synopsis: Driver for RealTek 8029 > State-Changed-From-To: open->closed > 4.3 contains a realtek driver.4.3 contains a realtek driver.4.3 contains a realtek driver. This is still problem. ed(4) driver treats RealTek 8029 chip as NE2000 and doesn't work with full duplex and media autoselect. This was already implemented in OpenBSD's ne(4) driver and should be ported here. -- * Fido: 2:480/124 ** WWW: http://www.frasunek.com/ ** NIC-HDL: PMF9-RIPE * * Inet: przemyslaw@frasunek.com ** PGP: D48684904685DF43EA93AFA13BE170BF * To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message ----- End forwarded message ----- State Changed From-To: open->feedback Does this problem still occur in newer versions of FreeBSD, such as 4.3-RELEASE? Yes, the problem still persists in 4.3-RELEASE; ed(4) should support full
duplex and media autonegotation on Realtek 8029 as ne(4) does it on OpenBSD
and NetBSD:
sys/dev/pci/if_ne_pci.c:
{ PCI_VENDOR_REALTEK, PCI_PRODUCT_REALTEK_RT8029,
rtl80x9_mediachange, rtl80x9_mediastatus,
rtl80x9_init_card, rtl80x9_media_init,
"RealTek 8029" },
sys/dev/ic/rtl80x9.c:
int
rtl80x9_mediachange(dsc)
void
rtl80x9_mediastatus(sc, ifmr)
void
rtl80x9_init_card(sc)
void
rtl80x9_media_init(sc)
--
* Fido: 2:480/124 ** WWW: http://www.frasunek.com/ ** NIC-HDL: PMF9-RIPE *
* Inet: przemyslaw@frasunek.com ** PGP: D48684904685DF43EA93AFA13BE170BF *
State Changed From-To: feedback->suspended The originator's feedback is in the Audit-Trail. Awaiting fix and committer. Responsible Changed From-To: freebsd-bugs->wpaul Over to Bill Paul <wpaul@FreeBSD.org>, author of if_rl.c. Responsible Changed From-To: wpaul->freebsd-bugs Oops, this is an issue with the if_ed driver. I have implemented media selection for the Realtek chips under the ed driver. I was not fully aware of this PR at the time I did it, but here it is, against 4.7-RELEASE. Note that there are some hardware limitations of these simple chips, most notably that there is no way to tell what media options are valid on a given card. This code assumes that 10baseT, 10base5, and 10base2 are all always present. There is also no way to detect 10baseT link except to set autoselect and see if the card chooses 10base2 instead. On a card that does not have 10base2, this would be viable, but because you can't know if 10base2 is present, I chose not to attempt to report status at all. Finally, these chips do not support autonegotiation, so media autoselect only supports half-duplex. Full duplex can however be set manually for 10baseT. This also means that switches that are not able to have the port duplex set manually will only work half-duplex with these cards. Still, it adds a tiny bit more versatility to these crufty old workhorses. I have tested this on both the RTL8019AS (ISA) and the RTL8029AS (PCI) and it seems to work fine, although my PCI card has only 10baseT media and my ISA card has only 10baseT and 10base2, so all media types have not been verified. Still, it's simple enough that I am confident it works for all options. Thanks, David Madole State Changed From-To: suspended->open I'll try to integrate the patch and see if I can test it on the 8029pci that I think I still have. Responsible Changed From-To: freebsd-bugs->imp I'll try to integrate the patch and see if I can test it on the 8029pci that I think I still have. State Changed From-To: open->closed Applied to current, merged to RELENG_6. Maybe I'll MFC to 5 someday, maybe not. |