On 01.12.2011 23:18, Burton Samograd wrote:
There is also a 'new' usbtmc driver that is included in the kernel sources. It matches the device using USB_INTERFACE_INFO(USB_CLASS_APP_SPEC, 3, 0) and USB_INTERFACE_INFO(USB_CLASS_APP_SPEC, 3, 1). I also modified this driver by setting vendor and productId to even match my device, but still without any luck getting the device to work; after a couple of reads from the device I would get timeout errors, or after writing all reads would return a timeout error (which was the exact same behaviour from the 'old' driver).
I should say that my attempts to control a USBTMC device (actually, USB488) have been rather discouraging at first. Any call to read, when the device have nothing to send, leads to errors and timeouts. Most frequently it happens in the case of wrong command (e.g. a typo).
Now I can successfully communicate with this device. At certain point I realized that I can use a scripting language if line buffering is set for the device file. Unfortunately, I do not know a way to check if the device is ready to send some data.
If I remember correctly, ioctl with USBTMC_IOCTL_CLEAR (INITIATE_CLEAR) should help for recovering from a error after the timeout in read.
-- Maxim Nikulin -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html