מדריך להתקנת סורק USB

מתוך הויקי של ג'נטו.

קפיצה אל: ניווט, חיפוש

מאת: Oldie.

[עריכה] הקדמה

מדריך זה מיועד למי שמתכוון להתקין סורק USB. ההתקנה מבוססת על תוכנת Sane. כדוגמא השתמשתי בסורק מדגם Perfection 1670 של חברת אפסון (Epson). המדריך מבוסס על Installing USB Scanner – HOWTO שחובר על ידי Joseph_sys (תודה!), עם שינויים שהכנסתי כתוצאה מהתנסותי האישית.

[עריכה] תנאים מקדימים

  • יש לבדוק שהסורק אכן נתמך על ידי תוכנת Sane. רשימה של סורקים נתמכים נמצאת בכתובת [1]. הטבלה מכילה עמודה המציינת את מידת תאימותו של הסורק. ממולץ לבחור סורק שמידת תאימותו הינה Complete או Good.
  • המערכת תזהה באופן אוטומטי חומרת USB חדשה. אני מניח שימוש ב HAL ו- D-BUS. ראה מאמר מצוין של mksoft הנקרא "HAL ו-D-BUS לשרותכם
  • לפני ההתקנה על ידי אימרג' (emerge) יש לוודא שדגל usb נמצא ברשימת =USE שבקובץ etc/make.conf/ . במידה ולא יש לערוך את הקובץ ולהוסיף את הדגל.

[עריכה] ההתקנה

1.התקן את libusb:

‎#emerge -n  libusb

(n- גורם לפורטג' לדלג על חבילות שכבר מותקנות ולהתקין רק את החסרות )

2. התקנת sane-backends. ה back-end הינו החלק המטפל בקישור שבין תוכנת sane לסורק. ברירת המחדל של sane-backends אינה כוללת תמיכה ב USB. כדי לכלול את ה USB בהתקנה ובכל העדכונים העתידים, יש להוסיף את השורה הבאה לתוך קובץ etc/protage/package.use/ (במידה והקובץ אינו קיים יש ליצור אחד חדש בשם ובמקום זה).

‎media-gfx/sane-backends  gphoto2 usb

אם sane-backends כבר מותקן במחשבך חשוב לבדוק שהוא כולל תמיכת USB. ניתן לבדוק זאת על ידי הרצת הפקודה etcat -u sane-backends כפי שמוראה בדוגמה שלהלן. סימון של ++ ליד דגל usb אומר שקיימת תמיכה ב USB.

‎# etcat -u sane-backends
‎[ Colour Code : set unset ]
‎[ Legend   : (U) Col 1 - Current USE flags        ]
‎[          : (I) Col 2 - Installed With USE flags ]

‎ U I [ Found these USE variables in : media-gfx/sane-backends-1.0.14-r3 ]
‎ + + usb     : Adds USB support to applications that have optional USB support (e.g. cups)
‎ + + gphoto2 : Adds digital camera suppor

במידה ומצאת שאין תמיכה ב USB , או ש sane-backends אינו מותקן במחשבך יש לבצע התקנה:

‎#emerge sane-backends

3.התקן את hotplug:

‎# emerge -n hotplug

4. יש לבדוק שהקרנל תומך ב- USB. סביר להניח שאכן זהו המצב, אולם במידה ולא יש להדרו מחדש עם תמיכת USB. קיימות 2 אפשרויות "OHCI HCD" או "UHCI HCD". באפשרותך לסמן את שניהן אם אינך יודע באיזו לבחור, ודפי הנתונים של מחשבך או לוח האם אינם מפרטים מהו ההתקן הנתמך. בעת העליה של הקרנל תוכל לראות מהי האפשרות הנתמכת ולהסיר בעתיד את זו שאינה נתמכת. בדוגמא הבאה נבחרה אפשרות UHCI. שמור את קובץ הקונפיגורציה , הדר את הקרנל ועדכן את לילו/גראב כך שקרנל זה יופיע כאחת מהאפשרויות בעת האיתחול, ובצע איתחול של המחשב.

‎# cd /usr/src/linux
‎# make menuconfig

‎Device Drivers  --->
‎    USB support  --->
‎        <*>   EHCI HCD (USB 2.0) support
‎   < >   OHCI HCD support
‎        <*>   UHCI HCD (most Intel and VIA) support

הערה: בדוגמה הנ"ל הכנסתי את התמיכה לתוך הקרנל, אולם ניתן להגדירם כמודולים.
5. חבר את הסורק ורשום את הפקודה:

‎# cat /proc/bus/usb/devices

הדיווח שתראה על המסך דומה לשורות הבאות:

‎T:  Bus=01 Lev=01 Prnt=01 Port=07 Cnt=01 Dev#=  4 Spd=480 MxCh= 0
‎D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
‎P:  Vendor=04b8 ProdID=011f Rev= 1.10
‎S:  Manufacturer=EPSON
‎S:  Product=EPSON Scanner
‎C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA
‎I:  If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
‎E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
‎E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
‎E:  Ad=83(I) Atr=03(Int.) MxPS=   8 Ivl=4096ms

יש לחפש את השורות שמגדירות את היצרן והסורק ומתחילות ב :S. מעליהן בשורה המוגדרת כ :P נמצא את קוד היצרן (Vendor) ואת קוד המוצר (ProdID). קודים אלו משתנים בהתאם ליצרן ודגם הסורק שברשותך. קודים אלו ישמשו אותך יותר מאוחר בקבצי קונפיגורציה ויש לרשמם.

6. עתה קיימות 2 דרכים להמשך, האחת קצרה והשניה ארוכה יותר. נתחיל בארוכה דווקא. מי שמרגיש בר מזל יכול בהחלט לנסות את הקצרה קודם כל...
7. הדרך הארוכה: ערוך את הקובץ etc/hotplug/usb.usermap/ . הקטע הבא מתורגם מתוך http://khk.net/sane/libusb.html שם גם ניתן למצוא מידע נוסף בנושא.
-תחילת ציטוט-
עליך להוסיף שורה אחת או יותר (בהתאם למספר הסורקים) לקובץ etc/hotplug/usb.usermap/ כל שורה מתארת סורק אחד. השורה מתחילה בשם אשר ישמש גם בסקריפט המטפל בסורק. אנו מנסים לגרום לסורק אפסון לפעול, ולכן נקרא לו בשם "epson_scanner". הנתון הבא בשורה הינו תמיד 0x0003, אינני יודע - ולא אכפת לי - מה המשמעות, ולכן נסתפק בלרשום 0x0003. הנתונים הבאים הינם קוד היצרן (0x4b8 עבור אפסון) וקוד המוצר ( 0x11f עבור Perfection 1670). השדות הנותרים הינם תמיד 0, ולכן נוסיפם לאחר קוד המוצר (משמאל לימין): 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000

ניתן לפשט את התהליך על ידי העתקת שורה קיימת והחלפת שם הסקריפט, קוד היצרן וקוד המוצר. התוצאה הסופית הינה:

‎epson_scanner 0x0003 0x04b8 0x011f 0x0000 0x0000  0x00 0x00 0x00 0x00 0x00 0x00 0x00000000

הזכרתי קודם את הסקריפט המטפל בסורק אשר מופעל כאשר ההתקן מחובר או מנותק. יש לשמור את הסקריפט כ: etc/hotplug/usb/epson_scanner/

‎#!/bin/bash
‎
‎if [ "${ACTION}" = "add" ] && [ -f "${DEVICE}" ]
‎then
‎        chown root "${DEVICE}"
‎        chgrp scanner "${DEVICE}"
‎        chmod 660 "${DEVICE}"
‎fi

-סוף ציטוט-

חשוב: יש להגדיר את הסקריפט כקובץ הרצה על ידי:

‎# chmod 755 /etc/hotplug/usb/epson_scanner

8. ערוך את הקובץ etc/fstab/ והוסף את השורות:

‎# Scanner
‎none   /proc/bus/usb   usbfs           defaults,devmode=0666   0 0

9. עתה יש לערוך את קובץ ה back-end אשר מתייחס לסורק שברשותינו. לכל סורק (או קבוצת סורקים המבוססת על אותה חומרה) יש back-end יחודי לו. הטבלה המצויה ב [ http://www.sane-project.org/sane-supported-devices.html ] מפרטת לגבי כל סורק מהו ה back-end שלו. במחיצה /etc/sane.d/ שמורים כל קבצי ה back-end של הסורקים השונים. להלן הקטע הרלוונטי המתאר את הסורק "שלנו":

‎Model		Interface 	Status 	Comment 					Backend 	Manpage
‎Perfection 1670	USB	 	good 	Scanning with 1600dpi does not work correctly. 	SnapScan	(1.4) 	sane-snapscan

לפי הטבלה ה back-end המתאים הינו snapscan. עתה נערוך את קובץ etc/sane.d/snapscan.conf/ ונוסיף לו את השורות (במידה ואינן קיימות כבר):

‎# Epson Perfection 1670
‎usb 0x04b8 0x011f

שוב, התוספת הינה קוד היצרן וקוד המוצר.

10. עתה יש לגשת לקישור של ה back-end, במקרה זה SnapScan ולבדוק אם יש הוראות מיוחדות לגבי הסורק. יש לשים לב לעמודת firmware (קושחה בשפתינו...). ברי המזל יגלו שעמודת firmware ריקה ויוכלו לדלג לפסקה הבאה. מי שלא, כמו בסורק הדוגמה יצטרך לעקוב אחר הוראות פסקה זו. להלן חלק הטבלה המתאר את הדרישות מהסורק:

‎Vendor 	Model		Bus 	USB ID		ID String	Firmware file	Comments
‎					(after 
‎					firmware
‎					upload)
‎Epson	Perfection 1670	USB	0x04b8, 0x011f	"Epson Scanner"	esfw30.bin	Added in SANE-backends-1.0.13

מהו ה firmware? חלק מיצרני הסורקים חוסכים בגודל רכיב הזכרון על גבי הסורק. כאשר הסורק מופעל קיימת בו תוכנה מינימלית אשר לה תפקיד אחד בלבד והוא לטעון את תוכנת ההפעלה של הסורק דרך חיבור ה USB. ה firmware הינו תוכנת ההפעלה של הסורק, ועל המחשב להעבירה אליו כדי להפעילו. יתרונה של גישה זו הוא שהיצרן יכול לתקן שגיאות ולהפיץ קובץ firmweare מעודכן לכל הלקוחות, דבר שאינו אפשרי במכשירים שה-firmware צרוב בהם באופן קבוע. למרבה הצער אפסון אינה מספקת את קובץ ה firmware ישירות וניתן להשיגו בדרכים הבאות: א. העתקה ממחשב חלונות שבו הותקנה תוכנת ההפעלה של הסורק. ב. חיפוש ברשת עם גוגול. במקרה זה הקובץ נמצא ב- [ http://deuch.free.fr/ESFW30.BIN ].

* יש לשמור את הקובץ כ usr/local/lib/sane/ESFW30.BIN/
  • על מנת להבטיח שהקובץ יטען לסורק, בתחילת קובץ ה back-end (בדוגמה שלנו etc/sane.d/snapscan.conf/) יש שורה הרשומה כ firmware /path/to/your/firmware/file.bin ויש לשנותה ל:
‎firmware /usr/local/lib/sane/ESFW30.BIN

שמור וסגור את הקובץ etc/sane.d/snapscan.conf/.

הערה: קיימות גם צורות טעינה נוספות לסורקים כמו של agfa, benq (סקריפטים בפרל). יש לקרוא את ההסבר המלא לגבי הסורק הספציפי שלך ולעקוב אחר הוראות טעינת הfirmware.

11. הפעלת hotplug

‎# rc-update add hotplug default
‎# /etc/init.d/hotplug start

12. חבר את הסורק לשקע USB במחשבך ובדוק האם הוא התגלה.

‎# sane-find-scanner

הפלט צריך להראות כך:

‎  # No SCSI scanners found. If you expected something different, make sure that
‎  # you have loaded a SCSI driver for your SCSI adapter.
‎
‎found USB scanner (vendor=0x04b8 [EPSON], product=0x011f [EPSON Scanner]) at libusb:001:004
‎  # Your USB scanner was (probably) detected. It may or may not be supported by
‎  # SANE. Try scanimage -L and read the backend's manpage.

13. עתה צריך להוסיף את שם המשתמש שלך והרוט לקבוצת המשתמשים scanner שיצרה תוכנת sane. ניתן לעשות זאת על ידי שימוש בכלי הגרפי users-admin או על ידי עריכת הקובץ etc/group/. בקובץ תימצא השורה :scanner:x:408

המספר בסוף השורה הינו ספציפי לכל מחשב ויתכן ויהיה שונה במחשבך. אל תשנה אותו! הוסף את שמות המשתמש(ים) ואת רוט מופרדים על ידי פסיק:

‎scanner:x:408:root,joseph

שמור את הקובץ, צא ובצע לוג-אין מחדש כמשתמש על מנת שהגדרת הקבוצה תתעדכן. עתה בקונסול רשום groups ובדוק שקבוצת scanner אכן רשומה בקבוצות עליהן אתה נמנה.

14. הסורק שלך מותקן כעת. יש להתקין בנוסף את המעטפת הגרפית הקרויה xsane.

‎# emerge xsane

הערה: בהפעלת xsane יש לעיתים עיכוב של כמה עשרות שניות עד שהתוכנה מתחילה לעבוד. הדבר נובע מטעינת ה firmware, ויש להמתין בסבלנות עד שהתוכנה עולה.

הדרך הקצרה

15. ערוך את הקובץ etc/hotplug/usb.usermap/ והוסף לו שורה חדשה עם הטקסט: libusbscanner

16. המשך מסעיף 10 .

בהצלחה!

ראה גם: מדריך USB כללי המסביר על USB.
כלים אישיים