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

Vladimir Grebenschikov <[email protected]>
Newsgroups gmane.os.freebsd.devel.mobile
Organization SWsoft
Message-ID <1112018770.1022.62.camel@localhost>
В пн, 28/03/2005 в 15:28 +0200, Bernd Walter пишет:
> 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 <[email protected]>, 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.

I guess, may bad example messed up discussion. sorry.

>From begin:
  I have USB-connected card-reader (Sony Memory Stick).
  It connected as umass0 (ehci), then as da0.
  It can't be unplugged. (on-board notebook device)

Problem:
  When I change card (it was not mounted) da0 device does not detect
  media change and following mount fails.

Workarounds (I know three at this moment):
  - kldunload umass; kldload umass - the ugliest, will affect other
umass devices.
  - cat /dev/null > /dev/da0  before mount - GEOM hacking 
    (also I do not like do cat into device with data)
  - camcontrol detach da0; camcontrol rescan all - requires CAM patch

So, I am asking about solution, how it is supposed to work, 
I guess, like with CD, there is should not be special exercises after
card change.

Probably my card-read is too stupid to send any media change
notifications, how to test it ?

Another, probably related question, is there way to detect card
insertion/removal ?

> > 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.

It is not disconnected physically, just card removed.

> Do you run recent RELENG_5 or -current code?

6-CURRENT.

> 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.
-- 
Vladimir B. Grebenchikov
[email protected]
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-mobile
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.