do not use udev, was: Re: [sane-devel] sane problem with newer kernel

m. allan noah anoah at pfeiffer.edu
Sun Jul 30 13:26:53 UTC 2006


On Sun, 30 Jul 2006, Roland Kwee wrote:

> Hi,
>
> As often, formulating a question is answering it, and here is the solution: 
> do not use udev with sane.
>
> I removed the udev config line and now udev does not make the special file 
> /dev/usb/scanner on plugging in the usb cable from the scanner. Now  sane 
> works as with the older kernel, and I can again use my scanner.
>
> The issue still remains that I would like to see some more info on sane with 
> udev, and on how libusb works. Now this is all black magic to me, while 
> calling myself an experienced linux user, system manager and programmer.

roland, at this point, you might know as much about udev as any of us do 
:)

but i can say, that sane has a hard-coded list of places to look for usb 
scanners. they are specific to each platform sane builds on. on platforms 
where libusb is available, sane will also ask libusb for a list. most 
versions of libusb discover usb devices by looking in /proc/bus/usb
later versions of the kernel seem to have moved or messed with that 
location.

udev gives you the opportunity to change the name of the file in /dev, or 
make a symlink to a new name. i would suggest you look at the latter.

also make sure that libusb and udev are the latest, those two packages are 
tied closely to the kernel version.

allan

>
> Roland.
>
> Roland Kwee wrote:
>> Hi,
>> 
>> I was using Sane and an Epson Perfection 2400 Photo nicely until I upgraded 
>> from linux kernel 2.6.13.3 to 2.6.17.3.
>> Now I cannot use the scanner with scanimage or gimp anymore.
>> 
>> The output of sane-find-scanner changed slightly from:
>> 
>> 2.6.13.3: found USB scanner (vendor=0x04b8 [EPSON], product=0x011b [EPSON 
>> Scanner]) at libusb:001:003
>> 
>> to:
>> 
>> 2.6.17.3: found USB scanner (UNKNOWN vendor and product) at device 
>> /dev/usb/scanner
>> 
>> Usbview shows however the correct vendor and product codes.
>> 
>> Also, udev works better with the new kernel and this line:
>> 
>> BUS="usb", SYSFS{idVendor}="04b8", SYSFS{idProduct}="011b",
>> NAME="usb/scanner"
>> 
>> that didn't do anything under the older kernel does work under the newer 
>> kernel and creates /dev/usb/scanner.
>> 
>> My impression is that the new kernel does find the scanner at the usb port, 
>> but that it introduces a new problem for sane.
>> 
>> I now have two questions:
>> 
>> 1) How do I make sane work with /dev/usb/scanner instead of libusb:001:003?
>> 
>> 2) How do I find out more about libusb? (I fail to find any documentation 
>> about libusb, am I looking in the wrong places?)
>> 
>> Thanks for your help.
>> 
>> Roland
>> 
>
>
>

-- 
"so don't tell us it can't be done, putting down what you don't know.
money isn't our god, integrity will free our souls" - Max Cavalera



More information about the sane-devel mailing list