Reattach/redetect allways connected umass device - is it possible ?

Bernd Walter ticso at cicely12.cicely.de
Mon Mar 28 05:28:51 PST 2005


On Mon, Mar 28, 2005 at 05:17:24PM +0400, Vladimir Grebenschikov wrote:
> ? ??, 28/03/2005 ? 15:04 +0200, Bernd Walter ?????:
> > On Mon, Mar 28, 2005 at 04:58:31PM +0400, Vladimir Grebenschikov wrote:
> > > ? ??, 28/03/2005 ? 14:13 +0200, Poul-Henning Kamp ?????:
> > > > In message <20050328114633.GZ14532 at cicely12.cicely.de>, Bernd Walter writes:
> > > > 
> > > > >> camcontrol detach da0; camcontrol rescan all 
> > > > >> helps, but, it should be much better if it will be issued automatically.
> > > > >
> > > > >Yes - GEOM seems to ignore media change signals from drives.
> > > > >I've added PHK to the recipient list - maybe he has an idea about this
> > > > >problem.
> > > > 
> > > > No, GEOM doesn't ignore any such thing, because as far as I know
> > > > GEOM doesn't get any such thing to ignore in the first place.
> > > 
> > > So, let's imagine following situation:
> > > 
> > > We get SCSI BUS with removable da device.
> > > device detected as da0 and not mounted.
> > > Device disconnected from SCSI bus.
> > > And finally, another device with different geometry connected with same
> > > SCIS ID.
> > 
> > This ist not a *media* exchange - this is a *device* and in
> > this case even a scbus exchange.
> 
> Ok, so my case is media exchange, not device exchange.

No - it is a device exchange.
GEOM only has problems with media exchange.
A new device is no problem for GEOM.
Your problem is very likely not GEOM related.

> How it is supposed to work in this case ? 

You get a new device and all layers are freshly setup.
That is get's the same device numers as the old is unrelated, it's
still a new device after all.

You should see why your disconnect doesn't work.
Do you run recent RELENG_5 or -current code?
Disconnect the device and "ps -axl | grep usb" - you will see the
usb threads - each host controller has one of them.
Normaly idle usb threads should wait in usbevt and usbtask should
wait in usbtsk - see what it is in your case.

-- 
B.Walter                   BWCT                http://www.bwct.de
bernd at bwct.de                                  info at bwct.de



More information about the freebsd-mobile mailing list