western digital mybook (external usb drive, 250gb) takes 15 minutes to be recognized

Brian King free.as.in.speech at gmail.com
Sat Sep 30 15:32:07 PDT 2006


thanks for the response, Roland!

On 9/30/06, Roland Smith <rsmith at xs4all.nl> wrote:
>
>
> I've got an external harddrive with a WD disk. It works without
> problems;
>
> umass0: Prolific Technology Inc. Mass Storage Device, rev 2.00/1.00, addr
> 2
> da0 at umass-sim0 bus 0 target 0 lun 0
> da0: <WDC WD25 00JB-00REA0 20.0> Fixed Direct Access SCSI-0 device
> da0: 40.000MB/s transfers
> da0: 238475MB (488397168 512 byte sectors: 255H 63S/T 30401C)
>
> I've encrypted mine with GEOM_ELI though, and put a single filesystem on
> the encryped disk.


interesting.  perhaps it's something specific to the MyBook.  i'm guessing
that you don't have a MyBook?


> no other messages related to the drive are displayed on the console during
> > these 15 minutes.
> >
> > once the da0 device is recognized, i can mount the partitions (i've got
> it
> > split into two roughly equal-sized primary partitions, one ext2fs and
> one
> > msdos), e.g.:
> > mount -t ext2fs /dev/da0s1/mnt/backup
>
> Maybe the driver is looking for FreeBSD slices? Do you see any disk
> activity
> during this 15 minute period?


no, i haven't noticed any.  in fact, after about 10 minutes the disk spins
down because there's been no activity.


>
> Have you even enabled it? It's disabled by default. As I understand,
> it's deprecated in favour of devd.
>
> I can't find any devd events on my system for the drive, probably
> because it's handled by atapicam(4).


i did have usbd enabled; i had enabled it while following some old
instructions about how to mount a usb flash stick.  i've disabled it now;
the behavior remains the same.

in fact, i tried running usbd verbosely it in the foreground (
/usr/sbin/usbd -v -v -d ). when attaching the MyBook the following was
displayed (immediately):
-------------
usbd: device-attach event at 1159638275.878767000, External HDD, Western
Digital:
  vndr=0x1058 prdct=0x0901 rlse=0x0206 clss=0x0000 subclss=0x0000
prtcl=0x0000
  device names: umass0
  === match attempt: umass0
usbd: Found action 'USB device' for External HDD, Western Digital at umass0
usbd: action 0: USB device
usbd: Setting DEVNAME='umass0'
-------------
... and then the long pause before it attaches to da0 (nothing more is
displayed at time of attachment)

"camcontrol devlist" gives this right after plugging in the drive:
<WD 2500JB External 0107>          at scbus0 target 0 lun 0 (probe0)

and after it finally attaches to da0 "camcontrol devlist" gives:
<WD 2500JB External 0107>          at scbus0 target 0 lun 0 (pass0,da0)

so it seems that the probe phase is what is taking so long.  is there any
way to specify what action to take when this specific drive is attached,
instead of having the system probe it?


i also tried running devd verbosely in the foreground (/sbin/devd -d -D).
here is the output when the drive is attached:
--------
Processing event '? at port=3 vendor=0x1058 product=0x0901 devclass=0x00
devsubclass=0x00 release=0x0206 sernum="57442D5743414E4B34373234312421" on
uhub3'
Pushing table
setting port=3
setting vendor=0x1058
setting product=0x0901
setting devclass=0x00
setting devsubclass=0x00
setting release=0x0206
setting sernum=57442D5743414E4B34373234312421
setting bus=uhub3
Processing nomatch event
Popping table
Processing event '+umass0 vendor=0x1058 product=0x0901 devclass=0x00
devsubclass=0x00 release=0x0206 sernum="57442D5743414E4B34373234312421"
intclass=0x08 intsubclass=0x06 at port=3 interface=0 vendor=0x1058
product=0x0901 devclass=0x00 devsubclass=0x00 release=0x0206
sernum="57442D5743414E4B34373234312421" intclass=0x08 intsubclass=0x06 on
uhub3'
Pushing table
setting device-name=umass0
setting vendor=0x1058
setting product=0x0901
setting devclass=0x00
setting devsubclass=0x00
setting release=0x0206
setting sernum=57442D5743414E4B34373234312421
setting intclass=0x08
setting intsubclass=0x06
Processing attach event
Testing device-name=umass0 against ^ed50
Testing device-name=umass0 against ^ubt[0-9]+
Testing device-name=umass0 against ^ukbd0
Testing device-name=umass0 against ^ums[0-9]+
Testing media type of umass0 against 0x20
Testing media type of umass0 against 0x80
Testing device-name=umass0 against
^(aac|adv|adw|aha|ahb|ahc|ahd|aic|amd|amr|asr|bt|ciss|ct|dpt|esp|ida|iir|ips|isp|mlx|mly|mpt|ncr|ncv|nsp|stg|sym|trm|wds)[0-9]+
Popping table
--------
... and then the long pause before it attaches to da0 (nothing more is
displayed at time of attachment)

this MyBook doesn't have any delay when connecting on linux (ubuntu 6.06) or
on windows xp on this computer.

any ideas?  i'm stumped at this point...


More information about the freebsd-stable mailing list