Hello Greg ,
Thanks a lot for your comments on the queries .
I have a few more -
1 . How should we handle this case .
The URB submitted on BULK OUT returns status in the
write_bulk_callback other than 0 , -ECONNRESET,-ENOENT,-ESHUTDOWN
We should resubmit thats correct but why should the transfer_buffer
length be changed
//From pl2303.c
/* error in the urb, so we have to resubmit it */
if (serial_paranoia_check (port->serial, __FUNCTION__))
{ return;
}
dbg("%s - Overflow in write", __FUNCTION__);
dbg("%s - nonzero write bulk status received: %d",
__FUNCTION__, urb->status);
port->write_urb->transfer_buffer_length = 1;
port->write_urb->dev = port->serial->dev;
result = usb_submit_urb (port->write_urb, GFP_ATOMIC);
if (result)
dev_err(&urb->dev->dev, "%s - failed
resubmitting write urb, error %d\n", __FUNCTION__, result);
return;
2. For a particular USB-Serial devce how do we get the baud divisor
corresponding to the baud rate.
( calculation details if any with an example would be really helpful or
any pointers to receive
More info on the same )
3. When close is called then in the driver I have to wait till the data
is drained from the device .How do I calculate the delay to wait on
assuming that there is no way I can check if the device buffers are
drained in the device that I am programming .
Regards,
Monali.
> -----Original Message-----
> From: Greg KH [mailto:[EMAIL PROTECTED]
> Sent: Saturday, March 19, 2005 12:38 PM
> To: Monali Vishnu Katkar (WT01 - EMBEDDED & PRODUCT
> ENGINEERING SOLUTIONS)
> Cc: [email protected]
> Subject: Re: [linux-usb-devel] Regarding USB to Serial bridge driver
>
>
> On Fri, Mar 18, 2005 at 11:24:37AM +0530,
> [EMAIL PROTECTED] wrote:
> > Hello,
> >
> > I am writing a driver for USB to Serial converter /bridge
> > having 4 serial ports .
> >
> > I was going through the existing USB to Serial driver . I
> > have a few questions related to those . I would be glad to
> > receive responses to my queries .
> >
> > 1. "num_interrupt_in" field in the usb_serial_device_type
> > structure is for the device and not for the port .
>
> Yes.
>
> > I mean if there is a device which has INTERRUPT IN and BULK
> > OUT endpoints per port and has 4 such ports I would decalare
> > usb_serial_device_type with the fields poplulated as follows
> > .num_interrupt_in = 4,
> > .num_bulk_in = 0,
> > .num_bulk_out = 4,
> > .num_ports = 4,
>
> Yes.
>
> > 2. what are the tx Credits for the edgeport adapter ? I
> > really didnt get a feel of what it means .
>
> That's a device specific thing. It has to do with how the
> device handles how much room the device has left in its
> buffer. If your device doesn't have such a thing, don't
> worry about it.
>
> > 3. Do I need to maintain a buffer at the driver level . What
> > governs the desicion of having a buffer at the driver level.
> > In many sample drivers I found a separate buffer - e.g
> > pl2303.c , kobil_sct.c .
>
> It all depends on your device, and how fast you want the data
> to go through it, and fixing some fun tty corner cases where
> the usb-serial driver dropps data, but the tty layer doesn't
> think it was allowed to do that. See the archives for more
> details on this if you are curious.
>
> > I guess it should be a good since we can only transmit 64
> > bytes ( maxPacketSize of endpoint ) in an URB and the
> > applications talking to serial device may send more bytes
> than these .
>
> Not necessarily, you can always return a short write, that's
> legal. It's when the above mentioned condition happens that
> you can not ignore it.
>
> > 4. What should be the criteria used to select the size of
> > the buffer .
>
> Whatever you think will work best.
>
> > 5. What is the significance of this step in "kobil_write()"
> > and "kobil_read_int_callback"
> >
> > // someone sets the dev to 0 if the close method has been called
> > port->interrupt_in_urb->dev = port->serial->dev;
>
> Don't really know.
>
> Hope this helps,
>
> greg k-h
>
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id396&op=click
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel