This is the mail archive of the ecos-patches@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: USB serial linux kernel module


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]