From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Stephen Morgan" Date: Thu, 28 Apr 2005 20:00:07 +0000 Subject: RE: getting /dev entries for USB devices Message-Id: List-Id: References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-hotplug@vger.kernel.org > Kay Sievers wrote: > On Wed, 2005-04-27 at 11:18 -0500, Stephen Morgan wrote: > > > I'm trying to get udev to create nodes for my USB devices. There > > > will be several of the same device and I need their nodes named > > > according to their bus location. > > > > > > I created this rule file in /etc/udev/rules.d, called it > 05-aa_dev.rules > > > > > > BUS="usb", PLACE="1.1", NAME="aa_dev01" > > > BUS="usb", PLACE="1.2", NAME="aa_dev02" > > > BUS="usb", PLACE="2.1", NAME="aa_dev03" > > > BUS="usb", PLACE="2.2", NAME="aa_dev04" > > > BUS="usb", PLACE="3.1", NAME="aa_dev05" > > > BUS="usb", PLACE="3.2", NAME="aa_dev06" > > > BUS="usb", PLACE="4.1", NAME="aa_dev07" > > > BUS="usb", PLACE="4.2", NAME="aa_dev08" > > > > > > When I plug the devices in, I see a new entry show up in > > > /sys/bus/usb/devices, for instance "3-1". In that directory, I > > > can find the idProduct and idVendor that match my device - so > > > far, so good. > > > > > > But nothing ever shows up in /dev. I should see one of my device > > > names appear, shouldn't I? > > It depends. Not all devices have device nodes. Some USB devices, like > scanners, are only accessed through usbfs with a userspaces driver. > > > Is there a simple way to tell if the .rules file is being > applied, I mean, > > other than the nodes appearing in /dev? I've tried > intentionally putting > > typos in my file and in 50-udev.rules, but couldn't see that it affected > > anything. > > You may run udevtest, with the DEVPATH of this device. > > > I don't see a lot of use of PLACE in .rules files, is it working okay? > > PLACE is not used anymore and removed from future udev versions. ID > works the same way. > > Kay > Hi Kay, Thanks very much for your help - it led me directly to the answer. I'm in the process of converting my 2.4 driver to run under 2.6 and apparently I now have to create a device class in my driver before all the udev stuff will work. But, after I added the class definition to my driver, I still wasn't getting the nodes. Running udevtest as you suggested showed my what was going wrong. Both udev.rules.examples and man udev show examples of using PLACE like this: BUS="usb", PLACE="1.3", NAME="mouse0" and that's the format I used in my .rules file. But in order to match, that string should instead be: BUS="usb", PLACE="1-3", NAME="mouse0" dashes, not dots. I changed all the "." to "-" in my .rules and my nodes suddenly appeared! Thanks again for you help, Stephen ------------------------------------------------------- SF.Net email is sponsored by: Tell us your software development plans! Take this survey and enter to win a one-year sub to SourceForge.net Plus IDC's 2005 look-ahead and a copy of this survey Click here to start! http://www.idcswdc.com/cgi-bin/survey?id5hix _______________________________________________ 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