usb/142225: [patch] Patch to add Quirk for Western Digital Mybook

Hans Petter Selasky hselasky at c2i.net
Sat Jan 2 16:58:38 UTC 2010


On Saturday 02 January 2010 04:33:59 Thomas Ward wrote:
> >Number:         142225
> >Category:       usb
> >Synopsis:       [patch] Patch to add Quirk for Western Digital Mybook
> >Confidential:   no
> >Severity:       serious
> >Priority:       medium
> >Responsible:    freebsd-usb
> >State:          open
> >Quarter:
> >Keywords:
> >Date-Required:
> >Class:          sw-bug
> >Submitter-Id:   current-users
> >Arrival-Date:   Sat Jan 02 03:40:02 UTC 2010
> >Closed-Date:
> >Last-Modified:
> >Originator:     Thomas Ward
> >Release:        8-Stable
> >Organization:
> >Environment:
>
> FreeBSD daemollo 8.0-STABLE FreeBSD 8.0-STABLE #0: Fri Jan  1 20:04:41 EST
> 2010     thomas at daemollo:/usr/obj/usr/src/sys/USB  amd64
>
> >Description:
>
> My western digital mybook external usb drive with idVendor=0x1058 and
> idProduct=0x0901 did work when a zpool was added to the drive due to it not
> having a synchronize cache. Adding the quirk 0x4000, UQ_MSC_NO_SYNC_CACHE,
> to usb_quirk.c and recompiling the kernel fixes the issue and ZFS works
> flawlessly. I've attached a patch that adds the quirk.
>
> >How-To-Repeat:
>
> Create a zpool on Western Digital Mybook external harddrive.
>
> >Fix:
>
> Apply patch to add UQ_MSC_NO_SYNC_CACHE quirk and recompile kernel.
>
> Patch attached with submission follows:
>
> Index: sys/dev/usb/quirk/usb_quirk.c
> ===================================================================
> --- sys/dev/usb/quirk/usb_quirk.c	(revision 201317)
> +++ sys/dev/usb/quirk/usb_quirk.c	(working copy)
> @@ -413,7 +413,8 @@ static struct usb_quirk_entry usb_quirks
>  	    UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_FORCE_SHORT_INQ,
>  	    UQ_MSC_NO_START_STOP, UQ_MSC_IGNORE_RESIDUE),
>  	USB_QUIRK(WESTERN, MYBOOK, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
> -	    UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_INQUIRY_EVPD),
> +	    UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_INQUIRY_EVPD,
> +	    UQ_MSC_NO_SYNC_CACHE),
>  	USB_QUIRK(WESTERN, MYPASSWORD, 0x0000, 0xffff, UQ_MSC_FORCE_SHORT_INQ),
>  	USB_QUIRK(WINMAXGROUP, FLASH64MC, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
>  	    UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_INQUIRY),
>
> >Release-Note:

Committed to USB P4, See change #172479.

--HPS



More information about the freebsd-usb mailing list