Re: [PATCH] usb-serial: pl2303: add support for RATOC REX-USB60F

Atsushi Nemoto <[email protected]> Fri, 16 May 2008 17:05:50 +0900 (JST)
Newsgroups gmane.linux.kernel,gmane.linux.usb.general,gmane.linux.usb.devel
Message-ID <[email protected]>
On Fri, 18 Jan 2008 18:58:28 +0900, Akira Tsukamoto <[email protected]> wrote:
> pl2303: add support for RATOC REX-USB60F
> 
> This patch adds support for RATOC REX-USB60F Serial Adapters,
> which is widely used in Japan recently.
> 
> Signed-off-by: Akira Tsukamoto <[email protected]>
> ---
> 
> diff -uprX dontdiff linux-2.6.24-rc8.orig/drivers/usb/serial/pl2303.c linux-2.6.24-rc8/drivers/usb/serial/pl2303.c
> --- linux-2.6.24-rc8.orig/drivers/usb/serial/pl2303.c	2008-01-18 18:11:51.000000000 +0900
> +++ linux-2.6.24-rc8/drivers/usb/serial/pl2303.c	2008-01-18 18:43:28.000000000 +0900
> @@ -65,6 +65,7 @@ static struct usb_device_id id_table [] 
>  	{ USB_DEVICE(ITEGNO_VENDOR_ID, ITEGNO_PRODUCT_ID_2080) },
>  	{ USB_DEVICE(MA620_VENDOR_ID, MA620_PRODUCT_ID) },
>  	{ USB_DEVICE(RATOC_VENDOR_ID, RATOC_PRODUCT_ID) },
> + 	{ USB_DEVICE(RATOC_VENDOR_ID, RATOC_PRODUCT_ID_USB60F) },
>  	{ USB_DEVICE(TRIPP_VENDOR_ID, TRIPP_PRODUCT_ID) },
>  	{ USB_DEVICE(RADIOSHACK_VENDOR_ID, RADIOSHACK_PRODUCT_ID) },
>  	{ USB_DEVICE(DCU10_VENDOR_ID, DCU10_PRODUCT_ID) },

Hi.  I tried RATOC REX-USB60F with pl2303 driver and got oops in
pl2303_open().  The pl2303 expects a interrupt_in endpoint but my
device does not have interrupt_in.  So this line in pl2303_open()
cause oops.

	port->interrupt_in_urb->dev = serial->dev;

This device works fine with the ftdi_sio driver, with "vendor=0x584
product=0xb020" module option.  (0x584 is RATOC_VENDOR_ID and 0xb020
is RATOC_PRODUCT_ID_USB60F).


Is the pl2303 driver appropriate for this device?

Here is lsusb output:

Bus 001 Device 003: ID 0584:b020 RATOC System, Inc. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x0584 RATOC System, Inc.
  idProduct          0xb020 
  bcdDevice            4.00
  iManufacturer           1 RATOC Systems,Inc.
  iProduct                2 USB-Serial Converter
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              2 USB-Serial Converter
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)