Problème lorsque j'éteins l'écran

Salut,

J’ai une eeebox (un petit pc) avec Debian sid, branché sur la TV en DVI (enfin, une DVI sur la eeebox, avec un convertisseur vers VGA juste derrière, mais je pense que c’est sans importance).

Tout fonctionne bien… sauf quand j’éteins physiquement la TV. Là, upowerd prend 100% CPU et fait tout ramer (même la musique lue par MPD rame, c’est d’ailleurs comme cela que je m’en suis rendu compte).

En fait, /var/log/syslog se fait flooder :

Sep 5 19:05:23 rom-eeebox kernel: [115497.236862] Raw EDID: Sep 5 19:05:23 rom-eeebox kernel: [115497.236879] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Sep 5 19:05:23 rom-eeebox kernel: [115497.236890] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Sep 5 19:05:23 rom-eeebox kernel: [115497.236902] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Sep 5 19:05:23 rom-eeebox kernel: [115497.236913] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Sep 5 19:05:23 rom-eeebox kernel: [115497.236924] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Sep 5 19:05:23 rom-eeebox kernel: [115497.236935] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Sep 5 19:05:23 rom-eeebox kernel: [115497.236946] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Sep 5 19:05:23 rom-eeebox kernel: [115497.236958] <3>00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ Sep 5 19:05:23 rom-eeebox kernel: [115497.236966] Sep 5 19:05:23 rom-eeebox kernel: [115497.236981] i915 0000:00:02.0: DVI-D-1: Ignoring invalid EDID block 255.

Dès que je rallume la TV, tout refonctionne normalement.

Une idée pour contourner le problème (autre que ne pas installer de serveur X, j’en ai besoin pour lire des vidéos ^^) ?

Merci de votre aide.

Ah oui effectivement, /var/log/syslog + /var/log/syslog.1, qui datent tous les deux d’aujourd’hui, font à eux deux 1.2G!

Bizarre ce problème ta eeebox as quoi d’installé dessus ?

Sur mon eeebox je ne me suis installé qu’un xbmc qui tourne en “standalone”, je gère le peu de chose dessus par ssh et j’ai jamais eu de souci comme ça lors de l’extinction de la télé.

Rien de particulier, juste debian sid avec gnome…

Je n’avais pas ce problème avant non plus…

Je viens de faire quelques tests, c’est vraiment bizarre :

  • si je débranche la prise DVI/VGA, pas de problème
  • si je mets en veille la TV, pas de problème
  • ce n’est que si j’éteins la TV avec le bouton d’extinction que j’ai ce problème…

Tes derniers tests orientent les soupçons vers le convertisseur VGA.
Comment est il alimenté ?
Par la TV ?

Que se passe t il si tu débranches coté TV (VGA) ?

[quote=“piratebab”]Tes derniers tests orientent les soupçons vers le convertisseur VGA.
Comment est il alimenté ?
Par la TV ?[/quote]
À vrai dire, je n’en sais rien. C’est juste un petit composant comme celui-ci :

Je vais essayer et te tiens au courant.

Il se passe la même chose que quand je débranche côté eeebox (DVI/VGA) : aucun souci.
Le seul problème est donc quand j’éteins la TV avec le bouton.

Hello.

Que te renvoie la commande :

@+…

[quote=“i M@N”]Hello.

Que te renvoie la commande :

@+…[/quote]

CONFIG_DRM_I915=m CONFIG_DRM_I915_KMS=y

C’est du DVI-I, donc pas d’alim.
C’est bizarre ton truc. C’est comme si la TV éteinte envoyait quelque chose qui perturbe la carte video.
A moins que ce soit au moment de l’extinction (un truc genre surtension transitoire)
Tente un truc:

  • débranche le DVI (il ne doit rien se passer)
  • éteint la TV
  • rebranche le DVI

[quote=“piratebab”]C’est du DVI-I, donc pas d’alim.
C’est bizarre ton truc. C’est comme si la TV éteinte envoyait quelque chose qui perturbe la carte video.
A moins que ce soit au moment de l’extinction (un truc genre surtension transitoire)
Tente un truc:

  • débranche le DVI (il ne doit rien se passer)
  • éteint la TV
  • rebranche le DVI[/quote]
    Je viens de le faire, c’est vraiment bizarre.

Le problème survient uniquement quand le câble est branché et que la TV est éteinte.

Si je débranche le câble, aucun problème.
Si j’éteins la TV, aucun problème (évidemment, elle n’est plus branchée).
Si je rebranche le câble, problème.
Si je débranche le câble, plus de problème.
Si je rebranche le câble, problème.
Si je rallume la TV, plus de problème.

reuh …

c’est un problème avec le driver intel i915, je t’ai pas demandé ton kernel mais tu peux essayer avec un plus récent peut-être.

Sinon d’après la littérature sur le net y’a plusieurs choses à tenter :
modifier /etc/default/grub (je mets “quiet” mais y’a p’tet autre chose chez toi) pour désactiver le KernelModeSetting :

par

Puis :

et reboot

OU :
éditer /etc/modprobe.d/i915-kms.conf pour qu’il contienne :

Tu peux aussi tester l’édition de ton /etc/X11/xorg.conf et ajouter à la section Device :

Section "Device" ... Option "IgnoreEDID" "true" EndSection

En dernier ressort tu peux changer le driver “intel” par “vesa” dans ton xorg.conf

@+…

C’est quand même bizarre une TV qui lorsqu’elle est éteinte envoie un EDID qui fait planter le driver :030

Merci pour ton aide.

[quote=“i M@N”]reuh …

c’est un problème avec le driver intel i915, je t’ai pas demandé ton kernel mais tu peux essayer avec un plus récent peut-être.[/quote]
J’ai le kernel 3.0.0-1-486.

[quote=“i M@N”]Sinon d’après la littérature sur le net y’a plusieurs choses à tenter :
modifier /etc/default/grub (je mets “quiet” mais y’a p’tet autre chose chez toi) pour désactiver le KernelModeSetting :

par

Puis :

et reboot

OU :
éditer /etc/modprobe.d/i915-kms.conf pour qu’il contienne :

Ces deux solutions (à l’“echo” près pour la seconde) résolvent effectivement le problème, mais en provoque un plus important : mon écran n’est plus reconnu correctement, la définition max est de 1280×1024 (au lieu de 1920×1200).

[quote=“i M@N”]Tu peux aussi tester l’édition de ton /etc/X11/xorg.conf et ajouter à la section Device :

Section "Device" ... Option "IgnoreEDID" "true" EndSection[/quote]
Je n’ai pas de /etc/X11/xorg.conf (sur d’anciennes versions je l’avais, plus maintenant). Si j’en crée un nouveau, que dois-je mettre dedans ?

Hello.

Tu peux créer un xorg.conf comme ça :

#/etc/init.d/gdm stop #X -configure #cp /root/xorg.conf.new /etc/X11/xorg.conf #/etc/init.d/gdm start

Après il faudra modifier la section “Screen” avec quelque chose de ce genre pour qu’il prenne ta résolution 1920x1200 en compte :

SubSection "Display" Viewport 0 0 Depth 1 Modes "1920x1200" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Viewport 0 0 Depth 4 Modes "1920x1200" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Viewport 0 0 Depth 8 Modes "1920x1200" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Viewport 0 0 Depth 16 Modes "1920x1200" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection SubSection "Display" Viewport 0 0 Depth 24 Modes "1920x1200" "1280x1024" "1024x768" "800x600" "640x480" EndSubSection

Profites-en pour ajouter la section “Device” :

Section "Device" Option "IgnoreEDID" "true" EndSection

@+…

[quote=“i M@N”]Tu peux créer un xorg.conf comme ça :

#/etc/init.d/gdm stop #X -configure[/quote]

J’ai fait :

[code]# /etc/init.d/gdm3 stop

X -configure[/code]

Mais à la fin, il me dit

FATAL: Module fbcon not found. Number of created screens does not match number of detected devices. Configuration failed. Server terminated with error (2). Closing log file.

Et ne me crée pas de xorg.conf.new.

EDIT: ah si il en crée un dans le répertoire local ($PWD), je croyais qu’il le créait dans /etc/X11.
On dirait qu’il a reconnu 3 écrans (alors que je n’en ai qu’un) :

[code]Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 “Screen0” 0 0
Screen 1 “Screen1” RightOf "Screen0"
Screen 2 “Screen2” RightOf "Screen1"
InputDevice “Mouse0” "CorePointer"
InputDevice “Keyboard0” "CoreKeyboard"
EndSection

Section "Files"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
FontPath "built-ins"
EndSection

Section "Module"
Load "extmod"
Load "glx"
Load "record"
Load "dbe"
Load "dri"
Load "dri2"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option “Protocol” "auto"
Option “Device” "/dev/input/mice"
Option “ZAxisMapping” "4 5 6 7"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection

Section "Monitor"
Identifier "Monitor1"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection

Section "Monitor"
Identifier "Monitor2"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection

Section “Device”
### Available Driver options are:-
### Values: : integer, : float, : “True”/“False”,
### : “String”, : " Hz/kHz/MHz",
### : “%”
### [arg]: arg optional
#Option “DRI” # []
#Option “ColorKey” #
#Option “VideoKey” #
#Option “FallbackDebug” # []
#Option “Tiling” # []
#Option “LinearFramebuffer” # []
#Option “Shadow” # []
#Option “SwapbuffersWait” # []
#Option “TripleBuffer” # []
#Option “XvMC” # []
#Option “XvPreferOverlay” # []
#Option “DebugFlushBatches” # []
#Option “DebugFlushCaches” # []
#Option “DebugWait” # []
#Option “HotPlug” # []
#Option “RelaxedFencing” # []
Identifier "Card0"
Driver "intel"
BusID "PCI:0:2:0"
EndSection

Section “Device”
### Available Driver options are:-
### Values: : integer, : float, : “True”/“False”,
### : “String”, : " Hz/kHz/MHz",
### : “%”
### [arg]: arg optional
#Option “ShadowFB” # []
#Option “Rotate” #
#Option “fbdev” #
#Option “debug” # []
Identifier "Card1"
Driver "fbdev"
BusID "PCI:0:2:0"
EndSection

Section “Device”
### Available Driver options are:-
### Values: : integer, : float, : “True”/“False”,
### : “String”, : " Hz/kHz/MHz",
### : “%”
### [arg]: arg optional
#Option “ShadowFB” # []
#Option “DefaultRefresh” # []
#Option “ModeSetClearScreen” # []
Identifier "Card2"
Driver "vesa"
BusID "PCI:0:2:0"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection

Section "Screen"
Identifier "Screen1"
Device "Card1"
Monitor "Monitor1"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection

Section "Screen"
Identifier "Screen2"
Device "Card2"
Monitor "Monitor2"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection[/code]

La manip que t’as fait faire Im@n consiste justement à supprimer la reconnaissance automatique de l’écran.
Si tu veux créer un xorg.conf, il faut réactiver temporairement la reconnaissance automatique.
nota: me Xorg -configure doit étre lancé depuis une console (ctrl alt F1) et non depuis un terminal
wiki.debian.org/Xorg

Bon, j’ai modifié le xorg.conf.new (que j’ai copié dans /etc/X11/xorg.conf) comme ceci :

[code]Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 “Screen0” 0 0
InputDevice “Mouse0” "CorePointer"
InputDevice “Keyboard0” "CoreKeyboard"
EndSection

Section "Files"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
FontPath "built-ins"
EndSection

Section "Module"
Load "extmod"
Load "glx"
Load "record"
Load "dbe"
Load "dri"
Load "dri2"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option “Protocol” "auto"
Option “Device” "/dev/input/mice"
Option “ZAxisMapping” "4 5 6 7"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection

Section “Device”
### Available Driver options are:-
### Values: : integer, : float, : “True”/“False”,
### : “String”, : " Hz/kHz/MHz",
### : “%”
### [arg]: arg optional
#Option “DRI” # []
#Option “ColorKey” #
#Option “VideoKey” #
#Option “FallbackDebug” # []
#Option “Tiling” # []
#Option “LinearFramebuffer” # []
#Option “Shadow” # []
#Option “SwapbuffersWait” # []
#Option “TripleBuffer” # []
#Option “XvMC” # []
#Option “XvPreferOverlay” # []
#Option “DebugFlushBatches” # []
#Option “DebugFlushCaches” # []
#Option “DebugWait” # []
#Option “HotPlug” # []
#Option “RelaxedFencing” # []
Identifier "Card0"
Driver "intel"
BusID "PCI:0:2:0"
Option “IgnoreEDID” "true"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 1
Modes “1920x1200” “1280x1024” “1024x768” “800x600” "640x480"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
Modes “1920x1200” “1280x1024” “1024x768” “800x600” "640x480"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
Modes “1920x1200” “1280x1024” “1024x768” “800x600” "640x480"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
Modes “1920x1200” “1280x1024” “1024x768” “800x600” "640x480"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
Modes “1920x1200” “1280x1024” “1024x768” “800x600” "640x480"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
Modes “1920x1200” “1280x1024” “1024x768” “800x600” "640x480"
EndSubSection
EndSection[/code]

Et rebooté.

Mais ça ne résoud pas le problème. Le CPU est toujours à 100% quand j’éteins la TV, et /var/log/syslog contient ceci :

Sep 10 20:52:00 rom-eeebox kernel: [ 169.965488] [drm:drm_edid_block_valid] *ERROR* EDID checksum is invalid, remainder is 192 Sep 10 20:52:00 rom-eeebox kernel: [ 169.965500] Raw EDID: Sep 10 20:52:00 rom-eeebox kernel: [ 169.965510] <3>3f ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ?............... Sep 10 20:52:00 rom-eeebox kernel: [ 169.965521] <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ Sep 10 20:52:00 rom-eeebox kernel: [ 169.965532] <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ Sep 10 20:52:00 rom-eeebox kernel: [ 169.965542] <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ Sep 10 20:52:00 rom-eeebox kernel: [ 169.965553] <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ Sep 10 20:52:00 rom-eeebox kernel: [ 169.965564] <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ Sep 10 20:52:00 rom-eeebox kernel: [ 169.965575] <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ Sep 10 20:52:00 rom-eeebox kernel: [ 169.965586] <3>ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ................ Sep 10 20:52:00 rom-eeebox kernel: [ 169.965594] Sep 10 20:52:00 rom-eeebox kernel: [ 169.965608] i915 0000:00:02.0: DVI-D-1: EDID block 0 invalid. Sep 10 20:52:00 rom-eeebox kernel: [ 169.969005] i2c i2c-5: sendbytes: NAK bailout.

reuh …

Apparemment c’est un bug du module drm (écran connecté en DVI->VGA à 1920x1080) : lists.debian.org/debian-kernel/2 … 00051.html
En lisant la solution proposée c’est de patché plusieurs fichiers source bugs.freedesktop.org/show_bug.cgi?id=27708#c7
bugs.freedesktop.org/attachment.cgi?id=41653

Mis à part patcher puis ajouter l’option drm.edid_strict=0 à GRUB_CMDLINE_LINUX_DEFAULT ou utiliser une résolution inférieure (voir la sortie de xrandr) y’a pas de solution tant que le bug n’est pas fixé.

Tu peux pas connecter ton écran en VGA?

@+…