Sunday, September 22, 2013

Prolific PL2303: The Cheapest and now declared fake

     Prolific i guess this name is familiar with most of my friends who always peek into the device manager, yes this is the most common USB Controller used in mobile phone, cameras and lot more things, it may be the oldest usb interface chip maker.

I was searching for a USB to TTL converter for my project needs, nobody prefer to use a IC with inbuilt usb transreceiver which creates extra coding overhead. The first choice is FT232 or FT232Rl from FTDI , it is the most recent and supports every OS and available everywhere, although cost is little high. I guess its most reliable than any other chips.

Second one is TUSB1105 /1106/3410 , moderate cost, drivers available for windows only, used in mobile phone and scientific instruments

Silicon lab CP2102, same as TI's chip they have support for windows and in built driver in linux kernel (written by opensource contributor, not supported by silicon lab)

CH341 from Nanjing Qinheng Electronics used in BAFO-810 USB Serial Converter

PL2303 from Prolific we have already discussd about it, this is the cheapest

FT232RL only chip costs INR 300/-
where PL2303  fully assembled device with connectors and lamination Costs INR 200/- only

Why is it selling so cheap ?
Ans: Some chinease companies has replicated it, and to stop them Prolific modified the driver(inbuilt in windows 7 and 8) to reject the replicated designs, throw a error code 10, now the user can't find which is original and which is fake on a online shopping site, so nobody purchasing these, and they have to sell :P

Compare Prices of CP2102 and PL2303HX


Prolific has a warning on their site and datasheets:

Warning Notice:
Please be warned that counterfeit (fake) 
PL-2303HX (Chip Rev A) USB to Serial Controller ICs using Prolific's trademark logo, brandname, and device drivers, were being sold in the China market. Counterfeit IC products show exactly the same outside chip markings but generally are of poor quality and causes Windows driver compatibility issues (Yellow Mark Error Code 10 in Device Manager). We issue this warning to all our customers and consumers to avoid confusion and false purchase.
 

The So called fake 
More USB-Serial Converter Chips:
MCP2200 from Microchip with extra GPIOs
USB-232 TM from firmwarefactory.com sold by farnell. Driver-free USB to asynchronous serial UART interface as it works as a Plug-n-play HID device, its a firmware for PIC18LF2450, detail datasheet available at
http://www.farnell.com/datasheets/680538.pdf
Other Chips
Renesas Application Note For UART-Serial

References:
http://www.eevblog.com/forum/reviews/note-how-to-not-get-scammed-with-prolific-(pl2303)-usb-serial-adapters/
http://vk1od.net/software/ATB/PL2303.htm

Sunday, November 25, 2012

FTDI FT232

I dont have this device, ive got this from arduino forum. Thanks to the user who posted this.
Data collected by USBView utility, we can get the USB connection tree of the end device.

This can be configured both as CDC or CDC-ACM(Communication Device Class- Abstract Control Model)

Device Descriptor:
•      bcdUSB:            0x0200
•      bDeviceClass:            0x00
•      bDeviceSubClass:      0x00
•      bDeviceProtocol:      0x00
•      bMaxPacketSize0:      0x08 (8)
•      idVendor:            0x0403 (Future Technology Devices International Limited)
•      idProduct:            0x6001
•      bcdDevice:            0x0600
•      iManufacturer:            0x01
•      0x0409:                  "FTDI"
•      iProduct:            0x02
•      0x0409:                  "FT232R USB UART"
•      0x0409:                  "FT232R USB UART"
•      iSerialNumber:            0x03
•      0x0409:                  "A7005chz"
•      bNumConfigurations:       0x01
•      ConnectionStatus:      DeviceConnected
•      Current Config Value:      0x01
•      Device Bus Speed:      Full
•      Device Address:            0x01
•      Open Pipes:            2
Endpoint Descriptor:
•      bEndpointAddress:      0x81  IN
•      Transfer Type:            Bulk
•      wMaxPacketSize:      0x0040 (64)
•      bInterval:            0x00
Endpoint Descriptor:
•      bEndpointAddress:      0x02  OUT
•      Transfer Type:            Bulk
•      wMaxPacketSize:      0x0040 (64)
•      bInterval:            0x00

Configuration Descriptor:
•      wTotalLength:             0x0020
•      bNumInterfaces:      0x01
•      bConfigurationValue:      0x01
•      iConfiguration:             0x00
•      bmAttributes:             0xA0 (Bus Powered Remote Wakeup)
•      MaxPower:             0x2D (90 Ma)
Interface Descriptor:
•      bInterfaceNumber:       0x00
•      bAlternateSetting:       0x00
•      bNumEndpoints:       0x02      
•      bInterfaceClass:             0xFF
•      bInterfaceSubClass:       0xFF
•      bInterfaceProtocol:      0xFF
•      iInterface:            0x02
•      0x0409:                  "FT232R USB UART"
•      0x0409:                  "FT232R USB UART"
Endpoint Descriptor:
•      bEndpointAddress:      0x81  IN
•      Transfer Type:            Bulk (Attr 02)
•      wMaxPacketSize:      0x0040 (64)
•      bInterval:            0x00
Endpoint Descriptor:
•      bEndpointAddress:      0x02  OUT
•      Transfer Type:            Bulk (Attr 02)
•      wMaxPacketSize:      0x0040 (64)
•      bInterval:            0x00

link to the Forum Post: http://arduino.cc/forum/index.php?topic=19927.0;wap2

Saturday, October 20, 2012

ZTE 3G Modem MF-190


Connection Status
Device connected
Current Configuration
1
Speed
High (480 Mbit/s)
Device Address
1
Number Of Open Pipes
7

Device Descriptor ZTE WCDMA Technologies MSM
Offset
Field
Size
Value
Description
0
bLength
1
12h
1
bDescriptorType
1
01h
Device
2
bcdUSB
2
0200h
USB Spec 2.0
4
bDeviceClass
1
00h
Class info in Ifc Descriptors
5
bDeviceSubClass
1
00h
6
bDeviceProtocol
1
00h
7
bMaxPacketSize0
1
40h
64 bytes
8
idVendor
2
19D2h
10
idProduct
2
0016h
12
bcdDevice
2
0000h
0.00
14
iManufacturer
1
03h
"ZTE,Incorporated"
15
iProduct
1
02h
"ZTE WCDMA Technologies MSM"
16
iSerialNumber
1
00h
17
bNumConfigurations
1
01h
Offset
Field
Size
Value
Description
0
bLength
1
0Ah
1
bDescriptorType
1
06h
Device Qualifier
2
bcdUSB
2
0200h
USB Spec 2.0
4
bDeviceClass
1
00h
Class info in Ifc Descriptors
5
bDeviceSubClass
1
00h
6
bDeviceProtocol
1
00h
7
bMaxPacketSize0
1
40h
64 bytes
8
bNumConfigurations
1
01h
9
bReserved
1
00h
Offset
Field
Size
Value
Description
0
bLength
1
09h
1
bDescriptorType
1
02h
Configuration
2
wTotalLength
2
0055h
4
bNumInterfaces
1
03h
5
bConfigurationValue
1
01h
6
iConfiguration
1
01h
"ZTE Configuration"
7
bmAttributes
1
E0h
Self Powered, Remote Wakeup
4..0: Reserved
...00000
5: Remote Wakeup
..1.....
Yes
6: Self Powered
.1......
Yes
7: Reserved (set to one)
(bus-powered for 1.0)
1.......
8
bMaxPower
1
FAh
500 mA
Interface Descriptor 0/0 Vendor-Specific, 2 Endpoints
Offset
Field
Size
Value
Description
0
bLength
1
09h
1
bDescriptorType
1
04h
Interface
2
bInterfaceNumber
1
00h
3
bAlternateSetting
1
00h
4
bNumEndpoints
1
02h
5
bInterfaceClass
1
FFh
Vendor-Specific
6
bInterfaceSubClass
1
FFh
7
bInterfaceProtocol
1
FFh
8
iInterface
1
00h
Endpoint Descriptor 81 1 In, Bulk, 512 bytes
Offset
Field
Size
Value
Description
0
bLength
1
07h
1
bDescriptorType
1
05h
Endpoint
2
bEndpointAddress
1
81h
1 In
3
bmAttributes
1
02h
Bulk
1..0: Transfer Type
......10
Bulk
7..2: Reserved
000000..
4
wMaxPacketSize
2
0200h
512 bytes
6
bInterval
1
20h
Endpoint Descriptor 01 1 Out, Bulk, 512 bytes
Offset
Field
Size
Value
Description
0
bLength
1
07h
1
bDescriptorType
1
05h
Endpoint
2
bEndpointAddress
1
01h
1 Out
3
bmAttributes
1
02h
Bulk
1..0: Transfer Type
......10
Bulk
7..2: Reserved
000000..
4
wMaxPacketSize
2
0200h
512 bytes
6
bInterval
1
20h
Interface Descriptor 1/0 Vendor-Specific, 2 Endpoints
Offset
Field
Size
Value
Description
0
bLength
1
09h
1
bDescriptorType
1
04h
Interface
2
bInterfaceNumber
1
01h
3
bAlternateSetting
1
00h
4
bNumEndpoints
1
02h
5
bInterfaceClass
1
FFh
Vendor-Specific
6
bInterfaceSubClass
1
FFh
7
bInterfaceProtocol
1
FFh
8
iInterface
1
00h
Endpoint Descriptor 82 2 In, Bulk, 512 bytes
Offset
Field
Size
Value
Description
0
bLength
1
07h
1
bDescriptorType
1
05h
Endpoint
2
bEndpointAddress
1
82h
2 In
3
bmAttributes
1
02h
Bulk
1..0: Transfer Type
......10
Bulk
7..2: Reserved
000000..
4
wMaxPacketSize
2
0200h
512 bytes
6
bInterval
1
20h
Endpoint Descriptor 02 2 Out, Bulk, 512 bytes
Offset
Field
Size
Value
Description
0
bLength
1
07h
1
bDescriptorType
1
05h
Endpoint
2
bEndpointAddress
1
02h
2 Out
3
bmAttributes
1
02h
Bulk
1..0: Transfer Type
......10
Bulk
7..2: Reserved
000000..
4
wMaxPacketSize
2
0200h
512 bytes
6
bInterval
1
20h
Interface Descriptor 2/0 Vendor-Specific, 3 Endpoints
Offset
Field
Size
Value
Description
0
bLength
1
09h
1
bDescriptorType
1
04h
Interface
2
bInterfaceNumber
1
02h
3
bAlternateSetting
1
00h
4
bNumEndpoints
1
03h
5
bInterfaceClass
1
FFh
Vendor-Specific
6
bInterfaceSubClass
1
FFh
7
bInterfaceProtocol
1
FFh
8
iInterface
1
00h
Endpoint Descriptor 83 3 In, Interrupt, 2 ms
Offset
Field
Size
Value
Description
0
bLength
1
07h
1
bDescriptorType
1
05h
Endpoint
2
bEndpointAddress
1
83h
3 In
3
bmAttributes
1
03h
Interrupt
1..0: Transfer Type
......11
Interrupt
7..2: Reserved
000000..
4
wMaxPacketSize
2
0040h
64 bytes
6
bInterval
1
05h
2 ms
Endpoint Descriptor 84 4 In, Bulk, 512 bytes
Offset
Field
Size
Value
Description
0
bLength
1
07h
1
bDescriptorType
1
05h
Endpoint
2
bEndpointAddress
1
84h
4 In
3
bmAttributes
1
02h
Bulk
1..0: Transfer Type
......10
Bulk
7..2: Reserved
000000..
4
wMaxPacketSize
2
0200h
512 bytes
6
bInterval
1
20h
Endpoint Descriptor 03 3 Out, Bulk, 512 bytes
Offset
Field
Size
Value
Description
0
bLength
1
07h
1
bDescriptorType
1
05h
Endpoint
2
bEndpointAddress
1
03h
3 Out
3
bmAttributes
1
02h
Bulk
1..0: Transfer Type
......10
Bulk
7..2: Reserved
000000..
4
wMaxPacketSize
2
0200h
512 bytes
6
bInterval
1
20h
Offset
Field
Size
Value
Description
0
bLength
1
09h
1
bDescriptorType
1
07h
Other Speed Configuration
2
wTotalLength
2
0055h
4
bNumInterfaces
1
03h
5
bConfigurationValue
1
01h
6
iConfiguration
1
01h
"ZTE Configuration"
7
bmAttributes
1
E0h
Self Powered, Remote Wakeup
4..0: Reserved
...00000
5: Remote Wakeup
..1.....
Yes
6: Self Powered
.1......
Yes
7: Reserved (set to one)
(bus-powered for 1.0)
1.......
8
bMaxPower
1
FAh
500 mA
Interface Descriptor 0/0 Vendor-Specific, 2 Endpoints
Offset
Field
Size
Value
Description
0
bLength
1
09h
1
bDescriptorType
1
04h
Interface
2
bInterfaceNumber
1
00h
3
bAlternateSetting
1
00h
4
bNumEndpoints
1
02h
5
bInterfaceClass
1
FFh
Vendor-Specific
6
bInterfaceSubClass
1
FFh
7
bInterfaceProtocol
1
FFh
8
iInterface
1
00h
Endpoint Descriptor 81 1 In, Bulk, 64 bytes
Offset
Field
Size
Value
Description
0
bLength
1
07h
1
bDescriptorType
1
05h
Endpoint
2
bEndpointAddress
1
81h
1 In
3
bmAttributes
1
02h
Bulk
1..0: Transfer Type
......10
Bulk
7..2: Reserved
000000..
4
wMaxPacketSize
2
0040h
64 bytes
6
bInterval
1
20h
Endpoint Descriptor 01 1 Out, Bulk, 64 bytes
Offset
Field
Size
Value
Description
0
bLength
1
07h
1
bDescriptorType
1
05h
Endpoint
2
bEndpointAddress
1
01h
1 Out
3
bmAttributes
1
02h
Bulk
1..0: Transfer Type
......10
Bulk
7..2: Reserved
000000..
4
wMaxPacketSize
2
0040h
64 bytes
6
bInterval
1
20h
Interface Descriptor 1/0 Vendor-Specific, 2 Endpoints
Offset
Field
Size
Value
Description
0
bLength
1
09h
1
bDescriptorType
1
04h
Interface
2
bInterfaceNumber
1
01h
3
bAlternateSetting
1
00h
4
bNumEndpoints
1
02h
5
bInterfaceClass
1
FFh
Vendor-Specific
6
bInterfaceSubClass
1
FFh
7
bInterfaceProtocol
1
FFh
8
iInterface
1
00h
Endpoint Descriptor 82 2 In, Bulk, 64 bytes
Offset
Field
Size
Value
Description
0
bLength
1
07h
1
bDescriptorType
1
05h
Endpoint
2
bEndpointAddress
1
82h
2 In
3
bmAttributes
1
02h
Bulk
1..0: Transfer Type
......10
Bulk
7..2: Reserved
000000..
4
wMaxPacketSize
2
0040h
64 bytes
6
bInterval
1
20h
Endpoint Descriptor 02 2 Out, Bulk, 64 bytes
Offset
Field
Size
Value
Description
0
bLength
1
07h
1
bDescriptorType
1
05h
Endpoint
2
bEndpointAddress
1
02h
2 Out
3
bmAttributes
1
02h
Bulk
1..0: Transfer Type
......10
Bulk
7..2: Reserved
000000..
4
wMaxPacketSize
2
0040h
64 bytes
6
bInterval
1
20h
Interface Descriptor 2/0 Vendor-Specific, 3 Endpoints
Offset
Field
Size
Value
Description
0
bLength
1
09h
1
bDescriptorType
1
04h
Interface
2
bInterfaceNumber
1
02h
3
bAlternateSetting
1
00h
4
bNumEndpoints
1
03h
5
bInterfaceClass
1
FFh
Vendor-Specific
6
bInterfaceSubClass
1
FFh
7
bInterfaceProtocol
1
FFh
8
iInterface
1
00h
Endpoint Descriptor 83 3 In, Interrupt, 2 ms
Offset
Field
Size
Value
Description
0
bLength
1
07h
1
bDescriptorType
1
05h
Endpoint
2
bEndpointAddress
1
83h
3 In
3
bmAttributes
1
03h
Interrupt
1..0: Transfer Type
......11
Interrupt
7..2: Reserved
000000..
4
wMaxPacketSize
2
0040h
64 bytes
6
bInterval
1
05h
2 ms
Endpoint Descriptor 84 4 In, Bulk, 64 bytes
Offset
Field
Size
Value
Description
0
bLength
1
07h
1
bDescriptorType
1
05h
Endpoint
2
bEndpointAddress
1
84h
4 In
3
bmAttributes
1
02h
Bulk
1..0: Transfer Type
......10
Bulk
7..2: Reserved
000000..
4
wMaxPacketSize
2
0040h
64 bytes
6
bInterval
1
20h
Endpoint Descriptor 03 3 Out, Bulk, 64 bytes
Offset
Field
Size
Value
Description
0
bLength
1
07h
1
bDescriptorType
1
05h
Endpoint
2
bEndpointAddress
1
03h
3 Out
3
bmAttributes
1
02h
Bulk
1..0: Transfer Type
......10
Bulk
7..2: Reserved
000000..
4
wMaxPacketSize
2
0040h
64 bytes
6
bInterval
1
20h

Try usbsnoopy and usb_modeswitch on linux
This link may help you further http://phuihock.wordpress.com/2010/12/28/getting-zte-mf190-hsupa-usb-stick-to-work-in-ubuntu
http://blogger.ziesemer.com/2008/10/alltel-um175al-usb-evdo-ubuntu.html