X2xx/s (X200/s-260) Verrückte Idee: X2xx Thinkpad mit dedizierter Grafik

StefanKo

Member
Themenstarter
Registriert
23 Apr. 2013
Beiträge
167
Hallo allerseits, vorhin hatte ich eine Idee, die ich hier mal posten wollte: Eine MXM Grafikkarte nachrüsten!

So wie ich das verstanden habe, ist der MXM Steckplatz eine PCI-Express Schnittstelle mit zusätzlichen Grafikausgängen (DP, LVDS, DVI, etc.) und Monitor-Ansteuerung (PWM) (siehe z.B. http://mxm.borec.cz/Doc/Electro_mech_spec.pdf). Es gibt sogar für Desktop-PCs Adapter um sie an einem PCI-Epress Slot zu verwenden (http://www.netzwelt.de/news/73570-msi-geminium-go-grafik-aufruesten.html).

Und PCI-Express-Grafikkarten kann man mittels eGPU Gehäuse ans Thinkpad anschließen. Dazu gibt es einen langen Thread hier im Forum.

Man könnte eine MXM Karte (+ Kühlung) eventuell intern unterbringen (im Festplattenschacht, wenn man eine MSATA Platte hat), und an das interne Display anschließen. Ich träume gerade vom X220 mit starker Grafikkarte und FHD IPS über DP...

Nur habe ich keine Ahnung, ob sowas überhaupt möglich sein kann, von wegen BIOS, booten mit eGPU, fehlende Steuersignale, Stromversorgung, sonstiges...

Was sind eure Meinungen dazu?
 
Nicht viele, hab leider in den letzten Wochen keine Zeit gehabt. Was neu ist:

- Im X61 gibt's auf der Platine VINT20, dass entweder direkt an die Batterie oder am Netzstecker angeschlossen ist (per mehreren 9 -11A MOSFETs). Muesste also reichen, und netterweise ist davon ein grosses Stueck Kupfer direkt neben dem Festplattenstecker also kann man da ein dickes Kabel oder Metallbogen anloeten um die Graka zu versorgen. Ich weiss nicht wie's im X2xx aussieht, da ich mein laufendes X201 nicht auseinandernehmen will.

- Ich hab den MXM-Stecker in Diptrace erstellt, ich muss noch sehen wo genau die Gewinde fuer die Schrauben hin muessen. Dann kann ich eigentlich mit einem Entwurf anfangen. Ich denke mir dass es zuerst mit einem ATX Netzteil getestet wird und auch sonst noch nicht in den HDD-Schacht passen wird (Pinouts fuer Luefter, Temp-Sensoren etc muessen bestimmt irgendwie belegt werden)

- Muss irgendwo mini PCIe breakouts herkriegen (diese "Extender" Dinger gehen bestimmt, hab aber wenig Lust einen Monat zu warten und die anderen sind bei $22 -$30 rech teuer fuer ein Stueck Kabel). Ich hab ne Menge WLAN Karten rumliegen die man absaegen koennte, aber die benutzen nicht alle Pins und ich weiss nicht was da sonst noch alles dranhaengt.

Ideen, was man sonst noch nehmen kann?

EDIT: Hab mal 2 hiervon bestellt, mal sehen ob / wann die auftauchen...
 
Zuletzt bearbeitet:
Kleiner Update:

- Hab den PCIe Extender bekommen, sieht billig aus aber geht bestimmt.
- Arbeite noch am Schaltbild, ich hab generell leider nicht viel Zeit :(
- Ich hab vor, 1x VGA, 1x HDMI und 1x LVDS zu implementieren. Damit kann ich auch testen, ob man das interne Display umleiten kann, das waere super nicht? :eek:
- Der Spass wird wahrscheinlich ein bisschen teuer. Platine beiseite (~$100 fuer ein paar Stueck, dann nochmal neu entwerfen zum internen Einbau), brauche ich noch 24-Pin ATX-PSU, Luefter und Heatsinks und alle Komponenten. Ich weiss nicht ob ich mir das alles leisten kann / will. Werd's mal zusammenrechnen wenn der Entwurf fertig ist...

R
 
Also, ich hab den ersten Entwurf mal produziert. Das hier ist ein externer Adapter, um das Prinzip zu testen. Links mini-PCIe Adapter, unten ATX-Anschluss, rechts HDMI und VGA, sowie Ansteuerung fuer einen Luefter.
Genau ueber der MXM-Karte sind noch ein paar leere Loecher, da kann ich noch LVDS verkabeln.

IMG_20160225_010117.jpg

In die Luft fliegen tut nichts, aber als neue HW auftauchen tut es leider auch nicht. Ich hab da ein paar Ideen die ich in den naechsten Tagen mal testen will...
Tut mir Leid dass es so lange gedauert hat. Mal sehen ob's man's zum Laufen bekommen kann..

R
 
Hast du eine Karte, bei der das VGA-BIOS drauf ist? Es gibt auch welche, bei denen der Flash für das BIOS nicht aufgelötet ist, weil der Laptophersteller das VGA-BIOS im Laptop-BIOS integriert hat. Mein nächster Verdacht wäre dann das Flachbandkabel (eventuell zu lang, außerdem ungeschirmt).
 
Letzteres hab ich mir auch schon gedacht, aber ich denke ich wuerde eher einen "nicht erkannte HW" Fehler bekommen. Wie man das mit dem BIOS herausfindet, weiss ich nicht. Die Karte ist eine Nvidia Quadro K1000M.

Ich hab ein Verdacht dass es was mit dem Reset zu tun hat. Ich glaub ich hab da was falsch verkabelt; ich denke PERST# vom mPCIe muss an PEX_RST# gehen. Bis gestern abend ging CLQREQ# auch nicht richtig, ich hatte einen extra Widerstand auf der Platine. Laut MXM-spec braucht man da einen Pull-up, der ist aber wohl in Mobo schon vorhanden. Ich hatte glatt einen 2. eingebaut, dass ging dann nicht. Soweit ich weiss, gehen jetzt CLK+ und CLK-.
PWR_GOOD wird auch richting von der Karte aktiviert, aber ich glaube das geht nicht ins Mobo bei mPCIe.

Komischerweise stellt das Mobo PERST# nicht an. Nach mPCIe-spec sollte das kommen, nachdem CLKREQ# stimmt, damit die Karte richting bootet. Ich weiss nicht, ob das ein open-drain ist wo man einen Pull-up braucht, das werde ich heute mal probieren...

R
 
Zuletzt bearbeitet:
Bei meinem X201t mit PE4L konnte man die 3D-Beschleunigung und Rechenleistung der Quadro auch nutzen, wenn die Bildschirme (Displayport und intern) am Thinkpad angeschlossen waren.
Über die Anschlüsse solltest Du Dir also weniger Gedanken machen als über den Rest. Der klingt wirklich anspruchsvoll, aber interessant.
 
Kleiner Update:
Das Problem war die PERST#-Verbindung. Jetzt findet der Rechner die neue HW, ich installiere gerade die Treiber...
Mehr in Kuerze!

R

EDIT: Also, so schnell geht's wohl nicht. Der Treiber will nicht installieren, wohl weil es eine interne GPU gibt. Irgendwelche Ideen?
 
Zuletzt bearbeitet:
EDIT: Also, so schnell geht's wohl nicht. Der Treiber will nicht installieren, wohl weil es eine interne GPU gibt. Irgendwelche Ideen?
Das kann es doch eigentlich nicht sein. Was du da gemacht hast unterscheidet sich ja nicht sonderlich von einem Adapter für externe Graphikkarten wie von HWtools.
Liegt das vielleicht an Besonderheiten der Treiber für MXM Karten? Mal mit Linux versucht?
 
Ich glaube das war's auch nicht. Wie auf dem Bild zu sehen, habe ich die Karte ohne Kuehblech betrieben. Das mit dem Treiber lag wohl daran, dass die Karte nicht immer auftauchte, und die Installation natuerlich fehlschlug als die Karte verschwand. Fazit: Ich Trottel hab die Karte wahrscheinlich einfach kaputt bekommen.
Einmal hab ich den Treiber installiert bekommen, aber die Karte war nicht lange genug im Device Manager um damit noch was anzufangen.

Hat jemand Lust mir alte MXM 3.0A Karten zu spendieren? :(

R

UPDATE: Hab meine 2. (und letzte) MXM Karte mal angeschlossen. Treiber alle installiert, aber ich kann keine von den NVidia-tools starten.
Ich hab mal im eGPU-Thread bei TechInferno um Hilfe / Rat gebeten, mal sehen was die sagen...
 
Zuletzt bearbeitet:
Noch ein "Update": Ich versuche es derzeit mit Windows 10. Leider scheint nando4 noch im Krankenhaus zu sein, also habe ich drueben wenig Hilfe bekommen.
Ich habe Setup 1.3 gekauft, damit wird die Karte vor dem Windows-boot gut erkannt und anscheinend auch gestartet, jetzt aber bekomme ich in Windows einen Error 35 ("Your computer's system firmware does not include enough information to properly configure and use this device. To use this device, contact your computer manufacturer to obtain a firmware or BIOS update") und das gleiche Problem mit der Nvidia Control Panel.

Also leider mal abwarten bis jemand mit mehr Know-How by Techninferno vorbeischaut... :(

R
 
Zuletzt bearbeitet:
Du musst ein EEPROM mit der MXM-Structure passend zu deinem Base-Board an die EDID-Datenleitungen anschließen, sonst weiß die Karte nicht, welche Anschlüsse auf deinem Base-Board verlötet sind und wie die konfiguriert werden müssen. Schau mal in diesen Thread rein, da findest du einige Infos dazu. Lese dir auch die MXM 3.0 Software-Specification durch, die im ersten Post verlinkt ist. Normalerweise stellt das System-BIOS die MXM-Structure breit, aber in deinem Fall kann das natürlich nicht sein. Glücklicherweise kann man die MXM-Structure auch in einem I²C-EEPROM mit Adresse A8/A9 ablegen und die Karte holt sie sich dann daraus, so dass das mit dem BIOS kein Problem ist.
 
Hm, kann sein. Das hatte ich gar nicht bedacht, obwohl ich ein paar pins fuer den EDID-EEPROM in Deckel gelassen habe, als ich das LVDS-Augabe-Experiment versuchen wollte. Vielleicht geht es ja damit gleich von Anfang an.

Das muss ich mal mit einem alten Deckel versuchen.

Aber wie ist es denn mit z.B dem VGA-Anschluss? Kommt die EDID nicht von dem Display was man sowieso extern anschliesst? Oder ist das noch etwas anderes?

Im uebrigen hat die Electromechanical spec doch gar keine Pins, die generell fuer EDID sind (ebendeswegen die Gruppen LVDS_DDC, VGA_DDC oder?)

...irgendwas verstehe ich hier nicht.

R
 
Zuletzt bearbeitet:
Ich rede nicht vom EDID-Chip auf dem Display. Das muss natürlich auch mit den DDC-Pins vom entsprechenden Anschluss verbunden sein. Ich rede von einem separaten Extra-I²C-EEPROM, in dem die Anschlüsse, die auf deinem Base-Board drauf sind, in einem für die Grafikkarte verständlichen Format drin stehen (das in der Software Specification beschrieben ist). Dieses EEPROM mit der MXM-Structure muss an die LVDS-DDC-Pins angeschlossen und die Adresse von dem EEPROM auf A8/A9 eingestellt werden. Dann ließt die Karte die Anschluss-Infos für dein Base-Board aus diesem EEPROM.

Die DDC-Pins sind die Pins, wo die Datenleitungen des EDID-Chip von dem Display an dem jeweiligen Anschluss angeschlossen werden. Bei den LVDS-DDC-Pins kann dann eben (eventuell zusätzlich zu einem vorhandenen EDID-Chip auf einem LVDS-Display, wo die Displayauflösung usw. drin steht, sofern ein LVDS-Display angeschlossen ist) noch ein weiteres EEPROM angeschlossen werden mit der MXM-Structure. Und das ist das, was du machen musst, damit die Grafikkarte daraus die Infos auslesen kann, welche Displayanschlüsse auf deinem Base-Board verlötet sind und wie die konfiguriert werden müssen.
 
Zuletzt bearbeitet:
Ah, das macht etwas mehr Sinn. Dann also zwei weitere Fragen:
- [Es ist dann so, dass die LVDS_DDC_Pins sowohl ein EEPROM fuer das LVDS-EDID UND ein weiteres (A8/A9) EEPROM fuer das "Board-Layout" bekommt?] -- Du warst wohl gleichzeitig am editieren. Danke!

- Was hat das mit dem System-BIOS zu tun? Wen ich recht verstehe, in diesem Sinne gar nichts, denn ich schalte und initialisiere die Karte erst nach dem Boot mit Setup 1.3.

R
 
Zuletzt bearbeitet:
So wie ich das verstanden habe übergibt normalerweise das System-BIOS dem VGA-BIOS einen Pointer zu der MXM-Structure passend zu den Anschlüssen auf dem Laptop-Mainboard, in das die Karte eingesetzt ist. Das geht bei deinem Setup so natürlich nicht. Deswegen musst du den Weg über das Extra-EEPROM mit der MXM-Structure gehen.
 
Zuletzt bearbeitet:
Ok, sehr gut. Koenntest du mir etwas weiterhelfen? Ich sehe deinen Dump im anderen Thread, woher hast du den bekommen? Ich schaetze mal ich krieg das damit und der Software-Spec irgenwie schon hin. Muss es ein spezieller EEPROM sein? Ich denke hab noch irgendwo was rumliegen dass ich per Arduino beschreiben koennte, aber normalerweise ist doch die Addresse ab Werk eingestellt.

R
 
Den Dump habe ich über das Auslesen der DSDT vom W701 via Linux bekommen. Den kannst du aber mit Hilfe der Software-Spec an dein Base-Board anpassen. Als EEPROM habe ich ein AT24C02B genommen, das hatte ich gerade da. Kannst wahrscheinlich alle möglichen I²C-EEPROMs nehmen, wo die obersten vier Adress-Bits ab Werk 0xA sind und die drei Adress-Pins haben, weil du die Adresse ja auf A8/A9 einstellen musst. Die vier höherwertigen Bits sind da vom Werk her 1010, dann kommen drei Bits, die ich durch Verbinden der Adress-Pins nach VCC bzw. GND auf 100 konfiguriert habe und zum Schluss das R/W-Bit.
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben