[Openicc] HP Elitebook 8540W notebook with Dreamcolor display

Emil Briggs emil at briggspack.com
Sun Feb 13 06:44:04 PST 2011


On Sunday 13 February 2011 09:17:12 Kai-Uwe Behrmann wrote:
> Am 13.02.11, 07:55 -0500 schrieb Emil Briggs:
> > On Sunday 13 February 2011 01:55:52 Kai-Uwe Behrmann wrote:
> >> Am 12.02.11, 11:12 -0500 schrieb Emil Briggs:
> >>> On Saturday 12 February 2011 10:20:34 Kai-Uwe Behrmann wrote:
> >>>> Am 12.02.11, 09:00 -0500 schrieb Emil Briggs:
> >>>>> to see what was there and it gave me a "No displays found" message.
> >>>>> 
> >>>>> i2cdetect -l shows 10 separate /dev/i2c-* nvidia entries so the
> >>>>> kernel i2c support is there. I ran hpdc_util again with strace and
> >>>>> started looking through the code. The devices are opened
> >>>>> successfully but writing to them fails. I'm not quite sure how to
> >>>>> proceed next. I do have the Quadro graphics card with the
> >>>>> proprietary driver. Just for kicks I tried using the opensource
> >>>>> nvidia driver but this does not work -- looking in the Xorg.0.log it
> >>>>> finds the I2C/ddc interfaces but is unable to read any EDID
> >>>>> information from them.
> >>>> 
> >>>> Did you see the forum post on the ookala-mcf page around EDID?
> >>>> http://sourceforge.net/projects/ookala-mcf/forums/forum/898199/topic/3
> >>>> 39 741 5
> >>> 
> >>> I had not but it's not a permissions issue since I ran it as root after
> >>> the it failed as a non privileged user.
> >> 
> >> Did you try Xcm/libXcm[1] to see the i2c channels?
> >> "xcmddc requests EDID from a monitor over the i2c bus."
> >> libXcm installs a udev rule for activating the i2c bus.
> > 
> > No nodes found and strace shows the same thing I saw with hpdc_util.
> > 
> > 
> > open("/dev/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
> > fcntl(3, F_GETFD)                       = 0x1 (flags FD_CLOEXEC)
> > brk(0)                                  = 0x192a000
> > brk(0x1953000)                          = 0x1953000
> > getdents64(3, /* 198 entries */, 32768) = 5784
> > open("/dev/i2c-9", O_RDWR)              = 4
> > ioctl(4, 0x703, 0x50)                   = 0
> > nanosleep({0, 50000000}, NULL)          = 0
> > write(4, "\0", 1)                       = -1 EIO (Input/output error)
> > open("/dev/i2c-8", O_RDWR)              = 5
> > ioctl(5, 0x703, 0x50)                   = 0
> > nanosleep({0, 50000000}, NULL)          = 0
> > write(5, "\0", 1)                       = -1 EIO (Input/output error)
> > open("/dev/i2c-7", O_RDWR)              = 6
> > ioctl(6, 0x703, 0x50)                   = 0
> > nanosleep({0, 50000000}, NULL)          = 0
> > write(6, "\0", 1)                       = -1 EIO (Input/output error)
> > open("/dev/i2c-6", O_RDWR)              = 7
> > ioctl(7, 0x703, 0x50)                   = 0
> > nanosleep({0, 50000000}, NULL)          = 0
> > write(7, "\0", 1)                       = -1 EIO (Input/output error)
> > open("/dev/i2c-5", O_RDWR)              = 8
> > ioctl(8, 0x703, 0x50)                   = 0
> > nanosleep({0, 50000000}, NULL)          = 0
> > write(8, "\0", 1)                       = -1 EIO (Input/output error)
> > open("/dev/i2c-4", O_RDWR)              = 9
> > ioctl(9, 0x703, 0x50)                   = 0
> > nanosleep({0, 50000000}, NULL)          = 0
> > write(9, "\0", 1)                       = -1 EIO (Input/output error)
> > open("/dev/i2c-3", O_RDWR)              = 10
> > ioctl(10, 0x703, 0x50)                  = 0
> > nanosleep({0, 50000000}, NULL)          = 0
> > write(10, "\0", 1)                      = -1 EIO (Input/output error)
> > open("/dev/i2c-2", O_RDWR)              = 11
> > ioctl(11, 0x703, 0x50)                  = 0
> > nanosleep({0, 50000000}, NULL)          = 0
> > write(11, "\0", 1)                      = -1 EIO (Input/output error)
> > open("/dev/i2c-1", O_RDWR)              = 12
> > ioctl(12, 0x703, 0x50)                  = 0
> > nanosleep({0, 50000000}, NULL)          = 0
> > write(12, "\0", 1)                      = -1 EIO (Input/output error)
> > open("/dev/i2c-0", O_RDWR)              = 13
> > ioctl(13, 0x703, 0x50)                  = 0
> > nanosleep({0, 50000000}, NULL)          = 0
> > write(13, "\0", 1)                      = -1 EIO (Input/output error)
> 
> Then, its best to contact HP for support.
> 

See my other message -- I think it's a problem with the i2c implementation in 
the Nvidia binary driver.

> kind regards
> Kai-Uwe Behrmann


More information about the openicc mailing list