* USB/desktop integration - how to guess /dev/sd* when hotplugging?
@ 2004-02-12 19:44 Michael Hamilton
2004-02-12 21:39 ` Marco d'Itri
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Michael Hamilton @ 2004-02-12 19:44 UTC (permalink / raw)
To: linux-hotplug
How do I systematically determine /dev/sd[abc] when hotplugging?
Is sg_map from sg3_utils the best/only way? In more detail...
I've got some scripts that attempt to integrate hotplug and
the desktop so that icons for each partition pop onto the
desktop and change state when usb devices are plugged in,
see http:/users.actrix.co.nz/michael . My scripts were
an interim measure - pending a universally accepted
solution from distro or desktop makers - but my scripts
are still in use after more than a year. I'm trying
to tidy them up and add firewire support, plus get them
to work for kernel 2.6.
There doesn't seem to be an easy way to figure out the scsi
/dev/sd* from the hotplug device passed in, for example:
from /proc/bus/usb/004/002 to what /dev/sd*?
I was hoping there was a easy way to use /proc or /sys, to
get this info. But I can't see anything there solving the
problem. I'm thinking of using the sg_map utility from
sg3_utils. The only problem with sg_map is that it probes
non-existant devices, and the probes produce a lot of
dmesg chatter which in turn creates a CPU burst from the
syslogd. Some log chatter can be eliminated by assigning
dummy devices, but I prefer not to have to do that.
If there isn't a way to do this simply and cleanly, could
I suggest that kernel people consider adding something
to the sysfs under 2.6.
Thanks,
Michael
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id\x1356&alloc_id438&op=click
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: USB/desktop integration - how to guess /dev/sd* when hotplugging?
2004-02-12 19:44 USB/desktop integration - how to guess /dev/sd* when hotplugging? Michael Hamilton
@ 2004-02-12 21:39 ` Marco d'Itri
2004-02-13 1:31 ` Greg KH
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Marco d'Itri @ 2004-02-12 21:39 UTC (permalink / raw)
To: linux-hotplug
On Feb 12, Michael Hamilton <michael@actrix.gen.nz> wrote:
>How do I systematically determine /dev/sd[abc] when hotplugging?
http://dev.gentoo.org/~wmertens/
--
ciao, |
Marco | [4577 otc77YvTJHuu6]
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id\x1356&alloc_id438&op=click
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: USB/desktop integration - how to guess /dev/sd* when hotplugging?
2004-02-12 19:44 USB/desktop integration - how to guess /dev/sd* when hotplugging? Michael Hamilton
2004-02-12 21:39 ` Marco d'Itri
@ 2004-02-13 1:31 ` Greg KH
2004-02-13 11:01 ` USB/desktop integration - how to guess /dev/sd* when Michael Hamilton
2004-02-15 2:38 ` USB/desktop integration - how to guess /dev/sd* when hotplugging? Michael Hamilton
3 siblings, 0 replies; 5+ messages in thread
From: Greg KH @ 2004-02-13 1:31 UTC (permalink / raw)
To: linux-hotplug
On Fri, Feb 13, 2004 at 08:44:30AM +1300, Michael Hamilton wrote:
> How do I systematically determine /dev/sd[abc] when hotplugging?
> Is sg_map from sg3_utils the best/only way? In more detail...
Looked at devlabel?
> There doesn't seem to be an easy way to figure out the scsi
> /dev/sd* from the hotplug device passed in, for example:
> from /proc/bus/usb/004/002 to what /dev/sd*?
Why not just catch either the block hotplug events, or the scsi hotplug
events? And why would you ever want to map usb-storage devices to their
usbfs entry?
> I was hoping there was a easy way to use /proc or /sys, to
> get this info.
Look at /sys/block/{block_device}/device
That's the symlink I think you want, right?
thanks,
greg k-h
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id\x1356&alloc_id438&op=click
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: USB/desktop integration - how to guess /dev/sd* when
2004-02-12 19:44 USB/desktop integration - how to guess /dev/sd* when hotplugging? Michael Hamilton
2004-02-12 21:39 ` Marco d'Itri
2004-02-13 1:31 ` Greg KH
@ 2004-02-13 11:01 ` Michael Hamilton
2004-02-15 2:38 ` USB/desktop integration - how to guess /dev/sd* when hotplugging? Michael Hamilton
3 siblings, 0 replies; 5+ messages in thread
From: Michael Hamilton @ 2004-02-13 11:01 UTC (permalink / raw)
To: linux-hotplug
I think gentoo uses devfs, which is quite unlike the one I'm using
(Redhat 9) - I looked at this gentoo solution and its quite nice.
But I believe it wouldn't work for Redhat (and I don't have the
bandwidth to go with gentoo). Also this gentoo solution seems
to assume FAT and only 1 partition - which isn't true for my
usb hard drive enclosure.
> Date: Thu, 12 Feb 2004 22:39:32 +0100
> From: Marco d'Itri <md@Linux.IT>
> To: linux-hotplug-devel@lists.sourceforge.net
> Subject: Re: USB/desktop integration - how to guess /dev/sd* when
> hotplugging?
>
> On Feb 12, Michael Hamilton <michael@actrix.gen.nz> wrote:
> >How do I systematically determine /dev/sd[abc] when hotplugging?
>
> http://dev.gentoo.org/~wmertens/
>
> --
> ciao, |
> Marco | [4577 otc77YvTJHuu6]
>
>
> --__--__--
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id\x1356&alloc_id438&op=click
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: USB/desktop integration - how to guess /dev/sd* when hotplugging?
2004-02-12 19:44 USB/desktop integration - how to guess /dev/sd* when hotplugging? Michael Hamilton
` (2 preceding siblings ...)
2004-02-13 11:01 ` USB/desktop integration - how to guess /dev/sd* when Michael Hamilton
@ 2004-02-15 2:38 ` Michael Hamilton
3 siblings, 0 replies; 5+ messages in thread
From: Michael Hamilton @ 2004-02-15 2:38 UTC (permalink / raw)
To: linux-hotplug
On Fri, 13 Feb 2004 14:31, Greg KH wrote:
> On Fri, Feb 13, 2004 at 08:44:30AM +1300, Michael Hamilton wrote:
> > How do I systematically determine /dev/sd[abc] when hotplugging?
> > Is sg_map from sg3_utils the best/only way? In more detail...
>
> Looked at devlabel?
I did look at devlabel in the past, but the stated need for unique
ID's put me off - I have two devices with the same ID - but I
don't normally plug them in at the same time, so maybe devlabel
would be OK. For my own scripts I had come to the conclusion
that it's better not to try and use ID's for usb devices, because,
in the end, the ID can be pretty much useless and the only
way to tell which device is which is to look at its content.
Because of this issue, I decided to use generic handles
like usb-device-1, usb-device-2, etc.
> > There doesn't seem to be an easy way to figure out the scsi
> > /dev/sd* from the hotplug device passed in, for example:
> > from /proc/bus/usb/004/002 to what /dev/sd*?
>
> Why not just catch either the block hotplug events, or the scsi hotplug
> events? And why would you ever want to map usb-storage devices to their
> usbfs entry?
Sorry - I'm a bit out of my depth here. From reading about
hotplug from the project website I got the impression that
a usb device should be handled by adding code in the usb storage
area of hotplug. You seem to be saying this is wrong and I
should trap something more general in the block or scsi area.
I guess I need a new version of hotplug because mine doesn't
seem to have agents for these kind of events.
> why would you ever want to map usb-storage devices to their
> usbfs entry
Under kernel 2.4 the only thing hotplug gives you to go on is
/proc/bus/usb/..., but I had no way to translate this to
a scsi entry except by trying to match GUID's - but GUID's
are not unique, eg I can plug in two usb-flash-drives that
have the same GUID. Because of the lack of a mapping, on
a hotplug event, I was resorting to mounting every
usb-drive listed as attached under /proc/scsi/usb-storage -
which actually works quite well - most people only plug in
one drive at a time. Under kernel 2.6, your next hint
deals with this issue nicely.
> > I was hoping there was a easy way to use /proc or /sys, to
> > get this info.
>
> Look at /sys/block/{block_device}/device
>
> That's the symlink I think you want, right?
Yes this is it - this will allow me to find the scsi host number
of a device that has been plugged in. I can then use sg_map to
find the /dev/sd[abc...] currently assigned to the host number and
after that its plain sailing. Because I need to translate the
host number to a /dev/sd[abc..] device, I can't see any way around
using sg_map - does anyone know a way to get this info out of
/proc or /sys? Here is the kind of info I get from sg_map:
[root@viking2 root]# sg_map -sd -x
/dev/sg0 1 0 0 0 0 /dev/sda
/dev/sg1 2 0 0 0 0 /dev/sdb
/dev/sg2 3 0 0 0 0 /dev/sdc
/dev/sg3 0 0 0 0 5
/dev/sg4 4 0 0 0 0 /dev/sdd
/dev/sg5 5 0 0 0 0 /dev/sde
Note the skip in the numerical sequence due to the cdrom drive
on host number 3 - skips like this are the reason I need a map.
Thanks for the help,
Michael
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id\x1356&alloc_id438&op=click
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2004-02-15 2:38 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-12 19:44 USB/desktop integration - how to guess /dev/sd* when hotplugging? Michael Hamilton
2004-02-12 21:39 ` Marco d'Itri
2004-02-13 1:31 ` Greg KH
2004-02-13 11:01 ` USB/desktop integration - how to guess /dev/sd* when Michael Hamilton
2004-02-15 2:38 ` USB/desktop integration - how to guess /dev/sd* when hotplugging? Michael Hamilton
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).