Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Feb 2012 08:43:09 -0600
From:      "Matt Renzelmann" <mjr@cs.wisc.edu>
To:        <freebsd-net@freebsd.org>
Subject:   8139 driver question
Message-ID:  <003101cce1b8$fe7def80$fb79ce80$@cs.wisc.edu>

next in thread | raw e-mail | index | archive | help
Hello,

This will seem a bit off the wall, but I just noticed a discrepancy between the
registers defined in the pci/if_rlreg.h directory and those specified on the
RealTek datasheets for the antique RealTek 8139.

In particular, as defined in the header, the registers in question are:
#define RL_CFG0     0x0051      /* config register #0 */
#define RL_CFG1     0x0052      /* config register #1 */
#define RL_CFG2     0x0053      /* config register #2 */
#define RL_CFG3     0x0054      /* config register #3 */
#define RL_CFG4     0x0055      /* config register #4 */
#define RL_CFG5     0x0056      /* config register #5 */

The RealTek data sheets for the 8139, however, all indicate that these should be
set to something like this:
#define RL_CFG0     0x0051      /* config register #0 */
#define RL_CFG1     0x0052      /* config register #1 */
// No Config2
#define RL_CFG3     0x0059      /* config register #3 */
#define RL_CFG4     0x005A      /* config register #4 */
#define RL_CFG5     0x00D8      /* config register #5 */

The datasheets I'm referencing are available here:
http://realtek.info/pdf/

Specifically:
http://realtek.info/pdf/rtl8139d.pdf
http://realtek.info/pdf/rtl8139cp.pdf

I believe the registers currently used apply to the 8169, but not necessarily
the 8139 family -- can someone, hopefully easily, verify that the 8139 driver is
using the right registers?  The 8139 series may need the slightly different
values used above to enable functionality like wake-on-lan.

Thanks and regards,
Matt




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?003101cce1b8$fe7def80$fb79ce80$>