Andrew Lunn wrote:
Hi Frank
I worked on the Linux kernel module for the USB serial interface.
Attached is a patch that allows it to compile with 2.6.26-rc9. The
patch also handles the device when it is in ACM mode. I found that
Linux attaches a device to the ACM interface which just has an
interrupt endpoint. This device is useless. By adding a probe function
i can detect this interface and tell the usb-serial layer to ignore
it.
Please could you test this patch and let me know if it works for
you. If so, i will commit it.
Thanks
Andrew
Hello Andrew,
My apologies for taking so long getting back to you on this. I tried the
patch quickly, but had three problems:
1. It didn't apply cleanly. Did you add header comments to my original
file before generating the patch?
2. The functions usb_endpoint_is_bulk_in() and
usb_endpoint_is_bulk_out() seem to have appeared in the kernel fairly
recently. My development machine is (an aging) Fedora 6, with kernel
2.6.18-1. The driver didn't compile on this machine. It did, however
compile on a Fedora 8 server that I have (2.6.24.3-12).
3. There appears to be a small bug. At the bottom of the probe function,
there's a check:
if (!num_bulk_out || !num_bulk_out) {
info("Ignoring interface, insufficient endpoints");
return -ENODEV;
}
should that read:
if (!num_bulk_in || !num_bulk_out) {
?
Do you want to keep going with this or throw it back to me? If you want
me to look into it, please send the whole of the current
ecos_usbserial.c file that you have.
Frank