netadm
Goto Top

Kein Bild nach Boot ohne Monitor

Hallo,

ich habe folgendes Problem,bei dem ich auch über die Suchfunktion noch nichts passendes finden konnte. Ich habe einen PC mit folgender Konfiguration:

- Asus-Desktopboard (Intel P55 Chipsatz)
- VGA Asus EN210 SILENT DI PCI-E

Installiert ist hierauf Opensuse 11.3 64bit mit Kernel 2.6.34.12. Gestartet wird das System ohne grafische Oberfläche im Runlevel 3.

Es funktioniert alles einwandfrei, solange während des Bootvorgangs ein Monitor angeschlossen ist. Wird dieser jedoch erst nach dem Bootvorgang angeschlossen, so bleibt dieser schwarz und lässt sich nicht zum Leben erwecken. Ich habe dies schon mit dem VGA- und dem DVI-Port getestet. Aber leider der gleiche Effekt.

Gibt es eine Lösung, dass der Monitor auch an geht, wenn er erst im Nachhinein angeschlossen wird?

Viele Grüße

Content-Key: 173795

Url: https://administrator.de/contentid/173795

Ausgedruckt am: 28.03.2024 um 17:03 Uhr

Mitglied: 64748
64748 28.09.2011 um 08:17:35 Uhr
Goto Top
Guten Morgen,

wichtig wäre zu wissen, woran es scheitert. Eine Idee ist, das Linux irgendein (oder mehrere) Module nur lädt, wenn ein Monitor angeschlossen ist.
Schreib das Kommando
lsmod | sort > lsmod_ohne_Monitor.txt
in eine Textdatei, und speichere das ganze so, dass Du es bei schwarzem Bildschirm ausführen kannst, oder lass es beim shutdown automatisch ausführen (chmod 755 nicht vergessen! falls Du das Kommando als Datei abspeicherst).
Dann vergleiche die geladenen Module bei schwarzem Monitor mit den Modulen mit funktionierendem Monitor.
Falls es sich jedoch um ein Feature der Grafikkarte handelt, dann wird das nichts nutzen.

Außerdem kannst Du die Xorg.log Dateien für beide Fälle vergleichen.


Markus
Mitglied: netadm
netadm 01.10.2011 um 17:35:20 Uhr
Goto Top
Schönen guten Abend,

vielen Dank für den schnellen Tip. Ich vermute da liegt auch schon das Problem. Beim Boot ohne Monitor wird das Modul namens "nouveau" nicht geladen. Dies scheint ein nVidia- Treibermodul zu sein.

Könnte ich dies testweise während des Betriebs z.B. per ssh nachladen? Dann müsste der Monitor ja theoretisch angehen oder funktioniert das nicht? Mit welchem Kommando würde dies denn funktionieren? Mit modprobe ? Und wenn dies das Problem wäre, kann ich OpenSuSE dazu bringen, das Modul immer zu laden, unabhängig davon, ob ein Monitor angeschlossen ist?

Xorg- Logs kann ich keine finden. Aber kann es bei mir überhaupt welche geben, wenn ich im Runlevel 3 ohne grafische Oberfläche arbeite?

Viele Grüße
Mitglied: 64748
64748 01.10.2011 um 18:37:01 Uhr
Goto Top
Hallo,

mit
modprobe nouveau
in der rc.local sollte das Module bei jedem Systemstart geladen werden.

Die lofiles sind normalerweise in /var/log aber ich kenn mich mit Suse nicht aus.

Markus
Mitglied: netadm
netadm 05.10.2011 um 21:43:00 Uhr
Goto Top
Hallo nochmal,

also mein Problem ist nun zur Hälfte gelöst. face-smile

Ich bekomme den Monitor mit

modprobe nouveau


den Monitor wieder an. Jedoch erst nachdem ich das Modul einmal entladen und neu geladen habe.
Gibt es evtl. eine Möglichkeit, dies automatisch beim Bootvorgang zu machen?
Mitglied: 64748
64748 05.10.2011 um 21:44:16 Uhr
Goto Top
Du meinst, Du musst es laden, dann wieder entladen und dann nochmal laden?

Markus
Mitglied: netadm
netadm 05.10.2011 um 22:00:13 Uhr
Goto Top
Nicht ganz.

Wenn ich ohne Monitor boote, dann wird das Modul erstmal nicht mit geladen. Somit bleibt der Monitor auch dunkel.

Mache ich nun jedoch

<code type=plain"> modprobe -v nouveau

so tut sich überhaupt nichts. Erst nach

<code type=plain"> modprobe -r nouveau
<code type=plain"> modprobe -v nouveau

werden das nouveau-Modul und die zugehörigen Module neu geladen und der Monitor geht an.
Mitglied: 64748
64748 05.10.2011 um 22:08:04 Uhr
Goto Top
Du solltest mal die Dokumentation zu Suse zu Rate ziehen. Dort steht auch, wie man bestimmte Module beim Systemstart laden kann. Ich würde es in der rc.local machen. Allerdings gibt's auch ein Verzeichnis /etc/modprobe.d in dem solche Dinge gesteuert werden. So ähnlich wird's bei Suse auch sein.

Zur Not schreibst Du ein Skript:
#!bin/sh
modprobe nouveau
sleep 2
rmmod nouveau
sleep 2
modprobe nouveau
und lässt es in der rc.local ausführen.

Markus