On Fri, Oct 12, 2007 at 10:23:16AM +0200, Otto Moerbeek wrote:
> On Fri, 12 Oct 2007, Raimo Niskanen wrote:
> 
> > On Fri, Oct 12, 2007 at 08:01:13AM +0930, Edwards, David  (JTS) wrote:
> > > > -----Original Message-----
> > > > From: Nick Guenther [mailto:[EMAIL PROTECTED]
> > > > Sent: Thursday, 11 October 2007 8:01 PM
> > > > To: Edwards, David (JTS)
> > > > Cc: misc@openbsd.org
> > > > Subject: Re: Which remvable drive is connected to which USB port
> > > >
> > > > On 10/11/07, Edwards, David  (JTS)
> > > > <[EMAIL PROTECTED]> wrote:
> > > > > Hi again.
> > > > >
> > > > > Just a wrap up to this thread.
> > > > > -----------------
> > > [snip]
> > > 
> > > >> I'm not happy with the fact that the script uses dmesg output.
> > > >> dmesg uses a ring buffer and that can fill very quickly
> > > >> (say if you unplug a usb disk while something is writing
> > > >> to it) which will break the above script totally.  However,
> > > >> currently I don't have the time (or probably the expertise)
> > > >> to go through the source to work out a better way to do
> > > >> it.
> > > 
> > > > everything in dmesg is also dumped to /var/log/messages.
> > > > disk naming *is* consistent in OpenBSD. devices are all named in a
> > > > deterministic manner, so that they won't change on you without you
> > > > realizing it / adding an extra layer of naming indirection.
> > > >
> > > > What are you actually trying to do here? boot from a USB disk?
> > > 
> > > Hi, thanks for responding.
> > > 
> > > I'm using USB disks for backups.
> > > 
> > > The problem I have is that there are multiple backup sets that
> > > I need to keep for different purposes so I need to know which
> > > physical USB port a disk device is attached to.
> > > 
> > > I've got three USB cables labelled with the names of the backup
> > > sets (set 1, set 2...) and when I swap a disk on one of the
> > > cables, I need to know the disk device to mount so that I can
> > > dump the right set onto it..
> > > 
> > > It seems that the disk devices are named (sd1, sd2 etc) based
> > > on which one is plugged in first (unrelated to the physical
> > > port).  My testing shows that the disk device names are retained
> > > as long as the box is not rebooted, but if it reboots, then
> > > I can no longer be sure that the right disk is plugged into
> > > the right port and my backup sets would get mixed up.
> > > 
> > > So, basically I need a tool where I can start with a physical port
> > > description (seems /dev/usb# "addr #" works) and end with a disk
> > > device (sd#).
> > > 
> > > The script I put together works fine, but it relies on dmesg (or
> > > as you suggested /var/log/messages) which grates on my sense of
> > > neatness (or maybe I'm being too precious :-)
> > > 
> > > I'll take the time to have a look at the sources one day.  I'm
> > > sure it would be possible to write a tool that would be able to
> > > work this out in a better way.  Would you have any pointers as
> > > to where to start looking?
> > 
> > I would like there to be some kind of usb tool where you can 
> > query interesting properties about the usb device, such as
> > manufacturer and serial number. I think there is some kind
> > of tools in ports, but do not think they can give the
> > needed data...
> > 
> > Correction. The usbutil package has got a command usbctl that
> > gives the needed data:
> > # usbctl -f /dev/usb1 -a 2
> > prints out a "DEVICE descriptor" containing:
> >   iManufacturer, iProduct, iSerialNumber
> > 
> > BUT...
> > 
> > The problem is to map what hotplug/attach sees - sd0 class 2,
> > scsibus1 class0 and umass0 class 0, to /dev/usb1 address 2.
> > 
> > Missing is still some way to find out what the kernel device
> > tree looks like - the kernel must know that sd0 is attached
> > to scsibus1 targ 1 lun 0 which is attached to umass0 which
> > is attached to uhub1 port 1. The question is if there is
> > a way of finding that without parsing dmesg.
> > 
> > I also can not see how to map uhub1 port 1 to /dev/usb1 address2.
> > 
> 
> I can see an easy way to identify disks, without any dependency on the
> physical stuff like cables etc.
> 
> Use the disklabel: it has a disk name field that can be edited. 

Great proposal!

I may be blind, but can not find an editable name field. Which is it?
And how can I edit it?


> 
>       -Otto

-- 

/ Raimo Niskanen, Erlang/OTP, Ericsson AB

Reply via email to