Kenneth R Westerback wrote: > On Thu, Nov 15, 2012 at 12:48:03PM -0300, Marcos Laufer wrote: > >> Kenneth R Westerback wrote: >> >>> On Wed, Nov 14, 2012 at 04:22:20PM -0300, Marcos Laufer wrote: >>> >>>> Hello, i'd like to inform a problem when dettaching an external 1TB >>>> USB disk drive , the system just freezes, i can't type anything. >>>> Also It stops responding to ping. >>>> If i don't unplug it then i can use the disk normally, i can copy >>>> and delete files with no problem. But as soon as i unplug the USB >>>> cord, the machine freezes. >>>> I've tested it on several machines, different OpenBSD versions >>>> starting from 4.3, i'm not asking for support, i know old OpenBSD >>>> versions are no longer supported, but this seemed pretty odd, i >>>> suppose that plugging and unplugging a USB disk should not cause any >>>> problems on any OS version. >>>> >>>> These are the lines on dmesg about this disk: >>>> >>>> >>>> Nov 14 16:00:31 hq /bsd: umass0 at uhub0 >>>> Nov 14 16:00:31 hq /bsd: port 5 configuration 1 interface 0 >>>> "Western Digital My Passport 0748" rev 2.10/10.15 addr 2 >>>> Nov 14 16:00:31 hq /bsd: umass0: using SCSI over Bulk-Only >>>> Nov 14 16:00:31 hq /bsd: scsibus0 at umass0: 2 targets, initiator 0 >>>> Nov 14 16:00:31 hq /bsd: sd0 at scsibus0 targ 1 lun 0: <WD, My >>>> Passport 0748, 1015> SCSI4 0/direct fixed >>>> Nov 14 16:00:38 hq /bsd: sd0: 953837MB, 512 bytes/sec, 1953458176 sec total >>>> Nov 14 16:00:38 hq /bsd: ses0 at scsibus0 targ 1 lun 1: <WD, SES >>>> Device, 1015> SCSI4 13/enclosure services fixed >>>> Nov 14 16:00:38 hq /bsd: ses0: unable to read enclosure configuration >>>> >>>> Best regards, >>>> Marcos >>>> >>>> >>> As an experiment, try going into boot's config (-c at the boot>) and >>> "disable ses". Then see if a) the ses device is still present, and b) >>> if the absence of the ses device(s) alleviate the symptoms. >>> >>> .... Ken >>> >>> >>> >> Hello, i've just tried this. The ses device is not present when i >> disable it at boot time, but the problem persists, if i unplug the >> USB cord (no matter if the partition is mounted or not) the OS just >> freezes. So i guess it is not related to the ses driver. >> >> This are the dmesg lines of this experiment: >> >> Nov 15 12:32:52 hq /bsd: umass0 at uhub0 >> Nov 15 12:32:52 hq /bsd: port 5 configuration 1 interface 0 >> "Western Digital My Passport 0748" rev 2.10/10.15 addr 2 >> Nov 15 12:32:52 hq /bsd: umass0: using SCSI over Bulk-Only >> Nov 15 12:32:52 hq /bsd: scsibus0 at umass0: 2 targets, initiator 0 >> Nov 15 12:32:52 hq /bsd: sd0 at scsibus0 targ 1 lun 0: <WD, My >> Passport 0748, 1015> SCSI4 0/direct fixed >> Nov 15 12:32:59 hq /bsd: sd0: 953837MB, 512 bytes/sec, 1953458176 sec total >> Nov 15 12:32:59 hq /bsd: uk0 at scsibus0 targ 1 lun 1: <WD, SES >> Device, 1015> SCSI4 13/enclosure services fixed >> >> > > Arrg. Need to kill all reference to that second device. Try a kernel with > this diff. It should prevent probing anything but lun 0. > > .... Ken > > Index: umass_scsi.c > =================================================================== > RCS file: /cvs/src/sys/dev/usb/umass_scsi.c,v > retrieving revision 1.38 > diff -u -p -r1.38 umass_scsi.c > --- umass_scsi.c 17 Jul 2011 22:46:48 -0000 1.38 > +++ umass_scsi.c 15 Nov 2012 17:17:06 -0000 > @@ -92,7 +92,7 @@ umass_scsi_attach(struct umass_softc *sc > > scbus = umass_scsi_setup(sc); > scbus->sc_link.adapter_target = UMASS_SCSIID_HOST; > - scbus->sc_link.luns = sc->maxlun + 1; > + scbus->sc_link.luns = 1; > scbus->sc_link.flags &= ~SDEV_ATAPI; > scbus->sc_link.flags |= SDEV_UMASS; > > > > Ken, i've applied your patch on an old OpenBSD 4.5 i use for testing purposes and the problem got solved. Now i can unplug the USB disk and no freeze at all. Is it safe to apply it on older and newer OpenBSD versions as well?
These are the new dmesg lines: umass0 at uhub0 port 5 configuration 1 interface 0 "Western Digital My Passport 0748" rev 2.10/10.15 addr 2 umass0: using SCSI over Bulk-Only scsibus0 at umass0: 2 targets, initiator 0 sd0 at scsibus0 targ 1 lun 0: <WD, My Passport 0748, 1015> SCSI4 0/direct fixed sd0: 953837MB, 512 bytes/sec, 1953458176 sec total and after unpluggin the USB cord i get: sd0 detached scsibus0 detached umass0 detached And the OS does not freeze anymore. Thank you very much!