From owner-freebsd-hackers@FreeBSD.ORG Sun Jun 8 15:50:28 2008 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 52FE71065678 for ; Sun, 8 Jun 2008 15:50:28 +0000 (UTC) (envelope-from ticso@cicely7.cicely.de) Received: from raven.bwct.de (raven.bwct.de [85.159.14.73]) by mx1.freebsd.org (Postfix) with ESMTP id DE3A98FC0C for ; Sun, 8 Jun 2008 15:50:27 +0000 (UTC) (envelope-from ticso@cicely7.cicely.de) Received: from cicely5.cicely.de ([10.1.1.7]) by raven.bwct.de (8.13.4/8.13.4) with ESMTP id m58FoPhn099175 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sun, 8 Jun 2008 17:50:26 +0200 (CEST) (envelope-from ticso@cicely7.cicely.de) Received: from cicely7.cicely.de (cicely7.cicely.de [10.1.1.9]) by cicely5.cicely.de (8.14.2/8.14.2) with ESMTP id m58FoMQE039081 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sun, 8 Jun 2008 17:50:23 +0200 (CEST) (envelope-from ticso@cicely7.cicely.de) Received: from cicely7.cicely.de (localhost [127.0.0.1]) by cicely7.cicely.de (8.14.2/8.14.2) with ESMTP id m58FoHR9080851; Sun, 8 Jun 2008 17:50:17 +0200 (CEST) (envelope-from ticso@cicely7.cicely.de) Received: (from ticso@localhost) by cicely7.cicely.de (8.14.2/8.14.2/Submit) id m58FoHkX080850; Sun, 8 Jun 2008 17:50:17 +0200 (CEST) (envelope-from ticso) Date: Sun, 8 Jun 2008 17:50:17 +0200 From: Bernd Walter To: Chuck Robey Message-ID: <20080608155015.GO71712@cicely7.cicely.de> References: <484AC2F1.1000806@telenix.org> <20080608134227.GM71712@cicely7.cicely.de> <484BE9BA.5040308@telenix.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <484BE9BA.5040308@telenix.org> X-Operating-System: FreeBSD cicely7.cicely.de 7.0-STABLE i386 User-Agent: Mutt/1.5.11 X-Spam-Status: No, score=-4.4 required=5.0 tests=ALL_TRUSTED=-1.8, BAYES_00=-2.599 autolearn=ham version=3.2.3 X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on cicely12.cicely.de Cc: FreeBSD-Hackers , ticso@cicely.de Subject: Re: number of /dev/usb nodes X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ticso@cicely.de List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Jun 2008 15:50:28 -0000 On Sun, Jun 08, 2008 at 10:16:26AM -0400, Chuck Robey wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Bernd Walter wrote: > > On Sat, Jun 07, 2008 at 01:18:41PM -0400, Chuck Robey wrote: > >> -----BEGIN PGP SIGNED MESSAGE----- > >> Hash: SHA1 > >> > >> I can't seem to find how many /dev/usbN bus devices there can be. I'm writing > >> some code that scans them all looking for anything that has my device, but I > >> while I know to start at usb0, just how high do I go? There seem to be 128 > >> device minors, is that the number? (from dev/usb/usb.h) > > > > There shouldn't be a limit anymore. > > I can't see any definition of 128 in usb.h that limits the number of > > busses. > > The major/minor differenciation is long time ago. > > You must be looking at old code. > > > > I was trying to find a good way to do scanning, whjen I create the files like > /dev/usb0, how far to go in my loop? Does the lowest available device always > get created? That would imply that as soon as I began to get "No such device" > errors, I could stop iterating. If the rules for picking device filenames are > pretty loose, then I could (for instance) stop scanning, say, 4 numbers past the > first "No such device" returnee. This wouldn't work if a USB controller is remove - e.g. a pulling a cardbus card. > Any idea on this? I didn't see this i nthe code, but I just need some sane > limit on what filenames to scan about in. I look for item info, and if the usb > vendor and prodict look friendly, I just snag the filename involved, and use > that. Like, a scan of the usb1 bus might yield me a uhid0 which might be my > meat, whereupon I coulld drop the usb1 open, and replace it with a uhid0 open. > There's more than 1 place that my devices could show, depending on the user's > kernel devices. I just want to have some sane limit on how many usb buses I > open for my scanning. I never had to deal with this, since writing a USB driver is simple and as a driver you get informed for each new device. No need to scan the busses yourself. But I would say that the most reliable way is to just scan /dev/ for usb... -- B.Walter http://www.bwct.de Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.