Difference between revisions of "GT610 PCI"
Line 411: | Line 411: | ||
</pre> | </pre> | ||
− | + | TODO: Try flashing Zotac bioses | |
== eBay links == | == eBay links == |
Revision as of 18:52, 5 August 2020
For some time now I've been on the lookout for a "modern" GPU with a PCI interface to breathe some life into my older machines without breaking the bank but it was never much of a priority. That is until a few weeks ago when DosFox posted about an odd unbranded PCI Nvidia GT 610 on Twitter so I decided to pick one up myself. Soon enough my "MQX POWER GeForce GT610 1GB PCI VGA,DVI,HDMI 3D Video Card Graphics" arrived and this card is a bit of a mystery. The only branding on the card is from "MQX POWER" but it looks an awful lot like a Zotac card based on the orange ports and black PCB.
Zotac did produce a PCI version of the GT 610 but with only 512MB of GDDR3 video memory. They also made a PCI version of the GT 520 with 1024MB video memory.
So what are these cards actually?
Physical comparison
Zotec provides high resolution images of both the GT 520 and GT 610
The GT 520 and GT 610 have nearly identical circuit boards, so much so that the product imagery for the back of the GT 610 has the sticker for a GT 520 under the edge of the heatsink! This makes sense because both cards use the same Nvidia GF119-300 chip, and even the same clock speeds. The MQX card uses the same heatsink as the Zotac GT 610 Synergy.
Lets dig a bit deeper.
After removing the heatsink and cleaning off the thermal compound that was dryer than the Sahara desert (are these cards used??) we can see the Nvidia GF119-300-A1 chip and four Hynix H5TQ1G63DFR. This "MQX" card is clearly a re-branded Zotac.
PCI identifiers
After installing the card in a PC the first problems come up; namely that this card wont work before the OS loads, and my test PC wouldn't even POST if it was the only video card in the system. Not a good sign.
After installing a second video card so I could boot, the MQX card presents 3 PCI devices:
~# lspci ... 37:09.0 PCI bridge: Pericom Semiconductor PI7C9X111SL PCIe-to-PCI Reversible Bridge (rev 01) 38:00.0 VGA compatible controller: NVIDIA Corporation GF119 [GeForce GT 610] (rev a1) 38:00.1 Audio device: NVIDIA Corporation GF119 HDMI Audio Controller (rev a1)
The GF119 has a PCIe interface so a PI7C9X111SL PCIe-to-PCI chip is used to connect the chipset to the PCI bus.
~# lspci -s 37:09 -vvvv -xxx 37:09.0 PCI bridge: Pericom Semiconductor PI7C9X111SL PCIe-to-PCI Reversible Bridge (rev 01) (prog-if 00 [Normal decode]) Physical Slot: 5 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 21 Bus: primary=37, secondary=38, subordinate=38, sec-latency=0 I/O behind bridge: 0000e000-0000efff Memory behind bridge: ec000000-ed0fffff Prefetchable memory behind bridge: 00000000d6000000-00000000dfffffff Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ <SERR- <PERR- BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B- PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn- Capabilities: [a8] Subsystem: Device 0000:0000 Capabilities: [b0] Express (v1) PCI-Express to PCI/PCI-X Bridge, MSI 00 DevCap: MaxPayload 256 bytes, PhantFunc 0 ExtTag+ AttnBtn- AttnInd- PwrInd- RBE- SlotPowerLimit 0.000W DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd- ExtTag+ PhantFunc- AuxPwr- NoSnoop- BrConfRtry- MaxPayload 128 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend+ LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <512ns, L1 <1us ClockPM- Surprise- LLActRep+ BwNot- ASPMOptComp- LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk- ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive+ BWMgmt- ABWMgmt- Capabilities: [d8] Vital Product Data pcilib: sysfs_read_vpd: read failed: Input/output error Not readable Capabilities: [f0] MSI: Enable- Count=1/1 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Kernel modules: shpchp 00: d8 12 11 e1 07 01 b0 02 01 00 04 06 10 20 01 00 10: 00 00 00 00 00 00 00 00 37 38 38 00 e1 e1 00 20 20: 00 ec 00 ed 01 d6 f1 df 00 00 00 00 00 00 00 00 30: 00 00 00 00 a8 00 00 00 00 00 00 00 03 01 02 00 40: 20 00 20 09 00 00 00 00 1f 82 40 00 00 00 00 00 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 60: 00 00 00 00 00 00 00 00 00 08 00 80 00 00 00 00 70: 88 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80: 07 90 00 00 f8 ff 00 00 10 00 10 00 10 00 10 00 90: 01 a8 42 c8 00 00 00 00 00 00 00 00 00 00 00 00 a0: 04 b0 00 00 00 00 00 00 0d b0 00 00 00 00 00 00 b0: 10 d8 71 00 21 00 00 00 00 21 30 00 11 3c 10 00 c0: 00 00 11 30 00 00 00 00 00 00 00 01 60 10 00 04 d0: 71 02 00 04 54 02 19 00 03 f0 00 80 04 71 02 00 e0: ff ff 00 00 ff ff ff ff 00 00 00 00 00 00 00 00
From here on the output is typical of a GT 610. Note the Zotac string ZOTAC International (MCO) Ltd. GF119 [GeForce GT 610]
~# lspci -s 38:00 -vvvv -xxx 38:00.0 VGA compatible controller: NVIDIA Corporation GF119 [GeForce GT 610] (rev a1) (prog-if 00 [VGA controller]) Subsystem: ZOTAC International (MCO) Ltd. GF119 [GeForce GT 610] Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0 Interrupt: pin A routed to IRQ 21 Region 0: Memory at ec000000 (32-bit, non-prefetchable) [size=16M] Region 1: Memory at d8000000 (64-bit, prefetchable) [size=128M] Region 3: Memory at d6000000 (64-bit, prefetchable) [size=32M] Region 5: I/O ports at e000 [size=128] [virtual] Expansion ROM at ed080000 [disabled] [size=512K] Capabilities: [60] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Capabilities: [78] Express (v2) Endpoint, MSI 00 DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s unlimited, L1 <64us ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 0.000W DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ MaxPayload 128 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp- LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- CommClk- ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR-, OBFF Not Supported DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled LnkCtl2: Target Link Speed: 2.5GT/s, EnterCompliance- SpeedDis- Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS- Compliance De-emphasis: -6dB LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1- EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest- Capabilities: [b4] Vendor Specific Information: Len=14 <?> Kernel driver in use: nvidia Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia 00: de 10 4a 10 07 00 10 00 a1 00 00 03 00 00 80 00 10: 00 00 00 ec 0c 00 00 d8 00 00 00 00 0c 00 00 d6 20: 00 00 00 00 01 e0 00 00 00 00 00 00 da 19 28 12 30: 00 00 00 00 60 00 00 00 00 00 00 00 03 01 00 00 40: da 19 28 12 00 00 00 00 00 00 00 00 00 00 00 00 50: 01 00 00 00 01 00 00 00 ce d6 23 00 00 00 00 00 60: 01 68 03 00 08 00 00 00 05 78 80 00 00 00 00 00 70: 00 00 00 00 00 00 00 00 10 b4 02 00 e0 8d 00 00 80: 10 29 00 00 01 4d 05 00 00 01 11 10 00 00 00 00 90: 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 a0: 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 b0: 00 00 00 00 09 00 14 01 00 00 00 00 00 00 00 00 c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 38:00.1 Audio device: NVIDIA Corporation GF119 HDMI Audio Controller (rev a1) Subsystem: ZOTAC International (MCO) Ltd. GF119 HDMI Audio Controller Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 64 bytes Interrupt: pin B routed to IRQ 22 Region 0: Memory at ed000000 (32-bit, non-prefetchable) [size=16K] Capabilities: [60] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Capabilities: [78] Express (v2) Endpoint, MSI 00 DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 <64us ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 0.000W DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+ MaxPayload 128 bytes, MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 2.5GT/s, Width x16, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp- LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes Disabled- CommClk- ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt- LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt- DevCap2: Completion Timeout: Not Supported, TimeoutDis+, LTR-, OBFF Not Supported DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis-, LTR-, OBFF Disabled LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete-, EqualizationPhase1- EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest- Kernel driver in use: snd_hda_intel Kernel modules: snd_hda_intel 00: de 10 08 0e 06 01 10 00 a1 00 03 04 10 00 80 00 10: 00 00 00 ed 00 00 00 00 00 00 00 00 00 00 00 00 20: 00 00 00 00 00 00 00 00 00 00 00 00 da 19 28 12 30: 00 00 00 00 60 00 00 00 00 00 00 00 05 02 00 00 40: da 19 28 12 00 00 00 00 00 00 00 00 00 00 00 00 50: 00 00 00 00 00 00 00 00 ce d6 23 00 00 00 00 00 60: 01 68 03 00 08 00 00 00 05 78 80 00 00 00 00 00 70: 00 00 00 00 00 00 00 00 10 00 02 00 a0 8d 00 00 80: 10 29 00 00 01 4d 05 00 03 01 11 10 00 00 00 00 90: 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Software
On a linux system we can use nvidia-smi to view some information about the card
~# ~# nvidia-smi +-----------------------------------------------------------------------------+ | NVIDIA-SMI 390.138 Driver Version: 390.138 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 GeForce GT 610 Off | 00000000:38:00.0 N/A | N/A | | 40% 41C P0 N/A / N/A | 0MiB / 964MiB | N/A Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Processes: GPU Memory | | GPU PID Type Process name Usage | |=============================================================================| | 0 Not Supported | +-----------------------------------------------------------------------------+
~# nvidia-smi -q ==============NVSMI LOG============== Driver Version : 390.138 GPU 00000000:38:00.0 Product Name : GeForce GT 610 Product Brand : GeForce Display Mode : N/A Display Active : N/A Persistence Mode : Disabled Accounting Mode : N/A Accounting Mode Buffer Size : N/A Driver Model Current : N/A Pending : N/A Serial Number : N/A GPU UUID : GPU-7e528899-9c33-de52-2ac5-160ebe5dd72b Minor Number : 1 VBIOS Version : 75.19.1B.00.01 MultiGPU Board : N/A Board ID : N/A GPU Part Number : N/A Inforom Version Image Version : N/A OEM Object : N/A ECC Object : N/A Power Management Object : N/A GPU Operation Mode Current : N/A Pending : N/A GPU Virtualization Mode Virtualization mode : N/A PCI Bus : 0x38 Device : 0x00 Domain : 0x0000 Device Id : 0x104A10DE Bus Id : 00000000:38:00.0 Sub System Id : 0x122819DA GPU Link Info PCIe Generation Max : N/A Current : N/A Link Width Max : N/A Current : N/A Bridge Chip Type : N/A Firmware : N/A Replays since reset : N/A Tx Throughput : N/A Rx Throughput : N/A Fan Speed : 40 % Performance State : P0 Clocks Throttle Reasons : N/A FB Memory Usage Total : 964 MiB Used : 0 MiB Free : 964 MiB BAR1 Memory Usage Total : N/A Used : N/A Free : N/A Compute Mode : Default Utilization Gpu : N/A Memory : N/A Encoder : N/A Decoder : N/A Encoder Stats Active Sessions : N/A Average FPS : N/A Average Latency : N/A Ecc Mode Current : N/A Pending : N/A ECC Errors Volatile Single Bit Device Memory : N/A Register File : N/A L1 Cache : N/A L2 Cache : N/A Texture Memory : N/A Texture Shared : N/A CBU : N/A Total : N/A Double Bit Device Memory : N/A Register File : N/A L1 Cache : N/A L2 Cache : N/A Texture Memory : N/A Texture Shared : N/A CBU : N/A Total : N/A Aggregate Single Bit Device Memory : N/A Register File : N/A L1 Cache : N/A L2 Cache : N/A Texture Memory : N/A Texture Shared : N/A CBU : N/A Total : N/A Double Bit Device Memory : N/A Register File : N/A L1 Cache : N/A L2 Cache : N/A Texture Memory : N/A Texture Shared : N/A CBU : N/A Total : N/A Retired Pages Single Bit ECC : N/A Double Bit ECC : N/A Pending : N/A Temperature GPU Current Temp : 41 C GPU Shutdown Temp : N/A GPU Slowdown Temp : N/A GPU Max Operating Temp : N/A Memory Current Temp : N/A Memory Max Operating Temp : N/A Power Readings Power Management : N/A Power Draw : N/A Power Limit : N/A Default Power Limit : N/A Enforced Power Limit : N/A Min Power Limit : N/A Max Power Limit : N/A Clocks Graphics : N/A SM : N/A Memory : N/A Video : N/A Applications Clocks Graphics : N/A Memory : N/A Default Applications Clocks Graphics : N/A Memory : N/A Max Clocks Graphics : N/A SM : N/A Memory : N/A Video : N/A Max Customer Boost Clocks Graphics : N/A Clock Policy Auto Boost : N/A Auto Boost Default : N/A Processes : N/A
Dumping the BIOS
Clearly something weird is going on, so lets take a look at the bios itself which is stored on a 64kB Pm25LD512 SPI flash chip on the back of the board.
I read it using flashrom over SPI using a Raspberry Pi which was completely painless.
The dumped bios is available here: File:Flash Pm25LD512.bin.zip
flash_Pm25LD512.bin md5sum 10b158b890b14f93f5dfaeac3b7c7672
Nothing immediately seems out of the ordinary to my untrained eye but there are a few notable strings:
IBM VGA Compatible P08/04/19 GF119-300 P1310 SKU 0001 VGA BIOS (VB1) Version 75.19.1B.00.01 Copyright (C) 1996-2011 NVIDIA Corp. GF119 Board - 13100001 PLEASE POWER DOWN AND CONNECT THE PCIe POWER CABLE(S) FOR THIS GRAPHICS CARD 13100001_vb1.romGF119-300 DT P1310 SKU 0000|0001
TODO: Try flashing Zotac bioses
eBay links
eBay links for "MQX POWER GeForce GT610 1GB PCI VGA,DVI,HDMI 3D Video Card Graphics":