AUTO USE DEVICE does not always connect Kodak i2400 Scanner

Hi,

I have the following setup

Kodak i2400 <---> Synology DS 214 (Virtual Here Server 2.8.1) <---> Windows Terminal Server 2K8R2 (running Virtual Here Client 3.5.5 as Service)
Cannon IPxxx <---^

The printer and the scanner is added with "AUTO USE DEVICE," on the Terminal Server.
The printer is always automatically recognized and connected when it gets powered up but the scanner does not.
Sometimes it is recognized and connected and sometimes it is only recognized ( "LIST" show it always with same ID) but it's not automatically connected. When I rerun "AUTO USE DEVICE," it gets connected and auto connection so working for some while.

Any ideas for a solution?

#2

If a device cannot be auto connected for some reason (e.g some error condition in the device) the virtualhere client *will turn off* auto use.

It does this so it doesn't get into an infinite loop trying to use the device over and over due to an error condition.

So what i think is happening is that there is an error condition trying to use the device (take a o look in the Synology DSM ->Package Center -> VirtualHere -> View Log and it might say something like "BIND_ERROR" in there.

The device resets itself or somehow clears its error condition and it can be communicated again when you do do AUTO USE again, it works.

As to why the device is returning an error, this is a bit difficult to determine in synology because they dont have accessable kernel log files...

#3

This could be the reason. I found the following in the log:

Wed Apr 27 11:47:47 2016 LOG_INFO Connection 7 remotely disconnected gracefully (rx msg size)
Wed Apr 27 11:47:47 2016 LOG_INFO Device 231 UNBOUND from connection 7
Wed Apr 27 11:47:47 2016 LOG_INFO Device 233 UNBOUND from connection 7
Wed Apr 27 11:47:47 2016 LOG_INFO Device 234 UNBOUND from connection 7
Wed Apr 27 11:47:47 2016 LOG_INFO Connection 7 successfully removed (reason:timeout)
Wed Apr 27 11:47:48 2016 LOG_DEBUG 192.168.50.139 connected
Wed Apr 27 11:47:48 2016 LOG_INFO Device 231 BOUND to connection 8
Wed Apr 27 11:47:48 2016 LOG_INFO Device 233 BOUND to connection 8
Wed Apr 27 11:47:48 2016 LOG_ERR Error -1 resetting device 0x040a/0x601c for capture
Wed Apr 27 11:47:48 2016 LOG_ERR Error binding device 234 to connection 8, BIND_ERROR
Wed Apr 27 11:47:50 2016 LOG_INFO Unmanaging device 234
Wed Apr 27 11:47:50 2016 LOG_INFO Found High speed device [040a:601c] "KODAK , i2400 SCANNER" at address 234

#4

ok, looks like the usb device is not handling a RESET signal. A reset signal is sent to the device to reset it to its default state before it shared via virtualhere. Its not a critical function so you can turn that off by right clicking on on the device and selecting "Custom Event Handler..." and entering exactly this line

onReset.$VENDOR_ID$.$PRODUCT_ID$=

then pressing OK. Now try to use the device and see if it works ok. If there are still issues, you should remove that RESET workaround above by right clicking again on the device and selecting "Custom Event Handler..." and entering

onReset.$VENDOR_ID$.$PRODUCT_ID$=REMOVE

that will remove the special quirk..But hopefully disabling the initial reset should help the issue

#5

Is this also working when VirtualHere is running as a service?
Because API does not provide commands to set events?

#6

ok, i just updated the client to accept custom events via the api, download 3.6.0 from this website

to install:

1. Uninstall the old service by starting a command prompt with administrator permissions then typing vhui64.exe -u to uninstall the service

2. Copy the new version of the client over the old vhui64.exe binary

3. install the service by typing vhui64.exe -i

now do vhui64.exe -t list to find the address of the scanner e.g synology.115 and do

vhui64.exe -t "CUSTOM EVENT,synology.115,onReset.$VENDOR_ID$.$PRODUCT_ID$="