Bug 12059 - [845] ch7017 LVDS output not supported
Summary: [845] ch7017 LVDS output not supported
Status: RESOLVED FIXED
Alias: None
Product: xorg
Classification: Unclassified
Component: Driver/intel (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Eric Anholt
QA Contact: Xorg Project Team
URL: http://bugs.debian.org/cgi-bin/bugrep...
Whiteboard:
Keywords:
Depends on:
Blocks: 18443
  Show dependency treegraph
 
Reported: 2007-08-19 04:36 UTC by Brice Goglin
Modified: 2008-11-08 09:45 UTC (History)
4 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Intel 845G BIOS ROM dated 2004/05/17, build ID 3364 (48.00 KB, application/octet-stream)
2007-10-16 06:54 UTC, Felix Miata
no flags Details
Intel 845G BIOS ROM dated 2003/02/04, build ID 2882 (52.00 KB, application/octet-stream)
2007-10-28 11:19 UTC, Alexander Vodomerov
no flags Details
(hopefully) video vios dump (48.00 KB, application/octet-stream)
2007-10-30 05:14 UTC, D Bera
no flags Details

Description Brice Goglin 2007-08-19 04:36:13 UTC
Alexander Vodomerov reported this bug on the Debian BTS yesterday. He has a notebook with
  82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device rev 3
The Intel driver (2.0, 2.1 and 2.1.1) can't find its LVDS (while i810 1.7 worked fine).

The log with 2.1.1 and a regular xorg.conf with ModeDebug is available at http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=32;filename=Xorg.0.log;att=1;bug=438650

There's nothing about LVDS in the log apart from:
(II) intel(0):  ADPA: 0x00000c00 (disabled, pipe A, -hsync, -vsync)
(II) intel(0):  LVDS: 0x00043011 (disabled, pipe A, 18 bit, 1 channel)
(II) intel(0):  DVOA: 0x00000000 (disabled, pipe A, no stall, -hsync, -vsync)

ch7xxx, ivch, sil164 and tfp410 all fail. Maybe it's a ch7017? The code for this chipset seems to be disabled because untested from what I see in the log...

Brice
Comment 1 Brice Goglin 2007-08-19 05:08:56 UTC
For the record, this notebook is a "RoverBook Voyager D512L". RoverBook is a russian manufacturer (in fact, they just assembly chinese details), so it is not known outside of Russia.

Specification page translated from Russian via Google Translate:
http://www.google.com/translate?u=http%3A%2F%2Fwww.roverbook.com%2Fsite%2Froverbook%2Fhomen.nsf%2Ftechspecs%2FNB000104&langpair=ru%7Cen&hl=en&ie=UTF8
Comment 2 D Bera 2007-10-09 14:55:43 UTC
I have the same error messages. All h7xxx, ivch, sil164 and tfp410 fail. There is no mention of LVDS (not even the likes in comment #1). 

This is a Dell Inspiron 1100 laptop with 82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device rev 3. I am running Mandriva One 2008 (live cd) with x11-driver-video-intel-2.1.1.

Anything else that will be helpful ? The i810 driver runs without any problems.
Comment 3 Wang Zhenyu 2007-10-09 18:16:51 UTC
Pls checkout current git tip of intel video driver which has Eric's work on ch7017 recently.
Comment 4 D Bera 2007-10-11 14:46:17 UTC
(In reply to comment #3)
> Pls checkout current git tip of intel video driver which has Eric's work on
> ch7017 recently.

Someone on Debian BTS tried than on 3rd Oct.
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=420350#77

Did anything get checked in in the last 7 days ?
Comment 5 Colin Guthrie 2007-10-16 02:18:50 UTC
Adding me to CC in order to track Mdv bug http://qa.mandriva.com/show_bug.cgi?id=34583
Comment 6 Felix Miata 2007-10-16 06:54:21 UTC
Created attachment 12069 [details]
Intel 845G BIOS ROM dated 2004/05/17, build ID 3364

From http://qa.mandriva.com/show_bug.cgi?id=34583#c46
1. Find pci id of card: do this with lscpi. Your graphics card may show up
twice (dual head LVDS + VGA), if so pick the first one.
2. echo 1 > /sys/bus/pci/devices/0000:<pciid>/rom
3 cp /sys/bus/pci/devices/0000:<pciid>/rom /tmp/myrom

This was installed as a BIOS ROM update less than a week ago from http://downloadcenter.intel.com/download.aspx?url=/10506/eng/VA84510A.86A.0056.P20.IB.EXE&agr=N&ProductID=947&DwnldId=10506&strOSs=All&OSFullName=All%20Operating%20Systems&lang=eng
on D845GLVA  http://www.intel.com/design/motherbd/va/va_prdoc.htm

It was a rather significant update as compared to what I've seen from other BIOS updates. The only framebuffer mode provided by the old BIOS was 0x120. This one removed 0x120, but added all the customary modes, such as 0x314 and 791.
Comment 7 Keith Packard 2007-10-16 08:11:54 UTC
The BIOS image includes a DVO driver for the National Semiconductor 2501 LVDS controller (aka DS90C2501). Which should mean that all we need to do is have someone with this hardware write a driver module for this chip. DVO modules are add-in libraries that control just the external DVO chip itself, they're generally quite small (the IVCH driver is a few hundred lines of code). Starting with the IVCH driver as a model, and using the DS90C2501 docs available on-line, it should be possible to create the necessary driver module.
Comment 8 D Bera 2007-10-16 09:35:44 UTC
I am trying to get the rom
$ echo 1 > /sys/bus/pci/devices/0000:00:02.0/rom

The rom file is empty after this!

Using mandriva laptop-default 2.6.22.9 kernel. Dell Inspiron 1100 with BIOS updated to the latest A32. lspci report "82845G/GL[Brookdale-G]/GE Chipset
Integrated Graphics Device rev 3." on pci id "00:02.0".
Comment 9 Felix Miata 2007-10-16 09:37:03 UTC
Some possibly useful 845G hardware availability info at http://qa.mandriva.com/show_bug.cgi?id=34583#c53
Comment 10 D Bera 2007-10-16 09:56:42 UTC
(In reply to comment #8)
> I am trying to get the rom
> $ echo 1 > /sys/bus/pci/devices/0000:00:02.0/rom
> 
> The rom file is empty after this!

Since this is a bit strange that the rom is empty, I checked the syslog and found these during booting:

ACPI: Video Device [VID_AGP] (multi-head: yes, rom: no, post:no)
ACPI: Video Device [VID_PCI0] (multi-head: yes, rom: no, post:no)
ACPI: Video Device [VID2_PCI0] (multi-head: yes, rom: no, post:no)
Comment 11 Randy Wilson 2007-10-16 20:02:47 UTC
Adding myself to the CC list. I have a Fujitsu St4110 with an Intel 830M chip set that suffers the same malady. No rom as D Bera.

Randy 
Comment 12 Eric Anholt 2007-10-17 10:52:18 UTC
Several comments:

- Original submitter needs to dump the rom so we can figure out what DVO chipset is involved.
- Other submitters please open your own bugs unless you can determine that you have the same chipset as the original submitter, either through opening up your laptop and finding the chip (not recommended) or by dumping your BIOS and determining that it's the same as the original submitter.
- Use xf86-video-intel/src/bios_reader/bios_dumper to get your BIOS (with an updated libpciaccess), instead of the failure-prone rom file in sysfs.  If that doesn't work, then please open a bug against libpciaccess.
- My CH7017 work is not expected to actually function yet, as it doesn't work on the sample device I found.
Comment 13 Felix Miata 2007-10-17 11:18:53 UTC
I have no idea what "not recognize the LVDS" means, which means I don't know the nature of the problem reported in comment 0 and the summary. Until then, I surely won't be opening another bug. I only made attachment 12069 [details] due to a downstream bug request.
Comment 14 D Bera 2007-10-17 13:31:38 UTC
> laptop and finding the chip (not recommended) or by dumping your BIOS and
> determining that it's the same as the original submitter.
> - Use xf86-video-intel/src/bios_reader/bios_dumper to get your BIOS (with an
> updated libpciaccess), instead of the failure-prone rom file in sysfs. 
> If that
> doesn't work, then please open a bug against libpciaccess.

Ok. I will. Is there any specific version of xf86-video-intel that should be used ? I used 2.1.1 but dev->rom_size is 0 !!! This is with libpciaccess-0.9.1. Should this be filed as libpciaccess bug ?

I can boot into windows and get some information, if that is possible.
Comment 15 Eric Anholt 2007-10-17 14:55:11 UTC
Yes, that would be a libpciaccess bug.
Comment 16 Colin Guthrie 2007-10-18 09:03:38 UTC
(In reply to comment #12)
> - Use xf86-video-intel/src/bios_reader/bios_dumper to get your BIOS (with an
> updated libpciaccess), instead of the failure-prone rom file in sysfs.  If that
> doesn't work, then please open a bug against libpciaccess.

If I compile it up and "bios_dumper bios" it produces an empty file called bios and that's it? Is there something that needs to be done to enable dumping in the first place?

PS I'm not actually having these problems as I have a supported chip, but I'm trying to coordinate a working solution for people who are affected.
Comment 17 Eric Anholt 2007-10-18 10:31:47 UTC
> If I compile it up and "bios_dumper bios" it produces an empty file called bios
> and that's it? Is there something that needs to be done to enable dumping in
> the first place?

Nope, that would fall under "If that doesn't work, then please open a bug against libpciaccess."
Comment 18 D Bera 2007-10-19 05:52:34 UTC
> Nope, that would fall under "If that doesn't work, then please open a bug
> against libpciaccess."

Bug file against libpciaccess. For reference, https://bugs.freedesktop.org/show_bug.cgi?id=12860

Comment 19 Alexander Vodomerov 2007-10-28 11:19:20 UTC
Created attachment 12240 [details]
Intel 845G BIOS ROM dated 2003/02/04, build ID 2882

The dump of BIOS of original Roverbook notebook mentioned in the first post.
Obtained via /sys/bus/...
Comment 20 Eric Anholt 2007-10-29 11:31:23 UTC
Running strings on your rom file makes it pretty clear you've got a ch7017.  I've got a driver for it in git master that doesn't work on the device I have, but has worked for another person with a ch7017.  You may want to try it.
Comment 21 D Bera 2007-10-29 13:42:11 UTC
Eric, I would love to figure out if I have ch7017 and if it is, then test the driver in git master. But as I mentioned in #14 and #18, the usual ways to get the video rom do not work for me. Do you know of any other way to get the information ?
Comment 22 D Bera 2007-10-30 05:14:39 UTC
Created attachment 12256 [details]
(hopefully) video vios dump

I used the method described at the bottom of http://linuxbios.org/index.php/VGA_support and got this dump. I am not sure if the dump I got is the correct dump, but running strings reveal ch7017.
Comment 23 Alexander Vodomerov 2007-11-04 12:40:48 UTC
(In reply to comment #20)
> Running strings on your rom file makes it pretty clear you've got a ch7017. 
> I've got a driver for it in git master that doesn't work on the device I have,
> but has worked for another person with a ch7017.  You may want to try it.

I've tried the current (Sun Nov  4 23:04:33 MSK 2007) git version of intel driver. It refused to work out of box with the following error message:

(II) Loading sub module "ch7017"
(II) LoadModule: "ch7017"
(II) Loading /usr/lib/xorg/modules/drivers//ch7017.so
(II) Module ch7017: vendor="X.Org Foundation"
        compiled for 1.4.0, module version = 1.0.0
        ABI class: X.Org Video Driver, version 2.0
(II) intel(0): I2C bus "DVOI2C_E" removed.
(II) intel(0): I2C bus "DVOI2C_E" initialized.
(EE) intel(0): ch7017 not detected, got 25: from DVOI2C_E Slave 234.
(II) intel(0): I2C bus "DVOI2C_E" removed.
(II) intel(0): I2C bus "DVODDC_D" removed.
(II) intel(0): Mode for pipe A:
(II) intel(0): Modeline "640x480"x0.0   31.50  640 664 704 832  480 489 491 520 -hsync -vsync (37.9 kHz)
chosen: dotclock 31500 vco 1008000 ((m 126, m1 20, m2 14), n 4, (p 32, p1 8, p2 4))
(II) intel(0): EDID for output VGA
(II) intel(0): Output VGA disconnected
(EE) intel(0): No valid modes.
(II) UnloadModule: "intel"
(II) UnloadModule: "ch7017"

The main error
(EE) intel(0): ch7017 not detected, got 25: from DVOI2C_E Slave 234.
appears to be simple check:

   if (val != CH7017_DEVICE_ID_VALUE && val != CH7018_DEVICE_ID_VALUE) {
        xf86DrvMsg(priv->d.pI2CBus->scrnIndex, X_ERROR,
                   "ch7017 not detected, got %d: from %s Slave %d.\n",
                   val, priv->d.pI2CBus->BusName, priv->d.SlaveAddr);
        goto fail;
    }

I added manually 0x19 to the list of valid identifiers (0x1a and 0x1b) in order to pass this check. After that the X server started! I've tried mplayer and some OpenGL applications - all working fine! Great!!! 

I think, 0x19 should be added to the list of valid identifiers for CH7017.
Comment 24 Eric Anholt 2007-11-08 13:34:29 UTC
Added a patch that should do the change you described.  Thanks for tracking this down!
Comment 25 Colin Guthrie 2007-11-08 15:18:35 UTC
For those of you following this bug, here is the commit Eric refers to: http://gitweb.freedesktop.org/?p=xorg/driver/xf86-video-intel.git;a=commitdiff;h=5f92b4c2db9712496b829ee239468e3d14e27d2f (not that it's all that hard to find it!!).

FWIW, Jesse Barnes has just stated on the Xorg ML that a new intel driver release is in the process of being rolled out, so we shouldn't have to wait too, too long for this commit to be in a real release (maybe)!


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.