USB serial linux kernel module

Frank Pagliughi fpagliughi@mindspring.com
Fri Aug 8 18:15:00 GMT 2008


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



More information about the Ecos-patches mailing list