device.hints isn't setting what I want

Greg Byshenk freebsd at byshenk.net
Fri Jan 22 09:09:25 UTC 2010


On Fri, Jan 22, 2010 at 10:01:02AM +0100, Greg Byshenk wrote:
> On Thu, Jan 21, 2010 at 08:23:23PM -0500, Dan Langille wrote:
  
> > First, see also my post: do I want ch0 or pass1?
> > 
> > I have an external tape library and an external tape drive.  They are
> > not always powered up.  My goal: always get the same devices regardless
> > of whether or not the tape library is powered on at boot.
> > 
> > After booting, with the tape library powered on, I have these devices:
> > 
> > # camcontrol devlist
> > <QUANTUM DLT7000 1E48>             at scbus0 target 5 lun 0 (sa0,pass0)
> > <DEC TL800    (C) DEC 0326>        at scbus1 target 0 lun 0 (ch0,pass1)
> > <DEC TZ89     (C) DEC 1837>        at scbus1 target 5 lun 0 (sa1,pass2)
> > <HL-DT-ST DVDRAM GSA-H10A JL02>    at scbus2 target 0 lun 0 (cd0,pass3)
> > <USB 2.0 Storage Device 0100>      at scbus5 target 0 lun 0 (da0,pass4)
> > 
> > In /boot/devices, I have added these entries:
> > 
> > hint.scbus.1.at="ahc0"
> > hint.scbus.0.at="ahc1"
> > hint.scbus.2.at="acd0"
> > hint.scbus.5.at="umass0"
> 
> I think that this is wrong.
> 
> I had a similar issue (multiple tape drives and changer devices that 
> needed to stay at the same ids).
> 
> Your device.hints entries should look something like this:
> 
>    hint.sa.0.at="scbus0"
>    hint.sa.0.target="5"
>    hint.sa.0.unit="0"
>    hint.sa.1.at="scbus0"
>    hint.sa.1.target="3"
>    hint.sa.1.unit="0"
>    hint.sa.2.at="scbus0"
>    hint.sa.2.target="1"
>    hint.sa.2.unit="0"
>    hint.ch.0.at="scbus0"
>    hint.ch.0.target="4"
>    hint.ch.0.unit="0"
>    hint.ch.1.at="scbus0"
>    hint.ch.1.target="2"
>    hint.ch.1.unit="0"
>    hint.ch.2.at="scbus0"
>    hint.ch.2.target="0"
>    hint.ch.2.unit="0"
> 
> Which I use to get this:
> 
>    # camcontrol devlist
>    <SONY LIB-162 0208>                at scbus0 target 0 lun 0 (pass0,ch2)
>    <SONY SDX-1100 0102>               at scbus0 target 1 lun 0 (sa2,pass1)
>    <SONY LIB-162 0203>                at scbus0 target 2 lun 0 (pass2,ch1)
>    <SONY SDX-900V 0102>               at scbus0 target 3 lun 0 (sa1,pass3)
>    # 
> 
> (Currently the first changer is not powered up.)
> 
> 
> So I think that what you want is something like:
> 
>    hint.sa.0.at="scbus0"
>    hint.sa.0.target="5"
>    hint.sa.0.unit="0"
>    hint.sa.1.at="scbus1"
>    hint.sa.1.target="5"
>    hint.sa.1.unit="0"
>    hint.ch.0.at="scbus1"
>    hint.ch.0.target="0"
>    hint.ch.0.unit="0"
>    [...]


Just saw your second message.

I don't know if you can wire down 'pass?' the same way, but if you can,
I would assume that you need to set it the same way as the 'sa?' and 
other devices.

That is, if you want:

> > <QUANTUM DLT7000 1E48>             at scbus0 target 5 lun 0 (sa0,pass0)

Then the device.hints entry would look like:

   hint.pass.0.at="scbus0"
   hint.pass.0.target="5"
   hint.pass.0.unit="0"

(If you can do that.)

-greg

-- 
greg byshenk  -  gbyshenk at byshenk.net  -  Leiden, NL


More information about the freebsd-stable mailing list