180e9508eSDavid du Colombier enum { 280e9508eSDavid du Colombier /* used by devices which don't provide their own Vid */ 380e9508eSDavid du Colombier FTVid = 0x0403, 480e9508eSDavid du Colombier 580e9508eSDavid du Colombier FTSheevaVid = 0x9E88, 680e9508eSDavid du Colombier FTSheevaDid = 0x9E8F, 73e5d0078SDavid du Colombier FTOpenRDUltDid = 0x9E90, 880e9508eSDavid du Colombier 980e9508eSDavid du Colombier FTSIODid = 0x8372, /* Product Id SIO appl'n of 8U100AX */ 1080e9508eSDavid du Colombier FT8U232AMDid = 0x6001, /* Similar device to SIO above */ 1180e9508eSDavid du Colombier FT8U232AMALTDid = 0x6006, /* FT's alternate Did for above*/ 1280e9508eSDavid du Colombier FT8U2232CDid = 0x6010, /* Dual channel device */ 1380e9508eSDavid du Colombier FTRELAISDid = 0xFA10, /* Relais device */ 1480e9508eSDavid du Colombier 1580e9508eSDavid du Colombier /* NF reader */ 1680e9508eSDavid du Colombier FTNFRICVid = 0x0DCD, 1780e9508eSDavid du Colombier FTNFRICDid = 0x0001, 1880e9508eSDavid du Colombier 1980e9508eSDavid du Colombier FTACTZWAVEDid = 0xF2D0, /* www.irtrans.de device */ 2080e9508eSDavid du Colombier 2180e9508eSDavid du Colombier /* 2280e9508eSDavid du Colombier * ACT Solutions HomePro ZWave interface 2380e9508eSDavid du Colombier * http://www.act-solutions.com/HomePro.htm) 2480e9508eSDavid du Colombier */ 2580e9508eSDavid du Colombier FTIRTRANSDid = 0xFC60, 2680e9508eSDavid du Colombier 2780e9508eSDavid du Colombier /* 2880e9508eSDavid du Colombier * www.thoughttechnology.com/ TT-USB 2980e9508eSDavid du Colombier */ 3080e9508eSDavid du Colombier FTTTUSBDid = 0xFF20, 3180e9508eSDavid du Colombier 3280e9508eSDavid du Colombier /* iPlus device */ 3380e9508eSDavid du Colombier FTIPLUSDid = 0xD070, 3480e9508eSDavid du Colombier 3580e9508eSDavid du Colombier /* www.crystalfontz.com devices */ 3680e9508eSDavid du Colombier FTXF632Did = 0xFC08, /* 632: 16x2 Character Display */ 3780e9508eSDavid du Colombier FTXF634Did = 0xFC09, /* 634: 20x4 Character Display */ 3880e9508eSDavid du Colombier FTXF547Did = 0xFC0A, /* 547: Two line Display */ 3980e9508eSDavid du Colombier FTXF633Did = 0xFC0B, /* 633: 16x2 Character Display with Keys */ 4080e9508eSDavid du Colombier FTXF631Did = 0xFC0C, /* 631: 20x2 Character Display */ 4180e9508eSDavid du Colombier FTXF635Did = 0xFC0D, /* 635: 20x4 Character Display */ 4280e9508eSDavid du Colombier FTXF640Did = 0xFC0E, /* 640: Two line Display */ 4380e9508eSDavid du Colombier FTXF642Did = 0xFC0F, /* 642: Two line Display */ 4480e9508eSDavid du Colombier 4580e9508eSDavid du Colombier /* 4680e9508eSDavid du Colombier * Video Networks Limited / Homechoice in the UK 4780e9508eSDavid du Colombier * use an ftdi-based device for their 1Mb broadband 4880e9508eSDavid du Colombier */ 4980e9508eSDavid du Colombier FTVNHCPCUSBDDid = 0xfe38, 5080e9508eSDavid du Colombier 5180e9508eSDavid du Colombier /* 5280e9508eSDavid du Colombier * PCDJ use ftdi based dj-controllers 5380e9508eSDavid du Colombier * DAC-2 device http://www.pcdjhardware.com/DAC2.asp 5480e9508eSDavid du Colombier */ 5580e9508eSDavid du Colombier FTPCDJDAC2Did = 0xFA88, 5680e9508eSDavid du Colombier 5780e9508eSDavid du Colombier /* 5880e9508eSDavid du Colombier * Matrix Orbital LCD displays, 5980e9508eSDavid du Colombier * which are the FT232BM (similar to the 8U232AM) 6080e9508eSDavid du Colombier */ 6180e9508eSDavid du Colombier FTMTXORB0Did = 0xFA00, 6280e9508eSDavid du Colombier FTMTXORB1Did = 0xFA01, 6380e9508eSDavid du Colombier FTMTXORB2Did = 0xFA02, 6480e9508eSDavid du Colombier FTMTXORB3Did = 0xFA03, 6580e9508eSDavid du Colombier FTMTXORB4Did = 0xFA04, 6680e9508eSDavid du Colombier FTMTXORB5Did = 0xFA05, 6780e9508eSDavid du Colombier FTMTXORB6Did = 0xFA06, 6880e9508eSDavid du Colombier 6980e9508eSDavid du Colombier /* Interbiometrics USB I/O Board */ 7080e9508eSDavid du Colombier INTERBIOMVid = 0x1209, 7180e9508eSDavid du Colombier INTERBIOMIOBRDDid = 0x1002, 7280e9508eSDavid du Colombier INTERBIOMMINIIOBRDDid = 0x1006, 7380e9508eSDavid du Colombier 7480e9508eSDavid du Colombier /* 7580e9508eSDavid du Colombier * The following are the values for the Perle Systems 7680e9508eSDavid du Colombier * UltraPort USB serial converters 7780e9508eSDavid du Colombier */ 7880e9508eSDavid du Colombier FTPERLEULTRAPORTDid = 0xF0C0, 7980e9508eSDavid du Colombier 8080e9508eSDavid du Colombier /* 8180e9508eSDavid du Colombier * Sealevel SeaLINK+ adapters. 8280e9508eSDavid du Colombier */ 8380e9508eSDavid du Colombier 8480e9508eSDavid du Colombier SEALEVELVid = 0x0c52, 8580e9508eSDavid du Colombier 8680e9508eSDavid du Colombier SEALEVEL2101Did = 0x2101, /* SeaLINK+232 (2101/2105) */ 8780e9508eSDavid du Colombier SEALEVEL2102Did = 0x2102, /* SeaLINK+485 (2102) */ 8880e9508eSDavid du Colombier SEALEVEL2103Did = 0x2103, /* SeaLINK+232I (2103) */ 8980e9508eSDavid du Colombier SEALEVEL2104Did = 0x2104, /* SeaLINK+485I (2104) */ 9080e9508eSDavid du Colombier SEALEVEL22011Did = 0x2211, /* SeaPORT+2/232 (2201) Port 1 */ 9180e9508eSDavid du Colombier SEALEVEL22012Did = 0x2221, /* SeaPORT+2/232 (2201) Port 2 */ 9280e9508eSDavid du Colombier SEALEVEL22021Did = 0x2212, /* SeaPORT+2/485 (2202) Port 1 */ 9380e9508eSDavid du Colombier SEALEVEL22022Did = 0x2222, /* SeaPORT+2/485 (2202) Port 2 */ 9480e9508eSDavid du Colombier SEALEVEL22031Did = 0x2213, /* SeaPORT+2 (2203) Port 1 */ 9580e9508eSDavid du Colombier SEALEVEL22032Did = 0x2223, /* SeaPORT+2 (2203) Port 2 */ 9680e9508eSDavid du Colombier SEALEVEL24011Did = 0x2411, /* SeaPORT+4/232 (2401) Port 1 */ 9780e9508eSDavid du Colombier SEALEVEL24012Did = 0x2421, /* SeaPORT+4/232 (2401) Port 2 */ 9880e9508eSDavid du Colombier SEALEVEL24013Did = 0x2431, /* SeaPORT+4/232 (2401) Port 3 */ 9980e9508eSDavid du Colombier SEALEVEL24014Did = 0x2441, /* SeaPORT+4/232 (2401) Port 4 */ 10080e9508eSDavid du Colombier SEALEVEL24021Did = 0x2412, /* SeaPORT+4/485 (2402) Port 1 */ 10180e9508eSDavid du Colombier SEALEVEL24022Did = 0x2422, /* SeaPORT+4/485 (2402) Port 2 */ 10280e9508eSDavid du Colombier SEALEVEL24023Did = 0x2432, /* SeaPORT+4/485 (2402) Port 3 */ 10380e9508eSDavid du Colombier SEALEVEL24024Did = 0x2442, /* SeaPORT+4/485 (2402) Port 4 */ 10480e9508eSDavid du Colombier SEALEVEL24031Did = 0x2413, /* SeaPORT+4 (2403) Port 1 */ 10580e9508eSDavid du Colombier SEALEVEL24032Did = 0x2423, /* SeaPORT+4 (2403) Port 2 */ 10680e9508eSDavid du Colombier SEALEVEL24033Did = 0x2433, /* SeaPORT+4 (2403) Port 3 */ 10780e9508eSDavid du Colombier SEALEVEL24034Did = 0x2443, /* SeaPORT+4 (2403) Port 4 */ 10880e9508eSDavid du Colombier SEALEVEL28011Did = 0x2811, /* SeaLINK+8/232 (2801) Port 1 */ 10980e9508eSDavid du Colombier SEALEVEL28012Did = 0x2821, /* SeaLINK+8/232 (2801) Port 2 */ 11080e9508eSDavid du Colombier SEALEVEL28013Did = 0x2831, /* SeaLINK+8/232 (2801) Port 3 */ 11180e9508eSDavid du Colombier SEALEVEL28014Did = 0x2841, /* SeaLINK+8/232 (2801) Port 4 */ 11280e9508eSDavid du Colombier SEALEVEL28015Did = 0x2851, /* SeaLINK+8/232 (2801) Port 5 */ 11380e9508eSDavid du Colombier SEALEVEL28016Did = 0x2861, /* SeaLINK+8/232 (2801) Port 6 */ 11480e9508eSDavid du Colombier SEALEVEL28017Did = 0x2871, /* SeaLINK+8/232 (2801) Port 7 */ 11580e9508eSDavid du Colombier SEALEVEL28018Did = 0x2881, /* SeaLINK+8/232 (2801) Port 8 */ 11680e9508eSDavid du Colombier SEALEVEL28021Did = 0x2812, /* SeaLINK+8/485 (2802) Port 1 */ 11780e9508eSDavid du Colombier SEALEVEL28022Did = 0x2822, /* SeaLINK+8/485 (2802) Port 2 */ 11880e9508eSDavid du Colombier SEALEVEL28023Did = 0x2832, /* SeaLINK+8/485 (2802) Port 3 */ 11980e9508eSDavid du Colombier SEALEVEL28024Did = 0x2842, /* SeaLINK+8/485 (2802) Port 4 */ 12080e9508eSDavid du Colombier SEALEVEL28025Did = 0x2852, /* SeaLINK+8/485 (2802) Port 5 */ 12180e9508eSDavid du Colombier SEALEVEL28026Did = 0x2862, /* SeaLINK+8/485 (2802) Port 6 */ 12280e9508eSDavid du Colombier SEALEVEL28027Did = 0x2872, /* SeaLINK+8/485 (2802) Port 7 */ 12380e9508eSDavid du Colombier SEALEVEL28028Did = 0x2882, /* SeaLINK+8/485 (2802) Port 8 */ 12480e9508eSDavid du Colombier SEALEVEL28031Did = 0x2813, /* SeaLINK+8 (2803) Port 1 */ 12580e9508eSDavid du Colombier SEALEVEL28032Did = 0x2823, /* SeaLINK+8 (2803) Port 2 */ 12680e9508eSDavid du Colombier SEALEVEL28033Did = 0x2833, /* SeaLINK+8 (2803) Port 3 */ 12780e9508eSDavid du Colombier SEALEVEL28034Did = 0x2843, /* SeaLINK+8 (2803) Port 4 */ 12880e9508eSDavid du Colombier SEALEVEL28035Did = 0x2853, /* SeaLINK+8 (2803) Port 5 */ 12980e9508eSDavid du Colombier SEALEVEL28036Did = 0x2863, /* SeaLINK+8 (2803) Port 6 */ 13080e9508eSDavid du Colombier SEALEVEL28037Did = 0x2873, /* SeaLINK+8 (2803) Port 7 */ 13180e9508eSDavid du Colombier SEALEVEL28038Did = 0x2883, /* SeaLINK+8 (2803) Port 8 */ 13280e9508eSDavid du Colombier 13380e9508eSDavid du Colombier /* KOBIL Vendor ID chipcard terminals */ 13480e9508eSDavid du Colombier KOBILVid = 0x0d46, 13580e9508eSDavid du Colombier KOBILCONVB1Did = 0x2020, /* KOBIL Konverter for B1 */ 13680e9508eSDavid du Colombier KOBILCONVKAANDid = 0x2021, /* KOBILKonverter for KAAN */ 13780e9508eSDavid du Colombier 13880e9508eSDavid du Colombier /* Icom ID-1 digital transceiver */ 13980e9508eSDavid du Colombier ICOMID1Vid = 0x0C26, 14080e9508eSDavid du Colombier ICOMID1Did = 0x0004, 14180e9508eSDavid du Colombier 14280e9508eSDavid du Colombier FTASKRDR400Did = 0xC991, /* ASK RDR 400 series card reader */ 14380e9508eSDavid du Colombier FTDSS20Did = 0xFC82, /* DSS-20 Sync Station for Sony Ericsson P800 */ 14480e9508eSDavid du Colombier 14580e9508eSDavid du Colombier /* 14680e9508eSDavid du Colombier * Home Electronics (www.home-electro.com) USB gadgets 14780e9508eSDavid du Colombier */ 14880e9508eSDavid du Colombier FTHETIRA1Did = 0xFA78, /* Tira-1 IR transceiver */ 14980e9508eSDavid du Colombier 15080e9508eSDavid du Colombier /* 15180e9508eSDavid du Colombier * An infrared receiver and transmitter using the 8U232AM chip 15280e9508eSDavid du Colombier * http://www.usbuirt.com 15380e9508eSDavid du Colombier */ 15480e9508eSDavid du Colombier FTUSBUIRTDid = 0xF850, 15580e9508eSDavid du Colombier 15680e9508eSDavid du Colombier FTELVUR100Did = 0xFB58, /* USB-RS232-Umsetzer (UR 100) */ 15780e9508eSDavid du Colombier FTELVUM100Did = 0xFB5A, /* USB-Modul UM 100 */ 15880e9508eSDavid du Colombier FTELVUO100Did = 0xFB5B, /* USB-Modul UO 100 */ 15980e9508eSDavid du Colombier FTELVALC8500Did = 0xF06E, /* ALC 8500 Expert */ 16080e9508eSDavid du Colombier FTELVCLI7000Did = 0xFB59, /* Computer-Light-Interface */ 16180e9508eSDavid du Colombier FTELVPPS7330Did = 0xFB5C, /* Processor-Power-Supply (PPS 7330) */ 16280e9508eSDavid du Colombier FTELVTFM100Did = 0xFB5D, /* Temperartur-Feuchte Messgeraet (TFM 100) */ 16380e9508eSDavid du Colombier FTELVUDF77Did = 0xFB5E, /* USB DCF Funkurh (UDF 77) */ 16480e9508eSDavid du Colombier FTELVUIO88Did = 0xFB5F, /* USB-I/O Interface (UIO 88) */ 16580e9508eSDavid du Colombier FTELVUAD8Did = 0xF068, /* USB-AD-Wandler (UAD 8) */ 16680e9508eSDavid du Colombier FTELVUDA7Did = 0xF069, /* USB-DA-Wandler (UDA 7) */ 16780e9508eSDavid du Colombier FTELVUSI2Did = 0xF06A, /* USB-Schrittmotoren-Interface (USI 2) */ 16880e9508eSDavid du Colombier FTELVT1100Did = 0xF06B, /* Thermometer (T 1100) */ 16980e9508eSDavid du Colombier FTELVPCD200Did = 0xF06C, /* PC-Datenlogger (PCD 200) */ 17080e9508eSDavid du Colombier FTELVULA200Did = 0xF06D, /* USB-LCD-Ansteuerung (ULA 200) */ 17180e9508eSDavid du Colombier FTELVFHZ1000PCDid= 0xF06F, /* FHZ 1000 PC */ 17280e9508eSDavid du Colombier FTELVCSI8Did = 0xE0F0, /* Computer-Schalt-Interface (CSI 8) */ 17380e9508eSDavid du Colombier FTELVEM1000DLDid= 0xE0F1, /* PC-Datenlogger fuer Energiemonitor (EM 1000 DL) */ 17480e9508eSDavid du Colombier FTELVPCK100Did = 0xE0F2, /* PC-Kabeltester (PCK 100) */ 17580e9508eSDavid du Colombier FTELVRFP500Did = 0xE0F3, /* HF-Leistungsmesser (RFP 500) */ 17680e9508eSDavid du Colombier FTELVFS20SIGDid = 0xE0F4, /* Signalgeber (FS 20 SIG) */ 17780e9508eSDavid du Colombier FTELVWS300PCDid = 0xE0F6, /* PC-Wetterstation (WS 300 PC) */ 17880e9508eSDavid du Colombier FTELVFHZ1300PCDid= 0xE0E8, /* FHZ 1300 PC */ 17980e9508eSDavid du Colombier FTELVWS500Did = 0xE0E9, /* PC-Wetterstation (WS 500) */ 18080e9508eSDavid du Colombier 18180e9508eSDavid du Colombier /* 18280e9508eSDavid du Colombier * Definitions for ID TECH (http://www.idt-net.com) devices 18380e9508eSDavid du Colombier */ 18480e9508eSDavid du Colombier IDTECHVid = 0x0ACD, /* ID TECH Vendor ID */ 18580e9508eSDavid du Colombier IDTECHIDT1221UDid= 0x0300, /* IDT1221U USB to RS-232 */ 18680e9508eSDavid du Colombier 18780e9508eSDavid du Colombier /* 18880e9508eSDavid du Colombier * Definitions for Omnidirectional Control Technology, Inc. devices 18980e9508eSDavid du Colombier */ 19080e9508eSDavid du Colombier OCTVid = 0x0B39, /* OCT vendor ID */ 19180e9508eSDavid du Colombier 19280e9508eSDavid du Colombier /* 19380e9508eSDavid du Colombier * Note: OCT US101 is also rebadged as Dick Smith Electronics 19480e9508eSDavid du Colombier * (NZ) XH6381, Dick Smith Electronics (Aus) XH6451, and SIIG 19580e9508eSDavid du Colombier * Inc. model US2308 hardware version 1. 19680e9508eSDavid du Colombier */ 19780e9508eSDavid du Colombier OCTUS101Did = 0x0421, /* OCT US101 USB to RS-232 */ 19880e9508eSDavid du Colombier 19980e9508eSDavid du Colombier /* 20080e9508eSDavid du Colombier * infrared receiver for access control with IR tags 20180e9508eSDavid du Colombier */ 20280e9508eSDavid du Colombier FTPIEGROUPDid = 0xF208, 20380e9508eSDavid du Colombier 20480e9508eSDavid du Colombier /* 20580e9508eSDavid du Colombier * Definitions for Artemis astronomical USB based cameras 20680e9508eSDavid du Colombier * http://www.artemisccd.co.uk/ 20780e9508eSDavid du Colombier */ 20880e9508eSDavid du Colombier 20980e9508eSDavid du Colombier FTARTEMISDid = 0xDF28, /* All Artemis Cameras */ 21080e9508eSDavid du Colombier 21180e9508eSDavid du Colombier FTATIKATK16Did = 0xDF30, /* ATIK ATK-16 Grayscale Camera */ 21280e9508eSDavid du Colombier FTATIKATK16CDid = 0xDF32, /* ATIK ATK-16C Colour Camera */ 21380e9508eSDavid du Colombier FTATIKATK16HRDid= 0xDF31, /* ATIK ATK-16HR Grayscale */ 21480e9508eSDavid du Colombier FTATIKATK16HRCDid= 0xDF33, /* ATIK ATK-16HRC Colour Camera */ 21580e9508eSDavid du Colombier 21680e9508eSDavid du Colombier /* 21780e9508eSDavid du Colombier * Protego products 21880e9508eSDavid du Colombier */ 21980e9508eSDavid du Colombier PROTEGOSPECIAL1 = 0xFC70, /* special/unknown device */ 22080e9508eSDavid du Colombier PROTEGOR2X0 = 0xFC71, /* R200-USB TRNG unit (R210, R220, and R230) */ 22180e9508eSDavid du Colombier PROTEGOSPECIAL3 = 0xFC72, /* special/unknown device */ 22280e9508eSDavid du Colombier PROTEGOSPECIAL4 = 0xFC73, /* special/unknown device */ 22380e9508eSDavid du Colombier 22480e9508eSDavid du Colombier /* 22580e9508eSDavid du Colombier * Gude Analog- und Digitalsysteme GmbH 22680e9508eSDavid du Colombier */ 22780e9508eSDavid du Colombier FTGUDEADSE808Did = 0xE808, 22880e9508eSDavid du Colombier FTGUDEADSE809Did = 0xE809, 22980e9508eSDavid du Colombier FTGUDEADSE80ADid = 0xE80A, 23080e9508eSDavid du Colombier FTGUDEADSE80BDid = 0xE80B, 23180e9508eSDavid du Colombier FTGUDEADSE80CDid = 0xE80C, 23280e9508eSDavid du Colombier FTGUDEADSE80DDid = 0xE80D, 23380e9508eSDavid du Colombier FTGUDEADSE80EDid = 0xE80E, 23480e9508eSDavid du Colombier FTGUDEADSE80FDid = 0xE80F, 23580e9508eSDavid du Colombier FTGUDEADSE888Did = 0xE888, /* Expert ISDN Control USB */ 23680e9508eSDavid du Colombier FTGUDEADSE889Did = 0xE889, /* USB RS-232 OptoBridge */ 23780e9508eSDavid du Colombier FTGUDEADSE88ADid = 0xE88A, 23880e9508eSDavid du Colombier FTGUDEADSE88BDid = 0xE88B, 23980e9508eSDavid du Colombier FTGUDEADSE88CDid = 0xE88C, 24080e9508eSDavid du Colombier FTGUDEADSE88DDid = 0xE88D, 24180e9508eSDavid du Colombier FTGUDEADSE88EDid = 0xE88E, 24280e9508eSDavid du Colombier FTGUDEADSE88FDid = 0xE88F, 24380e9508eSDavid du Colombier 24480e9508eSDavid du Colombier /* 24580e9508eSDavid du Colombier * Linx Technologies 24680e9508eSDavid du Colombier */ 24780e9508eSDavid du Colombier LINXSDMUSBQSSDid= 0xF448, /* Linx SDM-USB-QS-S */ 24880e9508eSDavid du Colombier LINXMASTERDEVEL2Did= 0xF449, /* Linx Master Development.0 */ 24980e9508eSDavid du Colombier LINXFUTURE0Did = 0xF44A, /* Linx future device */ 25080e9508eSDavid du Colombier LINXFUTURE1Did = 0xF44B, /* Linx future device */ 25180e9508eSDavid du Colombier LINXFUTURE2Did = 0xF44C, /* Linx future device */ 25280e9508eSDavid du Colombier 25380e9508eSDavid du Colombier /* 25480e9508eSDavid du Colombier * CCS Inc. ICDU/ICDU40 - the FT232BM used in a in-circuit-debugger 25580e9508eSDavid du Colombier * unit for PIC16's/PIC18's 25680e9508eSDavid du Colombier */ 25780e9508eSDavid du Colombier FTCCSICDU200Did = 0xF9D0, 25880e9508eSDavid du Colombier FTCCSICDU401Did = 0xF9D1, 25980e9508eSDavid du Colombier 26080e9508eSDavid du Colombier /* Inside Accesso contactless reader (http://www.insidefr.com) */ 26180e9508eSDavid du Colombier INSIDEACCESSO = 0xFAD0, 26280e9508eSDavid du Colombier 26380e9508eSDavid du Colombier /* 26480e9508eSDavid du Colombier * Intrepid Control Systems (http://www.intrepidcs.com/) 26580e9508eSDavid du Colombier * ValueCAN and NeoVI 26680e9508eSDavid du Colombier */ 26780e9508eSDavid du Colombier INTREDidVid = 0x093C, 26880e9508eSDavid du Colombier INTREDidVALUECANDid= 0x0601, 26980e9508eSDavid du Colombier INTREDidNEOVIDid= 0x0701, 27080e9508eSDavid du Colombier 27180e9508eSDavid du Colombier /* 27280e9508eSDavid du Colombier * Falcom Wireless Communications GmbH 27380e9508eSDavid du Colombier */ 27480e9508eSDavid du Colombier FALCOMVid = 0x0F94, 27580e9508eSDavid du Colombier FALCOMTWISTDid = 0x0001, /* Falcom Twist USB GPRS modem */ 27680e9508eSDavid du Colombier FALCOMSAMBADid = 0x0005, /* Falcom Samba USB GPRS modem */ 27780e9508eSDavid du Colombier 27880e9508eSDavid du Colombier /* 27980e9508eSDavid du Colombier * SUUNTO 28080e9508eSDavid du Colombier */ 28180e9508eSDavid du Colombier FTSUUNTOSPORTSDid= 0xF680, /* Suunto Sports instrument */ 28280e9508eSDavid du Colombier 28380e9508eSDavid du Colombier /* 28480e9508eSDavid du Colombier * B&B Electronics 28580e9508eSDavid du Colombier */ 28680e9508eSDavid du Colombier BANDBVid = 0x0856, /* B&B Electronics Vendor ID */ 28780e9508eSDavid du Colombier BANDBUSOTL4Did = 0xAC01, /* USOTL4 Isolated RS-485 */ 28880e9508eSDavid du Colombier BANDBUSTL4Did = 0xAC02, /* USTL4 RS-485 Converter */ 28980e9508eSDavid du Colombier BANDBUSO9ML2Did = 0xAC03, /* USO9ML2 Isolated RS-232 */ 29080e9508eSDavid du Colombier 29180e9508eSDavid du Colombier /* 29280e9508eSDavid du Colombier * RM Michaelides CANview USB (http://www.rmcan.com) 29380e9508eSDavid du Colombier * CAN fieldbus interface adapter 29480e9508eSDavid du Colombier */ 29580e9508eSDavid du Colombier FTRMCANVIEWDid = 0xfd60, 29680e9508eSDavid du Colombier 29780e9508eSDavid du Colombier /* 29880e9508eSDavid du Colombier * EVER Eco Pro UPS (http://www.ever.com.pl/) 29980e9508eSDavid du Colombier */ 30080e9508eSDavid du Colombier EVERECOPROCDSDid = 0xe520, /* RS-232 converter */ 30180e9508eSDavid du Colombier 30280e9508eSDavid du Colombier /* 30380e9508eSDavid du Colombier * 4N-GALAXY.DE PIDs for CAN-USB, USB-RS232, USB-RS422, USB-RS485, 30480e9508eSDavid du Colombier * USB-TTY activ, USB-TTY passiv. Some PIDs are used by several devices 30580e9508eSDavid du Colombier */ 30680e9508eSDavid du Colombier FT4NGALAXYDE0Did = 0x8372, 30780e9508eSDavid du Colombier FT4NGALAXYDE1Did = 0xF3C0, 30880e9508eSDavid du Colombier FT4NGALAXYDE2Did = 0xF3C1, 30980e9508eSDavid du Colombier 31080e9508eSDavid du Colombier /* 31180e9508eSDavid du Colombier * Mobility Electronics products. 31280e9508eSDavid du Colombier */ 31380e9508eSDavid du Colombier MOBILITYVid = 0x1342, 31480e9508eSDavid du Colombier MOBILITYUSBSERIALDid= 0x0202, /* EasiDock USB 200 serial */ 31580e9508eSDavid du Colombier 31680e9508eSDavid du Colombier /* 31780e9508eSDavid du Colombier * microHAM product IDs (http://www.microham.com) 31880e9508eSDavid du Colombier */ 31980e9508eSDavid du Colombier FTMHAMKWDid = 0xEEE8, /* USB-KW interface */ 32080e9508eSDavid du Colombier FTMHAMYSDid = 0xEEE9, /* USB-YS interface */ 32180e9508eSDavid du Colombier FTMHAMY6Did = 0xEEEA, /* USB-Y6 interface */ 32280e9508eSDavid du Colombier FTMHAMY8Did = 0xEEEB, /* USB-Y8 interface */ 32380e9508eSDavid du Colombier FTMHAMICDid = 0xEEEC, /* USB-IC interface */ 32480e9508eSDavid du Colombier FTMHAMDB9Did = 0xEEED, /* USB-DB9 interface */ 32580e9508eSDavid du Colombier FTMHAMRS232Did = 0xEEEE, /* USB-RS232 interface */ 32680e9508eSDavid du Colombier FTMHAMY9Did = 0xEEEF, /* USB-Y9 interface */ 32780e9508eSDavid du Colombier 32880e9508eSDavid du Colombier /* 32980e9508eSDavid du Colombier * Active Robots product ids. 33080e9508eSDavid du Colombier */ 33180e9508eSDavid du Colombier FTACTIVEROBOTSDid = 0xE548, /* USB comms board */ 33280e9508eSDavid du Colombier XSENSCONVERTER0Did = 0xD388, 33380e9508eSDavid du Colombier XSENSCONVERTER1Did = 0xD389, 33480e9508eSDavid du Colombier XSENSCONVERTER2Did = 0xD38A, 33580e9508eSDavid du Colombier XSENSCONVERTER3Did = 0xD38B, 33680e9508eSDavid du Colombier XSENSCONVERTER4Did = 0xD38C, 33780e9508eSDavid du Colombier XSENSCONVERTER5Did = 0xD38D, 33880e9508eSDavid du Colombier XSENSCONVERTER6Did = 0xD38E, 33980e9508eSDavid du Colombier XSENSCONVERTER7Did = 0xD38F, 34080e9508eSDavid du Colombier 34180e9508eSDavid du Colombier /* 34280e9508eSDavid du Colombier * Xsens Technologies BV products (http://www.xsens.com). 34380e9508eSDavid du Colombier */ 34480e9508eSDavid du Colombier FTTERATRONIKVCPDid = 0xEC88, /* Teratronik device */ 34580e9508eSDavid du Colombier FTTERATRONIKD2XXDid = 0xEC89, /* Teratronik device */ 34680e9508eSDavid du Colombier 34780e9508eSDavid du Colombier /* 34880e9508eSDavid du Colombier * Evolution Robotics products (http://www.evolution.com/). 34980e9508eSDavid du Colombier */ 35080e9508eSDavid du Colombier EVOLUTIONVid = 0xDEEE, 35180e9508eSDavid du Colombier EVOLUTIONER1Did = 0x0300, /* ER1 Control Module */ 35280e9508eSDavid du Colombier 35380e9508eSDavid du Colombier /* Pyramid Computer GmbH */ 35480e9508eSDavid du Colombier FTPYRAMIDDid = 0xE6C8, /* Pyramid Appliance Display */ 35580e9508eSDavid du Colombier 35680e9508eSDavid du Colombier /* 35780e9508eSDavid du Colombier * Posiflex inc retail equipment (http://www.posiflex.com.tw) 35880e9508eSDavid du Colombier */ 35980e9508eSDavid du Colombier POSIFLEXVid = 0x0d3a, 36080e9508eSDavid du Colombier POSIFLEXPP7000Did= 0x0300, /* PP-7000II thermal printer */ 36180e9508eSDavid du Colombier 36280e9508eSDavid du Colombier /* 36380e9508eSDavid du Colombier * Westrex International devices 36480e9508eSDavid du Colombier */ 36580e9508eSDavid du Colombier FTWESTREXMODEL777Did = 0xDC00, /* Model 777 */ 36680e9508eSDavid du Colombier FTWESTREXMODEL8900FDid = 0xDC01, /* Model 8900F */ 36780e9508eSDavid du Colombier 36880e9508eSDavid du Colombier /* 36980e9508eSDavid du Colombier * RR-CirKits LocoBuffer USB (http://www.rr-cirkits.com) 37080e9508eSDavid du Colombier */ 37180e9508eSDavid du Colombier FTRRCIRKITSLOCOBUFFERDid= 0xc7d0, /* LocoBuffer USB */ 37280e9508eSDavid du Colombier FTECLOCOM1WIREDid = 0xEA90, /* COM to 1-Wire USB */ 37380e9508eSDavid du Colombier 37480e9508eSDavid du Colombier /* 37580e9508eSDavid du Colombier * Papouch products (http://www.papouch.com/) 37680e9508eSDavid du Colombier */ 37780e9508eSDavid du Colombier PAPOUCHVid = 0x5050, 37880e9508eSDavid du Colombier PAPOUCHTMUDid = 0x0400, /* TMU USB Thermometer */ 37980e9508eSDavid du Colombier 38080e9508eSDavid du Colombier /* 38180e9508eSDavid du Colombier * ACG Identification Technologies GmbH products http://www.acg.de/ 38280e9508eSDavid du Colombier */ 38380e9508eSDavid du Colombier FTACGHFDUALDid = 0xDD20, /* HF Dual ISO Reader (RFID) */ 384d5789509SDavid du Colombier /* 385d5789509SDavid du Colombier * new high speed devices 386d5789509SDavid du Colombier */ 387d5789509SDavid du Colombier FT4232HDid = 0x6011, /* FTDI FT4232H based device */ 388d5789509SDavid du Colombier 389*6bbfed0dSDavid du Colombier /* 390*6bbfed0dSDavid du Colombier * Amontec JTAGkey (http://www.amontec.com/) 391*6bbfed0dSDavid du Colombier */ 392*6bbfed0dSDavid du Colombier AMONKEYDid = 0xCFF8, 39380e9508eSDavid du Colombier }; 39480e9508eSDavid du Colombier 39580e9508eSDavid du Colombier /* Commands */ 39680e9508eSDavid du Colombier enum { 39780e9508eSDavid du Colombier FTRESET = 0, /* Reset the port */ 39880e9508eSDavid du Colombier FTSETMODEMCTRL, /* Set the modem control register */ 39980e9508eSDavid du Colombier FTSETFLOWCTRL, /* Set flow control register */ 400d584e620SDavid du Colombier FTSETBAUDRATE, /* Set baud rate */ 40180e9508eSDavid du Colombier FTSETDATA, /* Set the parameters, parity */ 40280e9508eSDavid du Colombier FTGETMODEMSTATUS, /* Retrieve current value of modem ctl */ 40380e9508eSDavid du Colombier FTSETEVENTCHAR, /* Set the event character */ 40480e9508eSDavid du Colombier FTSETERRORCHAR, /* Set the error character */ 405d584e620SDavid du Colombier FTUNKNOWN, 40680e9508eSDavid du Colombier FTSETLATENCYTIMER, /* Set the latency timer */ 40780e9508eSDavid du Colombier FTGETLATENCYTIMER, /* Get the latency timer */ 408d584e620SDavid du Colombier FTSETBITMODE, /* Set bit mode */ 409d5789509SDavid du Colombier FTGETPINS, /* Read pins state */ 410d584e620SDavid du Colombier FTGETE2READ = 0x90, /* Read address from 128-byte I2C EEPROM */ 411d584e620SDavid du Colombier FTSETE2WRITE, /* Write to address on 128-byte I2C EEPROM */ 412d584e620SDavid du Colombier FTSETE2ERASE, /* Erase address on 128-byte I2C EEPROM */ 413d584e620SDavid du Colombier }; 414d584e620SDavid du Colombier 415d584e620SDavid du Colombier /* Port Identifier Table, index for interfaces */ 416d584e620SDavid du Colombier enum { 417d584e620SDavid du Colombier PITDEFAULT = 0, /* SIOA */ 418d584e620SDavid du Colombier PITA, /* SIOA jtag if there is one */ 41980e9508eSDavid du Colombier }; 42080e9508eSDavid du Colombier 42180e9508eSDavid du Colombier enum { 42280e9508eSDavid du Colombier Rftdireq = 1<<6, /* bit for type of request */ 42380e9508eSDavid du Colombier }; 42480e9508eSDavid du Colombier 42580e9508eSDavid du Colombier /* 42680e9508eSDavid du Colombier * Commands Data size 42780e9508eSDavid du Colombier * Sets have wLength = 0 42880e9508eSDavid du Colombier * Gets have wValue = 0 42980e9508eSDavid du Colombier */ 43080e9508eSDavid du Colombier enum { 431d584e620SDavid du Colombier FTMODEMSTATUSSZ = 1, 432d584e620SDavid du Colombier FTLATENCYTIMERSZ= 1, 433d584e620SDavid du Colombier FTPINSSZ = 1, 434d584e620SDavid du Colombier FTE2READSZ = 2, 43580e9508eSDavid du Colombier }; 43680e9508eSDavid du Colombier 43780e9508eSDavid du Colombier /* 43880e9508eSDavid du Colombier * bRequest: FTGETE2READ 43980e9508eSDavid du Colombier * wIndex: Address of word to read 440d584e620SDavid du Colombier * Data: Will return a word (2 bytes) of data from E2Address 441d584e620SDavid du Colombier * Results put in the I2C 128 byte EEPROM string eeprom+(2*index) 44280e9508eSDavid du Colombier */ 44380e9508eSDavid du Colombier 444d584e620SDavid du Colombier /* 445d584e620SDavid du Colombier * bRequest: FTSETE2WRITE 446d584e620SDavid du Colombier * wIndex: Address of word to read 447d584e620SDavid du Colombier * wValue: Value of the word 448d584e620SDavid du Colombier * Data: Will return a word (2 bytes) of data from E2Address 449d584e620SDavid du Colombier */ 450d584e620SDavid du Colombier 451d584e620SDavid du Colombier /* 452d584e620SDavid du Colombier * bRequest: FTSETE2ERASE 453d584e620SDavid du Colombier * Erases the EEPROM 454d584e620SDavid du Colombier * wIndex: 0 455d584e620SDavid du Colombier */ 45680e9508eSDavid du Colombier 45780e9508eSDavid du Colombier /* 45880e9508eSDavid du Colombier * bRequest: FTRESET 45980e9508eSDavid du Colombier * wValue: Ctl Val 46080e9508eSDavid du Colombier * wIndex: Port 46180e9508eSDavid du Colombier */ 46280e9508eSDavid du Colombier enum { 46380e9508eSDavid du Colombier FTRESETCTLVAL = 0, 46480e9508eSDavid du Colombier FTRESETCTLVALPURGERX = 1, 46580e9508eSDavid du Colombier FTRESETCTLVALPURGETX = 2, 46680e9508eSDavid du Colombier }; 46780e9508eSDavid du Colombier 46880e9508eSDavid du Colombier /* 46980e9508eSDavid du Colombier * BmRequestType: SET 470d584e620SDavid du Colombier * bRequest: FTSETBAUDRATE 47180e9508eSDavid du Colombier * wValue: BaudDivisor value - see below 47280e9508eSDavid du Colombier * Bits 15 to 0 of the 17-bit divisor are placed in the request value. 47380e9508eSDavid du Colombier * Bit 16 is placed in bit 0 of the request index. 47480e9508eSDavid du Colombier */ 47580e9508eSDavid du Colombier 47680e9508eSDavid du Colombier /* chip type */ 47780e9508eSDavid du Colombier enum { 47880e9508eSDavid du Colombier SIO = 1, 47980e9508eSDavid du Colombier FT8U232AM = 2, 48080e9508eSDavid du Colombier FT232BM = 3, 48180e9508eSDavid du Colombier FT2232C = 4, 482d5789509SDavid du Colombier FTKINDR = 5, 483d5789509SDavid du Colombier FT2232H = 6, 484d5789509SDavid du Colombier FT4232H = 7, 48580e9508eSDavid du Colombier }; 48680e9508eSDavid du Colombier 48780e9508eSDavid du Colombier enum { 48880e9508eSDavid du Colombier FTb300 = 0, 48980e9508eSDavid du Colombier FTb600 = 1, 49080e9508eSDavid du Colombier FTb1200 = 2, 49180e9508eSDavid du Colombier FTb2400 = 3, 49280e9508eSDavid du Colombier FTb4800 = 4, 49380e9508eSDavid du Colombier FTb9600 = 5, 49480e9508eSDavid du Colombier FTb19200 = 6, 49580e9508eSDavid du Colombier FTb38400 = 7, 49680e9508eSDavid du Colombier FTb57600 = 8, 49780e9508eSDavid du Colombier FTb115200 = 9, 49880e9508eSDavid du Colombier }; 49980e9508eSDavid du Colombier 50080e9508eSDavid du Colombier /* 50180e9508eSDavid du Colombier * bRequest: FTSETDATA 50280e9508eSDavid du Colombier * wValue: Data characteristics 503d584e620SDavid du Colombier * bits 0-7 number of data bits 50480e9508eSDavid du Colombier * wIndex: Port 50580e9508eSDavid du Colombier */ 50680e9508eSDavid du Colombier enum { 50780e9508eSDavid du Colombier FTSETDATAParNONE = 0 << 8, 50880e9508eSDavid du Colombier FTSETDATAParODD = 1 << 8, 50980e9508eSDavid du Colombier FTSETDATAParEVEN = 2 << 8, 51080e9508eSDavid du Colombier FTSETDATAParMARK = 3 << 8, 51180e9508eSDavid du Colombier FTSETDATAParSPACE = 4 << 8, 51280e9508eSDavid du Colombier FTSETDATASTOPBITS1 = 0 << 11, 51380e9508eSDavid du Colombier FTSETDATASTOPBITS15 = 1 << 11, 51480e9508eSDavid du Colombier FTSETDATASTOPBITS2 = 2 << 11, 51580e9508eSDavid du Colombier FTSETBREAK = 1 << 14, 51680e9508eSDavid du Colombier }; 51780e9508eSDavid du Colombier 51880e9508eSDavid du Colombier /* 51980e9508eSDavid du Colombier * bRequest: FTSETMODEMCTRL 52080e9508eSDavid du Colombier * wValue: ControlValue (see below) 52180e9508eSDavid du Colombier * wIndex: Port 52280e9508eSDavid du Colombier */ 52380e9508eSDavid du Colombier 52480e9508eSDavid du Colombier /* 52580e9508eSDavid du Colombier * bRequest: FTSETFLOWCTRL 52680e9508eSDavid du Colombier * wValue: Xoff/Xon 527d584e620SDavid du Colombier * wIndex: Protocol/Port - hIndex is protocol; lIndex is port 52880e9508eSDavid du Colombier */ 52980e9508eSDavid du Colombier enum { 53080e9508eSDavid du Colombier FTDISABLEFLOWCTRL= 0, 53180e9508eSDavid du Colombier FTRTSCTSHS = 1 << 8, 53280e9508eSDavid du Colombier FTDTRDSRHS = 2 << 8, 53380e9508eSDavid du Colombier FTXONXOFFHS = 4 << 8, 53480e9508eSDavid du Colombier }; 53580e9508eSDavid du Colombier 53680e9508eSDavid du Colombier /* 53780e9508eSDavid du Colombier * bRequest: FTGETLATENCYTIMER 53880e9508eSDavid du Colombier * wIndex: Port 53980e9508eSDavid du Colombier * wLength: 0 54080e9508eSDavid du Colombier * Data: latency (on return) 54180e9508eSDavid du Colombier */ 54280e9508eSDavid du Colombier 54380e9508eSDavid du Colombier /* 544d584e620SDavid du Colombier * bRequest: FTSETBITMODE 545d584e620SDavid du Colombier * wIndex: Port 546d584e620SDavid du Colombier * either it is big bang mode, in which case 547d584e620SDavid du Colombier * wValue: 1 byte L is the big bang mode BIG* 548d584e620SDavid du Colombier * or BM is 549d584e620SDavid du Colombier * wValue: 1 byte bitbang mode H, 1 byte bitmask for lines L 550d584e620SDavid du Colombier */ 551d584e620SDavid du Colombier enum { 552d584e620SDavid du Colombier BMSERIAL = 0, /* reset, turn off bit-bang mode */ 553d584e620SDavid du Colombier 554d584e620SDavid du Colombier BIGBMNORMAL = 1, /* normal bit-bang mode */ 555d584e620SDavid du Colombier BIGBMSPI = 2, /* spi bit-bang mode */ 556d584e620SDavid du Colombier 557d584e620SDavid du Colombier BMABM = 1<<8, /* async mode */ 558d584e620SDavid du Colombier BMMPSSE = 2<<8, 559d584e620SDavid du Colombier BMSYNCBB = 4<<8, /* sync bit-bang -- 2232x and R-type */ 560d584e620SDavid du Colombier BMMCU = 8<<8, /* MCU Host Bus -- 2232x */ 561d584e620SDavid du Colombier BMOPTO = 0x10<<8, /* opto-isolated<<8, 2232x */ 562d584e620SDavid du Colombier BMCBUS = 0x20<<8, /* CBUS pins of R-type chips */ 563d584e620SDavid du Colombier BMSYNCFF = 0x40<<8, /* Single Channel Sync FIFO, 2232H only */ 564d584e620SDavid du Colombier }; 565d584e620SDavid du Colombier 566d584e620SDavid du Colombier /* 56780e9508eSDavid du Colombier * bRequest: FTSETLATENCYTIMER 568d584e620SDavid du Colombier * wValue: Latency (milliseconds 1-255) 56980e9508eSDavid du Colombier * wIndex: Port 57080e9508eSDavid du Colombier */ 571d584e620SDavid du Colombier enum { 572d584e620SDavid du Colombier FTLATENCYDEFAULT = 2, 573d584e620SDavid du Colombier }; 57480e9508eSDavid du Colombier 57580e9508eSDavid du Colombier /* 57680e9508eSDavid du Colombier * BmRequestType: SET 57780e9508eSDavid du Colombier * bRequest: FTSETEVENTCHAR 57880e9508eSDavid du Colombier * wValue: EventChar 57980e9508eSDavid du Colombier * wIndex: Port 580d584e620SDavid du Colombier * 0-7 lower bits event char 581d584e620SDavid du Colombier * 8 enable 58280e9508eSDavid du Colombier */ 583d584e620SDavid du Colombier enum { 584d584e620SDavid du Colombier FTEVCHARENAB = 1<<8, 585d584e620SDavid du Colombier }; 58680e9508eSDavid du Colombier 58780e9508eSDavid du Colombier /* 58880e9508eSDavid du Colombier * BmRequestType: SET 58980e9508eSDavid du Colombier * bRequest: FTSETERRORCHAR 59080e9508eSDavid du Colombier * wValue: Error Char 59180e9508eSDavid du Colombier * wIndex: Port 592d584e620SDavid du Colombier * 0-7 lower bits event char 593d584e620SDavid du Colombier * 8 enable 59480e9508eSDavid du Colombier */ 595d584e620SDavid du Colombier enum { 596d584e620SDavid du Colombier FTERRCHARENAB = 1<<8, 597d584e620SDavid du Colombier }; 59880e9508eSDavid du Colombier /* 59980e9508eSDavid du Colombier * BmRequestType: GET 60080e9508eSDavid du Colombier * bRequest: FTGETMODEMSTATUS 60180e9508eSDavid du Colombier * wIndex: Port 60280e9508eSDavid du Colombier * wLength: 1 60380e9508eSDavid du Colombier * Data: Status 60480e9508eSDavid du Colombier */ 60580e9508eSDavid du Colombier enum { 60680e9508eSDavid du Colombier FTCTSMASK = 0x10, 60780e9508eSDavid du Colombier FTDSRMASK = 0x20, 60880e9508eSDavid du Colombier FTRIMASK = 0x40, 60980e9508eSDavid du Colombier FTRLSDMASK = 0x80, 61080e9508eSDavid du Colombier }; 61180e9508eSDavid du Colombier 61280e9508eSDavid du Colombier enum { 61380e9508eSDavid du Colombier /* byte 0 of in data hdr */ 61480e9508eSDavid du Colombier FTICTS = 1 << 4, 61580e9508eSDavid du Colombier FTIDSR = 1 << 5, 61680e9508eSDavid du Colombier FTIRI = 1 << 6, 61780e9508eSDavid du Colombier FTIRLSD = 1 << 7, /* receive line signal detect */ 61880e9508eSDavid du Colombier 61980e9508eSDavid du Colombier /* byte 1 of in data hdr */ 62080e9508eSDavid du Colombier FTIDR = 1<<0, /* data ready */ 62180e9508eSDavid du Colombier FTIOE = 1<<1, /* overrun error */ 62280e9508eSDavid du Colombier FTIPE = 1<<2, /* parity error */ 62380e9508eSDavid du Colombier FTIFE = 1<<3, /* framing error */ 62480e9508eSDavid du Colombier FTIBI = 1<<4, /* break interrupt */ 62580e9508eSDavid du Colombier FTITHRE = 1<<5, /* xmitter holding register */ 62680e9508eSDavid du Colombier FTITEMT = 1<<6, /* xmitter empty */ 62780e9508eSDavid du Colombier FTIFIFO = 1<<7, /* error in rcv fifo */ 62880e9508eSDavid du Colombier 62980e9508eSDavid du Colombier /* byte 0 of out data hdr len does not include byte 0 */ 63080e9508eSDavid du Colombier FTOLENMSK= 0x3F, 63180e9508eSDavid du Colombier FTOPORT = 0x80, /* must be set */ 63280e9508eSDavid du Colombier }; 63380e9508eSDavid du Colombier 63480e9508eSDavid du Colombier extern Serialops ftops; 63580e9508eSDavid du Colombier 63680e9508eSDavid du Colombier int ftmatch(Serial *ser, char *info); 637