From owner-freebsd-current Wed Aug 18 12:42:12 1999 Delivered-To: freebsd-current@freebsd.org Received: from panzer.kdm.org (panzer.kdm.org [216.160.178.169]) by hub.freebsd.org (Postfix) with ESMTP id 9162B158DC for ; Wed, 18 Aug 1999 12:42:07 -0700 (PDT) (envelope-from ken@panzer.kdm.org) Received: (from ken@localhost) by panzer.kdm.org (8.9.3/8.9.1) id NAA21622; Wed, 18 Aug 1999 13:39:45 -0600 (MDT) (envelope-from ken) Message-Id: <199908181939.NAA21622@panzer.kdm.org> Subject: Re: [re]writable cdrom drive In-Reply-To: <199908181928.MAA01073@rah.star-gate.com> from Amancio Hasty at "Aug 18, 1999 12:28:23 pm" To: hasty@rah.star-gate.com (Amancio Hasty) Date: Wed, 18 Aug 1999 13:39:45 -0600 (MDT) Cc: dillon@apollo.backplane.com, wilko@yedi.iaf.nl, current@FreeBSD.ORG From: "Kenneth D. Merry" X-Mailer: ELM [version 2.4ME+ PL54 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Amancio Hasty wrote... > > Amancio Hasty wrote... > > > I have to agree with Matt on this plus the set of defaults is system wide . > > > > What are you agreeing with him on? Why not quote what you're talking > > about? > > > > > Is it possible to get a system bus enumeration from the system so > > > a program such a cdrecord can attempt to make an intelligent > > > decision as to which device is the cd recorder for instance we > > > know that the system can print the device's name and its > > > scsi address: > > > > If you want a bus number, there's a really easy way to get it: > > > > # camcontrol devlist > > at scbus0 target 3 lun 0 (pass0,ch0) > > at scbus0 target 4 lun 0 (pass1,sa0) > > at scbus1 target 0 lun 0 (pass2,da0) > > at scbus1 target 1 lun 0 (pass3,da1) > > at scbus1 target 3 lun 0 (pass4,cd0) > > at scbus1 target 6 lun 0 (pass5,cd1) > > at scbus2 target 0 lun 0 (pass6,da2) > > > > So, in this case, the bus,target,lun combination for my CD-R is 1,3,0. > > > > cdrecord itself also has a slightly more obtuse way of doing the same > > thing: > > > > # cdrecord -scanbus > > Cdrecord release 1.8a22 Copyright (C) 1995-1999 J_rg Schilling > > scsibus0: > > 0) * > > 1) * [ ... ] > > The camcontrol output is easier to figure out, though. > > > > Ken > > This is about ease of use . cdrecord in the absence of a device specification > should > query the bus and present the user with a choice of cd recorder devices ideally > if there is one cd recorder it should go ahead an use it if such behavior is > not desired then create an option "--confirm" to ask the user if its okay > to use the "guessed" cd recorder. If you think cdrecord should do something different, talk to Joerg Schilling about it. > camcontrol is a generic scsi command line interface and very nice . What I am > after > is a generic bus enumerator API so apps like cd recorder or fxtv can use > to locate the device in the absence of a specified device. There is a generic SCSI bus enumerator API, and one for PCI as well. There isn't a generic API to get trees of devices of any type in the system, though. With new-bus that might be possible, but having done two enumerator APIs already (I wrote the CAM and PCI enumerator code), I can predict that it might be very complicated to do properly. (Things get really hairy when you have to keep the device tree from changing while you're traversing it.) In any case, for the two applications you specified, cdrecord is only interested in SCSI devices, and there is already an API -- that cdrecord already supports -- to do bus/device enumeration. The cdrecord -scanbus code already uses that API. Similarly, there is already a PCI device listing interface, so fxtv should be able to easily pull out the devices it is interested in. All it has to do is search for all "meteor" or "bktr" devices to find what it wants. Ken -- Kenneth Merry ken@kdm.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message