# Is IBM 39Y6126 (Intel 82571GB) supported?



## Kygen (Aug 10, 2013)

I made a mistake and bought a NIC off of Ebay without doing the proper lookup beforehand.

It is an "IBM PRO/1000 PT Dual Port Server Adapter by Intel", P/N: 39Y6126, FRU: 39Y6128, SN: 39Y6127. For some reason I just assumed it would work since it is an Intel card. So I now have a card that I can't get to work in my FreeBSD 9.1 server which consists of a MSI k9n neo v.2 along with an AMD Athlon 5600+ 2.9 GHz. But my hope stems from my own incompetence: I don't have enough experience with FreeBSD so there is probably something I'm missing.

Both `pciconf -lv | grep B3 network` and `ifconfig` fail to display the card, which, to me, suggests that there is no driver.

According to IBM, the card is "Based on Intel 82571GB dual port MAC/PHY controller chipset" which is not included in the list provided by Intel and IBM seems to offer support for nothing other than Windows, ESXI, Red Hat and SUSE.

Does this mean I'm not going to get this card to work with FreeBSD without writing the driver myself?

I will test the card in my Windows 7 machine as soon as possible, so I can rule out that the card is defect. When it is connected to a switch the indication light does shine in green, which might mean that there's compatibility. I have tried it in both PCIe x1 and x16 ports, with the same behavior in both cases.

http://imgur.com/a/tTy6y

Thank you for your time!


----------



## cpm@ (Aug 10, 2013)

I see 82571 listed in the supported cards list by the em(4)() driver. I'm sure that the EB revision works. Seems to be that exist problems if using a PCIe 2.0 slot but that don't affect you since your motherboard has only PCIe 1.x slots. Please, read this thread posted on the freebsd-net mailing list for more details.


----------



## wblock@ (Aug 10, 2013)

em(4) actually lists that card specifically as supported.  Even if not supported, it should still show up in pciconf(8).


----------



## Kygen (Aug 10, 2013)

cpu82 said:
			
		

> I see 82571 listed in the supported cards list by the em(4)() driver. I'm sure that the EB revision works. Seems to be that exist problems if using a PCIe 2.0 slot but that don't affect you since your motherboard has only PCIe 1.x slots. Please, read this thread posted on the freebsd-net mailing list for more details.





			
				wblock@ said:
			
		

> em(4) actually lists that card specifically as supported.  Even if not supported, it should still show up in pciconf(8).



So to exclude driver incompatibility: it doesn't matter if it has an IBM-branding and the GB suffix? That's good to know.

I followed the link you provided, @cpu82, and as you (and Charles) told it doesn't seem to affect my card. The product brief tells that the bus type is PCIe 1.0a while MSI only informs of gen1, which to me could be either 1.0a or 1.1, I don't think that has anything to do with the problem though.

As I said in the OP I will test the card in my PCIe 2.0 Windows 7 machine as soon as I get a PCI 1x to 16x adapter.

Thank you for your input!

`pciconf -l`

```
none0@pci0:0:0:0:       class=0x050000 card=0x73691462 chip=0x044410de rev=0xa3 hdr=0x00
isab0@pci0:0:1:0:       class=0x060100 card=0x73691462 chip=0x044110de rev=0xa3 hdr=0x00
none1@pci0:0:1:1:       class=0x0c0500 card=0x73691462 chip=0x044610de rev=0xa1 hdr=0x00
none2@pci0:0:1:2:       class=0x050000 card=0x73691462 chip=0x044510de rev=0xa1 hdr=0x00
ohci0@pci0:0:2:0:       class=0x0c0310 card=0x73691462 chip=0x045410de rev=0xa3 hdr=0x00
ehci0@pci0:0:2:1:       class=0x0c0320 card=0x73691462 chip=0x045510de rev=0xa3 hdr=0x00
pcib1@pci0:0:8:0:       class=0x060401 card=0x73691462 chip=0x044910de rev=0xa1 hdr=0x01
atapci0@pci0:0:9:0:     class=0x01018a card=0x73691462 chip=0x044810de rev=0xa1 hdr=0x00
ahci0@pci0:0:10:0:      class=0x010601 card=0x73691462 chip=0x044d10de rev=0xa3 hdr=0x00
pcib2@pci0:0:11:0:      class=0x060400 card=0x000010de chip=0x045b10de rev=0xa1 hdr=0x01
pcib3@pci0:0:12:0:      class=0x060400 card=0x000010de chip=0x045a10de rev=0xa1 hdr=0x01
pcib4@pci0:0:13:0:      class=0x060400 card=0x000010de chip=0x045810de rev=0xa1 hdr=0x01
pcib5@pci0:0:14:0:      class=0x060400 card=0x000010de chip=0x045910de rev=0xa1 hdr=0x01
hostb0@pci0:0:24:0:     class=0x060000 card=0x00000000 chip=0x11001022 rev=0x00 hdr=0x00
hostb1@pci0:0:24:1:     class=0x060000 card=0x00000000 chip=0x11011022 rev=0x00 hdr=0x00
hostb2@pci0:0:24:2:     class=0x060000 card=0x00000000 chip=0x11021022 rev=0x00 hdr=0x00
hostb3@pci0:0:24:3:     class=0x060000 card=0x00000000 chip=0x11031022 rev=0x00 hdr=0x00
vr0@pci0:1:10:0:        class=0x020000 card=0x14031186 chip=0x31061106 rev=0x86 hdr=0x00
re0@pci0:3:0:0: class=0x020000 card=0x369c1462 chip=0x816810ec rev=0x01 hdr=0x00
vgapci0@pci0:4:0:0:     class=0x030000 card=0x07621462 chip=0x72801002 rev=0x00 hdr=0x00
vgapci1@pci0:4:0:1:     class=0x038000 card=0x07631462 chip=0x72a01002 rev=0x00 hdr=0x00
```


----------



## kpa (Aug 10, 2013)

There must be some kind of BIOS configuration problem if the card does not show in the pciconf(8) output.


----------



## Kygen (Aug 10, 2013)

kpa said:
			
		

> There must be some kind of BIOS configuration problem if the card does not show in the pciconf(8) output.



Latest BIOS with optimized defaults changed to HPET enabled and Sata AHCI mode. I can change the PCIe frequency and some PCIe IRQ settings but that's about it.

Any suggestions?


----------



## kpa (Aug 10, 2013)

Sorry I meant that the problem is probably in the ACPI auto configuration part of the BIOS, there's usually nothing in the BIOS settings that can fix that sort of problems. The freebsd-net mailing list is the next place to ask for assistance.


----------



## wblock@ (Aug 10, 2013)

Kygen said:
			
		

> So to exclude driver incompatibility: it doesn't matter if it has an IBM-branding and the GB suffix? That's good to know.



IBM may have changed the vendor/card/chipset IDs.  The card would show in pciconf(8) output with a none entry in that case.  There are some of those in the output shown.



> As I said in the OP I will test the card in my PCIe 2.0 Windows 7 machine as soon as I get a PCI 1x to 16x adapter.



As far as I know, an adapter is not needed.  PCIe 1x cards can be plugged into wider slots.


----------



## Kygen (Aug 10, 2013)

kpa said:
			
		

> Sorry I meant that the problem is probably in the ACPI auto configuration part of the BIOS, there's usually nothing in the BIOS settings that can fix that sort of problems. The freebsd-net mailing list is the next place to ask for assistance.



Thank you, I will dig into that when I have concluded that the card actually works. Does this involve creating a DSDT? I think I remember some of it when I was into osx86.



			
				wblock@ said:
			
		

> IBM may have changed the vendor/card/chipset IDs.  The card would show in pciconf(8) output with a none entry in that case.  There are some of those in the output shown.
> 
> As far as I know, an adapter is not needed.  PCIe 1x cards can be plugged into wider slots.



Ok, for now my focus is on getting the system to recognize the card since it isn't a driver related issue right now, though wouldn't it be possible to just rebrand it to match the Intel counterpart? The none entries I believe are some kind of modem chip, I don't miss any function at least.
Regarding the PCIe 1x to 16x is that this card is x4 and I have only spare 1x ports on my Windows machine motherboard, seemed more convenient to get a 16x than a 4x.


----------



## Terry_Kennedy (Aug 11, 2013)

Kygen said:
			
		

> Ok, for now my focus is on getting the system to recognize the card since it isn't a driver related issue right now, though wouldn't it be possible to just rebrand it to match the Intel counterpart?


In general, other manufacturers will change the subvendor/subdevice ID but not the chip ID (which is generally set by the chip designer and not alterable). In most cases, FreeBSD will accept any subvendor/subdevice as long as the driver recognizes the chip - the only exception being when there are different, incompatible versions of cards that use the same chip.

Checking subvendor/subdevice is normally done when the card vendor feels they've done something special and don't want their Windows drivers working on other vendor's cards.

Given that this is some random card from eBay, I'd suggest trying it in some other computer just to see if it is recognized. You may well have a dead board.


----------



## Kygen (Aug 12, 2013)

Success!







Now remains to figure out what is causing the incompatibility with my server motherboard and how to fix it.

Right now it is connected to a MSI 770-c45 with the x1 to x16 adapter. I have tried both ports and they are working without issues according to my first tests.

Thank you for the assistance thus far!


----------



## Kygen (Aug 14, 2013)

I have now also tested the unit on another AM2 motherboard (Asus M2V) and it works great with FreeBSD.


----------

