Skip site navigation (1)Skip section navigation (2)
Date:      Thu,  1 May 2003 22:59:22 +0200 (CEST)
From:      Nicolas Jombart <ecu@ipv42.net>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   kern/51675: Quirks for i-Bead MP3 player/USB key
Message-ID:  <20030501205922.534D45850@silver.hsc.fr>
Resent-Message-ID: <200305012100.h41L0OWT036931@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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@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@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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030501205922.534D45850>