DragonFly BSD
DragonFly users List (threaded) for 2006-04
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: Thinkpad 570E and Cardbus errors


From: "Sepherosa Ziehau" <sepherosa@xxxxxxxxx>
Date: Tue, 25 Apr 2006 22:55:09 -0400

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


[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]