I'm trying to check some hw/BIOS issues on a single board computer equipped with 945GME. The SBC randomly boots without video output on SDVO-B or SDVO-C. I'm using Xorg 1.4.2.
Would it be possible to have more debug info from IEGD xorg driver, to check events like SDVO-B or SDVO-C output failing to sync?
Thanks in advance.
The driver already does display initialization errors in both the system log, and the xorg logs if there is a failure intializing a port it needs to use. Unfortunately in the production version, we do not have a way of making the display driver output additional messages.
What you may be seeing with SDVO devices is a failure to detect a display on a display type that is detectable, and a subsequent fall back to either onboard VGA or LVDS output the 945GME supports that it sounds like you are NOT using.
You do not say what sort of SDVO device you are using so it is difficult to help pinpoint a specific issue. However, if you are using IEGD, you should be able to turn Display Detect off, and the driver will always initialize the SDVO device (we call it "hot port" feature where the driver does what you tell it (turn on the port no matter what) rather than trying to do what it thinks is the right thing to do (which is WRONG in your case).
In general DVI and HDMI are detectable displays, VGA tends to be detectable but there are detect options for it that some implementations need to use, and LVDS is NOT detectable so the driver assumes there is a display detected if it is in the display order in the IEGD configuration.
You might want to play around with your port order and display detect to see if that changes things for you. You could also see if you could temporarily attach either an LVDS to the internal LVDS port, and a VGA to the internal VGA.
Hope this helps.
Thanks Kirk for the prompt and clear response. Let me explain my problem more precisely.
We have a SBC with 945GME used in 2 different configurations:
- case1: LVDS-I and LVDS-E (generated from SDVO-C with Chrontel 7308) connected directly to 2 LCD panels, in clone mode
- case2: DVI (generated from SDVO-B with Chrontel 7307) connected to a standard monitor
5% of times SBC boots with no video output on LVDS-E (in case1) or on DVI (in case2). However LVDS-I never fails!
We don't use the display detect feature, in both cases, even though in case1 the LCD panel on LVDS-E is not detectable by construction.
I can't diagnose the problem because system log e xorg.log don't show errors... This is the reason why I was asking for a more detailed log about connected peripherals.
Any suggestions or advices?
Wow, that is a puzzler, The additional information you provided does help bound the issue. I can tell you that from the symptoms, I am fairly sure we can rule out a driver issue. We definitely do not have any issues like that reported by any customers that are driver related. There could be configuration problems, OR (more likely) SDVO implementation issues.
If the driver is configured for use of an SDVO port, the only time we will not initialize it is if A) Display Detect is enabled and it is a detectable display and we do not see a display, *or* we do not see the SDVO device. If we do not detect an SDVO device, it is not considered an error, as we allow flexibility in configurations where a customer may specify a config to have an SDVO add-in but that add-in is options. It is in the config so the SDVO will work if the end user installs the add-in withou having to change anything else.
In the case of the LVDS-E, if we see the Chrontel device, we will turn it on. If we do NOT see it, we will not turn it on. So you have a better mechanism for knowing if the SDVO device is seen- the LVDS screen itself.
There are some configuration options that could affect you that you can set in the IEGD section of your xorg.conf. You say you are putting TWO SDVO devices on your board. It is a good idea to explicitly set the speed and device address for BOTH SDVO devices. Addresses are usually 70 for SDVOB and 72 for SDVOC. The SPEED is what I think will affect your situation. It sounds like your design may not be able to run the SDVO bus at the full default speed. You might want to try backing it down to the minimum speed of 10 (for 10kHZ) and see if the detection problem changes. I cannot tell you what it should be set to because that will depend on the layout quality, adherance to design rules, noise immunity, etc of your particular system.