From nobody@FreeBSD.org  Tue Mar  2 08:17:38 2004
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id B5AA516A4CE
	for <freebsd-gnats-submit@FreeBSD.org>; Tue,  2 Mar 2004 08:17:38 -0800 (PST)
Received: from www.freebsd.org (www.freebsd.org [216.136.204.117])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 99ED843D1F
	for <freebsd-gnats-submit@FreeBSD.org>; Tue,  2 Mar 2004 08:17:38 -0800 (PST)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.12.10/8.12.10) with ESMTP id i22GHb72014457
	for <freebsd-gnats-submit@FreeBSD.org>; Tue, 2 Mar 2004 08:17:37 -0800 (PST)
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.12.10/8.12.10/Submit) id i22GHbo2014456;
	Tue, 2 Mar 2004 08:17:37 -0800 (PST)
	(envelope-from nobody)
Message-Id: <200403021617.i22GHbo2014456@www.freebsd.org>
Date: Tue, 2 Mar 2004 08:17:37 -0800 (PST)
From: Aron Stansvik <elvstone@home.se>
To: freebsd-gnats-submit@FreeBSD.org
Subject: Neuros Digital Audio Computer (USB) needs DA_Q_NO_SYNC_CACHE quirk
X-Send-Pr-Version: www-2.3

>Number:         63645
>Category:       kern
>Synopsis:       Neuros Digital Audio Computer (USB) needs DA_Q_NO_SYNC_CACHE quirk
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    njl
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Mar 02 08:20:12 PST 2004
>Closed-Date:    Fri May 07 21:00:32 PDT 2004
>Last-Modified:  Fri May 07 21:00:32 PDT 2004
>Originator:     Aron Stansvik
>Release:        5.2.1-RELEASE
>Organization:
>Environment:
FreeBSD glorfindel.dose.se 5.2.1-RELEASE FreeBSD 5.2.1-RELEASE #2: Sat Feb 28 14:30:35 CET 2004 root@glorfindel.dose.se:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
The Neuros Digital Audio Computer (USB) (http://www.neurosaudio.com/) needs DA_Q_NO_SYNC_CACHE quirk to function properly. The dmesg output of the failed attach attempt is as follows:

umass0: vendor 0x0451 product 0x5409, rev 1.01/0.01, addr 2
GEOM: create disk da0 dp=0xc2e95050
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <NEUROS dig. audio comp. 1.00> Removable Direct Access SCSI-0 device
da0: 1.000MB/s transfers
da0: 19077MB (39070048 512 byte sectors: 255H 63S/T 2431C)
umass0: BBB reset failed, TIMEOUT
umass0: BBB bulk-in clear stall failed, TIMEOUT
umass0: BBB bulk-out clear stall failed, TIMEOUT
(da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x10, scsi status == 0x0
umass0: BBB reset failed, TIMEOUT
umass0: BBB bulk-in clear stall failed, TIMEOUT
umass0: BBB bulk-out clear stall failed, TIMEOUT
umass0: BBB reset failed, TIMEOUT
umass0: BBB bulk-in clear stall failed, TIMEOUT
umass0: BBB bulk-out clear stall failed, TIMEOUT
umass0: BBB reset failed, TIMEOUT
umass0: BBB bulk-in clear stall failed, TIMEOUT
umass0: BBB bulk-out clear stall failed, TIMEOUT
umass0: BBB reset failed, TIMEOUT
umass0: BBB bulk-in clear stall failed, TIMEOUT
umass0: BBB bulk-out clear stall failed, TIMEOUT
>How-To-Repeat:
Boot your FreeBSD 5.x machine (don't know about 4.x) and plug your Neuros Digital Audio Computer in.
>Fix:
--- scsi_da.c.orig      Sat Feb 28 14:04:57 2004
+++ scsi_da.c   Sat Feb 28 14:12:09 2004
@@ -376,6 +376,13 @@
                {T_DIRECT, SIP_MEDIA_REMOVABLE, "CREATIVE", "NOMAD_MUVO", "*"},
                /*quirks*/ DA_Q_NO_SYNC_CACHE|DA_Q_NO_PREVENT
        },
+       {
+               /*
+                * Neuros Digital Audio Computer (USB)
+                */
+               {T_DIRECT, SIP_MEDIA_REMOVABLE, "NEUROS", "dig*", "*"},
+               /*quirks*/ DA_Q_NO_SYNC_CACHE
+       },
 };

 static disk_strategy_t dastrategy;

The dmesg output of the successful attach:

umass0: vendor 0x0451 product 0x5409, rev 1.01/0.01, addr 2
GEOM: create disk da0 dp=0xc2f17050
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <NEUROS dig. audio comp. 1.00> Removable Direct Access SCSI-0 device
da0: 1.000MB/s transfers
da0: 19077MB (39070048 512 byte sectors: 255H 63S/T 2431C)

And with the device successfully attached, usbdevs -v gives the following output:

Controller /dev/usb0:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00
 port 1 addr 2: full speed, self powered, config 1, product 0x5409(0x5409), vendor 0x0451(0x0451), rev 0.01
 port 2 powered

Note that in FreeBSD 5.x releases before 5.2.1-RELEASE, I had to use the DA_Q_NO_6_BYTE quirk too. 
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->njl 
Responsible-Changed-By: njl 
Responsible-Changed-When: Sun May 2 12:26:16 PDT 2004 
Responsible-Changed-Why:  
Quirk has been committed (without wildcarding).  MFC after a couple days. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=63645 
State-Changed-From-To: open->closed 
State-Changed-By: njl 
State-Changed-When: Fri May 7 20:59:38 PDT 2004 
State-Changed-Why:  
Quirk mfced to 4-stable.  Let me know if you have any problems with this 
device. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=63645 
>Unformatted:
