kern/86131: [patch] quirk for Creative MuVo slim
Erich Rickheit KSC
rickheit-fbp at numachi.com
Wed Sep 14 10:20:24 PDT 2005
>Number: 86131
>Category: kern
>Synopsis: [patch] quirk for Creative MuVo slim
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed Sep 14 17:20:15 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Erich Rickheit KSC <rickheit-fbp at numachi.com>
>Release: FreeBSD 4.10-RELEASE i386
>Organization:
Numachi
>Environment:
System: FreeBSD sniff.numachi.com 4.10-RELEASE FreeBSD 4.10-RELEASE #7: Tue Sep 13 22:03:54 EDT 2005 rickheit at sniff.numachi.com:/usr/src/sys/compile/SNIFF i386
Working with a moderately cheap MP3 player, the Creative MuVo Slim
# camcontrol inquiry da0
pass0: <CREATIVE MuVo Slim 1105> Removable Direct Access SCSI-4 device
pass0: Serial Number xxxxxxxxxxxxxxxx
pass0: 650KB/s transfers
>Description:
Device could not be mounted through the umass driver; attempts made mount
stall and sent errors to /var/log/messages:
Sep 13 17:18:24 sniff /kernel: umass0: BBB reset failed, TIMEOUT
Sep 13 17:18:34 sniff /kernel: umass0: BBB bulk-in clear stall failed, TIMEOUT
Sep 13 17:18:34 sniff /kernel: umass0: BBB bulk-out clear stall failed, STALLED
(these messages repeated occasionally)
At least once, simply disconnecting the player caused the machine to hang,
requiring a reboot.
>How-To-Repeat:
Watch /var/log/messages for umass
Plug the device into a USB slot
Observe in log that the device is detected
As root, attempt to mount the device:
# mount -t msdos /dev/da0s1 /mnt
Observe 'BBB ...' messages in log
Observe that 'mount' does not return for several minutes
>Fix:
Copied a quirk for a related device and changed the name. After reboot with
the recompiled kernel, all works as expected.
(I'm not sure if there was some way to modify the other entry so it
matched both this device and the original 'NOMAD_MUVO' device. Also, I
did not test every combination of these flags to find the minimum
necessary; once it worked. I stopped screwing around)
--- scsi_da.c Tue Sep 13 22:39:41 2005
+++ /usr/src/sys/cam/scsi/scsi_da.c Tue Sep 13 22:02:12 2005
@@ -310,6 +310,13 @@
{T_DIRECT, SIP_MEDIA_REMOVABLE, "SigmaTel", "MSCN", "*"},
/*quirks*/ DA_Q_NO_SYNC_CACHE|DA_Q_NO_PREVENT
},
+ {
+ /*
+ * Creative MUVO Slim mp3 player (USB)
+ */
+ {T_DIRECT, SIP_MEDIA_REMOVABLE, "CREATIVE", "MuVo Slim", "*"},
+ /*quirks*/ DA_Q_NO_6_BYTE|DA_Q_NO_SYNC_CACHE|DA_Q_NO_PREVENT
+ },
};
static d_open_t daopen;
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list