From wojtek@wojtek.tensor.gdynia.pl Sat Apr 19 08:56:03 2008 Return-Path: Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 57B6C106564A for ; Sat, 19 Apr 2008 08:56:03 +0000 (UTC) (envelope-from wojtek@wojtek.tensor.gdynia.pl) Received: from wojtek.tensor.gdynia.pl (wojtek.tensor.gdynia.pl [IPv6:2001:4070:101:2::1]) by mx1.freebsd.org (Postfix) with ESMTP id BFF6B8FC0C for ; Sat, 19 Apr 2008 08:55:56 +0000 (UTC) (envelope-from wojtek@wojtek.tensor.gdynia.pl) Received: from wojtek.tensor.gdynia.pl (localhost [IPv6:::1]) by wojtek.tensor.gdynia.pl (8.14.2/8.14.2) with ESMTP id m3J8tqlQ003467 for ; Sat, 19 Apr 2008 10:55:52 +0200 (CEST) (envelope-from wojtek@wojtek.tensor.gdynia.pl) Received: (from wojtek@localhost) by wojtek.tensor.gdynia.pl (8.14.2/8.14.2/Submit) id m3IDZua1074786; Fri, 18 Apr 2008 15:35:56 +0200 (CEST) (envelope-from wojtek) Message-Id: <200804181335.m3IDZua1074786@wojtek.tensor.gdynia.pl> Date: Fri, 18 Apr 2008 15:35:56 +0200 (CEST) From: Wojciech Puchar Reply-To: Wojciech Puchar To: FreeBSD-gnats-submit@freebsd.org Cc: Subject: ubsa.c doesn't take Huawei E220 X-Send-Pr-Version: 3.113 X-GNATS-Notify: >Number: 122905 >Category: usb >Synopsis: [ubsa] [patch] add Huawei E220 to ubsa >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-usb >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Sat Apr 19 09:00:05 UTC 2008 >Closed-Date: >Last-Modified: Fri Jul 29 09:10:07 UTC 2011 >Originator: Wojciech Puchar >Release: FreeBSD 6.3-RELEASE-p1 i386 >Organization: TENSOR ap >Environment: System: FreeBSD wojtek.tensor.gdynia.pl 6.3-RELEASE-p1 FreeBSD 6.3-RELEASE-p1 #0: Fri Apr 18 11:38:05 CEST 2008 root@wojtek.tensor.gdynia.pl:/usr2/src/sys/i386/compile/p234 i386 >Description: Huawei E220 UMTS interface doesn't work. >How-To-Repeat: connect it, ubsa isn't attached. >Fix: sorry for sending whole files, i don't have origs now :) fixed usbdevs file: $FreeBSD: src/sys/dev/usb/usbdevs,v 1.232.2.25 2007/11/04 03:28:31 luigi Exp $ /* $NetBSD: usbdevs,v 1.392 2004/12/29 08:38:44 imp Exp $ */ /*- * Copyright (c) 1998-2004 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation * by Lennart Augustsson (lennart@augustsson.net) at * Carlstedt Research & Technology. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the NetBSD * Foundation, Inc. and its contributors. * 4. Neither the name of The NetBSD Foundation nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ /* * List of known USB vendors * * USB.org publishes a VID list of USB-IF member companies at * http://www.usb.org/developers/tools * Note that it does not show companies that have obtained a Vendor ID * without becoming full members. * * Please note that these IDs do not do anything. Adding an ID here and * regenerating the usbdevs.h and usbdevs_data.h only makes a symbolic name * available to the source code and does not change any functionality, nor * does it make your device available to a specific driver. * It will however make the descriptive string available if a device does not * provide the string itself. * * After adding a vendor ID VNDR and a product ID PRDCT you will have the * following extra defines: * #define USB_VENDOR_VNDR 0x???? * #define USB_PRODUCT_VNDR_PRDCT 0x???? * * You may have to add these defines to the respective probe routines to * make the device recognised by the appropriate device driver. */ vendor EGALAX2 0x0123 eGalax vendor LTS 0x0386 LTS vendor AOX 0x03e8 AOX vendor THESYS 0x03e9 Thesys vendor DATABROADCAST 0x03ea Data Broadcasting vendor ATMEL 0x03eb Atmel vendor IWATSU 0x03ec Iwatsu America vendor MITEL 0x03ee Mitel vendor MITSUMI 0x03ee Mitsumi vendor HP 0x03f0 Hewlett Packard vendor GENOA 0x03f1 Genoa vendor OAK 0x03f2 Oak vendor ADAPTEC 0x03f3 Adaptec vendor DIEBOLD 0x03f4 Diebold vendor SIEMENSELECTRO 0x03f5 Siemens Electromechanical vendor EPSONIMAGING 0x03f8 Epson Imaging vendor KEYTRONIC 0x03f9 KeyTronic vendor OPTI 0x03fb OPTi vendor ELITEGROUP 0x03fc Elitegroup vendor XILINX 0x03fd Xilinx vendor FARALLON 0x03fe Farallon Communications vendor NATIONAL 0x0400 National Semiconductor vendor NATIONALREG 0x0401 National Registry vendor ACERLABS 0x0402 Acer Labs vendor FTDI 0x0403 Future Technology Devices vendor NCR 0x0404 NCR vendor SYNOPSYS2 0x0405 Synopsys vendor FUJITSUICL 0x0406 Fujitsu-ICL vendor FUJITSU2 0x0407 Fujitsu Personal Systems vendor QUANTA 0x0408 Quanta vendor NEC 0x0409 NEC vendor KODAK 0x040a Eastman Kodak vendor WELTREND 0x040b Weltrend vendor VIA 0x040d VIA vendor MCCI 0x040e MCCI vendor MELCO 0x0411 Melco vendor WINBOND 0x0416 Winbond vendor PHOENIX 0x041a Phoenix vendor CREATIVE 0x041e Creative vendor NOKIA 0x0421 Nokia vendor ADI 0x0422 ADI vendor CATC 0x0423 Computer Access Technology vendor SMC2 0x0424 SMC vendor MOTOROLA_HK 0x0425 Motorola HK vendor GRAVIS 0x0428 Advanced Gravis Computer Tech. vendor CIRRUSLOGIC 0x0429 Cirrus Logic vendor INNOVATIVE 0x042c Innovative Semiconductors vendor MOLEX 0x042f Molex vendor SUN2 0x0430 Sun Microsystems (unofficial) vendor UNISYS 0x0432 Unisys vendor TAUGA 0x0436 Taugagreining HF vendor AMD 0x0438 ADM vendor LEXMARK 0x043d Lexmark vendor LG 0x043e LG Electronics vendor NANAO 0x0440 NANAO vendor GATEWAY 0x0443 Gateway 2000 vendor NMB 0x0446 NMB vendor ALPS 0x044e Alps vendor THRUST 0x044f Thrustmaster vendor TI 0x0451 Texas Instruments vendor ANALOGDEVICES 0x0456 Analog Devices vendor SIS 0x0457 SIS vendor KYE 0x0458 KYE vendor DIAMOND2 0x045a Diamond (Supra) vendor RENESAS 0x045b Renesas vendor MICROSOFT 0x045e Microsoft vendor PRIMAX 0x0461 Primax vendor MGE 0x0463 MGE vendor AMP 0x0464 AMP vendor CHERRY 0x046a Cherry vendor MEGATRENDS 0x046b American Megatrends vendor LOGITECH 0x046d Logitech vendor BTC 0x046e BTC vendor PHILIPS 0x0471 Philips vendor SUN 0x0472 Sun Microsystems (offical) vendor SANYO 0x0474 Sanyo vendor SEAGATE 0x0477 Seagate vendor CONNECTIX 0x0478 Connectix vendor SEMTECH 0x047a Semtech vendor KENSINGTON 0x047d Kensington vendor LUCENT 0x047e Lucent vendor PLANTRONICS 0x047f Plantronics vendor KYOCERA 0x0482 Kyocera vendor STMICRO 0x0483 STMicroelectronics vendor FOXCONN 0x0489 Foxconn vendor YAMAHA 0x0499 YAMAHA vendor COMPAQ 0x049f Compaq vendor HITACHI 0x04a4 Hitachi vendor ACERP 0x04a5 Acer Peripherals vendor VISIONEER 0x04a7 Visioneer vendor CANON 0x04a9 Canon vendor NIKON 0x04b0 Nikon vendor PAN 0x04b1 Pan International vendor IBM 0x04b3 IBM vendor CYPRESS 0x04b4 Cypress vendor ROHM 0x04b5 ROHM vendor COMPAL 0x04b7 Compal vendor EPSON 0x04b8 Seiko Epson vendor RAINBOW 0x04b9 Rainbow vendor IODATA 0x04bb I-O Data vendor TDK 0x04bf TDK vendor 3COMUSR 0x04c1 U.S. Robotics vendor METHODE 0x04c2 Methode vendor MAXISWITCH 0x04c3 Maxi Switch vendor LOCKHEEDMER 0x04c4 Lockheed Martin Energy Research vendor FUJITSU 0x04c5 Fujitsu vendor TOSHIBAAM 0x04c6 Toshiba vendor MICROMACRO 0x04c7 Micro Macro vendor KONICA 0x04c8 Konica vendor LITEON 0x04ca Lite-On vendor FUJIPHOTO 0x04cb Fuji Photo vendor PHILIPSSEMI 0x04cc Philips vendor TATUNG 0x04cd Tatung vendor SCANLOGIC 0x04ce ScanLogic vendor MYSON 0x04cf Myson vendor DIGI2 0x04d0 Digi vendor ITTCANON 0x04d1 ITT Canon vendor ALTEC 0x04d2 Altec Lansing vendor LSI 0x04d4 LSI vendor MENTORGRAPHICS 0x04d6 Mentor Graphics vendor HOLTEK 0x04d9 Holtek vendor PANASONIC 0x04da Panasonic (Matsushita) vendor HUANHSIN 0x04dc Huan Hsin vendor SHARP 0x04dd Sharp vendor IIYAMA 0x04e1 Iiyama vendor SHUTTLE 0x04e6 Shuttle vendor ELO 0x04e7 Elo TouchSystems vendor SAMSUNG 0x04e8 Samsung vendor NORTHSTAR 0x04eb Northstar vendor TOKYOELECTRON 0x04ec Tokyo Electron vendor ANNABOOKS 0x04ed Annabooks vendor JVC 0x04f1 JVC vendor CHICONY 0x04f2 Chicony vendor ELAN 0x04f3 Elan vendor NEWNEX 0x04f7 Newnex vendor BROTHER 0x04f9 Brother vendor DALLAS 0x04fa Dallas Semiconductor vendor SUNPLUS 0x04fc Sunplus vendor PFU 0x04fe PFU vendor FUJIKURA 0x0501 Fujikura/DDK vendor ACER 0x0502 Acer vendor 3COM 0x0506 3Com vendor HOSIDEN 0x0507 Hosiden vendor AZTECH 0x0509 Aztech vendor BELKIN 0x050d Belkin vendor KAWATSU 0x050f Kawatsu vendor FCI 0x0514 FCI vendor LONGWELL 0x0516 Longwell vendor COMPOSITE 0x0518 Composite vendor STAR 0x0519 Star Micronics vendor APC 0x051d American Power Conversion vendor SCIATLANTA 0x051e Scientific Atlanta vendor TSM 0x0520 TSM vendor CONNECTEK 0x0522 Connectek vendor NETCHIP 0x0525 NetChip vendor ALTRA 0x0527 ALTRA vendor ATI 0x0528 ATI vendor AKS 0x0529 AKS vendor TEKOM 0x052b Tekom vendor CANONDEV 0x052c Canon vendor WACOMTECH 0x0531 Wacom vendor INVENTEC 0x0537 Inventec vendor SHYHSHIUN 0x0539 Shyh Shiun Terminals vendor PREHWERKE 0x053a Preh Werke Gmbh & Co. KG vendor SYNOPSYS 0x053f Synopsys vendor UNIACCESS 0x0540 Universal Access vendor VIEWSONIC 0x0543 ViewSonic vendor XIRLINK 0x0545 Xirlink vendor ANCHOR 0x0547 Anchor vendor SONY 0x054c Sony vendor FUJIXEROX 0x0550 Fuji Xerox vendor VISION 0x0553 VLSI Vision vendor ASAHIKASEI 0x0556 Asahi Kasei vendor ATEN 0x0557 ATEN vendor MUSTEK 0x055f Mustek vendor TELEX 0x0562 Telex vendor CHINON 0x0564 Chinon vendor PERACOM 0x0565 Peracom Networks vendor ALCOR2 0x0566 Alcor Micro vendor XYRATEX 0x0567 Xyratex vendor WACOM 0x056a WACOM vendor ETEK 0x056c e-TEK vendor EIZO 0x056d EIZO vendor ELECOM 0x056e Elecom vendor CONEXANT 0x0572 Conexant vendor HAUPPAUGE 0x0573 Hauppauge vendor BAFO 0x0576 BAFO vendor YEDATA 0x057b Y-E Data vendor AVM 0x057c AVM vendor QUICKSHOT 0x057f Quickshot vendor ROLAND 0x0582 Roland vendor ROCKFIRE 0x0583 Rockfire vendor RATOC 0x0584 RATOC vendor ZYXEL 0x0586 ZyXEL vendor INFINEON 0x058b Infineon vendor MICREL 0x058d Micrel vendor ALCOR 0x058f Alcor vendor OMRON 0x0590 OMRON vendor NIIGATA 0x0598 Niigata vendor IOMEGA 0x059b Iomega vendor ATREND 0x059c A-Trend vendor AID 0x059d AID vendor LACIE 0x059f LaCie vendor FUJIFILM 0x05a2 Fuji Film vendor ARC 0x05a3 ARC vendor ORTEK 0x05a4 Ortek vendor BOSE 0x05a7 Bose vendor OMNIVISION 0x05a9 OmniVision vendor INSYSTEM 0x05ab In-System vendor APPLE 0x05ac Apple Computer vendor YCCABLE 0x05ad Y.C. Cable vendor DIGITALPERSONA 0x05ba DigitalPersona vendor RAFI 0x05bd RAFI vendor TYCO 0x05be Tyco vendor KAWASAKI 0x05c1 Kawasaki vendor DIGI 0x05c5 Digi vendor QUALCOMM 0x05c6 Qualcomm vendor QTRONIX 0x05c7 Qtronix vendor FOXLINK 0x05c8 Foxlink vendor RICOH 0x05ca Ricoh vendor ELSA 0x05cc ELSA vendor SCIWORX 0x05ce sci-worx vendor BRAINBOXES 0x05d1 Brainboxes vendor ULTIMA 0x05d8 Ultima vendor AXIOHM 0x05d9 Axiohm vendor MICROTEK 0x05da Microtek vendor SUNTAC 0x05db SUN Corporation vendor LEXAR 0x05dc Lexar Media vendor DELTA 0x05dd Delta vendor SYMBOL 0x05e0 Symbol vendor SYNTEK 0x05e1 Syntek vendor GENESYS 0x05e3 Genesys vendor FUJI 0x05e5 Fuji vendor KEITHLEY 0x05e6 Keithley vendor EIZONANAO 0x05e7 EIZO Nanao vendor KLSI 0x05e9 Kawasaki LSI vendor FFC 0x05eb FFC vendor ANKO 0x05ef Anko vendor PIENGINEERING 0x05f3 P.I. Engineering vendor AOC 0x05f6 AOC vendor CHIC 0x05fe Chic vendor BARCO 0x0600 Barco vendor BRIDGE 0x0607 Bridge vendor SOLIDYEAR 0x060b Solid Year vendor BIORAD 0x0614 Bio-Rad vendor MACALLY 0x0618 Macally vendor ACTLABS 0x061c Act Labs vendor ALARIS 0x0620 Alaris vendor APEX 0x0624 Apex vendor VIVITAR 0x0636 Vivitar vendor AVISION 0x0638 Avision vendor TEAC 0x0644 TEAC vendor SGI 0x065e Silicon Graphics vendor SANWASUPPLY 0x0663 Sanwa Supply vendor LINKSYS 0x066b Linksys vendor ACERSA 0x066e Acer vendor SIGMATEL 0x066f Sigmatel vendor AIWA 0x0677 Aiwa vendor ACARD 0x0678 ACARD vendor PROLIFIC 0x067b Prolific vendor SIEMENS 0x067c Siemens vendor AVANCELOGIC 0x0680 Avance Logic vendor MINOLTA 0x0686 Minolta vendor CHPRODUCTS 0x068e CH Products vendor HAGIWARA 0x0693 Hagiwara Sys-Com vendor CTX 0x0698 Chuntex vendor ASKEY 0x069a Askey vendor SAITEK 0x06a3 Saitek vendor ALCATELT 0x06b9 Alcatel vendor AGFA 0x06bd AGFA-Gevaert vendor ASIAMD 0x06be Asia Microelectronic Development vendor BIZLINK 0x06c4 Bizlink vendor KEYSPAN 0x06cd Keyspan / InnoSys Inc. vendor AASHIMA 0x06d6 Aashima vendor MULTITECH 0x06e0 MultiTech vendor ADS 0x06e1 ADS vendor ALCATELM 0x06e4 Alcatel vendor SIRIUS 0x06ea Sirius vendor GUILLEMOT 0x06f8 Guillemot vendor BOSTON 0x06fd Boston Acoustics vendor SMC 0x0707 SCM vendor PUTERCOM 0x0708 Putercom vendor MCT 0x0711 MCT vendor IMATION 0x0718 Imation vendor SONYERICSSON 0x0731 Sony Ericsson vendor EICON 0x0734 Eicon Networks vendor DIGITALSTREAM 0x074e Digital Stream vendor AUREAL 0x0755 Aureal vendor MIDIMAN 0x0763 Midiman vendor LINKSYS2 0x077b Linksys vendor GRIFFIN 0x077d Griffin vendor SANDISK 0x0781 SanDisk vendor JENOPTIK 0x0784 Jenoptik vendor LOGITEC 0x0789 Logitec vendor BRIMAX 0x078e Brimax vendor AXIS 0x0792 Axis vendor ABL 0x0794 ABL vendor SAGEM 0x079b Sagem vendor SUNCOMM 0x079c Sun Communications vendor ALFADATA 0x079d Alfadata vendor NATIONALTECH 0x07a2 National Technical vendor ONNTO 0x07a3 Onnto vendor BE 0x07a4 Be vendor ADMTEK 0x07a6 ADMtek vendor COREGA 0x07aa Corega vendor FREECOM 0x07ab Freecom vendor MICROTECH 0x07af Microtech vendor GENERALINSTMNTS 0x07b2 General Instruments (Motorola) vendor OLYMPUS 0x07b4 Olympus vendor ABOCOM 0x07b8 AboCom vendor KEISOKUGIKEN 0x07c1 Keisokugiken vendor ONSPEC 0x07c4 OnSpec vendor APG 0x07c5 APG vendor BUG 0x07c8 BUG vendor ALLIEDTELESYN 0x07c9 Allied Telesyn vendor AVERMEDIA 0x07ca AVerMedia vendor SIIG 0x07cc SIIG vendor CASIO 0x07cf CASIO vendor APTIO 0x07d2 Aptio vendor ARASAN 0x07da Arasan vendor ALLIEDCABLE 0x07e6 Allied Cable vendor STSN 0x07ef STSN vendor ZOOM 0x0803 Zoom vendor PCS 0x0810 Personal Communication Systems vendor BROADLOGIC 0x0827 BroadLogic vendor HANDSPRING 0x082d Handspring vendor PALM 0x0830 Palm vendor SOURCENEXT 0x0833 SOURCENEXT vendor ACTIONSTAR 0x0835 Action Star vendor SAMSUNG_TECHWIN 0x0839 Samsung Techwin vendor ACCTON 0x083a Accton vendor DIAMOND 0x0841 Diamond vendor NETGEAR 0x0846 BayNETGEAR vendor ACTIVEWIRE 0x0854 ActiveWire vendor BBELECTRONICS 0x0856 B&B Electronics vendor PORTGEAR 0x085a PortGear vendor SYSTEMTALKS 0x086e System Talks vendor METRICOM 0x0870 Metricom vendor ADESSOKBTEK 0x087c ADESSO vendor JATON 0x087d Jaton vendor APT 0x0880 APT vendor BOCARESEARCH 0x0885 Boca Research vendor ANDREA 0x08a8 Andrea vendor BURRBROWN 0x08bb Burr-Brown Japan vendor 2WIRE 0x08c8 2Wire vendor AIPTEK 0x08ca AIPTEK vendor SMARTBRIDGES 0x08d1 SmartBridges vendor BILLIONTON 0x08dd Billionton vendor EXTENDED 0x08e9 Extended vendor MSYSTEMS 0x08ec M-Systems vendor AUTHENTEC 0x08ff AuthenTec vendor AUDIOTECHNICA 0x0909 Audio-Technica vendor TRUMPION 0x090a Trumpion vendor ALATION 0x0910 Alation vendor CONCORDCAMERA 0x0919 Concord Camera vendor GOHUBS 0x0921 GoHubs vendor XEROX 0x0924 Xerox vendor BIOMETRIC 0x0929 American Biometric vendor TOSHIBA 0x0930 Toshiba vendor PLEXTOR 0x093b Plextor vendor INTREPIDCS 0x093c Intrepid vendor YANO 0x094f Yano vendor KINGSTON 0x0951 Kingston vendor BLUEWATER 0x0956 BlueWater vendor AGILENT 0x0957 Agilent vendor PORTSMITH 0x095a Portsmith vendor ACERW 0x0967 Acer vendor ADIRONDACK 0x0976 Adirondack Wire & Cable vendor BECKHOFF 0x0978 Beckhoff vendor MINDSATWORK 0x097a Minds At Work vendor POINTCHIPS 0x09a6 PointChips vendor INTERSIL 0x09aa Intersil vendor ALTIUS 0x09b3 Altius Solutions vendor ARRIS 0x09c1 Arris Interactive vendor ACTIVCARD 0x09c3 ACTIVCARD vendor ACTISYS 0x09c4 ACTiSYS vendor AFOURTECH 0x09da A-FOUR TECH vendor AIMEX 0x09dc AIMEX vendor ADDONICS 0x09df Addonics vendor AKAI 0x09e8 AKAI vendor ARESCOM 0x09f5 ARESCOM vendor BAY 0x09f9 Bay Associates vendor ALTERA 0x09fb Altera vendor CSR 0x0a12 Cambridge Silicon Radio vendor TREK 0x0a16 Trek vendor ASAHIOPTICAL 0x0a17 Asahi Optical vendor BOCASYSTEMS 0x0a43 Boca Systems vendor MEDIAGEAR 0x0a48 MediaGear vendor BROADCOM 0x0a5c Broadcom vendor GREENHOUSE 0x0a6b GREENHOUSE vendor GEOCAST 0x0a79 Geocast vendor NEODIO 0x0aec Neodio vendor VODAFONE 0x0af0 Vodafone vendor ASUS 0x0b05 ASUS vendor TODOS 0x0b0c Todos Data System vendor SIIG2 0x0b39 SIIG vendor TEKRAM 0x0b3b Tekram vendor HAL 0x0b41 HAL vendor EMS 0x0b43 EMS vendor NEC2 0x0b62 NEC vendor ATI2 0x0b6f ATI vendor ZEEVO 0x0b7a Zeevo vendor KURUSUGAWA 0x0b7e Kurusugawa vendor ASIX 0x0b95 ASIX vendor USR 0x0baf U.S. Robotics vendor REALTEK 0x0bda RealTek vendor ADDONICS2 0x0bf6 Addonics vendor AGATE 0x0c08 Agate vendor DMI 0x0c0b DMI vendor CHICONY2 0x0c45 Chicony vendor SEALEVEL 0x0c52 Sealevel vendor LUWEN 0x0c76 Luwen vendor ZCOM 0x0cde Z-Com vendor TANGTOP 0x0d3d Tangtop vendor SMC3 0x0d5c SMC vendor ADDON 0x0d7d Add-on Technology vendor ACDC 0x0d7e ACDC vendor ABC 0x0d8c ABC vendor MSI 0x0db0 Micro Star International vendor HAWKING 0x0e66 Hawking vendor GMATE 0x0e7e G.Mate, Inc vendor OTI 0x0ea0 Ours vendor PILOTECH 0x0eaf Pilotech vendor NOVATECH 0x0eb0 NovaTech vendor EGALAX 0x0eef eGalax vendor MICROTUNE 0x0f4d Microtune vendor VTECH 0x0f88 VTech vendor QUALCOMM2 0x1004 Qualcomm vendor GIGABYTE 0x1044 GIGABYTE vendor WESTERN 0x1058 Western Digital vendor MOTOROLA 0x1063 Motorola vendor CCYU 0x1065 CCYU vendor CURITEL 0x106c Curitel Communications Inc vendor PLX 0x10b5 PLX vendor ASANTE 0x10bd Asante vendor JRC 0x1145 JRC vendor DELORME 0x1163 DeLorme vendor SERVERWORKS 0x1166 ServerWorks vendor ACERCM 0x1189 Acer Communications & Multimedia vendor SIERRA 0x1199 Sierra Wireless vendor PROLIFIC2 0x11f6 Prolific vendor TWINMOS 0x126f TwinMOS vendor TSUNAMI 0x1241 Tsunami vendor CREATIVE2 0x1292 Creative Labs vendor BELKIN2 0x1293 Belkin vendor HUAWEI 0x12d1 Huawei Technologies vendor AINCOMM 0x12fd Aincomm vendor MOBILITY 0x1342 Mobility vendor LINKSYS4 0x13b1 Linksys vendor SHARK 0x13d2 Shark vendor NOVATEL 0x1410 Novatel Wireless vendor RADIOSHACK 0x1453 Radio Shack vendor SILICOM 0x1485 Silicom vendor RALINK 0x148f Ralink Technology vendor IMAGINATION 0x149a Imagination Technologies vendor CONCEPTRONIC 0x14b2 Conceptronic vendor SILICONPORTALS 0x1527 Silicon Portals vendor UBIQUAM 0x1529 UBIQUAM Co., Ltd. vendor PNY 0x154b PNY vendor SOHOWARE 0x15e8 SOHOware vendor UMAX 0x1606 UMAX vendor INSIDEOUT 0x1608 Inside Out Networks vendor ENTREGA 0x1645 Entrega vendor ACTIONTEC 0x1668 Actiontec vendor ANYDATA 0x16d5 AnyData Corporation vendor CMOTECH 0x16d8 CMOTECH CO., LTD. vendor LINKSYS3 0x1915 Linksys vendor DLINK 0x2001 D-Link vendor ERICSSON 0x2282 Ericsson vendor MOTOROLA2 0x22b8 Motorola vendor TRIPPLITE 0x2478 Tripp-Lite vendor HIROSE 0x2631 Hirose vendor NHJ 0x2770 NHJ vendor PLANEX 0x2c02 Planex vendor VIDZMEDIA 0x3275 VidzMedia vendor AEI 0x3334 AEI vendor PQI 0x3538 PQI vendor DAISY 0x3579 Daisy vendor NI 0x3923 National Instruments vendor MICRONET 0x3980 Micronet vendor IODATA2 0x40bb I-O Data vendor IRIVER 0x4102 iRiver vendor DELL 0x413c Dell vendor ACEECA 0x4766 Aceeca vendor AVERATEC 0x50c2 Averatec vendor ONSPEC2 0x55aa OnSpec vendor ZINWELL 0x5a57 Zinwell vendor SITECOM 0x6189 Sitecom vendor ARKMICRO 0x6547 Arkmicro Technologies vendor INTEL 0x8086 Intel vendor HP2 0xf003 Hewlett Packard /* * List of known products. Grouped by vendor. */ /* 3Com products */ product 3COM HOMECONN 0x009d HomeConnect Camera product 3COM 3CREB96 0x00a0 Bluetooth dongle product 3COM 3C19250 0x03E8 3C19250 Ethernet product 3COM 3CRSHEW696 0x0a01 3CRSHEW696 Wireless adapter product 3COM USR56K 0x3021 U.S.Robotics 56000 Voice Faxmodem Pro product 3COM 3C460 0x11f8 HomeConnect 3C460 product 3COM 3C460B 0x4601 HomeConnect 3C460B product 3COMUSR OFFICECONN 0x0082 3Com OfficeConnect Analog Modem product 3COMUSR USRISDN 0x008f 3Com U.S. Robotics Pro ISDN TA product 3COMUSR HOMECONN 0x009d 3Com HomeConnect camera product 3COMUSR USR56K 0x3021 U.S.Robotics 56000 Voice Faxmodem Pro /* AboCom products */ product ABOCOM XX1 0x110c XX1 product ABOCOM XX2 0x200c XX2 product ABOCOM URE450 0x4000 URE450 Ethernet product ABOCOM UFE1000 0x4002 UFE1000 Fast Ethernet product ABOCOM DSB650TX_PNA 0x4003 1/10/100 ethernet product ABOCOM XX4 0x4004 XX4 product ABOCOM XX5 0x4007 XX5 product ABOCOM XX6 0x400b XX6 product ABOCOM XX7 0x400c XX7 product ABOCOM XX8 0x4102 XX8 product ABOCOM XX9 0x4104 XX9 product ABOCOM XX10 0xabc1 XX10 /* Accton products */ product ACCTON USB320_EC 0x1046 USB320-EC Ethernet product ACCTON SS1001 0x5046 SpeedStream Ethernet /* Aceeca products */ product ACEECA MEZ1000 0x0001 Aceeca Mez1000 RDA /* Acer Peripherals, Inc. products */ product ACERP ACERSCAN_C310U 0x12a6 Acerscan C310U product ACERP ACERSCAN_320U 0x2022 Acerscan 320U product ACERP ACERSCAN_640U 0x2040 Acerscan 640U product ACERP ACERSCAN_620U 0x2060 Acerscan 620U product ACERP ACERSCAN_640BT 0x20be Acerscan 640BT product ACERP ACERSCAN_1240U 0x20c0 Acerscan 1240U product ACERP AWL300 0x9000 AWL300 Wireless adapter product ACERP AWL400 0x9001 AWL400 Wireless adapter /* ActiveWire, Inc. products */ product ACTIVEWIRE IOBOARD 0x0100 I/O Board product ACTIVEWIRE IOBOARD_FW1 0x0101 I/O Board, rev. 1 firmware /* Actiontec, Inc. products */ product ACTIONTEC UAT1 0x7605 UAT1 Wireless Ethernet /* ADMtek products */ product ADMTEK PEGASUS 0x0986 AN986 Ethernet product ADMTEK PEGASUSII 0x8511 AN8511 Ethernet product ADMTEK PEGASUSII_2 0x8513 AN8513 Ethernet /* ADDON products */ /* PNY OEMs these */ product ADDON ATTACHE 0x1300 USB 2.0 Flash Drive product ADDON ATTACHE 0x1300 USB 2.0 Flash Drive product ADDON A256MB 0x1400 Attache 256MB USB 2.0 Flash Drive product ADDON DISKPRO512 0x1420 USB 2.0 Flash Drive (DANE-ELEC zMate 512MB USB flash drive) /* ADS products */ product ADS UBS10BT 0x0008 UBS-10BT Ethernet /* Agate Technologies products */ product AGATE QDRIVE 0x0378 Q-Drive /* AGFA products */ product AGFA SNAPSCAN1212U 0x0001 SnapScan 1212U product AGFA SNAPSCAN1236U 0x0002 SnapScan 1236U product AGFA SNAPSCANTOUCH 0x0100 SnapScan Touch product AGFA SNAPSCAN1212U2 0x2061 SnapScan 1212U product AGFA SNAPSCANE40 0x208d SnapScan e40 product AGFA SNAPSCANE50 0x208f SnapScan e50 product AGFA SNAPSCANE20 0x2091 SnapScan e20 product AGFA SNAPSCANE25 0x2095 SnapScan e25 product AGFA SNAPSCANE26 0x2097 SnapScan e26 product AGFA SNAPSCANE52 0x20fd SnapScan e52 /* Ain Communication Technology products */ product AINCOMM AWU2000B 0x1001 AWU2000B Wireless adapter /* AKS products */ product AKS USBHASP 0x0001 USB-HASP 0.06 /* Alcor Micro, Inc. products */ product ALCOR2 KBD_HUB 0x2802 Kbd Hub product ALCOR MA_KBD_HUB 0x9213 MacAlly Kbd Hub product ALCOR AU9814 0x9215 AU9814 Hub product ALCOR SM_KBD 0x9410 MicroConnectors/StrongMan Keyboard product ALCOR NEC_KBD_HUB 0x9472 NEC Kbd Hub /* Altec Lansing products */ product ALTEC ADA70 0x0070 ADA70 Speakers product ALTEC ASC495 0xff05 ASC495 Speakers /* American Power Conversion products */ product APC UPS 0x0002 Uninterruptible Power Supply /* Anchor products */ product ANCHOR EZUSB 0x2131 EZUSB product ANCHOR EZLINK 0x2720 EZLINK /* AnyData products */ product ANYDATA ADU_E100X 0x6501 CDMA 2000 1xRTT/EV-DO USB Modem /* AOX, Inc. products */ product AOX USB101 0x0008 Ethernet /* Apple Computer products */ product APPLE OPTMOUSE 0x0302 Optical mouse product APPLE SPEAKERS 0x1101 Speakers product APPLE IPOD 0x1201 iPod product APPLE IPOD2G 0x1202 iPod 2G product APPLE IPOD3G 0x1203 iPod 3G product APPLE IPOD_04 0x1204 iPod '04' product APPLE IPODMINI 0x1205 iPod Mini product APPLE IPOD_06 0x1206 iPod '06' product APPLE IPOD_07 0x1207 iPod '07' product APPLE IPOD_08 0x1208 iPod '08' product APPLE IPODVIDEO 0x1209 iPod Video product APPLE IPODNANO 0x120a iPod Nano /* Arkmicro Technologies */ product ARKMICRO ARK3116 0x0232 ARK3116 Serial /* Asahi Optical products */ product ASAHIOPTICAL OPTIO230 0x0004 Digital camera product ASAHIOPTICAL OPTIO330 0x0006 Digital camera /* ASIX Electronics products */ product ASIX AX88172 0x1720 10/100 ethernet /* ASUS products */ product ASUS WL167G 0x1707 WL-167g wireless adapter /* ATen products */ product ATEN UC1284 0x2001 Parallel printer product ATEN UC10T 0x2002 10Mbps ethernet product ATEN UC232A 0x2008 Serial /* Atmel Comp. products */ product ATMEL UHB124 0x3301 UHB124 hub product ATMEL DWL120 0x7603 DWL-120 Wireless adapter product ATMEL BW002 0x7605 BW002 Wireless adapter product ATMEL WL1130USB 0x7613 WL-1130 USB product ATMEL AT76C505A 0x7614 AT76c505a Wireless adapter /* Avision products */ product AVISION 1200U 0x0268 1200U scanner /* B&B Electronics products */ product BBELECTRONICS USOTL4 0xAC01 RS-422/485 /* Belkin products */ /*product BELKIN F5U111 0x???? F5U111 Ethernet*/ product BELKIN2 F5U002 0x0002 F5U002 Parallel printer product BELKIN USB2LAN 0x0121 USB to LAN product BELKIN F5U103 0x0103 F5U103 Serial product BELKIN F5U109 0x0109 F5U109 Serial product BELKIN F5U208 0x0208 F5U208 VideoBus II product BELKIN F5U409 0x0409 F5U409 Serial product BELKIN F6C550AVR 0x0551 F6C550-AVR UPS product BELKIN F5U120 0x1203 F5U120-PC Hub product BELKIN F5D7050 0x7050 F5D7050 wireless adapter /* Billionton products */ product BILLIONTON USB100 0x0986 USB100N 10/100 FastEthernet product BILLIONTON USBLP100 0x0987 USB100LP product BILLIONTON USBEL100 0x0988 USB100EL product BILLIONTON USBE100 0x8511 USBE100 /* Broadcom products */ product BROADCOM BCM2033 0x2033 BCM2033 Bluetooth USB dongle /* Brother Industries products */ product BROTHER HL1050 0x0002 HL-1050 laser printer /* Behavior Technology Computer products */ product BTC BTC7932 0x6782 Keyboard with mouse port /* Canon, Inc. products */ product CANON N656U 0x2206 CanoScan N656U product CANON N1220U 0x2207 CanoScan N1220U product CANON D660U 0x2208 CanoScan D660U product CANON N676U 0x220d CanoScan N676U product CANON N1240U 0x220e CanoScan N1240U product CANON LIDE25 0x2220 CanoScan LIDE 25 product CANON S10 0x3041 PowerShot S10 product CANON S100 0x3045 PowerShot S100 product CANON S200 0x3065 PowerShot S200 /* CATC products */ product CATC NETMATE 0x000a Netmate ethernet product CATC NETMATE2 0x000c Netmate2 ethernet product CATC CHIEF 0x000d USB Chief Bus & Protocol Analyzer product CATC ANDROMEDA 0x1237 Andromeda hub /* CASIO products */ product CASIO NAMELAND 0x4001 CASIO Nameland EZ-USB /* Cherry products */ product CHERRY MY3000KBD 0x0001 My3000 keyboard product CHERRY MY3000HUB 0x0003 My3000 hub product CHERRY CYBOARD 0x0004 CyBoard Keyboard /* Chic Technology products */ product CHIC MOUSE1 0x0001 mouse product CHIC CYPRESS 0x0003 Cypress USB Mouse /* Chicony products */ product CHICONY KB8933 0x0001 KB-8933 keyboard /* CMOTECH products */ product CMOTECH CNU510 0x5141 CMOTECH CDMA Technologies USB modem product CMOTECH CNU550 0x5543 CDMA 2000 1xRTT/1xEVDO USB modem product CMOTECH CDMAMODEM 0x5141 CMOTECH CDMA Technologies USB modem /* Compaq products */ product COMPAQ PJB100 0x504a Personal Jukebox PJB100 product COMPAQ IPAQLINUX 0x505a iPAQ Linux /* Connectix products */ product CONNECTIX QUICKCAM 0x0001 QuickCam /* Corega products */ product COREGA ETHER_USB_T 0x0001 Ether USB-T product COREGA FETHER_USB_TX 0x0004 FEther USB-TX product COREGA FETHER_USB_TXS 0x000d FEther USB-TXS product COREGA FETHER_USB_TXC 0x9601 FEther USB-TXC /* Creative products */ product CREATIVE NOMAD_II 0x1002 Nomad II MP3 player /* Crystalfontz products */ product FTDI CFA_631 0xfc0c Crystalfontz CFA-631 USB LCD product FTDI CFA_632 0xfc08 Crystalfontz CFA-632 USB LCD product FTDI CFA_633 0xfc0b Crystalfontz CFA-633 USB LCD product FTDI CFA_634 0xfc09 Crystalfontz CFA-634 USB LCD product FTDI SEMC_DSS20 0xfc82 SEMC DSS-20 SyncStation /* Cambridge Silicon Radio Ltd. products */ product CSR BT_DONGLE 0x0001 Bluetooth USB dongle product CSR CSRDFU 0xffff USB Bluetooth Device in DFU State /* Conceptronic products */ product CONCEPTRONIC C54U 0x3c02 C54U wireless adapter /* CTX products */ product CTX EX1300 0x9999 Ex1300 hub /* Curitel products */ product CURITEL HX550C 0x1101 CDMA 2000 1xRTT USB modem (HX-550C) product CURITEL HX57XB 0x2101 CDMA 2000 1xRTT USB modem (HX-570/575B/PR-600) product CURITEL PC5740 0x3701 Broadband wireless modem /* Cypress Semiconductor products */ product CYPRESS MOUSE 0x0001 mouse product CYPRESS THERMO 0x0002 thermometer product CYPRESS WISPY 0x0bad MetaGeek Wi-Spy product CYPRESS FMRADIO 0x1002 FM Radio product CYPRESS SLIM_HUB 0x6560 Slim Hub /* Daisy Technology products */ product DAISY DMC 0x6901 USB MultiMedia Reader /* Dallas Semiconductor products */ product DALLAS J6502 0x4201 J-6502 speakers /* Dell products */ product DELL PORT 0x0058 Port Replicator product DELL BC02 0x8000 BC02 Bluetooth USB Adapter /* Delorme Paublishing products */ product DELORME EARTHMATE 0x0100 Earthmate GPS /* Diamond products */ product DIAMOND RIO500USB 0x0001 Rio 500 USB /* Digi International products */ product DIGI ACCELEPORT2 0x0002 AccelePort USB 2 product DIGI ACCELEPORT4 0x0004 AccelePort USB 4 product DIGI ACCELEPORT8 0x0008 AccelePort USB 8 /* D-Link products */ /*product DLINK DSBS25 0x0100 DSB-S25 serial*/ product DLINK DUBE100 0x1a00 10/100 ethernet product DLINK DSB650TX4 0x200c 10/100 ethernet product DLINK DWLG122 0x3c00 DWL-G122 b1 wireless adapter product DLINK DSB650C 0x4000 10Mbps ethernet product DLINK DSB650TX1 0x4001 10/100 ethernet product DLINK DSB650TX 0x4002 10/100 ethernet product DLINK DSB650TX_PNA 0x4003 1/10/100 ethernet product DLINK DSB650TX3 0x400b 10/100 ethernet product DLINK DSB650TX2 0x4102 10/100 ethernet product DLINK DSB650 0xabc1 10/100 ethernet /* EIZO products */ product EIZO HUB 0x0000 hub product EIZO MONITOR 0x0001 monitor /* Elecom products */ product ELECOM MOUSE29UO 0x0002 mouse 29UO product ELECOM LDUSBTX0 0x200c LD-USB/TX product ELECOM LDUSBTX1 0x4002 LD-USB/TX product ELECOM LDUSBLTX 0x4005 LD-USBL/TX product ELECOM LDUSBTX2 0x400b LD-USB/TX product ELECOM UCSGT 0x5003 UC-SGT product ELECOM UCSGT0 0x5004 UC-SGT product ELECOM LDUSBTX3 0xabc1 LD-USB/TX /* Elsa products */ product ELSA MODEM1 0x2265 ELSA Modem Board product ELSA USB2ETHERNET 0x3000 Microlink USB2Ethernet /* EMS products */ product EMS DUAL_SHOOTER 0x0003 PSX gun controller converter /* Entrega products */ product ENTREGA 1S 0x0001 1S serial product ENTREGA 2S 0x0002 2S serial product ENTREGA 1S25 0x0003 1S25 serial product ENTREGA 4S 0x0004 4S serial product ENTREGA E45 0x0005 E45 Ethernet product ENTREGA CENTRONICS 0x0006 Parallel Port product ENTREGA 1S9 0x0093 1S9 serial product ENTREGA EZUSB 0x8000 EZ-USB /*product ENTREGA SERIAL 0x8001 DB25 Serial*/ product ENTREGA 2U4S 0x8004 2U4S serial/usb hub /*product ENTREGA SERIAL_DB9 0x8093 DB9 Serial*/ /* Epson products */ product EPSON PRINTER1 0x0001 USB Printer product EPSON PRINTER2 0x0002 ISD USB Smart Cable for Mac product EPSON PRINTER3 0x0003 ISD USB Smart Cable product EPSON PRINTER5 0x0005 USB Printer product EPSON 636 0x0101 Perfection 636U / 636Photo scanner product EPSON 610 0x0103 Perfection 610 scanner product EPSON 1200 0x0104 Perfection 1200U / 1200Photo scanner product EPSON 1600 0x0107 Expression 1600 scanner product EPSON 1640 0x010a Perfection 1640SU scanner product EPSON 1240 0x010b Perfection 1240U / 1240Photo scanner product EPSON 640U 0x010c Perfection 640U scanner product EPSON 1250 0x010f Perfection 1250U / 1250Photo scanner product EPSON 1650 0x0110 Perfection 1650 scanner product EPSON GT9700F 0x0112 GT-9700F scanner product EPSON GT9300UF 0x011b GT-9300UF scanner product EPSON 3200 0x011c Perfection 3200 scanner product EPSON 1260 0x011d Perfection 1260 scanner product EPSON 1660 0x011e Perfection 1660 scanner product EPSON 1670 0x011f Perfection 1670 scanner product EPSON 1270 0x0120 Perfection 1270 scanner product EPSON 2480 0x0121 Perfection 2480 scanner product EPSON 3590 0x0122 Perfection 3590 scanner product EPSON 4990 0x012a Perfection 4990 Photo scanner product EPSON 3500 0x080e CX-3500/3600/3650 MFP product EPSON RX425 0x080f Stylus Photo RX425 scanner product EPSON 4200 0x0820 CX4200 MP scanner product EPSON 5000 0x082b DX-50x0 MFP scanner product EPSON 6000 0x082e DX-60x0 MFP scanner /* e-TEK Labs products */ product ETEK 1COM 0x8007 Serial /* Extended Systems products */ product EXTENDED XTNDACCESS 0x0100 XTNDAccess IrDA /* GoHubs products */ product GOHUBS GOCOM232 0x1001 GoCOM232 Serial /* Gravis products */ product GRAVIS GAMEPADPRO 0x4001 GamePad Pro /* GREENHOUSE products */ product GREENHOUSE KANA21 0x0001 CF-writer with MP3 /* Griffin Technology */ product GRIFFIN IMATE 0x0405 iMate, ADB adapter /* Freecom products */ product FREECOM DVD 0xfc01 DVD drive /* Future Technology Devices products */ product FTDI SERIAL_8U100AX 0x8372 8U100AX Serial product FTDI SERIAL_8U232AM 0x6001 8U232AM Serial product FTDI SERIAL_2232C 0x6010 FT2232C Dual port Serial /* Fuji photo products */ product FUJIPHOTO MASS0100 0x0100 Mass Storage /* Fujitsu protducts */ product FUJITSU AH_F401U 0x105b AH-F401U Air H device /* General Instruments (Motorola) products */ product GENERALINSTMNTS SB5100 0x5100 SURFboard SB5100 Cable modem /* Genesys Logic products */ product GENESYS GL650 0x0604 GL650 Hub product GENESYS GL641USB 0x0700 GL641USB CompactFlash Card Reader product GENESYS GL641USB2IDE_2 0x0701 GL641USB USB-IDE Bridge No 2 product GENESYS GL641USB2IDE 0x0702 GL641USB USB-IDE Bridge product GENESYS GL641USB_2 0x0760 GL641USB 6-in-1 Card Reader /* GIGABYTE products */ product GIGABYTE GNBR402W 0x8002 GN-BR402W product GIGABYTE GNWLBM101 0x8003 GN-WLBM101 product GIGABYTE GNWBKG 0x8007 GN-WBKG /* G.Mate, Inc products */ product GMATE YP3X00 0x1001 YP3X00 PDA /* Guillemot Corporation */ product GUILLEMOT DALEADER 0xa300 DA Leader product GUILLEMOT HWGUSB254 0xe000 HWGUSB2-54 WLAN /* HAL Corporation products */ product HAL IMR001 0x0011 Crossam2+USB IR commander /* Hagiwara products */ product HAGIWARA FGSM 0x0002 FlashGate SmartMedia Card Reader product HAGIWARA FGCF 0x0003 FlashGate CompactFlash Card Reader product HAGIWARA FG 0x0005 FlashGate /* Handspring, Inc. */ product HANDSPRING VISOR 0x0100 Handspring Visor product HANDSPRING TREO 0x0200 Handspring Treo product HANDSPRING TREO600 0x0300 Handspring Treo 600 /* Hauppauge Computer Works */ product HAUPPAUGE WINTV_USB_FM 0x4d12 WinTV USB FM /* Hawking Technologies products */ product HAWKING UF100 0x400c 10/100 USB Ethernet /* Hitachi, Ltd. products */ product HITACHI DVDCAM_USB 0x001e DVDCAM USB HS Interface /* HP products */ product HP 895C 0x0004 DeskJet 895C product HP 4100C 0x0101 Scanjet 4100C product HP S20 0x0102 Photosmart S20 product HP 880C 0x0104 DeskJet 880C product HP 4200C 0x0105 ScanJet 4200C product HP CDWRITERPLUS 0x0107 CD-Writer Plus product HP KBDHUB 0x010c Multimedia Keyboard Hub product HP G55XI 0x0111 OfficeJet G55xi product HP HN210W 0x011c HN210W 802.11b WLAN product HP 49GPLUS 0x0121 49g+ graphing calculator product HP 6200C 0x0201 ScanJet 6200C product HP S20b 0x0202 PhotoSmart S20 product HP 815C 0x0204 DeskJet 815C product HP 3300C 0x0205 ScanJet 3300C product HP CDW8200 0x0207 CD-Writer Plus 8200e product HP MMKEYB 0x020c Multimedia keyboard product HP 1220C 0x0212 DeskJet 1220C product HP 810C 0x0304 DeskJet 810C/812C product HP 4300C 0x0305 Scanjet 4300C product HP G85XI 0x0311 OfficeJet G85xi product HP 1200 0x0317 LaserJet 1200 product HP 5200C 0x0401 Scanjet 5200C product HP 830C 0x0404 DeskJet 830C product HP 3400CSE 0x0405 ScanJet 3400cse product HP 6300C 0x0601 Scanjet 6300C product HP 840C 0x0604 DeskJet 840c product HP 2200C 0x0605 ScanJet 2200C product HP 5300C 0x0701 Scanjet 5300C product HP 4400C 0x0705 Scanjet 4400C product HP 82x0C 0x0b01 Scanjet 82x0C product HP 2300D 0x0b17 Laserjet 2300d product HP 970CSE 0x1004 Deskjet 970Cse product HP 5400C 0x1005 Scanjet 5400C product HP 930C 0x1204 DeskJet 930c product HP P2000U 0x1801 Inkjet P-2000U product HP 640C 0x2004 DeskJet 640c product HP 4670V 0x3005 ScanJet 4670v product HP P1100 0x3102 Photosmart P1100 product HP HN210E 0x811c Ethernet HN210E /* HP products */ product HP2 C500 0x6002 PhotoSmart C500 /* HUAWEI products */ product HUAWEI MOBILE 0x1001 Huawei Mobile product HUAWEI E200a 0x1001 Huawei E200 product HUAWEI E200b 0x1003 Huawei E200 /* IBM Corporation */ product IBM USBCDROMDRIVE 0x4427 USB CD-ROM Drive /* Imagination Technologies products */ product IMAGINATION DBX1 0x2107 DBX1 DSP core /* Inside Out Networks products */ product INSIDEOUT EDGEPORT4 0x0001 EdgePort/4 serial ports /* In-System products */ product INSYSTEM F5U002 0x0002 Parallel printer product INSYSTEM ATAPI 0x0031 ATAPI adapter product INSYSTEM ISD110 0x0200 IDE adapter ISD110 product INSYSTEM ISD105 0x0202 IDE adapter ISD105 product INSYSTEM USBCABLE 0x081a USB cable /* Intel products */ product INTEL EASYPC_CAMERA 0x0110 Easy PC Camera product INTEL TESTBOARD 0x9890 82930 test board /* Intersil products */ product INTERSIL PRISM_2X 0x3642 Prism2.x or Atmel WLAN /* Interpid Control Systems products */ product INTREPIDCS VALUECAN 0x0601 ValueCAN CAN bus interface product INTREPIDCS NEOVI 0x0701 NeoVI Blue vehicle bus interface /* I/O DATA products */ product IODATA IU_CD2 0x0204 DVD Multi-plus unit iU-CD2 product IODATA DVR_UEH8 0x0206 DVD Multi-plus unit DVR-UEH8 product IODATA USBETT 0x0901 USB ETT product IODATA USBETTX 0x0904 USB ETTX product IODATA USBETTXS 0x0913 USB ETTX product IODATA USBRSAQ 0x0a03 Serial USB-RSAQ1 /* Iomega products */ product IOMEGA ZIP100 0x0001 Zip 100 product IOMEGA ZIP250 0x0030 Zip 250 /* JVC products */ product JVC GR_DX95 0x000a GR-DX95 product JVC MP_PRX1 0x3008 MP-PRX1 Ethernet /* JRC products */ product JRC AH_J3001V_J3002V 0x0001 AirH PHONE AH-J3001V/J3002V /* Kawasaki products */ product KLSI DUH3E10BT 0x0008 USB ethernet product KLSI DUH3E10BTN 0x0009 USB ethernet /* Kawatsu products */ product KAWATSU MH4000P 0x0003 MiniHub 4000P /* Keisokugiken Corp. products */ product KEISOKUGIKEN USBDAQ 0x0068 HKS-0200 USBDAQ /* Kawasaki products */ product KLSI DUH3E10BT 0x0008 DU-H3E 10BT Ethernet /* Kensington products */ product KENSINGTON ORBIT 0x1003 Orbit USB/PS2 trackball product KENSINGTON TURBOBALL 0x1005 TurboBall /* Keyspan products */ product KEYSPAN USA28_NF 0x0101 USA-28 serial adapter (no firmware) product KEYSPAN USA28X_NF 0x0102 USA-28X serial adapter (no firmware) product KEYSPAN USA19_NF 0x0103 USA-19 serial adapter (no firmware) product KEYSPAN USA18_NF 0x0104 USA-18 serial adapter (no firmware) product KEYSPAN USA18X_NF 0x0105 USA-18X serial adapter (no firmware) product KEYSPAN USA19W_NF 0x0106 USA-19W serial adapter (no firmware) product KEYSPAN USA19 0x0107 USA-19 serial adapter product KEYSPAN USA19W 0x0108 USA-19W serial adapter product KEYSPAN USA49W_NF 0x0109 USA-49W serial adapter (no firmware) product KEYSPAN USA49W 0x010a USA-49W serial adapter product KEYSPAN USA19QI_NF 0x010b USA-19QI serial adapter (no firmware) product KEYSPAN USA19QI 0x010c USA-19QI serial adapter product KEYSPAN USA19Q_NF 0x010d USA-19Q serial adapter (no firmware) product KEYSPAN USA19Q 0x010e USA-19Q serial adapter product KEYSPAN USA28 0x010f USA-28 serial adapter product KEYSPAN USA28XXB 0x0110 USA-28X/XB serial adapter product KEYSPAN USA18 0x0111 USA-18 serial adapter product KEYSPAN USA18X 0x0112 USA-18X serial adapter product KEYSPAN USA28XB_NF 0x0113 USA-28XB serial adapter (no firmware) product KEYSPAN USA28XA_NF 0x0114 USA-28XB serial adapter (no firmware) product KEYSPAN USA28XA 0x0115 USA-28XA serial adapter product KEYSPAN USA18XA_NF 0x0116 USA-18XA serial adapter (no firmware) product KEYSPAN USA18XA 0x0117 USA-18XA serial adapter product KEYSPAN USA19QW_NF 0x0118 USA-19WQ serial adapter (no firmware) product KEYSPAN USA19QW 0x0119 USA-19WQ serial adapter product KEYSPAN USA19HA 0x0121 USA-19HS serial adapter product KEYSPAN UIA10 0x0201 UIA-10 remote control product KEYSPAN UIA11 0x0202 UIA-11 remote control /* Kingston products */ product KINGSTON KNU101TX 0x000a KNU101TX USB Ethernet /* Kodak products */ product KODAK DC220 0x0100 Digital Science DC220 product KODAK DC260 0x0110 Digital Science DC260 product KODAK DC265 0x0111 Digital Science DC265 product KODAK DC290 0x0112 Digital Science DC290 product KODAK DC240 0x0120 Digital Science DC240 product KODAK DC280 0x0130 Digital Science DC280 /* Konica Corp. Products */ product KONICA CAMERA 0x0720 Digital Color Camera /* KYE products */ product KYE NICHE 0x0001 Niche mouse product KYE NETSCROLL 0x0003 Genius NetScroll mouse product KYE FLIGHT2000 0x1004 Flight 2000 joystick product KYE VIVIDPRO 0x2001 ColorPage Vivid-Pro scanner /* Kyocera products */ product KYOCERA AHK3001V 0x0203 AH-K3001V /* LaCie products */ product LACIE HD 0xa601 Hard Disk product LACIE CDRW 0xa602 CD R/W /* Lexar products */ product LEXAR JUMPSHOT 0x0001 jumpSHOT CompactFlash Reader /* Lexmark products */ product LEXMARK S2450 0x0009 Optra S 2450 /* Linksys products */ product LINKSYS MAUSB2 0x0105 Camedia MAUSB-2 product LINKSYS USB10TX1 0x200c USB10TX product LINKSYS USB10T 0x2202 USB10T Ethernet product LINKSYS USB100TX 0x2203 USB100TX Ethernet product LINKSYS USB100H1 0x2204 USB100H1 Ethernet/HPNA product LINKSYS USB10TA 0x2206 USB10TA Ethernet product LINKSYS USB10TX2 0x400b USB10TX product LINKSYS2 WUSB11 0x2219 WUSB11 Wireless adapter product LINKSYS2 USB200M 0x2226 USB 2.0 10/100 ethernet product LINKSYS3 WUSB11v28 0x2233 WUSB11 v2.8 wireless adapter product LINKSYS4 WUSB54G 0x000d WUSB54G wireless adapter product LINKSYS4 WUSB54GP 0x0011 WUSB54GP wireless adapter product LINKSYS4 HU200TS 0x001a HU200TS wireless adapter /* Logitech products */ product LOGITECH M2452 0x0203 M2452 keyboard product LOGITECH M4848 0x0301 M4848 mouse product LOGITECH PAGESCAN 0x040f PageScan product LOGITECH QUICKCAMWEB 0x0801 QuickCam Web product LOGITECH QUICKCAMPRO 0x0810 QuickCam Pro product LOGITECH QUICKCAMEXP 0x0840 QuickCam Express product LOGITECH QUICKCAM 0x0850 QuickCam product LOGITECH N43 0xc000 N43 product LOGITECH N48 0xc001 N48 mouse product LOGITECH MBA47 0xc002 M-BA47 mouse product LOGITECH WMMOUSE 0xc004 WingMan Gaming Mouse product LOGITECH BD58 0xc00c BD58 mouse product LOGITECH UN58A 0xc030 iFeel Mouse product LOGITECH UN53B 0xc032 iFeel MouseMan product LOGITECH WMPAD 0xc208 WingMan GamePad Extreme product LOGITECH WMRPAD 0xc20a WingMan RumblePad product LOGITECH WMJOY 0xc281 WingMan Force joystick product LOGITECH BB13 0xc401 USB-PS/2 Trackball product LOGITECH RK53 0xc501 Cordless mouse product LOGITECH RB6 0xc503 Cordless keyboard product LOGITECH MX700 0xc506 Cordless optical mouse product LOGITECH QUICKCAMPRO2 0xd001 QuickCam Pro /* Logitec Corp. products */ product LOGITEC LDR_H443SU2 0x0033 DVD Multi-plus unit LDR-H443SU2 product LOGITEC LDR_H443U2 0x00b3 DVD Multi-plus unit LDR-H443U2 /* Lucent products */ product LUCENT EVALKIT 0x1001 USS-720 evaluation kit /* Luwen products */ product LUWEN EASYDISK 0x0005 EasyDisc /* Macally products */ product MACALLY MOUSE1 0x0101 mouse /* Matrix Orbital products */ product FTDI USBSERIAL 0xfa00 Matrix Orbital USB Serial product FTDI MX2_3 0xfa01 Matrix Orbital MX2 or MX3 product FTDI MX4_5 0xfa02 Matrix Orbital MX4 or MX5 product FTDI LK202 0xfa03 Matrix Orbital VK/LK202 Family product FTDI LK204 0xfa04 Matrix Orbital VK/LK204 Family /* MCT Corp. */ product MCT HUB0100 0x0100 Hub product MCT DU_H3SP_USB232 0x0200 D-Link DU-H3SP USB BAY Hub product MCT USB232 0x0210 USB-232 Interface product MCT SITECOM_USB232 0x0230 Sitecom USB-232 Products /* Melco, Inc products */ product MELCO LUATX1 0x0001 LUA-TX Ethernet product MELCO LUATX5 0x0005 LUA-TX Ethernet product MELCO LUA2TX5 0x0009 LUA2-TX Ethernet product MELCO LUAKTX 0x0012 LUA-KTX Ethernet product MELCO DUBPXXG 0x001c USB-IDE Bridge: DUB-PxxG product MELCO LUAU2KTX 0x003d LUA-U2-KTX Ethernet product MELCO KG54YB 0x005e WLI-U2-KG54-YB WLAN product MELCO KG54 0x0066 WLI-U2-KG54 WLAN product MELCO KG54AI 0x0067 WLI-U2-KG54-AI WLAN product MELCO NINWIFI 0x008b Nintendo Wi-Fi /* Metricom products */ product METRICOM RICOCHET_GS 0x0001 Ricochet GS /* MGE UPS Systems */ product MGE UPS1 0x0001 MGE UPS SYSTEMS PROTECTIONCENTER 1 product MGE UPS2 0xffff MGE UPS SYSTEMS PROTECTIONCENTER 2 /* Micro Star International products */ product MSI BT_DONGLE 0x1967 Bluetooth USB dongle product MSI RT2570 0x6861 RT2570 product MSI RT2570_2 0x6865 RT2570 product MSI RT2570_3 0x6869 RT2570 /* Microsoft products */ product MICROSOFT SIDEPREC 0x0008 SideWinder Precision Pro product MICROSOFT INTELLIMOUSE 0x0009 IntelliMouse product MICROSOFT NATURALKBD 0x000b Natural Keyboard Elite product MICROSOFT DDS80 0x0014 Digital Sound System 80 product MICROSOFT SIDEWINDER 0x001a Sidewinder Precision Racing Wheel product MICROSOFT INETPRO 0x001c Internet Keyboard Pro product MICROSOFT INTELLIEYE 0x0025 IntelliEye mouse product MICROSOFT INETPRO2 0x002b Internet Keyboard Pro product MICROSOFT MN110 0x007a 10/100 USB NIC /* Microtech products */ product MICROTECH SCSIDB25 0x0004 USB-SCSI-DB25 product MICROTECH SCSIHD50 0x0005 USB-SCSI-HD50 product MICROTECH DPCM 0x0006 USB CameraMate product MICROTECH FREECOM 0xfc01 Freecom USB-IDE /* Microtek products */ product MICROTEK 336CX 0x0094 Phantom 336CX - C3 scanner product MICROTEK X6U 0x0099 ScanMaker X6 - X6U product MICROTEK C6 0x009a Phantom C6 scanner product MICROTEK 336CX2 0x00a0 Phantom 336CX - C3 scanner product MICROTEK V6USL 0x00a3 ScanMaker V6USL product MICROTEK V6USL2 0x80a3 ScanMaker V6USL product MICROTEK V6UL 0x80ac ScanMaker V6UL /* Microtune, Inc. products */ product MICROTUNE BT_DONGLE 0x1000 Bluetooth USB dongle /* Midiman products */ product MIDIMAN MIDISPORT2X2 0x1001 Midisport 2x2 /* Minolta Co., Ltd. */ product MINOLTA 2300 0x4001 Dimage 2300 product MINOLTA S304 0x4007 Dimage S304 product MINOLTA X 0x4009 Dimage X product MINOLTA 5400 0x400e Dimage 5400 /* Mitsumi products */ product MITSUMI CDRRW 0x0000 CD-R/RW Drive product MITSUMI BT_DONGLE 0x641f Bluetooth USB dongle /* Motorola products */ product MOTOROLA MC141555 0x1555 MC141555 hub controller product MOTOROLA SB4100 0x4100 SB4100 USB Cable Modem product MOTOROLA2 A41XV32X 0x2a22 A41x/V32x Mobile Phones product MOTOROLA2 E398 0x4810 E398 Mobile Phone /* MultiTech products */ product MULTITECH ATLAS 0xf101 MT5634ZBA-USB modem /* Mustek products */ product MUSTEK 1200CU 0x0001 1200 CU scanner product MUSTEK 600CU 0x0002 600 CU scanner product MUSTEK 1200USB 0x0003 1200 USB scanner product MUSTEK 1200UB 0x0006 1200 UB scanner product MUSTEK 1200USBPLUS 0x0007 1200 USB Plus scanner product MUSTEK 1200CUPLUS 0x0008 1200 CU Plus scanner product MUSTEK BEARPAW1200F 0x0010 BearPaw 1200F scanner product MUSTEK BEARPAW1200TA 0x021e BearPaw 1200TA scanner product MUSTEK 600USB 0x0873 600 USB scanner product MUSTEK MDC800 0xa800 MDC-800 digital camera /* M-Systems products */ product MSYSTEMS DISKONKEY 0x0010 DiskOnKey product MSYSTEMS DISKONKEY2 0x0011 DiskOnKey /* National Semiconductor */ product NATIONAL BEARPAW1200 0x1000 BearPaw 1200 product NATIONAL BEARPAW2400 0x1001 BearPaw 2400 /* NEC products */ product NEC HUB 0x55aa hub product NEC HUB_B 0x55ab hub /* NEODIO products */ product NEODIO ND3260 0x3260 8-in-1 Multi-format Flash Controller product NEODIO ND5010 0x5010 Multi-format Flash Controller /* NetChip Technology Products */ product NETCHIP TURBOCONNECT 0x1080 Turbo-Connect product NETCHIP ETHERNETGADGET 0xa4a2 Linux Ethernet/RNDIS gadget on pxa210/25x/26x /* Netgear products */ product NETGEAR EA101 0x1001 Ethernet product NETGEAR FA101 0x1020 Ethernet 10/100, USB1.1 product NETGEAR FA120 0x1040 USB 2.0 Ethernet /* Nikon products */ product NIKON E990 0x0102 Digital Camera E990 product NIKON LS40 0x4000 CoolScan LS40 ED /* NovaTech Products */ product NOVATECH NV902 0x9020 NovaTech NV-902W /* Novatel Wireless products */ product NOVATEL U740 0x1400 Merlin U740 /* Olympus products */ product OLYMPUS C1 0x0102 C-1 Digital Camera product OLYMPUS C700 0x0105 C-700 Ultra Zoom /* OmniVision Technologies, Inc. products */ product OMNIVISION OV511 0x0511 OV511 Camera product OMNIVISION OV511PLUS 0xa511 OV511+ Camera /* OnSpec Electronic, Inc. */ product ONSPEC UCF100 0xa400 FlashLink UCF-100 CompactFlash Reader /* Palm Computing, Inc. product */ product PALM SERIAL 0x0080 USB Serial product PALM M500 0x0001 Palm m500 product PALM M505 0x0002 Palm m505 product PALM M515 0x0003 Palm m515 product PALM I705 0x0020 Palm i705 product PALM TUNGSTEN_Z 0x0031 Palm Tungsten Z product PALM M125 0x0040 Palm m125 product PALM M130 0x0050 Palm m130 product PALM TUNGSTEN_T 0x0060 Palm Tungsten T product PALM ZIRE31 0x0061 Palm Zire 31 product PALM ZIRE 0x0070 Palm Zire /* Panasonic products */ product PANASONIC KXL840AN 0x0d01 CD-R Drive KXL-840AN product PANASONIC KXLRW32AN 0x0d09 CD-R Drive KXL-RW32AN product PANASONIC KXLCB20AN 0x0d0a CD-R Drive KXL-CB20AN product PANASONIC KXLCB35AN 0x0d0e DVD-ROM & CD-R/RW product PANASONIC SDCAAE 0x1b00 MultiMediaCard /* Peracom products */ product PERACOM SERIAL1 0x0001 Serial product PERACOM ENET 0x0002 Ethernet product PERACOM ENET3 0x0003 At Home Ethernet product PERACOM ENET2 0x0005 Ethernet /* Philips products */ product PHILIPS DSS350 0x0101 DSS 350 Digital Speaker System product PHILIPS DSS 0x0104 DSS XXX Digital Speaker System product PHILIPS HUB 0x0201 hub product PHILIPS PCA646VC 0x0303 PCA646VC PC Camera product PHILIPS PCVC680K 0x0308 PCVC680K Vesta Pro PC Camera product PHILIPS DSS150 0x0471 DSS 150 Digital Speaker System product PHILIPS UM10016 0x1552 ISP 1581 Hi-Speed USB MPEG2 Encoder Reference Kit product PHILIPS DIVAUSB 0x1801 DIVA USB mp3 player /* Philips Semiconductor products */ product PHILIPSSEMI HUB1122 0x1122 hub /* P.I. Engineering products */ product PIENGINEERING PS2USB 0x020b PS2 to Mac USB Adapter /* Plextor Corp. */ product PLEXTOR 40_12_40U 0x0011 PlexWriter 40/12/40U /* PLX products */ product PLX TESTBOARD 0x9060 test board /* PNY products */ product PNY ATTACHE2 0x0010 USB 2.0 Flash Drive /* Primax products */ product PRIMAX G2X300 0x0300 G2-200 scanner product PRIMAX G2E300 0x0301 G2E-300 scanner product PRIMAX G2300 0x0302 G2-300 scanner product PRIMAX G2E3002 0x0303 G2E-300 scanner product PRIMAX 9600 0x0340 Colorado USB 9600 scanner product PRIMAX 600U 0x0341 Colorado 600u scanner product PRIMAX 6200 0x0345 Visioneer 6200 scanner product PRIMAX 19200 0x0360 Colorado USB 19200 scanner product PRIMAX 1200U 0x0361 Colorado 1200u scanner product PRIMAX G600 0x0380 G2-600 scanner product PRIMAX 636I 0x0381 ReadyScan 636i product PRIMAX G2600 0x0382 G2-600 scanner product PRIMAX G2E600 0x0383 G2E-600 scanner product PRIMAX COMFORT 0x4d01 Comfort product PRIMAX MOUSEINABOX 0x4d02 Mouse-in-a-Box product PRIMAX PCGAUMS1 0x4d04 Sony PCGA-UMS1 /* Prolific products */ product PROLIFIC PL2301 0x0000 PL2301 Host-Host interface product PROLIFIC PL2302 0x0001 PL2302 Host-Host interface product PROLIFIC RSAQ2 0x04bb PL2303 Serial (IODATA USB-RSAQ2) product PROLIFIC PL2303 0x2303 PL2303 Serial (ATEN/IOGEAR UC232A) product PROLIFIC PL2305 0x2305 Parallel printer product PROLIFIC ATAPI4 0x2307 ATAPI-4 Controller product PROLIFIC PL2501 0x2501 PL2501 Host-Host interface product PROLIFIC PHAROS 0xaaa0 Prolific Pharos product PROLIFIC RSAQ3 0xaaa2 PL2303 Serial adapter (IODATA USB-RSAQ3) product PROLIFIC2 WSIM 0x2001 Willcom WSIM /* Putercom products */ product PUTERCOM UPA100 0x047e USB-1284 BRIDGE /* Qualcomm products */ product QUALCOMM RWT_FCT 0x3100 RWT FCT-CDMA 2000 1xRTT modem product QUALCOMM CDMA_MSM 0x3196 CDMA Technologies MSM modem product QUALCOMM2 CDMA_MSM 0x6000 CDMA Technologies MSM phone /* Qtronix products */ product QTRONIX 980N 0x2011 Scorpion-980N keyboard /* Quickshot products */ product QUICKSHOT STRIKEPAD 0x6238 USB StrikePad /* Radio Shack */ product RADIOSHACK USBCABLE 0x4026 USB to Serial Cable /* Rainbow Technologies products */ product RAINBOW IKEY2000 0x1200 i-Key 2000 /* Ralink Technology products */ product RALINK RT2570 0x1706 RT2500USB wireless adapter product RALINK RT2570_2 0x2570 RT2500USB wireless adapter /* ReakTek products */ product REALTEK USBKR100 0x8150 USBKR100 USB Ethernet (GREEN HOUSE) /* Roland products */ product ROLAND UM1 0x0009 UM-1 MIDI I/F product ROLAND UM880N 0x0014 EDIROL UM-880 MIDI I/F (native) product ROLAND UM880G 0x0015 EDIROL UM-880 MIDI I/F (generic) /* Rockfire products */ product ROCKFIRE GAMEPAD 0x2033 gamepad 203USB /* RATOC Systems products */ product RATOC REXUSB60 0xb000 REX-USB60 /* Sagem products */ product SAGEM USBSERIAL 0x0027 USB-Serial Controller /* Samsung products */ product SAMSUNG ML6060 0x3008 ML-6060 laser printer /* SanDisk products */ product SANDISK SDDR05A 0x0001 ImageMate SDDR-05a product SANDISK SDDR05 0x0005 ImageMate SDDR-05 product SANDISK SDDR31 0x0002 ImageMate SDDR-31 product SANDISK SDDR12 0x0100 ImageMate SDDR-12 product SANDISK SDDR09 0x0200 ImageMate SDDR-09 product SANDISK SDDR75 0x0810 ImageMate SDDR-75 product SANDISK SDCZ2_256 0x7104 Cruzer Mini 256MB product SANDISK SDCZ4_128 0x7112 Cruzer Micro 128MB product SANDISK SDCZ4_256 0x7113 Cruzer Micro 256MB /* Sanyo Electric products */ product SANYO SCP4900 0x0701 Sanyo SCP-4900 USB Phone /* ScanLogic products */ product SCANLOGIC SL11R 0x0002 SL11R IDE Adapter product SCANLOGIC 336CX 0x0300 Phantom 336CX - C3 scanner /* Sharp products */ product SHARP SL5500 0x8004 Zaurus SL-5500 PDA product SHARP SLA300 0x8005 Zaurus SL-A300 PDA product SHARP SL5600 0x8006 Zaurus SL-5600 PDA product SHARP SLC700 0x8007 Zaurus SL-C700 PDA product SHARP SLC750 0x9031 Zaurus SL-C750 PDA /* Shuttle Technology products */ product SHUTTLE EUSB 0x0001 E-USB Bridge product SHUTTLE EUSCSI 0x0002 eUSCSI Bridge product SHUTTLE SDDR09 0x0003 ImageMate SDDR09 product SHUTTLE ZIOMMC 0x0006 eUSB MultiMediaCard Adapter product SHUTTLE HIFD 0x0007 Sony Hifd product SHUTTLE EUSBATAPI 0x0009 eUSB ATA/ATAPI Adapter product SHUTTLE CF 0x000a eUSB CompactFlash Adapter product SHUTTLE EUSCSI_B 0x000b eUSCSI Bridge product SHUTTLE EUSCSI_C 0x000c eUSCSI Bridge product SHUTTLE CDRW 0x0101 CD-RW Device product SHUTTLE EUSBORCA 0x0325 eUSB ORCA Quad Reader /* Siemens products */ product SIEMENS SPEEDSTREAM 0x1001 SpeedStream USB /* Sierra Wireless products */ product SIERRA MC5720 0x0218 MC5720 Wireless Modem /* Sigmatel products */ product SIGMATEL I_BEAD100 0x8008 i-Bead 100 MP3 Player /* SIIG products */ product SIIG DIGIFILMREADER 0x0004 DigiFilm-Combo Reader product SIIG WINTERREADER 0x0330 WINTERREADER Reader product SIIG2 US2308 0x0421 Serial /* Silicom products */ product SILICOM GPE 0x0002 Psion Gold Port Ethernet /* Silicon Portals Inc. */ product SILICONPORTALS YAPPH_NF 0x0200 YAP Phone (no firmware) product SILICONPORTALS YAPPHONE 0x0201 YAP Phone /* Sirius Technologies products */ product SIRIUS ROADSTER 0x0001 NetComm Roadster II 56 USB /* Sitecom products */ product SITECOM LN029 0x182d USB 2.0 Ethernet product SITECOM SERIAL 0x2068 USB to serial cable (v2) /* SmartBridges products */ product SMARTBRIDGES SMARTLINK 0x0001 SmartLink USB ethernet product SMARTBRIDGES SMARTNIC 0x0003 smartNIC 2 PnP ethernet /* SMC products */ product SMC 2102USB 0x0100 10Mbps ethernet product SMC 2202USB 0x0200 10/100 ethernet product SMC 2206USB 0x0201 EZ Connect USB Ethernet product SMC 2862WG 0xee13 EZ Connect wireless adapter product SMC2 2020HUB 0x2020 USB Hub product SMC3 2662WUSB 0xa002 2662W-AR Wireless /* SOHOware products */ product SOHOWARE NUB100 0x9100 10/100 USB Ethernet /* SOLID YEAR products */ product SOLIDYEAR KEYBOARD 0x2101 Solid Year USB keyboard /* SONY products */ product SONY DSC 0x0010 DSC cameras product SONY MSACUS1 0x002d Memorystick MSAC-US1 product SONY HANDYCAM 0x002e Handycam product SONY MSC 0x0032 MSC memory stick slot product SONY CLIE_35 0x0038 Sony Clie v3.5 product SONY CLIE_40 0x0066 Sony Clie v4.0 product SONY CLIE_40_MS 0x006d Sony Clie v4.0 Memory Stick slot product SONY CLIE_S360 0x0095 Sony Clie s360 product SONY CLIE_41_MS 0x0099 Sony Clie v4.1 Memory Stick slot product SONY CLIE_41 0x009a Sony Clie v4.1 product SONY CLIE_NX60 0x00da Sony Clie nx60 product SONY CLIE_TJ37 0x0169 Sony Clie tj37 /* Sony Ericsson products */ product SONYERICSSON DCU10 0x0528 USB Cable /* SOURCENEXT products */ product SOURCENEXT KEIKAI8 0x039f KeikaiDenwa 8 product SOURCENEXT KEIKAI8_CHG 0x012e KeikaiDenwa 8 with charger /* STMicroelectronics products */ product STMICRO BIOCPU 0x2016 Biometric Coprocessor product STMICRO COMMUNICATOR 0x7554 USB Communicator /* STSN products */ product STSN STSN0001 0x0001 Internet Access Device /* SUN Corporation products */ product SUNTAC DS96L 0x0003 SUNTAC U-Cable type D2 product SUNTAC PS64P1 0x0005 SUNTAC U-Cable type P1 product SUNTAC VS10U 0x0009 SUNTAC Slipper U product SUNTAC IS96U 0x000a SUNTAC Ir-Trinity product SUNTAC AS64LX 0x000b SUNTAC U-Cable type A3 product SUNTAC AS144L4 0x0011 SUNTAC U-Cable type A4 /* Sun Microsystems products */ product SUN2 KEYBOARD 0x0005 Type 6 USB keyboard /* XXX The above is a North American PC style keyboard possibly */ product SUN2 MOUSE 0x0100 Type 6 USB mouse /* Supra products */ product DIAMOND2 SUPRAEXPRESS56K 0x07da Supra Express 56K modem product DIAMOND2 SUPRA2890 0x0b4a SupraMax 2890 56K Modem product DIAMOND2 RIO600USB 0x5001 Rio 600 USB product DIAMOND2 RIO800USB 0x5002 Rio 800 USB /* System TALKS, Inc. */ product SYSTEMTALKS SGCX2UL 0x1920 SGC-X2UL /* Taugagreining products */ product TAUGA CAMERAMATE 0x0005 CameraMate (DPCM_USB) /* TDK products */ product TDK UPA9664 0x0115 USB-PDC Adapter UPA9664 product TDK UCA1464 0x0116 USB-cdmaOne Adapter UCA1464 product TDK UHA6400 0x0117 USB-PHS Adapter UHA6400 product TDK UPA6400 0x0118 USB-PHS Adapter UPA6400 product TDK BT_DONGLE 0x0309 Bluetooth USB dongle /* TEAC products */ product TEAC FD05PUB 0x0000 FD-05PUB floppy /* Telex Communications products */ product TELEX MIC1 0x0001 Enhanced USB Microphone /* Texas Intel products */ product TI UTUSB41 0x1446 UT-USB41 hub product TI TUSB2046 0x2046 TUSB2046 hub /* Thrustmaster products */ product THRUST FUSION_PAD 0xa0a3 Fusion Digital Gamepad /* Toshiba Corporation products */ product TOSHIBA POCKETPC_E740 0x0706 PocketPC e740 /* Trek Technology products */ product TREK THUMBDRIVE 0x1111 ThumbDrive product TREK THUMBDRIVE_8MB 0x9988 ThumbDrive_8MB /* Tripp-Lite products */ product TRIPPLITE U209 0x2008 Serial /* Trumpion products */ product TRUMPION C3310 0x1100 Comotron C3310 MP3 player /* TwinMOS */ product TWINMOS MDIV 0x1325 Memory Disk IV /* Ubiquam products */ product UBIQUAM UALL 0x3100 CDMA 1xRTT USB Modem (U-100/105/200/300/520) /* Ultima products */ product ULTIMA 1200UBPLUS 0x4002 1200 UB Plus scanner /* UMAX products */ product UMAX ASTRA1236U 0x0002 Astra 1236U Scanner product UMAX ASTRA1220U 0x0010 Astra 1220U Scanner product UMAX ASTRA2000U 0x0030 Astra 2000U Scanner product UMAX ASTRA2100U 0x0130 Astra 2100U Scanner product UMAX ASTRA2200U 0x0230 Astra 2200U Scanner product UMAX ASTRA3400 0x0060 Astra 3400 Scanner /* Universal Access products */ product UNIACCESS PANACHE 0x0101 Panache Surf USB ISDN Adapter /* VidzMedia products */ product VIDZMEDIA MONSTERTV 0x4fb1 MonsterTV P2H /* Vision products */ product VISION VC6452V002 0x0002 CPiA Camera /* Visioneer products */ product VISIONEER 7600 0x0211 OneTouch 7600 product VISIONEER 5300 0x0221 OneTouch 5300 product VISIONEER 3000 0x0224 Scanport 3000 product VISIONEER 6100 0x0231 OneTouch 6100 product VISIONEER 6200 0x0311 OneTouch 6200 product VISIONEER 8100 0x0321 OneTouch 8100 product VISIONEER 8600 0x0331 OneTouch 8600 /* Option/Vodafone products */ product VODAFONE MC3G 0x5000 Vodafone Mobile Connect 3G datacard product VODAFONE GT3G 0x6000 GlobeTrotter 3G datacard product VODAFONE GT3GQUAD 0x6300 GlobeTrotter 3G QUAD datacard /* VTech products */ product VTECH RT2570 0x3012 RT2570 /* Wacom products */ product WACOM CT0405U 0x0000 CT-0405-U Tablet product WACOM GRAPHIRE 0x0010 Graphire product WACOM GRAPHIRE3_4X5 0x0013 Graphire 3 4x5 product WACOM INTUOSA5 0x0021 Intuos A5 product WACOM GD0912U 0x0022 Intuos 9x12 Graphics Tablet /* Western Digital products */ product WESTERN EXTHDD 0x0400 External HDD product WESTERN HUB 0x0500 USB HUB /* Windbond Electronics */ product WINBOND UH104 0x5518 4-port USB Hub /* Xerox products */ product XEROX WCM15 0xffef WorkCenter M15 /* Xirlink products */ product XIRLINK PCCAM 0x8080 IBM PC Camera /* Y-E Data products */ product YEDATA FLASHBUSTERU 0x0000 Flashbuster-U /* Yamaha products */ product YAMAHA UX256 0x1000 UX256 MIDI I/F product YAMAHA UX96 0x1008 UX96 MIDI I/F product YAMAHA RTA54I 0x4000 NetVolante RTA54i Broadband&ISDN Router product YAMAHA RTA55I 0x4004 NetVolante RTA55i Broadband VoIP Router product YAMAHA RTW65B 0x4001 NetVolante RTW65b Broadband Wireless Router product YAMAHA RTW65I 0x4002 NetVolante RTW65i Broadband&ISDN Wireless Router /* Yano products */ product YANO U640MO 0x0101 U640MO-03 /* Zinwell products */ product ZINWELL RT2570 0x0260 RT2570 /* Zoom Telephonics, Inc. products */ product ZOOM 2986L 0x9700 2986L Fax modem /* ZyXEL Communication Co. products */ product ZYXEL OMNI56K 0x1500 Omni 56K Plus product ZYXEL 980N 0x2011 Scorpion-980N keyboard fixed ubsa.c: /*- * Copyright (c) 2002, Alexander Kabaev . * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ #include __FBSDID("$FreeBSD: src/sys/dev/usb/ubsa.c,v 1.17 2005/01/06 01:43:28 imp Exp $"); /*- * Copyright (c) 2001 The NetBSD Foundation, Inc. * All rights reserved. * * This code is derived from software contributed to The NetBSD Foundation * by Ichiro FUKUHARA (ichiro@ichiro.org). * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software * must display the following acknowledgement: * This product includes software developed by the NetBSD * Foundation, Inc. and its contributors. * 4. Neither the name of The NetBSD Foundation nor the names of its * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #include #include #include #include #include #include #include #include #include #include #include #include #if __FreeBSD_version >= 500014 #include #else #include #endif #include #include #include #include #include #include #include #include "usbdevs.h" #include #include #ifdef USB_DEBUG Static int ubsadebug = 0; SYSCTL_NODE(_hw_usb, OID_AUTO, ubsa, CTLFLAG_RW, 0, "USB ubsa"); SYSCTL_INT(_hw_usb_ubsa, OID_AUTO, debug, CTLFLAG_RW, &ubsadebug, 0, "ubsa debug level"); #define DPRINTFN(n, x) do { \ if (ubsadebug > (n)) \ logprintf x; \ } while (0) #else #define DPRINTFN(n, x) #endif #define DPRINTF(x) DPRINTFN(0, x) #define UBSA_MODVER 1 /* module version */ #define UBSA_CONFIG_INDEX 1 #define UBSA_IFACE_INDEX 0 #define UBSA_INTR_INTERVAL 100 /* ms */ #define UBSA_SET_BAUDRATE 0x00 #define UBSA_SET_STOP_BITS 0x01 #define UBSA_SET_DATA_BITS 0x02 #define UBSA_SET_PARITY 0x03 #define UBSA_SET_DTR 0x0A #define UBSA_SET_RTS 0x0B #define UBSA_SET_BREAK 0x0C #define UBSA_SET_FLOW_CTRL 0x10 #define UBSA_PARITY_NONE 0x00 #define UBSA_PARITY_EVEN 0x01 #define UBSA_PARITY_ODD 0x02 #define UBSA_PARITY_MARK 0x03 #define UBSA_PARITY_SPACE 0x04 #define UBSA_FLOW_NONE 0x0000 #define UBSA_FLOW_OCTS 0x0001 #define UBSA_FLOW_ODSR 0x0002 #define UBSA_FLOW_IDSR 0x0004 #define UBSA_FLOW_IDTR 0x0008 #define UBSA_FLOW_IRTS 0x0010 #define UBSA_FLOW_ORTS 0x0020 #define UBSA_FLOW_UNKNOWN 0x0040 #define UBSA_FLOW_OXON 0x0080 #define UBSA_FLOW_IXON 0x0100 /* line status register */ #define UBSA_LSR_TSRE 0x40 /* Transmitter empty: byte sent */ #define UBSA_LSR_TXRDY 0x20 /* Transmitter buffer empty */ #define UBSA_LSR_BI 0x10 /* Break detected */ #define UBSA_LSR_FE 0x08 /* Framing error: bad stop bit */ #define UBSA_LSR_PE 0x04 /* Parity error */ #define UBSA_LSR_OE 0x02 /* Overrun, lost incoming byte */ #define UBSA_LSR_RXRDY 0x01 /* Byte ready in Receive Buffer */ #define UBSA_LSR_RCV_MASK 0x1f /* Mask for incoming data or error */ /* modem status register */ /* All deltas are from the last read of the MSR. */ #define UBSA_MSR_DCD 0x80 /* Current Data Carrier Detect */ #define UBSA_MSR_RI 0x40 /* Current Ring Indicator */ #define UBSA_MSR_DSR 0x20 /* Current Data Set Ready */ #define UBSA_MSR_CTS 0x10 /* Current Clear to Send */ #define UBSA_MSR_DDCD 0x08 /* DCD has changed state */ #define UBSA_MSR_TERI 0x04 /* RI has toggled low to high */ #define UBSA_MSR_DDSR 0x02 /* DSR has changed state */ #define UBSA_MSR_DCTS 0x01 /* CTS has changed state */ struct ubsa_softc { struct ucom_softc sc_ucom; int sc_iface_number; /* interface number */ usbd_interface_handle sc_intr_iface; /* interrupt interface */ int sc_intr_number; /* interrupt number */ usbd_pipe_handle sc_intr_pipe; /* interrupt pipe */ u_char *sc_intr_buf; /* interrupt buffer */ int sc_isize; u_char sc_dtr; /* current DTR state */ u_char sc_rts; /* current RTS state */ u_char sc_lsr; /* Local status register */ u_char sc_msr; /* ubsa status register */ struct task sc_task; }; Static void ubsa_intr(usbd_xfer_handle, usbd_private_handle, usbd_status); Static void ubsa_notify(void *, int count); Static void ubsa_get_status(void *, int, u_char *, u_char *); Static void ubsa_set(void *, int, int, int); Static int ubsa_param(void *, int, struct termios *); Static int ubsa_open(void *, int); Static void ubsa_close(void *, int); Static int ubsa_request(struct ubsa_softc *, u_int8_t, u_int16_t); Static void ubsa_dtr(struct ubsa_softc *, int); Static void ubsa_rts(struct ubsa_softc *, int); Static void ubsa_baudrate(struct ubsa_softc *, speed_t); Static void ubsa_parity(struct ubsa_softc *, tcflag_t); Static void ubsa_databits(struct ubsa_softc *, tcflag_t); Static void ubsa_stopbits(struct ubsa_softc *, tcflag_t); Static void ubsa_flow(struct ubsa_softc *, tcflag_t, tcflag_t); struct ucom_callback ubsa_callback = { ubsa_get_status, ubsa_set, ubsa_param, NULL, ubsa_open, ubsa_close, NULL, NULL }; Static const struct ubsa_product { uint16_t vendor; uint16_t product; } ubsa_products [] = { /* BELKIN F5U103 */ { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F5U103 }, /* BELKIN F5U120 */ { USB_VENDOR_BELKIN, USB_PRODUCT_BELKIN_F5U120 }, /* GoHubs GO-COM232 */ { USB_VENDOR_ETEK, USB_PRODUCT_ETEK_1COM }, /* GoHubs GO-COM232 */ { USB_VENDOR_GOHUBS, USB_PRODUCT_GOHUBS_GOCOM232 }, /* Peracom */ { USB_VENDOR_PERACOM, USB_PRODUCT_PERACOM_SERIAL1 }, /* Vodafone */ { USB_VENDOR_VODAFONE, USB_PRODUCT_VODAFONE_MC3G }, /* Huawei */ { USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E200a }, { USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E200b }, { 0, 0 } }; Static device_probe_t ubsa_match; Static device_attach_t ubsa_attach; Static device_detach_t ubsa_detach; Static device_method_t ubsa_methods[] = { /* Device interface */ DEVMETHOD(device_probe, ubsa_match), DEVMETHOD(device_attach, ubsa_attach), DEVMETHOD(device_detach, ubsa_detach), { 0, 0 } }; Static driver_t ubsa_driver = { "ucom", ubsa_methods, sizeof (struct ubsa_softc) }; DRIVER_MODULE(ubsa, uhub, ubsa_driver, ucom_devclass, usbd_driver_load, 0); MODULE_DEPEND(ubsa, usb, 1, 1, 1); MODULE_DEPEND(ubsa, ucom, UCOM_MINVER, UCOM_PREFVER, UCOM_MAXVER); MODULE_VERSION(ubsa, UBSA_MODVER); USB_MATCH(ubsa) { USB_MATCH_START(ubsa, uaa); int i; if (uaa->iface != NULL) return (UMATCH_NONE); for (i = 0; ubsa_products[i].vendor != 0; i++) { if (ubsa_products[i].vendor == uaa->vendor && ubsa_products[i].product == uaa->product) { return (UMATCH_VENDOR_PRODUCT); } } return (UMATCH_NONE); } USB_ATTACH(ubsa) { USB_ATTACH_START(ubsa, sc, uaa); usbd_device_handle dev; struct ucom_softc *ucom; usb_config_descriptor_t *cdesc; usb_interface_descriptor_t *id; usb_endpoint_descriptor_t *ed; char *devinfo; const char *devname; usbd_status err; int i; dev = uaa->device; devinfo = malloc(1024, M_USBDEV, M_WAITOK); ucom = &sc->sc_ucom; bzero(sc, sizeof (struct ubsa_softc)); /* * initialize rts, dtr variables to something * different from boolean 0, 1 */ sc->sc_dtr = -1; sc->sc_rts = -1; usbd_devinfo(dev, 0, devinfo); /* USB_ATTACH_SETUP; */ ucom->sc_dev = self; device_set_desc_copy(self, devinfo); /* USB_ATTACH_SETUP; */ ucom->sc_udev = dev; ucom->sc_iface = uaa->iface; devname = USBDEVNAME(ucom->sc_dev); printf("%s: %s\n", devname, devinfo); DPRINTF(("ubsa attach: sc = %p\n", sc)); /* initialize endpoints */ ucom->sc_bulkin_no = ucom->sc_bulkout_no = -1; sc->sc_intr_number = -1; sc->sc_intr_pipe = NULL; /* Move the device into the configured state. */ err = usbd_set_config_index(dev, UBSA_CONFIG_INDEX, 1); if (err) { printf("%s: failed to set configuration: %s\n", devname, usbd_errstr(err)); ucom->sc_dying = 1; goto error; } /* get the config descriptor */ cdesc = usbd_get_config_descriptor(ucom->sc_udev); if (cdesc == NULL) { printf("%s: failed to get configuration descriptor\n", USBDEVNAME(ucom->sc_dev)); ucom->sc_dying = 1; goto error; } /* get the first interface */ err = usbd_device2interface_handle(dev, UBSA_IFACE_INDEX, &ucom->sc_iface); if (err) { printf("%s: failed to get interface: %s\n", devname, usbd_errstr(err)); ucom->sc_dying = 1; goto error; } /* Find the endpoints */ id = usbd_get_interface_descriptor(ucom->sc_iface); sc->sc_iface_number = id->bInterfaceNumber; for (i = 0; i < id->bNumEndpoints; i++) { ed = usbd_interface2endpoint_descriptor(ucom->sc_iface, i); if (ed == NULL) { printf("%s: no endpoint descriptor for %d\n", USBDEVNAME(ucom->sc_dev), i); ucom->sc_dying = 1; goto error; } if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_IN && UE_GET_XFERTYPE(ed->bmAttributes) == UE_INTERRUPT) { sc->sc_intr_number = ed->bEndpointAddress; sc->sc_isize = UGETW(ed->wMaxPacketSize); } else if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_IN && UE_GET_XFERTYPE(ed->bmAttributes) == UE_BULK) { ucom->sc_bulkin_no = ed->bEndpointAddress; ucom->sc_ibufsize = UGETW(ed->wMaxPacketSize); } else if (UE_GET_DIR(ed->bEndpointAddress) == UE_DIR_OUT && UE_GET_XFERTYPE(ed->bmAttributes) == UE_BULK) { ucom->sc_bulkout_no = ed->bEndpointAddress; ucom->sc_obufsize = UGETW(ed->wMaxPacketSize); } } if (sc->sc_intr_number == -1) { printf("%s: Could not find interrupt in\n", USBDEVNAME(ucom->sc_dev)); ucom->sc_dying = 1; goto error; } /* keep interface for interrupt */ sc->sc_intr_iface = ucom->sc_iface; if (ucom->sc_bulkin_no == -1) { printf("%s: Could not find data bulk in\n", USBDEVNAME(ucom->sc_dev)); ucom->sc_dying = 1; goto error; } if (ucom->sc_bulkout_no == -1) { printf("%s: Could not find data bulk out\n", USBDEVNAME(ucom->sc_dev)); ucom->sc_dying = 1; goto error; } ucom->sc_parent = sc; ucom->sc_portno = UCOM_UNK_PORTNO; /* bulkin, bulkout set above */ ucom->sc_ibufsizepad = ucom->sc_ibufsize; ucom->sc_opkthdrlen = 0; ucom->sc_callback = &ubsa_callback; DPRINTF(("ubsa: in = 0x%x, out = 0x%x, intr = 0x%x\n", ucom->sc_bulkin_no, ucom->sc_bulkout_no, sc->sc_intr_number)); TASK_INIT(&sc->sc_task, 0, ubsa_notify, sc); ucom_attach(ucom); free(devinfo, M_USBDEV); USB_ATTACH_SUCCESS_RETURN; error: free(devinfo, M_USBDEV); USB_ATTACH_ERROR_RETURN; } USB_DETACH(ubsa) { USB_DETACH_START(ubsa, sc); int rv; DPRINTF(("ubsa_detach: sc = %p\n", sc)); if (sc->sc_intr_pipe != NULL) { usbd_abort_pipe(sc->sc_intr_pipe); usbd_close_pipe(sc->sc_intr_pipe); free(sc->sc_intr_buf, M_USBDEV); sc->sc_intr_pipe = NULL; } sc->sc_ucom.sc_dying = 1; #if 0 taskqueue_drain(taskqueue_swi_giant); #endif rv = ucom_detach(&sc->sc_ucom); return (rv); } Static int ubsa_request(struct ubsa_softc *sc, u_int8_t request, u_int16_t value) { usb_device_request_t req; usbd_status err; req.bmRequestType = UT_WRITE_VENDOR_DEVICE; req.bRequest = request; USETW(req.wValue, value); USETW(req.wIndex, sc->sc_iface_number); USETW(req.wLength, 0); err = usbd_do_request(sc->sc_ucom.sc_udev, &req, 0); if (err) printf("%s: ubsa_request: %s\n", USBDEVNAME(sc->sc_ucom.sc_dev), usbd_errstr(err)); return (err); } Static void ubsa_dtr(struct ubsa_softc *sc, int onoff) { DPRINTF(("ubsa_dtr: onoff = %d\n", onoff)); if (sc->sc_dtr == onoff) return; sc->sc_dtr = onoff; ubsa_request(sc, UBSA_SET_DTR, onoff ? 1 : 0); } Static void ubsa_rts(struct ubsa_softc *sc, int onoff) { DPRINTF(("ubsa_rts: onoff = %d\n", onoff)); if (sc->sc_rts == onoff) return; sc->sc_rts = onoff; ubsa_request(sc, UBSA_SET_RTS, onoff ? 1 : 0); } Static void ubsa_break(struct ubsa_softc *sc, int onoff) { DPRINTF(("ubsa_rts: onoff = %d\n", onoff)); ubsa_request(sc, UBSA_SET_BREAK, onoff ? 1 : 0); } Static void ubsa_set(void *addr, int portno, int reg, int onoff) { struct ubsa_softc *sc; sc = addr; switch (reg) { case UCOM_SET_DTR: ubsa_dtr(sc, onoff); break; case UCOM_SET_RTS: ubsa_rts(sc, onoff); break; case UCOM_SET_BREAK: ubsa_break(sc, onoff); break; default: break; } } Static void ubsa_baudrate(struct ubsa_softc *sc, speed_t speed) { u_int16_t value = 0; DPRINTF(("ubsa_baudrate: speed = %d\n", speed)); switch(speed) { case B0: break; case B300: case B600: case B1200: case B2400: case B4800: case B9600: case B19200: case B38400: case B57600: case B115200: case B230400: value = B230400 / speed; break; default: printf("%s: ubsa_param: unsupported baudrate, " "forcing default of 9600\n", USBDEVNAME(sc->sc_ucom.sc_dev)); value = B230400 / B9600; break; }; if (speed == B0) { ubsa_flow(sc, 0, 0); ubsa_dtr(sc, 0); ubsa_rts(sc, 0); } else ubsa_request(sc, UBSA_SET_BAUDRATE, value); } Static void ubsa_parity(struct ubsa_softc *sc, tcflag_t cflag) { int value; DPRINTF(("ubsa_parity: cflag = 0x%x\n", cflag)); if (cflag & PARENB) value = (cflag & PARODD) ? UBSA_PARITY_ODD : UBSA_PARITY_EVEN; else value = UBSA_PARITY_NONE; ubsa_request(sc, UBSA_SET_PARITY, value); } Static void ubsa_databits(struct ubsa_softc *sc, tcflag_t cflag) { int value; DPRINTF(("ubsa_databits: cflag = 0x%x\n", cflag)); switch (cflag & CSIZE) { case CS5: value = 0; break; case CS6: value = 1; break; case CS7: value = 2; break; case CS8: value = 3; break; default: printf("%s: ubsa_param: unsupported databits requested, " "forcing default of 8\n", USBDEVNAME(sc->sc_ucom.sc_dev)); value = 3; } ubsa_request(sc, UBSA_SET_DATA_BITS, value); } Static void ubsa_stopbits(struct ubsa_softc *sc, tcflag_t cflag) { int value; DPRINTF(("ubsa_stopbits: cflag = 0x%x\n", cflag)); value = (cflag & CSTOPB) ? 1 : 0; ubsa_request(sc, UBSA_SET_STOP_BITS, value); } Static void ubsa_flow(struct ubsa_softc *sc, tcflag_t cflag, tcflag_t iflag) { int value; DPRINTF(("ubsa_flow: cflag = 0x%x, iflag = 0x%x\n", cflag, iflag)); value = 0; if (cflag & CRTSCTS) value |= UBSA_FLOW_OCTS | UBSA_FLOW_IRTS; if (iflag & (IXON|IXOFF)) value |= UBSA_FLOW_OXON | UBSA_FLOW_IXON; ubsa_request(sc, UBSA_SET_FLOW_CTRL, value); } Static int ubsa_param(void *addr, int portno, struct termios *ti) { struct ubsa_softc *sc; sc = addr; DPRINTF(("ubsa_param: sc = %p\n", sc)); ubsa_baudrate(sc, ti->c_ospeed); ubsa_parity(sc, ti->c_cflag); ubsa_databits(sc, ti->c_cflag); ubsa_stopbits(sc, ti->c_cflag); ubsa_flow(sc, ti->c_cflag, ti->c_iflag); return (0); } Static int ubsa_open(void *addr, int portno) { struct ubsa_softc *sc; int err; sc = addr; if (sc->sc_ucom.sc_dying) return (ENXIO); DPRINTF(("ubsa_open: sc = %p\n", sc)); if (sc->sc_intr_number != -1 && sc->sc_intr_pipe == NULL) { sc->sc_intr_buf = malloc(sc->sc_isize, M_USBDEV, M_WAITOK); err = usbd_open_pipe_intr(sc->sc_intr_iface, sc->sc_intr_number, USBD_SHORT_XFER_OK, &sc->sc_intr_pipe, sc, sc->sc_intr_buf, sc->sc_isize, ubsa_intr, UBSA_INTR_INTERVAL); if (err) { printf("%s: cannot open interrupt pipe (addr %d)\n", USBDEVNAME(sc->sc_ucom.sc_dev), sc->sc_intr_number); return (EIO); } } return (0); } Static void ubsa_close(void *addr, int portno) { struct ubsa_softc *sc; int err; sc = addr; if (sc->sc_ucom.sc_dying) return; DPRINTF(("ubsa_close: close\n")); if (sc->sc_intr_pipe != NULL) { err = usbd_abort_pipe(sc->sc_intr_pipe); if (err) printf("%s: abort interrupt pipe failed: %s\n", USBDEVNAME(sc->sc_ucom.sc_dev), usbd_errstr(err)); err = usbd_close_pipe(sc->sc_intr_pipe); if (err) printf("%s: close interrupt pipe failed: %s\n", USBDEVNAME(sc->sc_ucom.sc_dev), usbd_errstr(err)); free(sc->sc_intr_buf, M_USBDEV); sc->sc_intr_pipe = NULL; } } Static void ubsa_intr(usbd_xfer_handle xfer, usbd_private_handle priv, usbd_status status) { struct ubsa_softc *sc; u_char *buf; sc = priv; buf = sc->sc_intr_buf; if (sc->sc_ucom.sc_dying) return; if (status != USBD_NORMAL_COMPLETION) { if (status == USBD_NOT_STARTED || status == USBD_CANCELLED) return; DPRINTF(("%s: ubsa_intr: abnormal status: %s\n", USBDEVNAME(sc->sc_ucom.sc_dev), usbd_errstr(status))); usbd_clear_endpoint_stall_async(sc->sc_intr_pipe); return; } /* incidentally, Belkin adapter status bits match UART 16550 bits */ sc->sc_lsr = buf[2]; sc->sc_msr = buf[3]; DPRINTF(("%s: ubsa lsr = 0x%02x, msr = 0x%02x\n", USBDEVNAME(sc->sc_ucom.sc_dev), sc->sc_lsr, sc->sc_msr)); taskqueue_enqueue(taskqueue_swi_giant, &sc->sc_task); } /* Handle delayed events. */ Static void ubsa_notify(void *arg, int count) { struct ubsa_softc *sc; sc = arg; ucom_status_change(&sc->sc_ucom); } Static void ubsa_get_status(void *addr, int portno, u_char *lsr, u_char *msr) { struct ubsa_softc *sc; DPRINTF(("ubsa_get_status\n")); sc = addr; if (lsr != NULL) *lsr = sc->sc_lsr; if (msr != NULL) *msr = sc->sc_msr; } >Release-Note: >Audit-Trail: Class-Changed-From-To: sw-bug->update Class-Changed-By: vwe Class-Changed-When: Sun Apr 20 00:07:14 UTC 2008 Class-Changed-Why: Over to maintainer(s). Responsible-Changed-From-To: freebsd-bugs->freebsd-usb Responsible-Changed-By: vwe Responsible-Changed-When: Sun Apr 20 00:07:14 UTC 2008 Responsible-Changed-Why: Over to maintainer(s). http://www.freebsd.org/cgi/query-pr.cgi?pr=122905 From: Volker To: bug-followup@FreeBSD.org, wojtek@wojtek.tensor.gdynia.pl Cc: Subject: Re: kern/122905: ubsa.c doesn't take Huawei E220 Date: Sun, 20 Apr 2008 02:05:23 +0200 This is a multi-part message in MIME format. --------------070805030206060206040603 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit > sorry for sending whole files, i don't have origs now :) I'm really wondering how you were able to change code w/o having original files? Anyway, here's the diff for RELENG_6 (usbdevs.diff.6 and ubsa.c.diff.6) and RELENG_7 (usbdevs.diff and ubsa.c.diff). It's been a real pain to create these from your code - please, never ever do it again this way. --------------070805030206060206040603 Content-Type: text/plain; name="ubsa.c.diff.6" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="ubsa.c.diff.6" --- ubsa.c.orig 2008-04-08 18:36:49.000000000 +0200 +++ ubsa.c 2008-04-20 01:53:57.000000000 +0200 @@ -232,6 +232,7 @@ { USB_VENDOR_OPTION, USB_PRODUCT_OPTION_GT3GQUAD }, /* Huawei Mobile */ { USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_MOBILE }, + { USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E200b }, /* Qualcomm, Inc. ZTE CDMA */ { USB_VENDOR_QUALCOMMINC, USB_PRODUCT_QUALCOMMINC_CDMA_MSM }, { 0, 0 } --------------070805030206060206040603 Content-Type: text/plain; name="usbdevs.diff.6" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="usbdevs.diff.6" --- usbdevs.orig 2008-04-08 18:36:49.000000000 +0200 +++ usbdevs 2008-04-20 01:53:28.000000000 +0200 @@ -1046,6 +1046,7 @@ /* HUAWEI products */ product HUAWEI MOBILE 0x1001 Huawei Mobile +product HUAWEI E200b 0x1003 Huawei E200 /* IBM Corporation */ product IBM USBCDROMDRIVE 0x4427 USB CD-ROM Drive --------------070805030206060206040603 Content-Type: text/plain; name="ubsa.c.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="ubsa.c.diff" --- ubsa.c.orig 2008-04-20 01:58:31.000000000 +0200 +++ ubsa.c 2008-04-20 01:59:00.000000000 +0200 @@ -236,6 +236,7 @@ { USB_VENDOR_OPTION, USB_PRODUCT_OPTION_GT3GPLUS }, /* Huawei Mobile */ { USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_MOBILE }, + { USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E200B }, /* Qualcomm, Inc. ZTE CDMA */ { USB_VENDOR_QUALCOMMINC, USB_PRODUCT_QUALCOMMINC_CDMA_MSM }, { 0, 0 } --------------070805030206060206040603 Content-Type: text/plain; name="usbdevs.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="usbdevs.diff" --- usbdevs.orig 2008-04-20 01:57:51.000000000 +0200 +++ usbdevs 2008-04-20 01:59:10.000000000 +0200 @@ -1387,6 +1387,7 @@ /* HUAWEI products */ product HUAWEI MOBILE 0x1001 Huawei Mobile +product HUAWEI E200B 0x1003 Huawei E200 /* HUAWEI 3com products */ product HUAWEI3COM WUB320G 0x0009 Aolynk WUB320g --------------070805030206060206040603-- From: Wojciech Puchar To: Volker Cc: bug-followup@FreeBSD.org Subject: Re: kern/122905: ubsa.c doesn't take Huawei E220 Date: Sun, 20 Apr 2008 13:40:42 +0200 (CEST) > > > I'm really wondering how you were able to change code w/o having > original files? i just edited them leaving no copy ;) > > Anyway, here's the diff for RELENG_6 (usbdevs.diff.6 and ubsa.c.diff.6) > and RELENG_7 (usbdevs.diff and ubsa.c.diff). It's been a real pain to > create these from your code - please, never ever do it again this way. OK sorry. From: Per olof Ljungmark To: bug-followup@FreeBSD.org, wojtek@wojtek.tensor.gdynia.pl Cc: Subject: Re: usb/122905: [ubsa] [patch] add Huawei E220 to ubsa Date: Wed, 23 Apr 2008 01:21:41 +0200 This is a multi-part message in MIME format. --------------030008040502080503020600 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Just an addendum, the following works very good for me on 7-STABLE. Changes to ubsa.c and usbdevs are very similar. In the original patch the PR says Huawei E220 but the pactes says E200B which I do not completely understand. --------------030008040502080503020600 Content-Type: text/plain; name="patch-usbdevs" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="patch-usbdevs" --- usbdevs 2008-04-12 13:23:21.000000000 +0200 +++ usbdevs-patched 2008-04-23 00:39:29.000000000 +0200 @@ -1387,6 +1387,7 @@ /* HUAWEI products */ product HUAWEI MOBILE 0x1001 Huawei Mobile +product HUAWEI E220 0x1003 Huawei E220 HSDPA USB Modem /* HUAWEI 3com products */ product HUAWEI3COM WUB320G 0x0009 Aolynk WUB320g --------------030008040502080503020600 Content-Type: text/plain; name="patch-usb_subr.c" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="patch-usb_subr.c" --- usb_subr.c 2007-06-30 22:18:44.000000000 +0200 +++ usb_subr.c-patched 2008-04-23 00:39:29.000000000 +0200 @@ -526,6 +526,19 @@ } static usbd_status +usbd_set_feature(usbd_device_handle dev, int feature) +{ + usb_device_request_t req; + + req.bmRequestType = UT_WRITE; + req.bRequest = UR_SET_FEATURE; + USETW(req.wValue, 1); + USETW(req.wIndex, feature); + USETW(req.wLength, 0); + return (usbd_do_request(dev, &req, 0)); +} + +static usbd_status usbd_set_config(usbd_device_handle dev, int conf) { usb_device_request_t req; @@ -995,7 +1008,14 @@ * We just did not find any drivers, that's all. The device is * fully operational and not harming anyone. */ + DPRINTF(("usbd_probe_and_attach: generic attach failed\n")); + + if (dev->quirks->uq_flags & UQ_FEATURE2) { + printf("%s: Enabling feature UHF_PORT_SUSPEND\n", device_get_nameunit(parent)); + usbd_set_feature(dev, UHF_PORT_SUSPEND); + } + return (USBD_NORMAL_COMPLETION); } --------------030008040502080503020600 Content-Type: text/plain; name="patch-usb_quirks.h" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="patch-usb_quirks.h" --- usb_quirks.h 2007-06-29 23:07:41.000000000 +0200 +++ usb_quirks.h-patched 2008-04-23 00:39:29.000000000 +0200 @@ -52,6 +52,7 @@ #define UQ_AU_NO_FRAC 0x00000400 /* don't adjust for fractional samples */ #define UQ_AU_INP_ASYNC 0x00000800 /* input is async despite claim of adaptive */ #define UQ_BROKEN_BIDIR 0x00002000 /* printer has broken bidir mode */ +#define UQ_FEATURE2 0x4000 /* requires the enabling of feature 2 */ #define UQ_OPEN_CLEARSTALL 0x04000 /* device needs clear endpoint stall */ #define UQ_HID_IGNORE 0x00008000 /* device should be ignored by hid class */ #define UQ_KBD_IGNORE 0x00018000 /* device should be ignored by both kbd and hid class */ --------------030008040502080503020600 Content-Type: text/plain; name="patch-usb_quirks.c" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="patch-usb_quirks.c" --- usb_quirks.c 2008-04-20 10:52:13.000000000 +0200 +++ usb_quirks.c-patched 2008-04-23 00:39:29.000000000 +0200 @@ -112,6 +112,8 @@ ANY, { UQ_KBD_IGNORE }}, { USB_VENDOR_METAGEEK, USB_PRODUCT_METAGEEK_WISPY24X, ANY, { UQ_KBD_IGNORE }}, + { USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E220, + ANY, { UQ_FEATURE2 }}, { 0, 0, 0, { 0 } } }; --------------030008040502080503020600 Content-Type: text/plain; name="patch-ubsa.c" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="patch-ubsa.c" --- ubsa.c 2008-04-12 13:23:21.000000000 +0200 +++ ubsa.c-patched 2008-04-23 00:39:29.000000000 +0200 @@ -236,6 +236,8 @@ { USB_VENDOR_OPTION, USB_PRODUCT_OPTION_GT3GPLUS }, /* Huawei Mobile */ { USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_MOBILE }, + /* Huawei Mobile E220 */ + { USB_VENDOR_HUAWEI, USB_PRODUCT_HUAWEI_E220 }, /* Qualcomm, Inc. ZTE CDMA */ { USB_VENDOR_QUALCOMMINC, USB_PRODUCT_QUALCOMMINC_CDMA_MSM }, { 0, 0 } --------------030008040502080503020600-- From: Volker To: Per olof Ljungmark Cc: freebsd-usb@FreeBSD.org, bug-followup@FreeBSD.org Subject: Re: usb/122905: [ubsa] [patch] add Huawei E220 to ubsa Date: Wed, 23 Apr 2008 21:02:01 +0200 On 12/23/-58 20:59, Per olof Ljungmark wrote: > Just an addendum, the following works very good for me on 7-STABLE. > Changes to ubsa.c and usbdevs are very similar. > > In the original patch the PR says Huawei E220 but the pactes says E200B > which I do not completely understand. Per, I don't own such a device, so I needed to rely on the original posting. A quick search on other projects shows, PID 0x1003 is really an E220 device. Your device string in usbdevs seems to be the correct one. Volker From: Per olof Ljungmark To: bug-followup@FreeBSD.org, wojtek@wojtek.tensor.gdynia.pl Cc: Subject: Re: usb/122905: [ubsa] [patch] add Huawei E220 to ubsa Date: Thu, 24 Apr 2008 22:04:34 +0200 Can this go into 7.1 you think? There are lots of people at least in Europe who uses the E220. Thanks, --per From: Per olof Ljungmark To: bug-followup@FreeBSD.org Cc: Subject: Re: usb/122905: [ubsa] [patch] add Huawei E220 to ubsa Date: Thu, 12 Jun 2008 22:49:25 +0200 This is a multi-part message in MIME format. --------------070608070005050702060808 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit The attached patch for 6.3-STABLE as of June 12th. are courtesy bg@sics.se. --------------070608070005050702060808 Content-Type: text/plain; name="e220-patch-6.3" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="e220-patch-6.3" KioqIHN5cy9kZXYvdXNiL3VzYmRldnMub3JpZwkyMDA4LTA0LTA4IDE4OjM2OjQ5LjAwMDAw MDAwMCArMDIwMAotLS0gc3lzL2Rldi91c2IvdXNiZGV2cwkyMDA4LTA2LTEyIDE4OjAzOjMx LjAwMDAwMDAwMCArMDIwMAoqKioqKioqKioqKioqKioKKioqIDEwNDYsMTA1MSAqKioqCi0t LSAxMDQ2LDEwNTIgLS0tLQogIAogIC8qIEhVQVdFSSBwcm9kdWN0cyAqLwogIHByb2R1Y3Qg SFVBV0VJIE1PQklMRQkJMHgxMDAxCUh1YXdlaSBNb2JpbGUKKyBwcm9kdWN0IEhVQVdFSSBF MjIwICAgICAgICAgICAgIDB4MTAwMyAgSHVhd2VpIEUyMjAgRzMgTW9kZW0KICAKICAvKiBJ Qk0gQ29ycG9yYXRpb24gKi8KICBwcm9kdWN0IElCTSBVU0JDRFJPTURSSVZFCTB4NDQyNwlV U0IgQ0QtUk9NIERyaXZlCioqKiBzeXMvZGV2L3VzYi91YnNhLmMub3JpZwkyMDA4LTA0LTA4 IDE4OjM2OjQ5LjAwMDAwMDAwMCArMDIwMAotLS0gc3lzL2Rldi91c2IvdWJzYS5jCTIwMDgt MDYtMTIgMTg6MDQ6MzUuMDAwMDAwMDAwICswMjAwCioqKioqKioqKioqKioqKgoqKiogMjMy LDIzNyAqKioqCi0tLSAyMzIsMjM4IC0tLS0KICAJeyBVU0JfVkVORE9SX09QVElPTiwgVVNC X1BST0RVQ1RfT1BUSU9OX0dUM0dRVUFEIH0sCiAgCS8qIEh1YXdlaSBNb2JpbGUgKi8KICAJ eyBVU0JfVkVORE9SX0hVQVdFSSwgVVNCX1BST0RVQ1RfSFVBV0VJX01PQklMRSB9LAorIAl7 IFVTQl9WRU5ET1JfSFVBV0VJLCBVU0JfUFJPRFVDVF9IVUFXRUlfRTIyMCB9LAogIAkvKiBR dWFsY29tbSwgSW5jLiBaVEUgQ0RNQSAqLwogIAl7IFVTQl9WRU5ET1JfUVVBTENPTU1JTkMs IFVTQl9QUk9EVUNUX1FVQUxDT01NSU5DX0NETUFfTVNNIH0sCiAgCXsgMCwgMCB9CioqKiBz eXMvZGV2L3VzYi91c2JfcXVpcmtzLmgub3JpZwkyMDA2LTEyLTEyIDE2OjQ0OjEzLjAwMDAw MDAwMCArMDEwMAotLS0gc3lzL2Rldi91c2IvdXNiX3F1aXJrcy5oCTIwMDgtMDYtMTIgMTg6 MDU6NDkuMDAwMDAwMDAwICswMjAwCioqKioqKioqKioqKioqKgoqKiogNTQsNTkgKioqKgot LS0gNTQsNjAgLS0tLQogICNkZWZpbmUgVVFfQVVfSU5QX0FTWU5DCTB4MDgwMAkvKiBpbnB1 dCBpcyBhc3luYyBkZXNwaXRlIGNsYWltIG9mIGFkYXB0aXZlICovCiAgI2RlZmluZSBVUV9B U1NVTUVfQ01fT1ZFUl9EQVRBIDB4MTAwMCAvKiBtb2RlbSBkZXZpY2UgYnJlYWtzIG9uIGNt IG92ZXIgZGF0YSAqLwogICNkZWZpbmUgVVFfQlJPS0VOX0JJRElSCTB4MjAwMAkvKiBwcmlu dGVyIGhhcyBicm9rZW4gYmlkaXIgbW9kZSAqLworICNkZWZpbmUgVVFfRkVBVFVSRTIgICAg IDB4NDAwMCAgLyogcmVxdWlyZXMgdGhlIGVuYWJsaW5nIG9mIGZlYXR1cmUgMiAqLwogICNk ZWZpbmUgVVFfSElEX0lHTk9SRQkweDgwMDAJLyogZGV2aWNlIHNob3VsZCBiZSBpZ25vcmVk IGJ5IGhpZCBjbGFzcyAqLwogICNkZWZpbmUgVVFfS0JEX0lHTk9SRSAgMHgxODAwMAkvKiBk ZXZpY2Ugc2hvdWxkIGJlIGlnbm9yZWQgYnkgYm90aCBrYmQgYW5kIGhpZCBjbGFzcyAqLwog IAkJCQkJCioqKiBzeXMvZGV2L3VzYi91c2JfcXVpcmtzLmMub3JpZwkyMDA3LTA0LTI4IDIy OjMxOjMwLjAwMDAwMDAwMCArMDIwMAotLS0gc3lzL2Rldi91c2IvdXNiX3F1aXJrcy5jCTIw MDgtMDYtMTIgMTg6MDU6NDkuMDAwMDAwMDAwICswMjAwCioqKioqKioqKioqKioqKgoqKiog MTMxLDEzNiAqKioqCi0tLSAxMzEsMTM4IC0tLS0KICAgLyogRGV2aWNlcyB3aGljaCBzaG91 bGQgYmUgaWdub3JlZCBieSBib3RoIHVrYmQgYW5kIHVoaWQgKi8KICAgeyBVU0JfVkVORE9S X0NZUFJFU1MsIFVTQl9QUk9EVUNUX0NZUFJFU1NfV0lTUFksCiAgCUFOWSwgeyBVUV9LQkRf SUdOT1JFIH19LAorICB7IFVTQl9WRU5ET1JfSFVBV0VJLCBVU0JfUFJPRFVDVF9IVUFXRUlf RTIyMCwKKyAJQU5ZLCB7IFVRX0ZFQVRVUkUyIH19LAogICB7IDAsIDAsIDAsIHsgMCB9IH0K ICB9OwogIAoqKiogc3lzL2Rldi91c2IvdXNiX3N1YnIuYy5vcmlnCTIwMDYtMDMtMDEgMDI6 NTk6MDUuMDAwMDAwMDAwICswMTAwCi0tLSBzeXMvZGV2L3VzYi91c2Jfc3Vici5jCTIwMDgt MDYtMTIgMTg6MDU6NDkuMDAwMDAwMDAwICswMjAwCioqKioqKioqKioqKioqKgoqKiogNTM4 LDU0MyAqKioqCi0tLSA1MzgsNTU2IC0tLS0KICB9CiAgCiAgU3RhdGljIHVzYmRfc3RhdHVz CisgdXNiZF9zZXRfZmVhdHVyZSh1c2JkX2RldmljZV9oYW5kbGUgZGV2LCBpbnQgZmVhdHVy ZSkKKyB7CisgCXVzYl9kZXZpY2VfcmVxdWVzdF90IHJlcTsKKyAKKyAJcmVxLmJtUmVxdWVz dFR5cGUgPSBVVF9XUklURTsKKyAJcmVxLmJSZXF1ZXN0ID0gVVJfU0VUX0ZFQVRVUkU7Cisg CVVTRVRXKHJlcS53VmFsdWUsIDEpOworIAlVU0VUVyhyZXEud0luZGV4LCBmZWF0dXJlKTsK KyAJVVNFVFcocmVxLndMZW5ndGgsIDApOworIAlyZXR1cm4gKHVzYmRfZG9fcmVxdWVzdChk ZXYsICZyZXEsIDApKTsKKyB9CisgCisgU3RhdGljIHVzYmRfc3RhdHVzCiAgdXNiZF9zZXRf Y29uZmlnKHVzYmRfZGV2aWNlX2hhbmRsZSBkZXYsIGludCBjb25mKQogIHsKICAJdXNiX2Rl dmljZV9yZXF1ZXN0X3QgcmVxOwoqKioqKioqKioqKioqKioKKioqIDk4Miw5ODggKioqKgot LS0gOTk1LDEwMDggLS0tLQogIAkgKiBXZSBqdXN0IGRpZCBub3QgZmluZCBhbnkgZHJpdmVy cywgdGhhdCdzIGFsbC4gIFRoZSBkZXZpY2UgaXMKICAJICogZnVsbHkgb3BlcmF0aW9uYWwg YW5kIG5vdCBoYXJtaW5nIGFueW9uZS4KICAJICovCisgCiAgCURQUklOVEYoKCJ1c2JkX3By b2JlX2FuZF9hdHRhY2g6IGdlbmVyaWMgYXR0YWNoIGZhaWxlZFxuIikpOworIAkKKyAJaWYg KGRldi0+cXVpcmtzLT51cV9mbGFncyAmIFVRX0ZFQVRVUkUyKSB7CisgCQlwcmludGYoIiVz OiBFbmFibGluZyBmZWF0dXJlIFVIRl9QT1JUX1NVU1BFTkRcbiIsIGRldmljZV9nZXRfbmFt ZXVuaXQocGFyZW50KSk7CisgCQl1c2JkX3NldF9mZWF0dXJlKGRldiwgVUhGX1BPUlRfU1VT UEVORCk7CisgCX0KKyAKICAgCXJldHVybiAoVVNCRF9OT1JNQUxfQ09NUExFVElPTik7CiAg fQ== --------------070608070005050702060808-- From: "Mars G Miro" To: "Wojciech Puchar" , bug-followup@freebsd.org, Volker , "Per olof Ljungmark" Cc: Subject: Re: usb/122905: [ubsa] [patch] add Huawei E220 to ubsa Date: Mon, 11 Aug 2008 14:45:58 +0800 Hi guys, This patch does work. The only catch is it's only up to 3G speeds (~384K), not HSDPA (~ 1Mbps++, see my comments in usb/118686). Has anyone noticed this? I did try the NetBSD driver, only to find out I'd crash on their latest CURRENT :-( Thanks. -- cheers mars From: Wojciech Puchar To: Mars G Miro Cc: bug-followup@freebsd.org, Volker , Per olof Ljungmark Subject: Re: usb/122905: [ubsa] [patch] add Huawei E220 to ubsa Date: Mon, 11 Aug 2008 08:48:06 +0200 (CEST) > Hi guys, > > This patch does work. The only catch is it's only up to 3G speeds > (~384K), not HSDPA (~ 1Mbps++, see my comments in usb/118686). yes it is. i have no idea how to make it work at fill speed From: Maxim Konovalov To: bug-followup@freebsd.org Cc: Subject: usb/122905 Date: Fri, 29 Jul 2011 13:09:41 +0400 (MSD) Hello, It looks like Huawei E220 is supported by u3g(4). Could you please confirm it works for you? -- Maxim Konovalov >Unformatted: