Intel PRO/1000 PT NIC from eBay = Surprise?

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

lunadesign

Active Member
Aug 7, 2013
256
34
28
I bought a used PRO/1000 PT Quad NIC from eBay for $23 USD for some lab experimentation. Before buying, I noticed the listing had good pics with the YottaMark sticker. I looked up the YottaMark number and it indicated a genuine Intel card.

I received the card and both of my test systems couldn't find appropriate drivers for this card despite inbox support in Windows 8.1.

Just for yucks, I ran PCI-Z and noticed that instead of seeing the expected Intel PRO/1000 device, I found four entries indicating this was a CACE Technologies TurboCap 4 ethernet capture card.

If you've ever used Wireshark on Windows, you might recognize CACE Technlogies as the company that wrote the WinPcap software that Wireshark relies on for packet capture. Apparently they used to also sell a series of full-rate Gigabit Ethernet packet capture cards. CACE was bought by Riverbed a number of years ago and the capture cards apparently were discontinued about 5 years ago. This apparently was enough of a niche product that I can't find much info on these devices.

FWIW, the card I received looks just like a stock Intel card with no CACE/Riverbed markings. It matches the eBay pics perfectly so it wasn't a bait-and-switch.

Questions:
1) Has anyone ever heard of this product?
2) Was this product simply a re-purposed Intel card with custom firmware?
3) Is there any value in keeping this card? Apparently, the list price for this card in 2012 was $2,995???? However, I'm guessing today's CPUs would have no problems doing line-rate capture on any gigabit NICs.
 

lunadesign

Active Member
Aug 7, 2013
256
34
28
One more question:
4) Can I reflash this with stock Intel firmware even though the card currently is identifying itself with non-Intel PCI identifiers?
 

Stephan

Well-Known Member
Apr 21, 2017
920
698
93
Germany
The card is probably genuine Intel and not a clone. I am guessing they changed the PCI IDs away from stock and that is it. If you are using Linux, try "echo '<yourvendor e.g. 0x8086> <yourdevice e.g. 0x1234>' > /sys/bus/pci/drivers/<cardsdriver>/new_id" to see if it springs to life. I've seen me spend literally days on trying to fix cards like this (didn't work), so if you and google have no idea how to change the IDs and where they are stored (flash, or an EEPROM), I'd simply send the card back or get another one.
 

lunadesign

Active Member
Aug 7, 2013
256
34
28
I think you're right about the PCI ID change. In looking a bit closer at the data reported by PCI-Z, the PCI vendor/device/SVID/SSID IDs are

CACE:0001 8086:10BC
CACE:0001 8086:10BC
CACE:0002 8086:10BC
CACE:0002 8086:10BC

According to the VMware HCL, they should be

8086:10BC 0000:0000
8086:10BC 0000:0000
8086:10BC 0000:0000
8086:10BC 0000:0000

I haven't tried yet, but maybe the Intel firmware update tool will let me update these devices (possibly after specifying an override flag of some sort) and that this will fix the PCI IDs.

It appears there's a Linux tool called ethtool that may be able to tweak the card's non volatile memory but I only have Linux VMs.

You're right that it would certainly be easier to just get another card but I hate to throw away hardware.
 

lunadesign

Active Member
Aug 7, 2013
256
34
28
Although it probably wasn't the best use of my time, I decided to challenge myself to "fix" the card.

For starters, for this card, I learned the PCI vendor/device/SVID/SSID IDs should be this for all 4 ports:

8086:10BC 8086:10BC

(One identifies the controller, the other the card, and they both happen to use the same IDs in this case.)

I tried using the DOS version of the Intel bootutil program to update the flash but it wouldn't recognize the cards with the CACE PCI IDs.

So I did the following:
1) Booted Parted Magic's Linux-on-a-USB.
2) Got Linux to load the e1000e module normally used by this type of Intel card.
3) Instructed Linux to use the e1000e kernel driver for CACE:0001 and CACE:0002 devices.
4) At this point, when I ran ifconfig, the Ethernet interfaces would appear. This meant I could now use ethtool to talk to the card.
5) I used ethtool to change the PCI IDs on the card. This was tricky because the card appears to be 2 devices, each with 2 ports. I could easily see the PCI IDs when I did an EEPROM dump but it took me a while to find the extra bytes that I had to set for the 2nd port on each device.
6) I rebooted into Parted Magic and verified the 4 devices were all identified as a PRO/1000 PT Quad.
7) I booted into DOS and used the Intel bootutil program to update the flash (now that bootutil recognized the card).
8) I booted into Windows 8.1 and the OS automatically identified the correct card and loaded the driver (it wouldn't do this with the CACE PCI IDs).
9) I did some basic performance testing on each port and verified I have a normally working quad Ethernet card.
 

lunadesign

Active Member
Aug 7, 2013
256
34
28
I have similar cards. How to do this? I can't apply e1000e kernel driver for CACE:0001 and CACE:0002 devices.
My notes on this aren't as good as I'd like and my memory is a bit fuzzy, but I *believe* I did the following:
Code:
modprobe e1000e

lspci -s 07: -nnvvv

echo cace 0001 > /sys/bus/pci/drivers/e1000e/new_id
echo cace 0002 > /sys/bus/pci/drivers/e1000e/new_id
The first command loads the e1000e driver.

The second command lists all the PCI devices (including vendor/device codes) in verbose format. I believe the "07:" part filters the listing to the subset where my card was plugged in. YMMV. You may have to experiment with this.

The last commands "bind" the driver to the two CACE devices.

These changes are not permanent....if you reboot, you have to do all of this again.

Good luck!
 

Zedlav

New Member
May 31, 2021
3
0
1
My notes on this aren't as good as I'd like and my memory is a bit fuzzy, but I *believe* I did the following:
Code:
modprobe e1000e

lspci -s 07: -nnvvv

echo cace 0001 > /sys/bus/pci/drivers/e1000e/new_id
echo cace 0002 > /sys/bus/pci/drivers/e1000e/new_id
The first command loads the e1000e driver.

The second command lists all the PCI devices (including vendor/device codes) in verbose format. I believe the "07:" part filters the listing to the subset where my card was plugged in. YMMV. You may have to experiment with this.

The last commands "bind" the driver to the two CACE devices.

These changes are not permanent....if you reboot, you have to do all of this again.

Good luck!
Hey, I've come across the same issue. I bought a 4 port NIC on eBay and they wouldn't load up on VMware. found out they're CACE aswell. the post was titled "Intel® 82571EB Quad Gigabit PCIe NIC Card ( Silicom PEG4IL )" so I assume my NIC is different.

I've also taken up the challenge to fix these but since I'm fairly new to this I'm having trouble searching on how to fix it (my search led me to this post). You've managed to fix it and so did this guy on this post : TurboCap capture card? - Ask Wireshark .

My question is, how did you manage to fix it, what guide did you follow? any sources that might help me?

I would ask you to kindly post a guide (I think it would help a lot of people out there) but I know its been years so I don't expect you to remember everything. However, if there's anything you do remember I'd greatly appreciate it!

EDIT: I've managed to use Parted Magic and ran the same commands you posted :
Code:
modprobe e1000e

lspci -s 07: -nnvvv

echo cace 0001 > /sys/bus/pci/drivers/e1000e/new_id
echo cace 0002 > /sys/bus/pci/drivers/e1000e/new_id
Linux now sees the NIC
 
Last edited:

lunadesign

Active Member
Aug 7, 2013
256
34
28
Hey, I've come across the same issue. I bought a 4 port NIC on eBay and they wouldn't load up on VMware. found out they're CACE aswell. the post was titled "Intel® 82571EB Quad Gigabit PCIe NIC Card ( Silicom PEG4IL )" so I assume my NIC is different.

I've also taken up the challenge to fix these but since I'm fairly new to this I'm having trouble searching on how to fix it (my search led me to this post). You've managed to fix it and so did this guy on this post : TurboCap capture card? - Ask Wireshark .

My question is, how did you manage to fix it, what guide did you follow? any sources that might help me?

I would ask you to kindly post a guide (I think it would help a lot of people out there) but I know its been years so I don't expect you to remember everything. However, if there's anything you do remember I'd greatly appreciate it!

EDIT: I've managed to use Parted Magic and ran the same commands you posted :
Code:
modprobe e1000e

lspci -s 07: -nnvvv

echo cace 0001 > /sys/bus/pci/drivers/e1000e/new_id
echo cace 0002 > /sys/bus/pci/drivers/e1000e/new_id
Linux now sees the NIC
Great! Now you can flash the card with the Intel bits. Once that's successfully done, you're good to go!
 

Zedlav

New Member
May 31, 2021
3
0
1
Great! Now you can flash the card with the Intel bits. Once that's successfully done, you're good to go!
Any pointers on how to do this? I believe I'm in the step where I need to change the PCI IDs with ethtool. I ran into an error with parted magic, most likey cause I'm using an outdated version (2013), guess I'm going to have to purchase parted magic from the official site.

Also, how'd you boot into DOS and use Intel bootutil.
 

lunadesign

Active Member
Aug 7, 2013
256
34
28
Any pointers on how to do this? I believe I'm in the step where I need to change the PCI IDs with ethtool. I ran into an error with parted magic, most likey cause I'm using an outdated version (2013), guess I'm going to have to purchase parted magic from the official site.
That's really old. I strongly recommend purchasing an updated Parted Magic version. Always good to support the people that make such useful tools!

If you look at my original instructions above, steps 1-5 (including the ethtool part) are done with Parted Magic (which comes with ethtool) as part of one session. If you reboot, you have to do the modprobe etc stuff again.

Also, how'd you boot into DOS and use Intel bootutil.
I beIieve I used Rufus to create a bootable DOS USB flash drive and then put the DOS version of bootutil on it. However, I just checked the Intel site now and it appears they stopped supporting the DOS versions of the tools after version 25.2. I'm guessing the new version is an all encompassing bootable Linux-like OS-on-a-flash-drive deal. So you can try that out or download v 25.2 and go the DOS route.
 

Zedlav

New Member
May 31, 2021
3
0
1
That's really old. I strongly recommend purchasing an updated Parted Magic version. Always good to support the people that make such useful tools!

If you look at my original instructions above, steps 1-5 (including the ethtool part) are done with Parted Magic (which comes with ethtool) as part of one session. If you reboot, you have to do the modprobe etc stuff again.


I beIieve I used Rufus to create a bootable DOS USB flash drive and then put the DOS version of bootutil on it. However, I just checked the Intel site now and it appears they stopped supporting the DOS versions of the tools after version 25.2. I'm guessing the new version is an all encompassing bootable Linux-like OS-on-a-flash-drive deal. So you can try that out or download v 25.2 and go the DOS route.
alright, I've been researching for 2 days and I'm stuck lol. How the heck do i change the PCI IDs with ethtool?

EDIT: I've managed to get my cards to show up as they should be on VMware. ISSUE FIXED.
I didn't need to use bootutil at all. basically just used ethtool to change the pci ids then rebooted into vmware esxi and i was able to see them show up.
For anyone seeing this in the future. Here are some links I used to help me on this journey. There is no one-size-fix-all. you need to find the exact IDs and commands for your specific case but this should get you started on how to figure all that out. :



 
Last edited:

shalex

New Member
Jan 24, 2021
3
0
1
This was tricky because the card appears to be 2 devices, each with 2 ports. I could easily see the PCI IDs when I did an EEPROM dump but it took me a while to find the extra bytes that I had to set for the 2nd port on each device.
Hello, how to activate the second port? One port of each devices is detected as Intel Gigabit Ethernet Controller but the second as Intel Corporation Device 0002.
What's the extra bytes should I set ?