Change wrong PCI device ID of my Nvidia 8800m GTX - Page 1
Forum section: electronics / repair

author: maxwell22
author_rank: Newbie
timestamp: June 27, 2016, 03:53:10 pm
content: Hi!I have an odd problem with my Clevo nVidia 8800m GTX.It should have the PCI device ID 0x060C but actually has the ID 0x040C.I already tried to change it with the setpci linux-command and with nvflash under windows but it didn´t work.After some reading, I found out that the ID is partially set by resistors and partially by software.In my case, I guess, I need to change a resistor as it is a higher bit to change:Code:0x040C -> 0000 0100 0000 11000x060C -> 0000 0110 0000 1100Unfortunately I didn´t find any schematics for my 8800m gtx.Does anybody know, how to find out, which resistors are responsible for this?Some information about, how I think, it came to this wrong pci device id:My video card was damaged, because it just operated at the lowest possible clockrate.So i sent the card to a service center for repair.They weren´t able to repair it, but didn´t want to give me my money and video card back. I think because they changed the gpu and invested some work time.Finally I got it back, but it was willfully damaged.They destroyed a coil of the 2 phase converter, partially deleted the bios and apparently changed the pci device id.I exchanged the coil and flashed a new modified bios with 0x040C instead of 0x060C as pci device id. Now i got it work again, but only in a "balanced performance mode" because of an invalid MXM Structure. I guess, thats because i just changed the pci device id within the bios, without changing any checksums except the last byte.So i guess, they also removed or exchanged a resistor in order to change the device id.EDIT: Here are some some higher resolution pictures of the whole card

author: maxwell22
author_rank: Newbie
timestamp: July 03, 2016, 12:33:30 pm
content: *Push*I have made some progress.I have found some schematics for similar video cards.These are the- NB9E-GTX (LS-4471P) with the GPU G92-740-A2, which is ident to my G92-761-B1 chipset- NB8E-GT- 8600m GT (LS-354JP)They all have in common, that the resistors, responsible for the pci device id, are connected to 3.3V_Run and directly with the GPU which has an internal pull down.The resistors have 2.2k or 2k Ohm (pulled to high) and are otherwise not mounted (pulled to low by GPU).So I guess, one of my pci device id 2.2kOhm resistors has been exchanged by an ~MOhm resistor.I have attached the front and back board view with marked resistors.Red = V3.3_RunBlue = GNDAt the moment I don´t have the right equipment for fast soldering/desoldering of the resistors.What would you say, which resistors are hot candidates for the pci dev. settings?In the NB9E-GTX (LS-4471P) schematic there are also some strap pins, which I can´t assign to some functionality:- PEX_CFG (1 bit)- PEX_PLL_TERM (MIOAD0) (1 bit)- MIOAD6 (1 bit)Does somebody have an idea what these straps could possibly describe?

author: wraper
author_rank: Unknown
timestamp: July 03, 2016, 01:41:51 pm
content: I think they just changed GPU to remarked (Chinese do this very often) quadro FX.

author: maxwell22
author_rank: Newbie
timestamp: July 03, 2016, 02:08:13 pm
content: Do you know how this is done?What do you mean with remarked?

author: wraper
author_rank: Unknown
timestamp: July 03, 2016, 04:50:08 pm
content: QuoteWhat is called the same in GPU-Z can have different chips on the board. The die is the same (sometimes not) but can be differently binned and configured. Many differently marked chips will work if replaced by another similar. Often this works only one way or depends on the particular PCB/bios. As professional GPUs actually have the same silicon dies as gaming/consumer counterparts, such gaming<->pro chip replacement often can work either. What Chinese do, is they remove that "G92-761-B1" marked by ink and put new marking instead to "make" chips which market demands. Sometimes this works, sometimes not. As there are no other places where to buy those chips other than from Chinese sewers, anyone who do GPU chip replacements, has stumbled on this. Sometimes they go further and grind down a top layer of silicon itself and replace laser etched marking too (to put new not fault affected date codes). Sometimes desktop GPUs are remarked to mobile ones, expect anything Chinese can imagine to do. There are no really new GPUs btw, either they are recycled from faulty boards or in the best case refurbished factory rejects. This can be distinguished by marking which becomes yellowish after reflow. Marking not being solvent resistant. After replacement you have only half of the RAM detected and similar things.You can google translate this:https://www.partsdirect.ru/howto/peremark_icchips/

author: maxwell22
author_rank: Newbie
timestamp: July 03, 2016, 06:15:58 pm
content: Thanks for the detailed answer!Of course it could be possible, but in my case, I don´t think this is a remarked chip.Because:- the FX 570M (0x040C) uses another GPU family (G84 vs G92) and in this case another pin layout- the video card works. Just in a safe mode with an adjusted bios, but it works. I don´t think this would be possible with another GPU family chip.- it already worked when I got it back from the repair service center the first time, but had the same problem as the card that I sent to them (just operated with lowest clockrate). And they didn´t exchange the GPU because the thermal paste that I applied (before I sent it back to them) looked the same as the thermal paste that was at the GPU between the caps and resistors I now got back.But thanks for the link. Really useful!

author: gnif
author_rank: Unknown
timestamp: July 28, 2016, 08:06:00 am
content: How do you know it operated at a lower clock rate? You do know that these cards, especially in laptops clock themselves down to save power and prevent excess heat generation when not in high usage scenarios (windows desktop, GPU-Z, etc).In the photos you attached in the original post I can see what looks like marring on the IC marked U2, likely the EEPROM. This card is also used in mac's but the bios they are flashed with is incompatible with standard machines. The repair center may have flashed a used mac card with the PC bios to convert it. I can not see any signs of rework, and it is extremely (and I mean extremely) doubtful they moved any resistors to change the PCI-ID, this card is before the era of hard straps.Please post a photo of the GPU die, or provide the markings.I know for a fact that NVidia cards will work in VESA mode (what Safe-Mode is using) with a botched bios, it is no indication you have the correct bios installed.Edit: Further looking I think they have screwed you over, I think they have swapped U3, and it does look like the board has been baked, all the copper test pads have tarnished and traces leading towards the GPU are also discolored like the board has been baked. I don't think the GPU has been swapped, but I bet they have re-flowed a faulty board and used it as good/new stock.

author: Stefan Payne
author_rank: Contributor
timestamp: July 28, 2016, 12:37:21 pm
content: Quote from: maxwell22 on June 27, 2016, 03:53:10 pmNo, you don't.You just need to force flash the right BIOS onto the BIOS Chip.The solution might be easier than you think:Get the right BIOS and force flash it with nVFlash.AFAIR it was -5 -6 (don't ask why)...But that was some time ago...But BEWARE!If you mess something up or the BIOS isn't the right one for your board, you HAVE a problem and you probably need to desolder the BIOS chip and flash it in a hardware flasher!The question is: WHy is it a problem?Is it really important to have the right device ID?

author: maxwell22
author_rank: Newbie
timestamp: July 31, 2016, 06:47:20 pm
content: Quote from: gnif on July 28, 2016, 08:06:00 amI checked it with GPU-Z and nvidia tools on a fresh installed Win 7 and Win 10. Yes I know these power modes. All of these OS energy saving mechanisms were disabled. I also tried another working 8800m GTX which showed the right clock rate.Yes the IC marked U2 is the Bios chip. It was desoldered/soldered by them. I also desoldered it and checked its content. Large areas of it were empty (filled with zeros). Areas which are responsible for memory timing etc.. I flashed the right bios onto the chip and soldered it again.I´m quite sure they changed the GPU as there is a G92-761-B1 chip on the card. Which is a GPU for GTX 280M. However, this GPU is compatible with 8800m GTX card but was never initially applied on any sold cards (as far as I know).I wouldn´t say so about the hard straps. I´m quite sure the PCI device ID is defined by hardware. There must be differed between the higher and lower bits of the ID. The 5 lower bits are definitely defined by resistors, which can also be checked by schematics of similar cards like the NB9E-GTX (KSRAA LS-4471P) from June 2008 or the NB8E-GT from November 2007. How the upper bits - in my case the 10th bit - is set, isn´t described in the schematics. Older cards (even my 8800m gtx) allow to override the lower ID bits by the bios (force flash). The problem is, only the lower 5 bits are allowed to be overridden. If the upper bits, e.g. the 10th bit is overridden in the bios, the card doesn´t start anymore. Newer cards doesn´t even allow to override the lower bits. I think that´s what you mean.If I, however, edit the original bios of the 8800m GTX (ID: 060C) by changing the device ID to 040C, I get the card running in VESA mode.The GPU markings are:24N3WS 1024B1A TAIWANPC8786.M0RG92-761-B1I don´t know, but maybe the upper bits are set by some solder balls defined by the GPU architecture. If such an solder point of the GPU is missing or broken (due to baking), such an error could occur.A documentation of the G92 GPU architecture would be great, but nvidia can keep it´s secrets as it seems.The U3 is a IC for clock generation (ICS91730AML). Even if they have swapped it, I don´t think it causes my problem.Quote from: Stefan Payne on July 28, 2016, 12:37:21 pmThats right for the lower 5 strap bits, unfortunately. The upper bits can´t be set by bios as the card doesn´t start anymore if they doesn´t match.It´s a problem because my card only works in safe mode and I guess this is caused by the modification of the upper ID in the bios.

author: gnif
author_rank: Unknown
timestamp: July 31, 2016, 11:21:05 pm
content: That part was on the GeForce 8800M GTS and GeForce 8800M GTX, sold by MXM. I think at this point you have been screwed over by the repair agent, I would try to get my money back and order a 2nd hand card from eBay. If they have swapped the chip, you're screwed. I also know that part of the PCI-ID is set at factory with e-fuses, there is no way to modify them other then to apply an AND mask to them via the bios, but you can't turn bits back on.I am all for hacking nVidia cards, heck, I hacked my GTX690 into a K5000, but in this case, I would cut my losses and stop trying to fix something that has been screwed up so bad.Edit: I just remembered that there is a pin you can pull low to put the GPU into a bootstrap mode to allow you to flash a bad bios with the official nVidia tool, I would try that too if you can identify the pin.

author: Ice-Tea
author_rank: Super Contributor
timestamp: August 01, 2016, 12:39:48 am
content: Dirty workaround if you wish: you can flash the vbios with a version where you replace the low performance "safety" clock settings with the high performance values. The card still goes into safety but you don't loose performance. Bad for battery life, though.

author: maxwell22
author_rank: Newbie
timestamp: August 01, 2016, 11:30:00 am
content: Quote from: gnif on July 31, 2016, 11:21:05 pmReally? Is MXM a manufacturer too? I thought it´s only the connection standard.I already got my money back from them and also have a working card. It´s just a hobby to get it work again. I want to learn something. And for now i learned something about vbios, strap settings, reading schematics and also about soldering. I got it work again and even if it´s just in safe-mode, it´s a little win for me.I also have already read about the strap settings set in the bios. It´s possible to apply AND and OR masks, so it´s possible to modify the ID, but again, only the lower 5 bits.Yeah, I saw and read your thread. Really good work!Thanks for the info about the boostrap mode, I´m gonna try to find this pin.Quote from: Ice-Tea on August 01, 2016, 12:39:48 amThats a really good idea, thanks! I will give it a try. Are there any other restrictions in safe mode (like ram usage etc.) or is it just the clock rate?

author: Ice-Tea
author_rank: Super Contributor
timestamp: August 01, 2016, 11:36:00 am
content: AFAIK: only clock rate. You will still have the annoying 30sec timeout with the beeping etc. You can use nBitor to modify the vBios.Basically, it goes something like this: the nVidia spec was supposed to allow modular boards, with easy swapping. For that, the card had to know the capacities of the system (ie what display is attached, how much power does the board provide, how much coolin is there,...). There are two ways to convey that info: bake it in the system bios or have an EEPROM on the motherboard with that info (ie MXM structure). Off coarse, most manufacturers didn't care about modularity and ommited those checks (they knew what card was going in what machine anyway, aftermarket swaps are/were not in their plans). So, now you have a dutiful MXM board that asks for the MXM structure and this is not implemented on your system. So the card assumes the worst (ie low power capabilities, limited cooling available) and throttles down to a low power mode that pretty much any MXM system should be able to handle.

author: maxwell22
author_rank: Newbie
timestamp: August 02, 2016, 01:24:02 pm
content: Quote from: Ice-Tea on August 01, 2016, 11:36:00 amThanks for the explanation but doesn´t the card get the information, where to look for the MXM structure, from the video bios? In my case, I have a Clevo M570RU and I flashed the proper V-Bios with modified pci ID onto the video card. Is it possible, that the system bios has a video card ID check and therefore limit the video card to the safe mode? Or is the safe mode of the video card fully controlled by the video card and independent of the system?