number of /dev/usb nodes
Bernd Walter
ticso at cicely7.cicely.de
Sun Jun 8 15:50:28 UTC 2008
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 <bernd at bwct.de> http://www.bwct.de
Modbus/TCP Ethernet I/O Baugruppen, ARM basierte FreeBSD Rechner uvm.
More information about the freebsd-hackers
mailing list