From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kay Sievers Date: Fri, 27 Jan 2006 02:17:47 +0000 Subject: Re: [Libusb-devel] udev craze: need /dev/bus/usb rationale Message-Id: <20060127021747.GA27555@vrfy.org> List-Id: References: <20060126094517.GA4063@bode.aurel32.net> In-Reply-To: <20060126094517.GA4063@bode.aurel32.net> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org On Thu, Jan 26, 2006 at 06:08:11PM -0800, Johannes Erdfelt wrote: > On Wed, Jan 25, 2006, Linus Walleij wrote: > > Having fun making packages for Fedora we have run into a coordination > > issue between udev and libusb. > > > > As you know libusb programs (like SANE custom USB backends or my own pet > > libnjb) use raw device nodes with no kernel drivers attached to them. A > > suitable udev rule found in this mail: > > > > http://sourceforge.net/mailarchive/message.php?msg_id695893 > > > > looks like this: > > > > SUBSYSTEM="usb_device", PROGRAM="/bin/sh -c 'X=%k X=$${X#usbdev} > > B=$${X%%%%.*} > > D=$${X#*.}; echo bus/usb/$$B/$$D'", SYMLINK="%c" > > > > has been applied to most distributions set of default rules. (Well Debian > > and Fedora atleast, I guess SuSE too.) > > > > This rule creates a dynamic device hierarchy belowe /dev/bus/usb similar > > to the good 'ol /proc/bus/usb and everyone is happy. Libusb was patched > > to support this device hierarchy. But wait. We found an inconsistency: > > that script will create hex-named nodes: > > > > /dev/bus/usb/01AB1/01BCF > > > > However libusb has this code in linux.c row 336 or so: > > > > if (!strchr("0123456789", entry->d_name[strlen(entry->d_name) - 1])) > > > > Of course it could be fixed with a patch: > > > > if (!strchr("0123456789ABCDEF", entry->d_name[strlen(entry->d_name) - 1])) > > > > But we need a clear rationale: > > > > * How shall /dev/bus/usb subdirs and device files be named? > > > > * If they shall be all decimal figures, change all rules accordingly and > > libusb will work fine as it is. > > > > * If they shall be hex, make the above suggested change to libusb. > > Coming in late to this thread and I see that the node has been changed > from hexadecimal to decimal. Well, they never have been hex. I expect its a "bug" in some shell, I've never seen this or can reproduce it, even with the old version of the rule that seems to produce this for some people. > I want to understand the reason for these device nodes since they seem > to duplicate the nodes found in /proc/bus/usb. Is this just part of the > long term plans to remove usbdevfs? Yes, we want to leave /proc with all stuff that isn't process related. And as all the major distros depend on udev and have /dev on tmpfs, having usb devices in /proc makes no sense anymore. We also want the option to apply access control lists to device nodes, to allow a set of users (fast-user-switching) access to a device and this would not work with /proc files, which can only have primary ownership. Kay ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://sel.as-us.falkag.net/sel?cmd=lnk&kid3432&bid#0486&dat1642 _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel