From owner-freebsd-usb@FreeBSD.ORG Tue Jan 11 01:36:16 2005 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D7A8216A4CE for ; Tue, 11 Jan 2005 01:36:16 +0000 (GMT) Received: from mail.vicor-nb.com (bigwoop.vicor-nb.com [208.206.78.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id A0E0043D3F for ; Tue, 11 Jan 2005 01:36:16 +0000 (GMT) (envelope-from julian@elischer.org) Received: from elischer.org (julian.vicor-nb.com [208.206.78.97]) by mail.vicor-nb.com (Postfix) with ESMTP id 889667A403; Mon, 10 Jan 2005 17:36:16 -0800 (PST) Message-ID: <41E32D90.4070801@elischer.org> Date: Mon, 10 Jan 2005 17:36:16 -0800 From: Julian Elischer User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.3.1) Gecko/20030516 X-Accept-Language: en, hu MIME-Version: 1.0 To: "Wilkinson, Alex" References: <20050107064748.GE18554@squash.dsto.defence.gov.au> <41DE4E52.2040301@elischer.org> <20050111000956.GB32601@squash.dsto.defence.gov.au> In-Reply-To: <20050111000956.GB32601@squash.dsto.defence.gov.au> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit cc: usb@freebsd.org Subject: Re: [USB] JetFlash TS1GJF2B 2.00 Attempt to query devicesizefailed: UNIT ATTENTION X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 11 Jan 2005 01:36:17 -0000 Wilkinson, Alex wrote: > > > > > >> > >>Hi all, > >> > > > >we may need to make it use a quirk to use a different read capacity command > >or skip it.. > > > >I'll have to look to remember what collection of 'quirks' we have in our > >collection. > >Okay, well can someone please define what is meant by a "Quirk" ? >Once that is done can someone please recommend to me the necessary >quirk that I need to get this device working. > > there are two sets of "quirks" involved here.. umass acts as a connector between the CAM (e.g. SCSI) system and the USB system. There are USB quirks defined in: src/sys/dev/usb/ usb_quirks.c and usb_quirks.h basically if a specific USB device is seen then the USB code should do something in a different manner to normal. THe currently defined USB quirks are: struct usbd_quirks { u_int32_t uq_flags; /* Device problems: */ #define UQ_NO_SET_PROTO 0x0001 /* cannot handle SET PROTOCOL. */ #define UQ_SWAP_UNICODE 0x0002 /* has some Unicode strings swapped. */ #define UQ_MS_REVZ 0x0004 /* mouse has Z-axis reversed */ #define UQ_NO_STRINGS 0x0008 /* string descriptors are broken. */ #define UQ_BAD_ADC 0x0010 /* bad audio spec version number. */ #define UQ_BUS_POWERED 0x0020 /* device is bus powered, despite claim */ #define UQ_BAD_AUDIO 0x0040 /* device claims audio class, but isn't */ #define UQ_SPUR_BUT_UP 0x0080 /* spurious mouse button up events */ #define UQ_AU_NO_XU 0x0100 /* audio device has broken extension unit */ #define UQ_POWER_CLAIM 0x0200 /* hub lies about power status */ #define UQ_AU_NO_FRAC 0x0400 /* don't adjust for fractional samples */ #define UQ_AU_INP_ASYNC 0x0800 /* input is async despite claim of adaptive */ #define UQ_ASSUME_CM_OVER_DATA 0x1000 /* modem device breaks on cm over data */ #define UQ_BROKEN_BIDIR 0x2000 /* printer has broken bidir mode */ }; There are CAM/SCSI quirks. src/sys/cam for disks theae are in : scsi/scsi_da.c in the array static struct da_quirk_entry da_quirk_table[] = { /* SPI, FC devices */ { /* * Fujitsu M2513A MO drives. * Tested devices: M2513A2 firmware versions 1200 & 1300. * (dip switch selects whether T_DIRECT or T_OPTICAL device) * Reported by: W.Scholten */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "FUJITSU", "M2513A", "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE }, { [...] /* USB mass storage devices supported by umass(4) */ { /* * EXATELECOM (Sigmatel) i-Bead 100/105 USB Flash MP3 Player * PR: kern/51675 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "EXATEL", "i-BEAD10*", "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* * Power Quotient Int. (PQI) USB flash key * PR: kern/53067 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "Generic*", "USB Flash Disk*", "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* * Creative Nomad MUVO mp3 player (USB) * PR: kern/53094 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "CREATIVE", "NOMAD_MUVO", "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE|DA_Q_NO_PREVENT }, { /* * Jungsoft NEXDISK USB flash key * PR: kern/54737 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "JUNGSOFT", "NEXDISK*", "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* * FreeDik USB Mini Data Drive * PR: kern/54786 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "FreeDik*", "Mini Data Drive", "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* * Sigmatel USB Flash MP3 Player * PR: kern/57046 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "SigmaTel", "MSCN", "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE|DA_Q_NO_PREVENT }, { /* * Neuros USB Digital Audio Computer * PR: kern/63645 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "NEUROS", "dig. audio comp.", "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* * SEAGRAND NP-900 MP3 Player * PR: kern/64563 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "SEAGRAND", "NP-900*", "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE|DA_Q_NO_PREVENT }, { /* * iRiver iFP MP3 player (with UMS Firmware) * PR: kern/54881, i386/63941, kern/66124 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "iRiver", "iFP*", "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE }, { /* * Frontier Labs NEX IA+ Digital Audio Player, rev 1.10/0.01 * PR: kern/70158 */ {T_DIRECT, SIP_MEDIA_REMOVABLE, "FL" , "NexIA+*", "*"}, /*quirks*/ DA_Q_NO_SYNC_CACHE }, };