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