If we’re after the entire ROM image, the most reliable way would be to desolder ROM chip off the board. Don’t know if there are other ways like debug header or something similar on Flex 170.
I hope @Forge sees your post and comes up with a better solution though, maybe there is no need to dump entire ROM, only a region of it.
I am not sure that reflashing whatever’s in here on an A770 would get you to where you want to be though, unless everything about the card is in NVRAM. I’m thinking of things like the PCI vendor/product code, which is probably fused in the ASIC.
But then again, I have no idea, which is why I was asking what you guys needed.
I think vendor and product code would not suffice. DeviceID seems to be 56C0 for Flex170 and 56A0 for A770, but I don’t think that’s the hard part.
I tried quick and dirty trick by text-searching for DEV_ID in SR-IOV-enabled drivers from Intel repository, repaced 56C0 for 56A0 in i915_pciids.h (and some other places I don’t remember) and tried to install that. It installs but device variables that control VFs did not appear, therefore commands to enable and manage VFs obviously did nothing. I did not have more time to investigate and stopped there.
So either I was doing something wrong, or there’s more to it and some part in firmware that accepts commands for enabling VFs in Flex FW is missing in A770 FW. That’s why I believe FW dump would be a good starting point, but not necessarily the only one.
This chip on your first photo does appear to be the flash chip with firmware, and trying reading it would be nice indeed. At the same time I don’t really trust the clips referenced in Mandaril’s post, had mixed results with those – e.g. borrowed a clip once, tried to dump BIOS from a motheboard and received 3 bit-different results in 3 reads. Maybe I had bad luck with mine.