Thinkpad 570E and Cardbus errors

Sepherosa Ziehau sepherosa at gmail.com
Tue Apr 25 20:03:41 PDT 2006


On 4/25/06, Andrew Thompson <andrew at xxxxxxxxxxx> 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
 




More information about the Users mailing list