15e4f5c78SDavid du Colombier enum { 25e4f5c78SDavid du Colombier /* flavours of the device */ 3*80e9508eSDavid du Colombier TypeH, 45e4f5c78SDavid du Colombier TypeHX, 5*80e9508eSDavid du Colombier TypeUnk, 6*80e9508eSDavid du Colombier 7*80e9508eSDavid du Colombier RevH = 0x0202, 8*80e9508eSDavid du Colombier RevX = 0x0300, 9*80e9508eSDavid du Colombier RevHX = 0x0400, 10*80e9508eSDavid du Colombier Rev1 = 0x0001, 115e4f5c78SDavid du Colombier 125e4f5c78SDavid du Colombier /* usbcmd parameters */ 135e4f5c78SDavid du Colombier SetLineReq = 0x20, 145e4f5c78SDavid du Colombier 155e4f5c78SDavid du Colombier SetCtlReq = 0x22, 165e4f5c78SDavid du Colombier 175e4f5c78SDavid du Colombier BreakReq = 0x23, 185e4f5c78SDavid du Colombier BreakOn = 0xffff, 195e4f5c78SDavid du Colombier BreakOff = 0x0000, 205e4f5c78SDavid du Colombier 215e4f5c78SDavid du Colombier GetLineReq = 0x21, 225e4f5c78SDavid du Colombier 235e4f5c78SDavid du Colombier VendorWriteReq = 0x01, /* BUG: is this a standard request? */ 245e4f5c78SDavid du Colombier VendorReadReq = 0x01, 255e4f5c78SDavid du Colombier 26*80e9508eSDavid du Colombier ParamReqSz = 7, 27*80e9508eSDavid du Colombier VendorReqSz = 10, 285e4f5c78SDavid du Colombier 295e4f5c78SDavid du Colombier /* status read from interrupt endpoint */ 305e4f5c78SDavid du Colombier DcdStatus = 0x01, 315e4f5c78SDavid du Colombier DsrStatus = 0x02, 325e4f5c78SDavid du Colombier BreakerrStatus = 0x04, 335e4f5c78SDavid du Colombier RingStatus = 0x08, 345e4f5c78SDavid du Colombier FrerrStatus = 0x10, 355e4f5c78SDavid du Colombier ParerrStatus = 0x20, 365e4f5c78SDavid du Colombier OvererrStatus = 0x40, 375e4f5c78SDavid du Colombier CtsStatus = 0x80, 385e4f5c78SDavid du Colombier 39*80e9508eSDavid du Colombier DcrGet = 0x80, 40*80e9508eSDavid du Colombier DcrSet = 0x00, 415e4f5c78SDavid du Colombier 42*80e9508eSDavid du Colombier Dcr0Idx = 0x00, 43*80e9508eSDavid du Colombier 44*80e9508eSDavid du Colombier Dcr0Init = 0x0001, 45*80e9508eSDavid du Colombier Dcr0HwFcH = 0x0040, 46*80e9508eSDavid du Colombier Dcr0HwFcX = 0x0060, 47*80e9508eSDavid du Colombier 48*80e9508eSDavid du Colombier Dcr1Idx = 0x01, 49*80e9508eSDavid du Colombier 50*80e9508eSDavid du Colombier Dcr1Init = 0x0000, 515e4f5c78SDavid du Colombier Dcr1InitH = 0x0080, 525e4f5c78SDavid du Colombier Dcr1InitX = 0x0000, 53*80e9508eSDavid du Colombier 54*80e9508eSDavid du Colombier Dcr2Idx = 0x02, 55*80e9508eSDavid du Colombier 565e4f5c78SDavid du Colombier Dcr2InitH = 0x0024, 575e4f5c78SDavid du Colombier Dcr2InitX = 0x0044, 58*80e9508eSDavid du Colombier 59*80e9508eSDavid du Colombier PipeDSRst = 0x08, 60*80e9508eSDavid du Colombier PipeUSRst = 0x09, 61*80e9508eSDavid du Colombier 625e4f5c78SDavid du Colombier }; 635e4f5c78SDavid du Colombier 645e4f5c78SDavid du Colombier enum { 655e4f5c78SDavid du Colombier PL2303Vid = 0x067b, 665e4f5c78SDavid du Colombier PL2303Did = 0x2303, 675e4f5c78SDavid du Colombier PL2303DidRSAQ2 = 0x04bb, 685e4f5c78SDavid du Colombier PL2303DidDCU11 = 0x1234, 695e4f5c78SDavid du Colombier PL2303DidPHAROS = 0xaaa0, 705e4f5c78SDavid du Colombier PL2303DidRSAQ3 = 0xaaa2, 715e4f5c78SDavid du Colombier PL2303DidALDIGA = 0x0611, 725e4f5c78SDavid du Colombier PL2303DidMMX = 0x0612, 735e4f5c78SDavid du Colombier PL2303DidGPRS = 0x0609, 745e4f5c78SDavid du Colombier 755e4f5c78SDavid du Colombier ATENVid = 0x0557, 765e4f5c78SDavid du Colombier ATENVid2 = 0x0547, 775e4f5c78SDavid du Colombier ATENDid = 0x2008, 785e4f5c78SDavid du Colombier 795e4f5c78SDavid du Colombier IODATAVid = 0x04bb, 805e4f5c78SDavid du Colombier IODATADid = 0x0a03, 815e4f5c78SDavid du Colombier IODATADidRSAQ5 = 0x0a0e, 825e4f5c78SDavid du Colombier 835e4f5c78SDavid du Colombier ELCOMVid = 0x056e, 845e4f5c78SDavid du Colombier ELCOMDid = 0x5003, 855e4f5c78SDavid du Colombier ELCOMDidUCSGT = 0x5004, 865e4f5c78SDavid du Colombier 875e4f5c78SDavid du Colombier ITEGNOVid = 0x0eba, 885e4f5c78SDavid du Colombier ITEGNODid = 0x1080, 895e4f5c78SDavid du Colombier ITEGNODid2080 = 0x2080, 905e4f5c78SDavid du Colombier 915e4f5c78SDavid du Colombier MA620Vid = 0x0df7, 925e4f5c78SDavid du Colombier MA620Did = 0x0620, 935e4f5c78SDavid du Colombier 945e4f5c78SDavid du Colombier RATOCVid = 0x0584, 955e4f5c78SDavid du Colombier RATOCDid = 0xb000, 965e4f5c78SDavid du Colombier 975e4f5c78SDavid du Colombier TRIPPVid = 0x2478, 985e4f5c78SDavid du Colombier TRIPPDid = 0x2008, 995e4f5c78SDavid du Colombier 1005e4f5c78SDavid du Colombier RADIOSHACKVid = 0x1453, 1015e4f5c78SDavid du Colombier RADIOSHACKDid = 0x4026, 1025e4f5c78SDavid du Colombier 1035e4f5c78SDavid du Colombier DCU10Vid = 0x0731, 1045e4f5c78SDavid du Colombier DCU10Did = 0x0528, 1055e4f5c78SDavid du Colombier 1065e4f5c78SDavid du Colombier SITECOMVid = 0x6189, 1075e4f5c78SDavid du Colombier SITECOMDid = 0x2068, 1085e4f5c78SDavid du Colombier 1095e4f5c78SDavid du Colombier /* Alcatel OT535/735 USB cable */ 1105e4f5c78SDavid du Colombier ALCATELVid = 0x11f7, 1115e4f5c78SDavid du Colombier ALCATELDid = 0x02df, 1125e4f5c78SDavid du Colombier 1135e4f5c78SDavid du Colombier /* Samsung I330 phone cradle */ 1145e4f5c78SDavid du Colombier SAMSUNGVid = 0x04e8, 1155e4f5c78SDavid du Colombier SAMSUNGDid = 0x8001, 1165e4f5c78SDavid du Colombier 1175e4f5c78SDavid du Colombier SIEMENSVid = 0x11f5, 1185e4f5c78SDavid du Colombier SIEMENSDidSX1 = 0x0001, 1195e4f5c78SDavid du Colombier SIEMENSDidX65 = 0x0003, 1205e4f5c78SDavid du Colombier SIEMENSDidX75 = 0x0004, 1215e4f5c78SDavid du Colombier SIEMENSDidEF81 = 0x0005, 1225e4f5c78SDavid du Colombier 1235e4f5c78SDavid du Colombier SYNTECHVid = 0x0745, 1245e4f5c78SDavid du Colombier SYNTECHDid = 0x0001, 1255e4f5c78SDavid du Colombier 1265e4f5c78SDavid du Colombier /* Nokia CA-42 Cable */ 1275e4f5c78SDavid du Colombier NOKIACA42Vid = 0x078b, 1285e4f5c78SDavid du Colombier NOKIACA42Did = 0x1234, 1295e4f5c78SDavid du Colombier 1305e4f5c78SDavid du Colombier /* CA-42 CLONE Cable www.ca-42.com chipset: Prolific Technology Inc */ 1315e4f5c78SDavid du Colombier CA42CA42Vid = 0x10b5, 1325e4f5c78SDavid du Colombier CA42CA42Did = 0xac70, 1335e4f5c78SDavid du Colombier 1345e4f5c78SDavid du Colombier SAGEMVid = 0x079b, 1355e4f5c78SDavid du Colombier SAGEMDid = 0x0027, 1365e4f5c78SDavid du Colombier 1375e4f5c78SDavid du Colombier /* Leadtek GPS 9531 (ID 0413:2101) */ 1385e4f5c78SDavid du Colombier LEADTEKVid = 0x0413, 1395e4f5c78SDavid du Colombier LEADTEK9531Did = 0x2101, 1405e4f5c78SDavid du Colombier 1415e4f5c78SDavid du Colombier /* USB GSM cable from Speed Dragon Multimedia, Ltd */ 1425e4f5c78SDavid du Colombier SPEEDDRAGONVid = 0x0e55, 1435e4f5c78SDavid du Colombier SPEEDDRAGONDid = 0x110b, 1445e4f5c78SDavid du Colombier 1455e4f5c78SDavid du Colombier /* DATAPILOT Universal-2 Phone Cable */ 1465e4f5c78SDavid du Colombier BELKINVid = 0x050d, 1475e4f5c78SDavid du Colombier BELKINDid = 0x0257, 1485e4f5c78SDavid du Colombier 1495e4f5c78SDavid du Colombier /* Belkin "F5U257" Serial Adapter */ 1505e4f5c78SDavid du Colombier DATAPILOTU2Vid = 0x0731, 1515e4f5c78SDavid du Colombier DATAPILOTU2Did = 0x2003, 1525e4f5c78SDavid du Colombier 1535e4f5c78SDavid du Colombier ALCORVid = 0x058F, 1545e4f5c78SDavid du Colombier ALCORDid = 0x9720, 1555e4f5c78SDavid du Colombier 1565e4f5c78SDavid du Colombier /* Willcom WS002IN Data Driver (by NetIndex Inc.) */, 1575e4f5c78SDavid du Colombier WS002INVid = 0x11f6, 1585e4f5c78SDavid du Colombier WS002INDid = 0x2001, 1595e4f5c78SDavid du Colombier 1605e4f5c78SDavid du Colombier /* Corega CG-USBRS232R Serial Adapter */, 1615e4f5c78SDavid du Colombier COREGAVid = 0x07aa, 1625e4f5c78SDavid du Colombier COREGADid = 0x002a, 1635e4f5c78SDavid du Colombier 1645e4f5c78SDavid du Colombier /* Y.C. Cable U.S.A., Inc - USB to RS-232 */, 1655e4f5c78SDavid du Colombier YCCABLEVid = 0x05ad, 1665e4f5c78SDavid du Colombier YCCABLEDid = 0x0fba, 1675e4f5c78SDavid du Colombier 1685e4f5c78SDavid du Colombier /* "Superial" USB - Serial */, 1695e4f5c78SDavid du Colombier SUPERIALVid = 0x5372, 1705e4f5c78SDavid du Colombier SUPERIALDid = 0x2303, 1715e4f5c78SDavid du Colombier 1725e4f5c78SDavid du Colombier /* Hewlett-Packard LD220-HP POS Pole Display */, 1735e4f5c78SDavid du Colombier HPVid = 0x03f0, 1745e4f5c78SDavid du Colombier HPLD220Did = 0x3524, 1755e4f5c78SDavid du Colombier }; 1764d52e0f0SDavid du Colombier 1774d52e0f0SDavid du Colombier extern Serialops plops; 1784d52e0f0SDavid du Colombier int plmatch(char *info); 179