On 4/25/06, Andrew Thompson <[EMAIL PROTECTED]> wrote:
> On Tue, Apr 25, 2006 at 08:27:32PM +0800, Sepherosa Ziehau wrote:
>
> > Please apply follow patch under sys/dev/netif/dc:
> > http://leaf.dragonflybsd.org/~sephe/if_dc_netgear.diff
>
> Well, its recognized now, but it doesn't work:
>
> dc0: <Netgear FA511 10/100BaseTx> port 0x1000-0x10ff mem 0x88000000-0x880003ff
> irq 11 at device 0.0 on cardbus1
> dc0: MII without any PHY!
> device_probe_and_attach: dc0 returned 6

mmm, please try the attached patch, and give me the output on console, thanks

Best Regards,
sephe

--
Live Free or Die
diff -urp dc.orig/if_dc.c dc/if_dc.c
--- dc.orig/if_dc.c     2006-04-26 10:47:00.763182272 -0400
+++ dc/if_dc.c  2006-04-26 10:48:38.480327008 -0400
@@ -44,6 +44,7 @@
  * ASIX Electronics AX88141 (www.asix.com.tw)
  * ADMtek AL981 (www.admtek.com.tw)
  * ADMtek AN985 (www.admtek.com.tw)
+ * Netgear FA511 (www.netgear.com) Appears to be rebadged ADMTek AN985
  * Davicom DM9100, DM9102, DM9102A (www.davicom8.com)
  * Accton EN1217 (www.accton.com)
  * Xircom X3201 (www.xircom.com)
@@ -152,6 +153,8 @@ static const struct dc_type dc_devs[] = 
                "ADMtek AL981 10/100BaseTX" },
        { DC_VENDORID_ADMTEK, DC_DEVICEID_AN985,
                "ADMtek AN985 10/100BaseTX" },
+       { DC_VENDORID_ADMTEK, DC_DEVICEID_FA511,
+               "Netgear FA511 10/100BaseTX" },
        { DC_VENDORID_ADMTEK, DC_DEVICEID_ADM9511,
                "ADMtek ADM9511 10/100BaseTX" },
        { DC_VENDORID_ADMTEK, DC_DEVICEID_ADM9513,
@@ -877,6 +880,7 @@ dc_miibus_readreg(device_t dev, int phy,
        if (sc->dc_type == DC_TYPE_98713)
                CSR_WRITE_4(sc, DC_NETCFG, phy_reg);
 
+       device_printf(dev, "mii_data %d\n", frame.mii_data);
        return(frame.mii_data);
 }
 
@@ -1916,6 +1920,7 @@ dc_attach(device_t dev)
        case DC_DEVICEID_AN985:
        case DC_DEVICEID_ADM9511:
        case DC_DEVICEID_ADM9513:
+       case DC_DEVICEID_FA511:
        case DC_DEVICEID_EN2242:
        case DC_DEVICEID_3CSOHOB:
                sc->dc_type = DC_TYPE_AN985;
Only in dc: if_dc_netgear.diff
diff -urp dc.orig/if_dcreg.h dc/if_dcreg.h
--- dc.orig/if_dcreg.h  2006-04-26 10:47:00.762182424 -0400
+++ dc/if_dcreg.h       2006-04-26 10:47:44.310562064 -0400
@@ -858,6 +858,7 @@ struct dc_softc {
  */
 #define DC_DEVICEID_AL981      0x0981
 #define DC_DEVICEID_AN985      0x0985
+#define DC_DEVICEID_FA511      0x1985
 #define DC_DEVICEID_ADM9511    0x9511
 #define DC_DEVICEID_ADM9513    0x9513
 

Reply via email to