hughsie / colord

Making color management just work
GNU General Public License v2.0
72 stars 50 forks source link

livecd calibration failed on Thinkpad X230 #25

Open tigert opened 8 years ago

tigert commented 8 years ago

So I tried to use the livcd and it also fails further down the road:

screenshot

Can I debug this somehow to give you a better idea of what goes wrong?

hughsie commented 8 years ago

Very much so, can you do:

killall colord-session
/usr/libexec/colord-session --verbose

Then launch the calibration and get it started. When it fails, can you paste the full log from the terminal. Thanks!

tigert commented 8 years ago

tigert@crypt0nite:~$ /usr/libexec/colord-session --verbose 12:36:20 Verbose debugging enabled (on console 1) 12:36:20 CdMain: acquired name: org.freedesktop.ColorHelper 12:36:54 CdMain: :1.1355:Start(xrandr-Dell Inc.-DELL U2713H-C6F0K31G0FPL,colorhug2-00) 12:36:54 Quality: medium 12:36:54 Whitepoint: 6500K 12:36:54 Gamma: 2.40 12:36:54 Title: DELL U2713H CH2 Test 12:36:54 Device kind: lcd 12:36:54 CdMain: Emitting InteractionRequired(0,attach the sensor to the screen,/usr/share/colord/icons/colorhug2-attach.svg) 12:37:49 CdMain: :1.1355:Resume() 12:37:49 CdMain: Emitting UpdateGamma(2 elements) 12:37:49 CdMain: Emitting UpdateSample(1.000000,1.000000,1.000000) 12:37:50 CdMain: Emitting Finished(1,usb:00:02: Invalid read: retval=0x0a [Invalid value] cmd=0x35 [get-remote-hash](expected 0x35 [get-remote-hash]) len=64 (expected 22 or 64))

(This is from my Fedora 24 laptop install, I'll do the same from the LiveUSB next)

svenpilz commented 7 years ago

I get a similar error with colord 1.3.3 and GNOME 3.22 on Arch.

/usr/lib/colord/colord-session --verbose
00:00:30    Verbose debugging enabled (on console 1)
00:00:30    CdMain: acquired name: org.freedesktop.ColorHelper
00:00:49    CdMain: :1.56:Start(xrandr-LG Display,colorhug2-02)
00:00:49    Quality: medium
00:00:49    Whitepoint: 0K
00:00:49    Gamma: 2.40
00:00:49    Title: ThinkPad T420
00:00:49    Device kind: lcd
00:00:49    CdMain: Emitting InteractionRequired(0,attach the sensor to the screen,/usr/share/colord/icons/colorhug2-attach.svg)
00:00:51    CdMain: :1.56:Resume()
00:00:51    CdMain: Emitting UpdateGamma(2 elements)
00:00:52    CdMain: Emitting UpdateSample(1.000000,1.000000,1.000000)
00:00:52    CdMain: Emitting Finished(1,usb:00:01:02: Invalid read: retval=0x0a [Invalid value] cmd=0x35 [get-remote-hash] (expected 0x35 [get-remote-hash]) len=64 (expected 22 or 64))
svenpilz commented 7 years ago

Still the same error with 1.3.4. I tried to capture the USB traffic, maybe this helps.

Send: >
Recv: <
> 0e 01 03 10 20 00 00 00 00 [...]
< 00 0e ff ff ff ff ff ff ff [...]
> 0b 00 00 00 00 00 00 00 00 [...]
< 00 0b 37 0c 00 00 ff ff ff [...]
> 35 00 00 00 00 00 00 00 00 [...]
< 0a 35 ff ff ff ff ff ff ff [...]
> 0e 01 03 10 20 00 00 00 00 [...]
< 00 0e ff ff ff ff ff ff ff [...]
> 0b 00 00 00 00 00 00 00 00 [...]
< 00 0b 37 0c 00 00 ff ff ff [...]
> 35 00 00 00 00 00 00 00 00 [...]
< 0a 35 ff ff ff ff ff ff ff [...]
svenpilz commented 7 years ago

When I'm interpreting the firmware correctly, the CH_ERROR_INVALID_VALUE comes from ChSha1Valid. Will CH_EEPROM_OFFSET_REMOTE_HASH ever be set before colord tries to read it?

hughsie commented 7 years ago

I think the error handling of the "unset hash" has changed; can you try the 2.0.7 firmware here and tell me if it helps please: https://secure-lvfs.rhcloud.com/lvfs/device/2082b5e0-7a64-478a-b1b2-e3404fab6dad

svenpilz commented 7 years ago

Yes, now it's able to calibdate. Thanks :).

tigert commented 7 years ago

Hmm. Looking into this again. Fedora 25 now. Wayland too I think. Flashed with 2.0.7 and it got further.

Note for those attempting to flash the firmware: the colorhug-flash command expects a .bin file, the .cab needs to be unpacked with cabextract, flashing the above downloaded file directly won't work.

Managed to calibrate laptop screen, but external Dell screen does not work - now it proceeds further but fails with an error saying it could not complete calibration. The colord-session output: https://paste.fedoraproject.org/525401/

I wonder if it could be related to the dual monitor thing - I have to disable the laptop screen because if I have both on, calibration window appears always on the internal monitor. ( #26 )