Skip to contentSkip to conversation

Hang after "BIOS data check successful" with DVI

DISCUSSION Petr Vandrovec 4 participants 5 messages Aug 17, 2004

lore
Share & tools
lore
#0 lore raw
Quoted 5 lines · Shaun Jackman

When I have a DVI display plugged into my Matrox G550 video card the boot process hangs at "BIOS data check successful". I am running Linux kernel 2.6.6. This problem does not affect Linux kernel 2.4.26. If I boot without the DVI display plugged in, I can plug it in after the boot process and the display works.

Try disabling CONFIG_VIDEO_SELECT and/or comment out call to store_edid in arch/i386/boot/video.S. Also which bootloader you use? From quick glance at bootloaders, grub1 seems to set %sp to 0x9000, while LILO to 0x0800. And I think that 2048 byte stack (plus something already allocated by loader) might be too small for DDC call, as MGA BIOS first creates EDID copy on stack...
Best regards,
Petr Vandrovec

#1 lore raw
Quoted 7 lines · Petr Vandrovec
Quoted 5 lines · Shaun Jackman

When I have a DVI display plugged into my Matrox G550 video card the boot process hangs at "BIOS data check successful". I am running Linux kernel 2.6.6. This problem does not affect Linux kernel 2.4.26. If I boot without the DVI display plugged in, I can plug it in after the boot process and the display works.

Quoted 6 lines

Try disabling CONFIG_VIDEO_SELECT and/or comment out call to store_edid in arch/i386/boot/video.S. Also which bootloader you use? From quick glance at bootloaders, grub1 seems to set %sp to 0x9000, while LILO to 0x0800. And I think that 2048 byte stack (plus something already allocated by loader) might be too small for DDC call, as MGA BIOS first creates EDID copy on stack...

Urgh, this bug is still around :(

http://bugme.osdl.org/show_bug.cgi?id=1458

#2 lore raw
Quoted 16 lines · Zwane Mwaikambo
Quoted 7 lines · Petr Vandrovec
Quoted 5 lines · Shaun Jackman

When I have a DVI display plugged into my Matrox G550 video card the boot process hangs at "BIOS data check successful". I am running Linux kernel 2.6.6. This problem does not affect Linux kernel 2.4.26. If I boot without the DVI display plugged in, I can plug it in after the boot process and the display works.

Quoted 6 lines

Try disabling CONFIG_VIDEO_SELECT and/or comment out call to store_edid in arch/i386/boot/video.S. Also which bootloader you use? From quick glance at bootloaders, grub1 seems to set %sp to 0x9000, while LILO to 0x0800. And I think that 2048 byte stack (plus something already allocated by loader) might be too small for DDC call, as MGA BIOS first creates EDID copy on stack...

Quoted 3 lines

Urgh, this bug is still around :(

http://bugme.osdl.org/show_bug.cgi?id=1458

sidenote: A number of the int 10h calls in arch/i386/boot/video.S either don't check the return code, and blindly assume everything went ok, or do the wrong thing with them.

Example..

# get video mem size
    leaw    modelist+1024, %di
    movw    $0x4f00, %ax
    int $0x10
    xorl    %eax, %eax
    movw    18(%di), %ax
    movl    %eax, %fs:(PARAM_LFB_SIZE)

Checking http://www.ctyme.com/intr/rb-0273.htm shows that on return from the int 10h, we should check al==4f before doing anything with the results. Instead we not only ignore the return code, but trash it 8-)

Same story with function 4f0a a few lines below.

I did have a patch to change this a looong time ago (early 2.5) but I don't know what became of it. Even google doesn't seem to turn it up, so its possible I never got around to posting it.

Dave

#3 lore raw
In reply to Petr Vandrovec
Quoted 7 lines · Petr Vandrovec
Quoted 5 lines · Shaun Jackman

When I have a DVI display plugged into my Matrox G550 video card the boot process hangs at "BIOS data check successful". I am running Linux kernel 2.6.6. This problem does not affect Linux kernel 2.4.26. If I boot without the DVI display plugged in, I can plug it in after the boot process and the display works.

Quoted 8 lines

Try disabling CONFIG_VIDEO_SELECT and/or comment out call to store_edid in arch/i386/boot/video.S. Also which bootloader you use? From quick glance at bootloaders, grub1 seems to set %sp to 0x9000, while LILO to 0x0800. And I think that 2048 byte stack (plus something already allocated by loader) might be too small for DDC call, as MGA BIOS first creates EDID copy on stack...
Best regards,
Petr Vandrovec

I tried removing the call to store_edid and that does indeed fix my problem!

Many thanks!
Shaun

#4 lore raw
In reply to Petr Vandrovec
Quoted 7 lines · Petr Vandrovec
Quoted 5 lines · Shaun Jackman

When I have a DVI display plugged into my Matrox G550 video card the boot process hangs at "BIOS data check successful". I am running Linux kernel 2.6.6. This problem does not affect Linux kernel 2.4.26. If I boot without the DVI display plugged in, I can plug it in after the boot process and the display works.

Quoted 8 lines

Try disabling CONFIG_VIDEO_SELECT and/or comment out call to store_edid in arch/i386/boot/video.S. Also which bootloader you use? From quick glance at bootloaders, grub1 seems to set %sp to 0x9000, while LILO to 0x0800. And I think that 2048 byte stack (plus something already allocated by loader) might be too small for DDC call, as MGA BIOS first creates EDID copy on stack...
Best regards,
Petr Vandrovec

I'm using Lilo 22.5.9-2 from Debian.

Cheers,
Shaun