[argyllcms] NEC SpectraSensor Pro support

I am trying to use NEC SpectraSensor Pro model MDSVSENSOR3 with Argyll
1.3.5. It's an OEM version of i1Display 3 (i1Display Pro).

It seems that dispcal can recognize it but it lacks the unlock code. Is
the unlock code something that can be "sniffed" while running the NEC
software that came with it and added to argyll?

The debug log is attached

Bolek
MonitorEnumProc() called with hMonitor = 0x10001
MonitorEnumProc() set initial monitor info: 0,0 2560,1600 name '\\.\DISPLAY1'
get_displays about to get monitor information for 0
Mon 0, name '\\.\DISPLAY1\Monitor0'
Mon 0, string 'NEC MultiSync PA301W(Digital)'
Mon 0, flags 0x3
Mon 0, id 'MONITOR\NEC680F\{4d36e96e-e325-11ce-bfc1-08002be10318}\0001'
Mon 0, key 
'\Registry\Machine\System\CurrentControlSet\Control\Class\{4d36e96e-e325-11ce-bfc1-08002be10318}\0001'
EnumDisplayDevices failed on '\\.\DISPLAY1' Mon = 1
get_displays added description 'DISPLAY1, at 0, 0, width 2560, height 1600 
(Primary Display)' to display 0
usb_get_paths about to look through devices:
usb_check_and_add() called with VID 0x1d6b, PID 0x1
Get config desc. 0 failed
usb_check_and_add() called with VID 0x1d6b, PID 0x1
Get config desc. 0 failed
usb_check_and_add() called with VID 0x51d, PID 0x2
Is a libusb HID device
usb_check_and_add() called with VID 0x765, PID 0x5020
Is a libusb HID device
usb_check_and_add() called with VID 0x1d6b, PID 0x1
Get config desc. 0 failed
usb_check_and_add() called with VID 0x1d6b, PID 0x1
Get config desc. 0 failed
usb_check_and_add() called with VID 0x1d6b, PID 0x2
Get config desc. 0 failed
usb_check_and_add() called with VID 0x409, PID 0x5a
usb_check_and_add() called with VID 0x409, PID 0x2ba
Is a libusb HID device
usb_check_and_add() called with VID 0x5e3, PID 0x606
usb_check_and_add() called with VID 0x403, PID 0x6001
usb_check_and_add() called with VID 0x11b0, PID 0x6178
usb_check_and_add() called with VID 0xbda, PID 0x8187
found HID device 
'\\?\hid#vid_0409&pid_02ba#7&15c328d2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}',
 inst 3308 but not one we're looking for
found HID device 
'\\?\hid#vid_051d&pid_0002#6&344a8865&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}',
 inst 3392 but not one we're looking for
found HID device 
'\\?\hid#vid_0765&pid_5020#6&50181ee&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}',
 inst 3476 that we're looking for
i1d3: About to init coms
i1d3: About to init HID
icoms: About to set hid port characteristics
icoms: About to open the USB port
icoms: HID port needs opening
icoms: About to open HID port 'hid:/3476 (Xrite i1 DisplayPro, ColorMunki 
Display)'
icoms: HID port is now open
icoms: hid port characteristics set ok
icoms: About to return hid read 0 bytes, ICOM err 0x2000
i1d3: Sending cmd 'GetStatus' args '00 01 00 00 00 00 00 00' ICOM err 0x0
i1d3: Reading response  '00 00 00 07 00 00 00 00' ICOM err 0x0
i1d3: checkstats got OK
i1d3: init coms has suceeded
i1d3: About to init instrument
i1d3: Sending cmd 'GetStatus' args '00 01 00 00 00 00 00 00' ICOM err 0x0
i1d3: Reading response  '00 00 00 07 00 00 00 00' ICOM err 0x0
i1d3: checkstats got OK
i1d3: Sending cmd 'GetProductName' args '00 10 00 00 00 00 00 00' ICOM err 0x0
i1d3: Reading response  '00 00 69 31 44 69 73 70' ICOM err 0x0
i1d3: get prodname got 'i1Display3 '
i1d3: Sending cmd 'GetProductType' args '00 11 00 00 00 00 00 00' ICOM err 0x0
i1d3: Reading response  '00 00 00 01 00 00 00 00' ICOM err 0x0
i1d3: get_prodtype got 0x1
i1d3: Sending cmd 'GetFirmwareVersion' args '00 12 00 00 00 00 00 00' ICOM err 
0x0
i1d3: Reading response  '00 00 76 31 2e 30 31 20' ICOM err 0x0
i1d3: get firmver got 'v1.01 '
i1d3: Sending cmd 'GetFirmwareDate' args '00 13 00 00 00 00 00 00' ICOM err 0x0
i1d3: Reading response  '00 00 31 32 41 70 72 31' ICOM err 0x0
i1d3: get firmdate got '12Apr11'
i1d3: Sending cmd 'GetLockedStatus' args '00 20 00 00 00 00 00 00' ICOM err 0x0
i1d3: Reading response  '00 00 00 01 05 00 00 00' ICOM err 0x0
i1d3: lock_status got Locked
i1d3: Unlock:
i1d3: Sending cmd 'GetLockChallenge' args '99 00 00 00 00 00 00 00' ICOM err 0x0
i1d3: Reading response  '00 99 3a 00 40 ea 07 91' ICOM err 0x0
i1d3: Sending cmd 'SendLockResponse' args '9a 00 00 00 00 00 00 00' ICOM err 0x0
i1d3: Reading response  '00 9a fa 00 00 00 00 00' ICOM err 0x0
i1d3: Trying next unlock key
i1d3: Sending cmd 'GetLockChallenge' args '99 00 00 00 00 00 00 00' ICOM err 0x0
i1d3: Reading response  '00 99 bc 4f 40 a5 48 de' ICOM err 0x0
i1d3: Sending cmd 'SendLocSetting up the instrument
kResponse' args '9a 00 00 00 00 00 00 00' ICOM err 0x0
i1d3: Reading response  '00 9a fa 00 00 00 00 00' ICOM err 0x0
i1d3: Trying next unlock key
i1d3: init coms failed with rv = 0x601
init_inst returned 'Communication protocol breakdown' (Don't know unlock code 
for device)
new_disprd failed because init_inst failed
icoms: delete called
icoms: closing port
hid_close_port() called
hid port has been released and closed
dispcal: Error - new_disprd() failed with 'Instrument Access Failed'

Other related posts: