sane-hp(5) SANE Scanner Access Now Easy sane-hp(5)

sane-hp - بک‌اند SANE برای اسکنرهای HP ScanJet

کتابخانه sane-hp یک بک‌اند SANE (دسترسی آسان به اسکنر - Scanner Access Now Easy) را پیاده‌سازی می‌کند که دسترسی به اسکنرهای HP ScanJet با پشتیبانی از SCL (زبان کنترل اسکنر ارائه شده توسط HP - Scanner Control Language) را فراهم می‌آورد. مشخص شده است که اسکنرهای زیر به طور قطعی با این بک‌اند کار می‌کنند:

Model:         Product id:     Interface:
----------     -----------     ----------
ScanJet Plus   C9195A          HP Parallel Interface Card
ScanJet IIc    C1750A 3226     SCSI
ScanJet IIcx   C2500A 3332     SCSI
ScanJet IIp    C1790A          SCSI
ScanJet 3C     C2520A 3503     SCSI
ScanJet 3P     C2570A 3406     SCSI
ScanJet 4C     C2520A          SCSI
ScanJet 4P     C1130A 3540     SCSI
ScanJet 4100C  C6290A          USB
ScanJet 5P     C5110A          SCSI
ScanJet 5100C  C5190A          parallel port
ScanJet 5200C  C7190A 3846     parallel port/USB
ScanJet 6100C  C2520A 3644     SCSI
ScanJet 6200C  C6270A 3828     SCSI/USB
ScanJet 6250C  C6270A 3828     SCSI/USB
ScanJet 6300C  C7670A          SCSI/USB
ScanJet 6350C  C7670A          SCSI/USB
ScanJet 6390C  C7670A          SCSI/USB
PhotoSmart     C5100A R029,R030,R032    SCSI

پشتیبانی از مدل‌های 5100C/5200C متصل به درگاه موازی نیازمند درایور ppSCSI است که در نشانی‌های http://cyberelk.net/tim/parport/ppscsi.html و http://penguin-breeder.org/kernel/download در دسترس است.

پشتیبانی از مدل‌های 5200C/62X0C/63X0C متصل به USB نیازمند libusb است. برای جزئیات بیشتر به sane-usb(5) مراجعه کنید.

بک‌اند sane-hp دیگر از دستگاه‌های چندمنظوره OfficeJet پشتیبانی نمی‌کند. برای این دستگاه‌ها از بسته‌های خارجی "hplip" در دسترس در: https://developers.hp.com/hp-linux-imaging-and-printing استفاده کنید. برای کسب اطلاعات درباره درایور پیشین hpoj، به: http://hpoj.sourceforge.net مراجعه کنید.

از آنجا که Hewlett-Packard دیگر اسکنرهایی با پشتیبانی از SCL تولید نمی‌کند (به جز OfficeJets)، فهرست بالا از اسکنرهای پشتیبانی‌شده کامل است. سایر اسکنرهای HP توسط بک‌اند sane-hp پشتیبانی نمی‌شوند، اما ممکن است توسط بک‌اند دیگری پشتیبانی شوند. به http://www.sane-project.org مراجعه کنید. همچنین می‌توانید فهرست پستی sane-devel را در http://www.sane-project.org/mailing-lists.html دنبال کنید.

جزئیات بیشتر درباره بک‌اند hp را می‌توان در صفحه خانگی آن یافت: http://web.archive.org/web/20070206115546/http://www.kirchgessner.net/sane.html.

این بک‌اند نام‌های دستگاه را در قالب زیر انتظار دارد:

special

که در آن special مسیر نام فایل دستگاه ویژه در UNIX است که با اسکنر مطابقت دارد. برای اسکنرهای SCSI نام دستگاه ویژه باید یک دستگاه همگانی SCSI یا یک پیوند نمادین (symlink) به چنین دستگاهی باشد. در لینوکس، چنین نام دستگاهی می‌تواند به عنوان نمونه /dev/sga یا /dev/sg2 باشد. اگر نام دستگاه ویژه حاوی "usb"، "uscanner" یا "ugen" باشد، فرض می‌شود که اسکنر از طریق USB متصل شده است. برای HP ScanJet Plus نام دستگاه ویژه باید دستگاهی باشد که با کارت رابط موازی ارائه‌شده همراه اسکنر مطابقت دارد. این نام /dev/hpscan است. برای این کارت به یک درایور ویژه نیاز است. برای جزئیات به ftp://rvs.ctrl-c.liu.se/pub/wingel/hpscan مراجعه کنید. اگر این پیوند کار نکرد، ftp://sunsite.unc.edu/pub/Linux/kernel/patches/scanners را امتحان کنید.

محتوای پرونده hp.conf فهرستی از گزینه‌ها و نام‌های دستگاه متناظر با اسکنرهای HP ScanJet است. خطوط خالی و خطوطی که با علامت هش (#) آغاز می‌شوند، نادیده گرفته می‌شوند. برای جزئیات در مورد اینکه چه چیزی یک نام دستگاه معتبر را تشکیل می‌دهد، به sane-scsi(5) و sane-usb(5) مراجعه کنید.

گزینه‌های مشخص‌شده پیش از نخستین خطی که حاوی یک نام دستگاه است، مقادیر پیش‌فرض برای همه دستگاه‌ها هستند. گزینه‌های مشخص‌شده در زیر خطی که حاوی نام یک دستگاه است، فقط برای دستگاهی که اخیراً ذکر شده اعمال می‌شوند.

گزینه‌های پشتیبانی‌شده عبارتند از connect-scsi، connect-device، enable-image-buffering، و dumb-read.

گزینه connect-scsi مشخص می‌کند که اسکنر از طریق SCSI به سیستم متصل است. ورودی/خروجی با استفاده از دستورات SCSI انجام می‌شود. این حالت پیش‌فرض است. اما اگر نام دستگاه SCSI شما حاوی "usb"، "uscanner" یا "ugen" باشد، گزینه connect-scsi باید به صراحت مشخص شود؛ در غیر این صورت فرض می‌شود که اسکنر از طریق USB متصل است.

گزینه connect-device مشخص می‌کند که اسکنر از طریق یک دستگاه ویژه به سیستم متصل است. ورودی/خروجی با عملیات‌های read()/write() روی دستگاه انجام می‌شود. این گزینه باید برای HP ScanJet Plus یا اسکنرهای متصل به USB که از طریق یک دستگاه نام‌گذاری‌شده در دسترس قرار می‌گیرند (مانند /dev/usb/scanner0) استفاده شود. برای نام‌های دستگاهی که حاوی "usb"، "uscanner" یا "ugen" هستند، نیازی به تعیین گزینه connect-device نیست.

گزینه enable-image-buffering تصویر اسکن‌شده را پیش از ارسال به فرانت‌اند در حافظه ذخیره می‌کند. می‌تواند در مواردی که لامپ اسکنر به جلو و عقب حرکت می‌کند استفاده شود.

گزینه dumb-read می‌تواند برای دور زدن مشکلات مربوط به خطای "Error during device I/O" استفاده شود. این مشکلات ممکن است با برخی مبدل‌های SCSI به USB یا کارت‌های SCSI برند Buslogic رخ دهد. این گزینه نباید برای دستگاه‌های SCSI که به درستی کار می‌کنند استفاده شود، در غیر این صورت ممکن است راه‌اندازی فرانت‌اندها و تغییر پارامترها کندتر شود.

یک پرونده پیکربندی نمونه در زیر نشان داده شده است:

/dev/scanner
# this is a comment
/dev/hpscan
option connect-device

/dev/scanner معمولاً یک پیوند نمادین به دستگاه واقعی اسکنر SCSI است.

/etc/sane.d/hp.conf
پرونده پیکربندی بک‌اند (همچنین توضیحات SANE_CONFIG_DIR در زیر را ببینید).
/usr/lib/sane/libsane-hp.a
کتابخانه ایستا که این بک‌اند را پیاده‌سازی می‌کند.
/usr/lib/sane/libsane-hp.so
کتابخانه پویا که این بک‌اند را پیاده‌سازی می‌کند (در سیستم‌هایی که از بارگذاری پویا پشتیبانی می‌کنند موجود است).
$HOME/.sane/calib-hp:<device>.dat
داده‌های کالیبراسیون برای HP PhotoSmart PhotoScanner که پس از کالیبراسیون از اسکنر دریافت می‌شود. اگر بک‌اند در حالت رسانه 'print media' باشد یا حالت رسانه به 'print media' تغییر کند، این داده‌ها در آغاز کار بک‌اند به اسکنر بارگذاری می‌شوند.

این متغیر محیطی فهرستی از شاخه‌هایی را مشخص می‌کند که ممکن است حاوی پرونده پیکربندی باشند. در سیستم‌های NIX*، شاخه‌ها با دونقطه (`:') و در OS/2 با نقطه‌ویرگول (`;') از هم جدا می‌شوند. اگر این متغیر تنظیم نشده باشد، پرونده پیکربندی در دو شاخه پیش‌فرض جستجو می‌شود: نخست، شاخه کاری جاری (.) و سپس در /etc/sane.d. اگر مقدار متغیر محیطی با نویسه جداکننده شاخه خاتمه یابد، شاخه‌های پیش‌فرض پس از شاخه‌هایی که صراحتاً مشخص شده‌اند جستجو می‌شوند. برای نمونه، تنظیم SANE_CONFIG_DIR به "/tmp/config:" منجر به جستجوی شاخه‌های tmp/config، .، و /etc/sane.d (به همین ترتیب) خواهد شد.
اگر کتابخانه با پشتیبانی از اشکال‌زدایی کامپایل شده باشد، این متغیر محیطی سطح اشکال‌زدایی را برای این بک‌اند کنترل می‌کند. برای نمونه، مقدار 128 درخواست چاپ تمامی خروجی‌های اشکال‌زدایی را دارد. مقادیر کوچکتر پرگویی را کاهش می‌دهند.
فقط برای OS/2 و به همراه اسکنر HP PhotoSmart PhotoScanner استفاده می‌شود. باید روی شاخه‌ای تنظیم شود که شاخه .sane در آن قرار دارد. برای ذخیره و خواندن پرونده کالیبراسیون به کار می‌رود.
برای هر نوع اتصال (connect-scsi، connect-usb، connect-device) می‌توان مشخص کرد که آیا اتصال به دستگاه باید باز نگه داشته شود ("1") یا خیر ("0"). معمولاً اتصالات پس از انجام یک عملیات بسته می‌شوند. باز نگه داشتن اتصال به دستگاه‌های SCSI می‌تواند در صورتی که اسکنر برای مدتی استفاده نشده باشد، منجر به بروز خطا در ورودی/خروجی دستگاه شود. به طور پیش‌فرض، اتصالات USB باز نگه داشته می‌شوند و سایر اتصالات بسته می‌شوند.
تعداد دفعات تلاش مجدد برای عملیات خواندن پیش از بازگرداندن خطای EOF را مشخص می‌کند. فقط برای دستگاه‌های غیر SCSI پشتیبانی می‌شود. پیش‌فرض: ۱ بار تلاش مجدد. زمان بین تلاش‌های مجدد ۰.۱ ثانیه است.

در حالت رسانه 'slide' و 'negative'، تفکیک‌پذیری اسکن به مضربی از 300 dpi گرد می‌شود. اسکنر داده‌ها را در سایر تفکیک‌پذیری‌ها به درستی مقیاس‌بندی نمی‌کند. برخی مدل‌های جدیدتر (کد میان‌افزار R030 و بالاتر) از تنظیم سطح کنتراست/شدت نور و نگاشت تن پشتیبانی نمی‌کنند. بک‌اند این مورد را به وسیله نرم‌افزار شبیه‌سازی خواهد کرد، اما تنها برای حالت خاکستری و رنگی ۲۴ بیتی.
تغذیه خودکار سند (ADF)
برای استفاده از ADF با xscanimage(1)، ابتدا کاغذ را در ADF قرار داده و سپس گزینه scan source را به 'ADF' تغییر دهید. برای بارگذاری یک برگ دکمه 'change document' را فشار دهید. سپس برای شروع اسکن 'scan' را بزنید. شاید برای اسکن‌های مکرر فشردن 'scan' بدون 'change document' کافی باشد. استفاده از پنجره پیش‌نمایش هنگام کار با ADF توصیه نمی‌شود. تنظیم یک پنجره برای اسکن از ADF در xscanimage(1) پشتیبانی نمی‌شود. xsane(1) را امتحان کنید.
کنش‌های بلادرنگ (Immediate actions)
برخی کنش‌ها در xscanimage(1) (مانند unload، select media، calibrate) اثر فوری بر روی اسکنر دارند بدون اینکه اسکنی آغاز شود. این گزینه‌ها نمی‌توانند با scanimage(1) استفاده شوند.

اسکنرهای PhotoScanner با نسخه میان‌افزار R030 و بالاتر از جدول کنتراست/روشنایی/گاما در میان‌افزار خود پشتیبانی نمی‌کنند. در بک‌اند کنونی این مورد توسط نرم‌افزار روی داده‌های ۲۴ بیتی شبیه‌سازی می‌شود. شبیه‌سازی روی داده‌های ۳۰ بیتی نتایج بهتری به همراه خواهد داشت.
عرض داده‌های بیش از ۸ بیت
جدول گامای سفارشی کار نمی‌کند.
پشتیبانی از اسکنر موازی
به جز ScanJet Plus که همراه با کارت رابط موازی اختصاصی خود ارائه می‌شد، در حال حاضر تنها مدل‌های HP ScanJet 5100C/5200C پشتیبانی می‌شوند. این اسکنرها از یک مبدل داخلی موازی به SCSI استفاده می‌کنند که توسط درایور ppSCSI پشتیبانی می‌شود (به بالا مراجعه کنید).

sane(7)، sane-scsi(5)، sane-usb(5)، scanimage(1)، xscanimage(1)

بک‌اند sane-hp توسط Geoffrey T. Dairiki نوشته شده است.
پشتیبانی از HP PhotoSmart PhotoScanner توسط Peter Kirchgessner انجام گرفته است.

13 Jul 2008