Date: Fri, 21 Aug 2009 17:20:39 +0300 From: Eugene Perevyazko <john@dnepro.net> To: freebsd-net@freebsd.org Subject: D-Link DGE-560SX (Marvell 88E8061-based) doesn't see link Message-ID: <20090821142039.GA40018@traktor.dnepro.net>
next in thread | raw e-mail | index | archive | help
Hello, Freebsd-net subscribers! This is on 7.2-Stable. I've got a D-Link DGE-560SX GigE fiber adapter. It's Marvell 88E8061 so I hoped it will work as msk(4). D-Link has changed PCI Id for the chip: none1@pci0:1:0:0: class=0x020000 card=0x4b021186 chip=0x4b021186 rev=0x10 hdr=0x00 vendor = 'D-Link System Inc' device = 'DGE-560SX PCIe Gigabit Ethernet Adapter' class = network subclass = ethernet So I've patched the driver to recognize new IDs. --- /sys/dev/msk/if_mskreg.h.old 2009-08-14 17:04:09.000000000 +0300 +++ /sys/dev/msk/if_mskreg.h 2009-08-14 17:04:49.000000000 +0300 @@ -149,6 +149,7 @@ */ #define DEVICEID_DLINK_DGE550SX 0x4001 #define DEVICEID_DLINK_DGE560T 0x4b00 +#define DEVICEID_DLINK_DGE560SX 0x4b02 #define BIT_31 (1 << 31) #define BIT_30 (1 << 30) --- /sys/dev/msk/if_msk.c.old 2009-08-14 17:04:03.000000000 +0300 +++ /sys/dev/msk/if_msk.c 2009-08-14 17:12:48.000000000 +0300 @@ -224,7 +224,9 @@ { VENDORID_DLINK, DEVICEID_DLINK_DGE550SX, "D-Link 550SX Gigabit Ethernet" }, { VENDORID_DLINK, DEVICEID_DLINK_DGE560T, - "D-Link 560T Gigabit Ethernet" } + "D-Link 560T Gigabit Ethernet" }, + { VENDORID_DLINK, DEVICEID_DLINK_DGE560SX, + "D-Link 560SX Gigabit Ethernet" } }; static const char *model_name[] = { Then the driver recognizes the card: mskc0: <D-Link 560SX Gigabit Ethernet> port 0x4000-0x40ff mem 0xdc100000-0xdc103fff irq 16 at device 0.0 on pci1 msk0: <Marvell Technology Group Ltd. Yukon XL Id 0xb3 Rev 0x03> on mskc0 msk0: Ethernet address: 00:21:91:52:4f:09 miibus1: <MII bus> on msk0 e1000phy0: <Marvell 88E1112 Gigabit PHY> PHY 0 on miibus1 e1000phy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto mskc0: [FILTER] Now I'm stuck because it doesn't see link. # ifconfig msk0 up # ifconfig -m msk0 msk0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=11a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING,TSO4> capabilities=11a<TXCSUM,VLAN_MTU,VLAN_HWTAGGING,TSO4> ether 00:21:91:52:4f:09 media: Ethernet autoselect (100baseTX <half-duplex>) status: no carrier supported media: media autoselect media 1000baseTX mediaopt full-duplex media 1000baseTX media 100baseTX mediaopt full-duplex media 100baseTX media 10baseT/UTP mediaopt full-duplex media 10baseT/UTP media none The adapter is definitely not broken, I've tested it on Win and there it works normally. Also on Win it has no speed/duplex settings, while msk driver allows to change media. I've also tried Marvell's binary if_myk driver, but it doesn't know about d-link. Can anyone propose something to get it working? -- Eugene Perevyazko
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090821142039.GA40018>