Ziel dieses Howtos:
Scannen mit einem Scanner, der unter FreeBSD nicht erkannt wird.
D.h. Wenn man im Kernel USCANNER verwendet, erscheint trotzdem nur immer /dev/ugenx.
Eine zweite elementare Vorraussetzung ist, dass der Scanner von SANE unterstüzt wird. Siehe dazu:
http://www.sane-project.org/sane-supported-devices.html
[1. Randbemerkung: Ich habe die ganze Prozedur mit 5.1 und 5.2 ausprobiert und es hat geklappt.
2. Randbemerkung: Es gibt prinzipiell zwei Möglichkeiten einen Scanner anzuschließen: I. durch den Kernel mit USCANNER und II. durch libusb.
libusb hat bei mir nicht funktioniert, deswegen bin ich den anderen Weg gegangen.]
Ein solcher Scanner ist z.B. der Canon CanoScan Lide 20. (meiner!)
Folgende Punkte muß man nun bei jedem Update der Quellen durchführen:
1. Quellen modifizieren
Folgende Zeile in die Datei /sys/dev/usb/usbdevs im CANON-Abschnitt einfügen:
product CANON Lide20 0x220d CANOSCAN Lide20
Dann folgende Zeile zu /sys/dev/usb/uscanner.c hinzufügen:
{{ USB_VENDOR_CANON, USB_PRODUCT_CANON_Lide20 }, 0 },
Und folgendes auführen:
root# cd /sys/dev/usb/
root# make -f Makefile.usbdevs
root# cd ../../modules/usb
root# make
2. Kernel mit der Option uscanner neu kompilieren
3. Neustarten
4. Test
# dmesg |grep scanner uscanner0: Canon CanoScan, rev 1.10/1.00, addr 3
5. SANE einrichten
Dazu muß man folgende Zeilen in /usr/local/etc/sane.d/plustek.conf einfügen:
[usb] 0x04A9 0x220D
device /dev/uscanner0
Außerdem in /usr/local/etc/sane.d/dll.conf plustek "unkommentieren". Am einfachsten sollte es der einzigste Eintrag, der unkommentiert ist, sein.
6. Test
root# scanimage -L device
plustek:/dev/uscanner0 is a Canon N670U/N676U/LiDE20 USB flatbed scanner
7. Zugriff auf den Scanner nur für den User DEINUSERNAME einrichten
In /etc/devfs.conf folgende Zeile einfügen:
own uscanner0 DEINUSERNAME: DEINUSERNAME
So das wäre es dann schon.
Ich habe auf der Seite von FreeBSD schon ein ChangeRequest eingereicht. Mal schauen, ob der durchgeht. Dann fehlt endlich der lästige erste Schritt weg.
Scannen mit einem Scanner, der unter FreeBSD nicht erkannt wird.
D.h. Wenn man im Kernel USCANNER verwendet, erscheint trotzdem nur immer /dev/ugenx.
Eine zweite elementare Vorraussetzung ist, dass der Scanner von SANE unterstüzt wird. Siehe dazu:
http://www.sane-project.org/sane-supported-devices.html
[1. Randbemerkung: Ich habe die ganze Prozedur mit 5.1 und 5.2 ausprobiert und es hat geklappt.
2. Randbemerkung: Es gibt prinzipiell zwei Möglichkeiten einen Scanner anzuschließen: I. durch den Kernel mit USCANNER und II. durch libusb.
libusb hat bei mir nicht funktioniert, deswegen bin ich den anderen Weg gegangen.]
Ein solcher Scanner ist z.B. der Canon CanoScan Lide 20. (meiner!)
Folgende Punkte muß man nun bei jedem Update der Quellen durchführen:
1. Quellen modifizieren
Folgende Zeile in die Datei /sys/dev/usb/usbdevs im CANON-Abschnitt einfügen:
product CANON Lide20 0x220d CANOSCAN Lide20
Dann folgende Zeile zu /sys/dev/usb/uscanner.c hinzufügen:
{{ USB_VENDOR_CANON, USB_PRODUCT_CANON_Lide20 }, 0 },
Und folgendes auführen:
root# cd /sys/dev/usb/
root# make -f Makefile.usbdevs
root# cd ../../modules/usb
root# make
2. Kernel mit der Option uscanner neu kompilieren
3. Neustarten
4. Test
# dmesg |grep scanner uscanner0: Canon CanoScan, rev 1.10/1.00, addr 3
5. SANE einrichten
Dazu muß man folgende Zeilen in /usr/local/etc/sane.d/plustek.conf einfügen:
[usb] 0x04A9 0x220D
device /dev/uscanner0
Außerdem in /usr/local/etc/sane.d/dll.conf plustek "unkommentieren". Am einfachsten sollte es der einzigste Eintrag, der unkommentiert ist, sein.
6. Test
root# scanimage -L device
plustek:/dev/uscanner0 is a Canon N670U/N676U/LiDE20 USB flatbed scanner
7. Zugriff auf den Scanner nur für den User DEINUSERNAME einrichten
In /etc/devfs.conf folgende Zeile einfügen:
own uscanner0 DEINUSERNAME: DEINUSERNAME
So das wäre es dann schon.
Ich habe auf der Seite von FreeBSD schon ein ChangeRequest eingereicht. Mal schauen, ob der durchgeht. Dann fehlt endlich der lästige erste Schritt weg.