kern/51675: Quirks for i-Bead MP3 player/USB key
Nicolas Jombart
ecu at ipv42.net
Thu May 1 14:00:26 PDT 2003
>Number: 51675
>Category: kern
>Synopsis: Quirks for i-Bead MP3 player/USB key
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Thu May 01 14:00:23 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator: Nicolas Jombart
>Release: FreeBSD 5.0-CURRENT i386
>Organization:
>Environment:
System: FreeBSD silver.hsc.fr 5.0-CURRENT FreeBSD 5.0-CURRENT #27: Thu May 1 22:25:24 CEST 2003 ecu at silver.hsc.fr:/usr/obj/usr/src/sys/SILVER i386
>Description:
I have an i-Bead MP3 player, which is seen as a USB disk.
http://www.i-bead.co.kr/
(exact model is EXATELECOM i-BEAD100)
Errors when plugging the device are :
May 1 12:56:58 silver kernel: umass0: EXATEL , Inc. I-BEAD Multi Player, rev 1.10/0.01, addr 2
May 1 12:56:58 silver kernel: umass0: Get Max Lun not supported (IOERROR)
May 1 12:56:58 silver kernel: da0 at umass-sim0 bus 0 target 0 lun 0
May 1 12:56:58 silver kernel: da0: <EXATEL i-BEAD100 0001> Removable Direct Access SCSI-4 device
May 1 12:56:58 silver kernel: da0: 1.000MB/s transfers
May 1 12:56:58 silver kernel: da0: 122MB (249857 512 byte sectors: 64H 32S/T 122C)
May 1 12:57:03 silver kernel: umass0: BBB reset failed, IOERROR
May 1 12:57:03 silver kernel: umass0: BBB bulk-in clear stall failed, IOERROR
May 1 12:57:03 silver kernel: umass0: BBB bulk-out clear stall failed, IOERROR
May 1 12:57:08 silver kernel: umass0: BBB reset failed, IOERROR
(many times)
May 1 12:57:09 silver kernel: (da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi status == 0x0
[12:57] root at silver # usbdevs -v
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 0x8008(0x8008), Sigmatel(0x066f), rev 0.01
port 2 powered
Controller /dev/usb1:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), Intel(0x0000), rev 1.00
port 1 powered
port 2 powered
After compiling with quirks, I can mount the drive and don't get error or panic
when unplugging anymore.
[22:39] root at silver # camcontrol inquiry da0
pass0: <EXATEL i-BEAD100 0001> Removable Direct Access SCSI-4 device
pass0: Serial Number
pass0: 1.000MB/s transfers
Logs when the device is ok are :
May 1 22:38:49 silver kernel: umass0: EXATEL , Inc. I-BEAD Multi Player, rev 1.10/0.01, addr 2
May 1 22:38:49 silver kernel: umass0: SCSI over Bulk-Only; quirks = 0x0010
May 1 22:38:49 silver kernel: umass0: Get Max Lun not supported (IOERROR)
May 1 22:38:49 silver kernel: umass0:0:0:-1: Attached to scbus0
May 1 22:38:49 silver kernel: da0 at umass-sim0 bus 0 target 0 lun 0
May 1 22:38:49 silver kernel: da0: <EXATEL i-BEAD100 0001> Removable Direct Access SCSI-4 device
May 1 22:38:49 silver kernel: da0: 1.000MB/s transfers
May 1 22:38:49 silver kernel: da0: 122MB (249857 512 byte sectors: 64H 32S/T 122C)
(...)
May 1 22:39:13 silver kernel: umass0: at uhub0 port 2 (addr 2) disconnected
May 1 22:39:13 silver kernel: (da0:umass-sim0:0:0:0): lost device
May 1 22:39:13 silver kernel: (da0:umass-sim0:0:0:0): removing device entry
May 1 22:39:13 silver kernel: umass0: detached
>How-To-Repeat:
Plug this device with clean kernel.
>Fix:
In fact, this just comes from many many tries (may need optimization) :
--- scsi_da.c Thu May 1 11:40:11 2003
+++ /usr/src/sys/cam/scsi/scsi_da.c Thu May 1 22:44:14 2003
@@ -463,6 +463,14 @@
*/
{T_DIRECT, SIP_MEDIA_REMOVABLE, "SanDisk", "ImageMate*", "*"},
/*quirks*/ DA_Q_NO_6_BYTE
+ },
+ {
+ /*
+ * EXATEL i-BEAD MP3 player/USB key
+ *
+ */
+ {T_DIRECT, SIP_MEDIA_REMOVABLE, "EXATEL", "i-BEAD*", "*"},
+ DA_Q_NO_6_BYTE | DA_Q_NO_SYNC_CACHE
}
};
--- usbdevs.h Thu May 1 18:25:06 2003
+++ /usr/src/sys/dev/usb/usbdevs.h Thu May 1 18:27:24 2003
@@ -1032,6 +1032,9 @@
/* Siemens products */
#define USB_PRODUCT_SIEMENS_SPEEDSTREAM 0x1001 /* SpeedStream USB */
+/* Sigmatel */
+#define USB_PRODUCT_SIGMATEL_IBEAD 0x8008 /* i-BEAD MP3 player */
+
/* SIIG products */
#define USB_PRODUCT_SIIG_DIGIFILMREADER 0x0004 /* DigiFilm-Combo Reader */
--- umass.c Thu May 1 14:52:11 2003
+++ /usr/src/sys/dev/usb/umass.c Thu May 1 22:20:39 2003
@@ -379,6 +379,10 @@
UMASS_PROTO_ATAPI | UMASS_PROTO_CBI_I,
FORCE_SHORT_INQUIRY
},
+ { USB_VENDOR_SIGMATEL, USB_PRODUCT_SIGMATEL_IBEAD, RID_WILDCARD,
+ UMASS_PROTO_SCSI | UMASS_PROTO_BBB,
+ SHUTTLE_INIT
+ },
{ VID_EOT, PID_EOT, RID_EOT, 0, 0 }
};
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list