Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 26 Jun 2000 23:23:36 -0600
From:      "Kenneth D. Merry" <ken@kdm.org>
To:        Gustavo Vieira Goncalves Coelho Rios <kernel@tdnet.com.br>
Cc:        scsi@FreeBSD.ORG
Subject:   Re: modifying scsi device param!
Message-ID:  <20000626232336.A36275@panzer.kdm.org>
In-Reply-To: <39541CED.DBFBF2F5@tdnet.com.br>; from kernel@tdnet.com.br on Sat, Jun 24, 2000 at 02:29:01AM %2B0000
References:  <39541CED.DBFBF2F5@tdnet.com.br>

next in thread | previous in thread | raw e-mail | index | archive | help

--/04w6evG8XlLl3ft
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Sat, Jun 24, 2000 at 02:29:01 +0000, Gustavo Vieira Goncalves Coelho Rios wrote:
> I am trying to switch some parameters, but what i do get is nothing
> updated, look:
> 
> etosha# camcontrol negotiate -n da -u 0 -T enable -ac
> Current Parameters:
> (pass0:ahc0:0:6:0): sync parameter: 12
> (pass0:ahc0:0:6:0): frequency: 20.000MHz
> (pass0:ahc0:0:6:0): offset: 8
> (pass0:ahc0:0:6:0): bus width: 16 bits
> (pass0:ahc0:0:6:0): disconnection is disabled
> (pass0:ahc0:0:6:0): tagged queueing is disabled
> New Parameters:
> (pass0:ahc0:0:6:0): sync parameter: 12
> (pass0:ahc0:0:6:0): frequency: 20.000MHz
> (pass0:ahc0:0:6:0): offset: 8
> (pass0:ahc0:0:6:0): bus width: 16 bits
> (pass0:ahc0:0:6:0): disconnection is disabled
> (pass0:ahc0:0:6:0): tagged queueing is disabled
> 
> I tried to get tag queueing enabled, but could not.

Hmm, it works okay here under -current:

{vladivostok:/usr/home/ken:8:0} camcontrol negotiate da1 -T disable -ac
Current Parameters:
(pass1:ahc1:0:1:0): sync parameter: 12
(pass1:ahc1:0:1:0): frequency: 20.000MHz
(pass1:ahc1:0:1:0): offset: 15
(pass1:ahc1:0:1:0): bus width: 8 bits
(pass1:ahc1:0:1:0): disconnection is enabled
(pass1:ahc1:0:1:0): tagged queueing is enabled
New Parameters:
(pass1:ahc1:0:1:0): sync parameter: 12
(pass1:ahc1:0:1:0): frequency: 20.000MHz
(pass1:ahc1:0:1:0): offset: 15
(pass1:ahc1:0:1:0): bus width: 8 bits
(pass1:ahc1:0:1:0): disconnection is enabled
(pass1:ahc1:0:1:0): tagged queueing is disabled

I can see several possible reasons why you can't enable tagged queueing,
but the most likely is because you've disabled disconnection.  You can't do
tagged queueing without enabling disconnection.

> Another thing, look the output of the following command:
> 
> etosha# camcontrol inquiry -n da -u 0
> pass0: <QUANTUM VIKING II 9.1WSE 5520> Fixed Direct Access SCSI-2 device 
> pass0: Serial Number 199910440080
> pass0: 40.000MB/s transfers (20.000MHz, offset 8, 16bit), Tagged
> Queueing Enabled
> 
> Question: How can Tag queueing being enabled here and the first command
> show as not being enabled!

Well, this is because the information that camcontrol uses in its inquiry
subcommand to determine whether or not tagged queueing is enabled is
derived from the cached inquiry data in the kernel.

That cached inquiry data indicates the actual capabilities of the drive,
which can do tagged queueing.  Tagged queueing is actually disabled,
though, as the 'negotiate' subcommand shows.

So try the attached patch for src/sbin/camcontrol/camcontrol.c.  It should
make 'camcontrol inquiry' report the correct information.

The patch is against -current, but it will likely apply to whatever version
of FreeBSD you are running.  (If not, the changes should be pretty
obvious.)

Ken
-- 
Kenneth Merry
ken@kdm.org

--/04w6evG8XlLl3ft
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="camcontrol.c.inquiry.20000626"

==== //depot/FreeBSD-ken/src/sbin/camcontrol/camcontrol.c#12 - /a/ken/perforce/FreeBSD-ken/src/sbin/camcontrol/camcontrol.c ====
*** /tmp/tmp.36518.0	Mon Jun 26 23:20:33 2000
--- /a/ken/perforce/FreeBSD-ken/src/sbin/camcontrol/camcontrol.c	Mon Jun 26 23:17:47 2000
***************
*** 932,938 ****
  		fprintf(stdout, ")");
  	}
  
!         if (device->inq_data.flags & SID_CmdQue)
                  fprintf(stdout, ", Tagged Queueing Enabled");
   
          fprintf(stdout, "\n");
--- 932,939 ----
  		fprintf(stdout, ")");
  	}
  
! 	if (((ccb->cts.valid & CCB_TRANS_TQ_VALID) != 0)
! 	 && (ccb->cts.flags & CCB_TRANS_TAG_ENB))
                  fprintf(stdout, ", Tagged Queueing Enabled");
   
          fprintf(stdout, "\n");

--/04w6evG8XlLl3ft--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000626232336.A36275>