I see in the cvs comments that this card is supported (1.11 of if_bge.c).
The relevant change seems to be:
+       /*
+        * Figure out what sort of media we have by checking the
+        * hardware config word in the EEPROM. Note: on some BCM5700
+        * cards, this value appears to be unset. If that's the
+        * case, we have to rely on identifying the NIC by its PCI
+        * subsystem ID, as we do below for the SysKonnect SK-9D41.
+        */
+       bge_read_eeprom(sc, (caddr_t)&hwcfg,
+                   BGE_EE_HWCFG_OFFSET, sizeof(hwcfg));
+       if ((ntohl(hwcfg) & BGE_HWCFG_MEDIA) == BGE_MEDIA_FIBER)
+               sc->bge_tbi = 1;

sadly, I have a phy-id of 0, so I think I have to use the hackish
method the SK... uses, just below it:
        /* The SysKonnect SK-9D41 is a 1000baseSX card. */
        if ((pci_read_config(dev, BGE_PCI_SUBSYS, 4) >> 16) ==
SK_SUBSYSID_9D41)
                sc->bge_tbi = 1;

I have the subsystem etc (side-node: there's a bug in the above code,
it should check the vendor id as well):
PCI sub-devid 0x1004 PCI PCI sub-vid 0x10b7

So I added a line of the SK_... type above, to set the 'bge_tbi' to
one for my 1000baseSX card.

However, I see this interface 'flapping', I get snowed with messages
to my console about 'link up' (but never link down). I tried 
forcing the media & mediaopts to 1000Mbps and full-duplex.
The other end of the link sees nothing (no link).

Anyone have a suggestion on where to start? I suspect this is related
to the comment about "One thing that confuses me
still is that the 'link state change' bit in the status block seems
to change state an awful lot." (1.10).

--don

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to