diff --git a/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml b/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml index 4a927ff159..14da5401c4 100644 --- a/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml +++ b/en_US.ISO8859-1/books/handbook/multimedia/chapter.sgml @@ -1484,7 +1484,8 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner. SANE has a supported devices list that can provide you with information - about the support for a scanner and its status. The + about the support for a scanner and its status. On systems + prior to &os; 8.X the &man.uscanner.4; manual page also provides a list of supported USB scanners. @@ -1508,36 +1509,35 @@ bktr0: Pinnacle/Miro TV, Philips SECAM tuner. device usb device uhci device ohci -device uscanner +device ehci - Depending upon the USB chipset on your motherboard, you - will only need either device uhci or - device ohci, however having both in the - kernel configuration file is harmless. + On systems prior to &os; 8.X, the following line is + also needed: - If you do not want to rebuild your kernel and your - kernel is not the GENERIC one, you can - directly load the &man.uscanner.4; device driver module with - the &man.kldload.8; command: + device uscanner - &prompt.root; kldload uscanner + On these versions of &os;, the &man.uscanner.4; device + driver provides support for the USB scanners. Since + &os; 8.0, this support is directly provided by + the &man.libusb.3; library. - To load this module at each system startup, add the - following line to - /boot/loader.conf: - - uscanner_load="YES" - - After rebooting with the correct kernel, or after - loading the required module, plug in your USB scanner. A + After rebooting with the correct kernel, + plug in your USB scanner. A line showing the detection of your scanner should appear in the system message buffer (&man.dmesg.8;): + ugen0.2: <EPSON> at usbus0 + + or on a &os; 7.X system: + uscanner0: EPSON EPSON Scanner, rev 1.10/3.02, addr 2 - This shows that our scanner is using the - /dev/uscanner0 device node. + These messages show that our scanner is using + either /dev/ugen0.2 or + /dev/uscanner0 as device node according + to the &os; version we run. For this example, a + &epson.perfection; 1650 USB scanner was used. @@ -1639,6 +1639,19 @@ found SCSI scanner "AGFA SNAPSCAN 600 1.10" at /dev/pass3 &prompt.root; scanimage -L device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner + Or, for example with the USB scanner used in the : + + &prompt.root; scanimage -L +device 'epson2:libusb:/dev/usb:/dev/ugen0.2' is a Epson GT-8200 flatbed scanner + + This output comes from a &os; 8.X system, the + `epson2:libusb:/dev/usb:/dev/ugen0.2' item + gives us the backend name (epson2) and the + device node (/dev/ugen0.2) used by our + scanner. + + No output or a message saying that no scanners were identified indicates that &man.scanimage.1; is unable to identify the scanner. If this happens, you will need to edit @@ -1650,7 +1663,9 @@ device `snapscan:/dev/pass3' is a AGFA SNAPSCAN 600 flatbed scanner scanners. For example, with the USB scanner used in the , + linkend="scanners-kernel-usb">, under &os; 8.X the + scanner is perfectly detected and working but under prior + versions of &os; (where &man.uscanner.4; driver is used) sane-find-scanner gives us the following information: @@ -1669,9 +1684,9 @@ sane-find-scanner tool (if appropriate). Please read the documentation which came with this software (README, FAQ, manpages). Since the scanner is not identified, we will need to edit - the /usr/local/etc/sane.d/epson.conf + the /usr/local/etc/sane.d/epson2.conf file. The scanner model used was the &epson.perfection; 1650, - so we know the scanner will use the epson + so we know the scanner will use the epson2 backend. Be sure to read the help comments in the backends configuration files. Line changes are quite simple: comment out all lines that have the wrong interface for your scanner @@ -1696,6 +1711,7 @@ device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner concerned with is the `epson:/dev/uscanner0' field, which give us the right backend name and the right device node. + Once the scanimage -L command is able to see the scanner, the configuration is complete. The device @@ -1727,23 +1743,48 @@ device `epson:/dev/uscanner0' is a Epson GT-8200 flatbed scanner to the scanner. The user will need read and write permissions to the device node used by the scanner. As an example, our USB scanner uses the device node - /dev/uscanner0 which is owned by the - operator group. Adding the user - joe to the - operator group will allow him to use - the scanner: + /dev/ugen0.2 which is in fact just a + symlink to the real device node called + /dev/usb/0.2.0 (a quick look at the + contain of the /dev + directory will confirm it). Both, the symlink and the + device node, are owned respectively by the + wheel and the + operator groups. Adding the user + joe to these + groups will allow him to use + the scanner but, for obvious security reasons, you should + think twice before adding a user to any group, especially the + wheel group. A better solution would + be creating a specific group for using the USB devices + and make the scanner device accessible to members of this + group. - &prompt.root; pw groupmod operator -m joe + So we will use, for example, a group called + usb. The + first step is the creation of this group with the help of the + &man.pw.8; command: - For more details read the &man.pw.8; manual page. You - also have to set the correct write permissions (0660 or 0664) - on the /dev/uscanner0 device node, by - default the operator group can only - read the device node. This is done by adding the following + &prompt.root; pw groupadd usb + + Then we have to make the /dev/ugen0.2 + symlink and the /dev/usb/0.2.0 device node accessible to the usb group + with the correct write permissions (0660 or + 0664), cause by default only the owner of + these files (root) can write to them. + All of this is done by adding the following lines to the /etc/devfs.rules file: [system=5] -add path uscanner0 mode 660 +add path ugen0.2 mode 660 group usb +add path usb/0.2.0 mode 0666 group usb + + For the &os; 7.X users, the following lines with the + correct device node, most of time + /dev/uscanner0, are needed: + + [system=5] +add path uscanner0 mode 660 group usb Then add the following to /etc/rc.conf and reboot the @@ -1754,11 +1795,13 @@ add path uscanner0 mode 660 More information regarding these lines can be found in the &man.devfs.8; manual page. - - Of course, for security reasons, you should think twice - before adding a user to any group, especially the - operator group. - + Now, one will just have to add users to the + usb group to + allow the access to the scanner: + + &prompt.root; pw groupmod usb -m joe + + For more details read the &man.pw.8; manual page.