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

sane-canon_dr - بک‌اند SANE برای اسکنرهای سری Canon DR

کتابخانه sane-canon_dr یک بک‌اند SANE (دسترسی آسان به اسکنر - Scanner Access Now Easy) را پیاده‌سازی می‌کند که دسترسی به برخی از اسکنرهای سری Canon DR را فراهم می‌سازد.

این سند نسخه ۶۰ این بک‌اند را توضیح می‌دهد که همراه با نسخه 1.0.32 از SANE منتشر شده است.

این نسخه تنها با چند مدل اسکنر آزمایش شده است. لطفاً برای مشاهده جدیدترین فهرست به http://www.sane-project.org/sane-supported-devices.html مراجعه فرمایید.

این بک‌اند ممکن است از اسکنرهای دیگر Canon نیز پشتیبانی کند. بهترین روش برای تعیین سطح پشتیبانی، آزمایش مستقیم اسکنر یا جمع‌آوری ردگیری (trace) از درایور ویندوز در حین کار است. لطفاً برای دریافت کمک یا ارسال نتایج آزمایش با نویسنده تماس بگیرید.

به‌طور کلی، دستگاه‌های بزرگ‌تر (سری DR-4000 به بالا) که آزمایش شده‌اند از پروتکل نسبتاً کاملی با پشتیبانی سخت‌افزاری از حالت‌ها، تفکیک‌پذیری‌ها و قابلیت‌های متنوع استفاده می‌کنند. دستگاه‌های کوچک‌تر محدودیت‌های فراوانی دارند، مانند نبود تفکیک‌پذیری‌های افقی، نبود حالت باینری، اسکن همیشگی با پهنای کامل و غیره. کدهایی در این بک‌اند برای حل این مشکلات وجود دارد، اما به نظر می‌رسد روشی برای تشخیص لزوم به‌کارگیری آن‌ها وجود ندارد، بنابراین باید به‌صورت ثابت (hard-coded) تنظیم شوند.

تلاش شده است تا بیشتر گزینه‌های سخت‌افزاری در دسترس قرار گیرند، از جمله:

منبع اسکن را انتخاب می‌کند.
حالت اسکن را انتخاب می‌کند.
تفکیک‌پذیری اسکن را کنترل می‌کند.
مختصات گوشه بالا-چپ و پایین-راست ناحیه اسکن را تنظیم می‌کند. این گزینه‌ها در برخی از رابط‌ها (frontends) به -t, -l, -x و -y تغییر نام یافته‌اند.
اندازه کاغذ را تنظیم می‌کند. توسط اسکنر برای تعیین مرکز مختصات اسکن هنگام استفاده از تغذیه‌کننده خودکار سند (ADF - Automatic Document Feeder) و تشخیص خطاهای تغذیه دوگانه استفاده می‌شود.

سایر گزینه‌ها بر اساس قابلیت‌های اسکنر در دسترس خواهند بود: بهبود تصویر، فشرده‌سازی، دکمه‌ها و حسگرها و غیره.

علاوه بر این، چندین گزینه «نرم‌افزاری» توسط بک‌اند ارائه شده است. این گزینه‌ها پیاده‌سازی مجدد ویژگی‌هایی هستند که در اسکنرهای بزرگ‌تر به‌طور بومی ارائه می‌شوند، اما در این حالت روی رایانه میزبان اجرا می‌شوند. این امر به دستگاه‌های کوچک‌تر امکان می‌دهد تا قابلیت‌های مشابهی داشته باشند. لطفاً توجه داشته باشید که این ویژگی‌ها تا حدی ساده هستند و ممکن است به خوبی پیاده‌سازی‌های بومی عمل نکنند. همچنین توجه داشته باشید که این ویژگی‌ها همگی نیازمند آن هستند که درایور تمام تصویر را در حافظه کَش (ذخیره موقت) کند. این کار تقریباً به طور قطع منجر به کاهش سرعت اسکن خواهد شد.

از درایور می‌خواهد تا لبه‌های پایانی کاغذ را درون تصویر بزرگ‌تر شناسایی کرده و حاشیه‌های خالی را برش دهد (Crop).
از درایور می‌خواهد تا زاویه چرخش کاغذ را درون تصویر بزرگ‌تر تشخیص داده و کجی آن را برطرف کند (Deskew).
از درایور می‌خواهد تا لکه‌ها و نقاطی با قطر X یا کوچک‌تر را از تصویر یافته و حذف کند و جای خالی آن‌ها را با رنگ میانگین محیط اطراف پر نماید.

برای دریافت فهرست گزینه‌ها از scanimage --help استفاده کنید، اما توجه داشته باشید که برخی از گزینه‌ها ممکن است تنها زمانی قابل تنظیم باشند که گزینه دیگری فعال شده باشد، و ممکن است گزینه‌های پیشرفته توسط برخی برنامه‌های رابط کاربری پنهان شوند.

فایل پیکربندی canon_dr.conf برای اعلام نحوه جستجوی اسکنرها به بک‌اند و ارائه گزینه‌هایی جهت کنترل عملکرد آن استفاده می‌شود. این فایل هر بار که برنامه رابط از بک‌اند درخواست فهرستی از اسکنرها را می‌کند خوانده می‌شود، معمولاً فقط در زمان راه‌اندازی رابط. اگر فایل پیکربندی وجود نداشته باشد، بک‌اند اجرا نخواهد شد.

اسکنرها را می‌توان در فایل پیکربندی به ۴ روش مشخص کرد:

"scsi CANON DR"

از بک‌اند درخواست می‌کند تا تمام گذرگاه‌های SCSI سیستم را برای یافتن دستگاهی که خود را اسکنر ساخت «CANON» با نام مدلی که با «DR» شروع می‌شود گزارش می‌دهد، جستجو کند.

"scsi /dev/sg0" (یا سایر فایل‌های دستگاه scsi)

از بک‌اند درخواست می‌کند تا دستگاه scsi مشخص‌شده را باز کند. این حالت تنها زمانی مفید است که چندین اسکنر سازگار به سیستم متصل باشند و نیاز به تعیین یکی از آن‌ها باشد. احتمالاً نباید همراه با خط "scsi" قبلی استفاده شود.

"usb 0x04a9 0x1603" (یا سایر شناسه‌های vendor/product)

از بک‌اند درخواست می‌کند تا تمام گذرگاه‌های USB سیستم را برای یافتن دستگاهی با شناسه سازنده (vendor) و شناسه محصول (product) مشخص‌شده جستجو کند. سپس دستگاه بررسی می‌شود تا مشخص گردد آیا یک اسکنر Canon است یا خیر.

"usb /dev/usb/scanner0" (یا سایر فایل‌های دستگاه)

برخی سیستم‌ها از درایور هسته برای دسترسی به اسکنرهای USB استفاده می‌کنند. این روش آزمایش نشده است.

علاوه بر خطوط 'scsi' و 'usb'، فایل پیکربندی از خطوط 'option' زیر نیز پشتیبانی می‌کند:

"option buffer-size [تعداد بایت‌ها]"

تعداد بایت‌های بافر داده را روی مقداری غیر از پیش‌فرض کامپایل‌شده 4MB تنظیم می‌کند. مقادیر بزرگ ممکن است باعث وقفه زمانی (timeout) یا قفل شدن شوند، و مقادیر کوچک ممکن است سرعت اسکن را کاهش دهند.

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

"option vendor-name [رشته متنی]"
"option model-name [رشته متنی]"
"option version-name [رشته متنی]"

این گزینه‌ها می‌توانند به‌طور مشترک برای بازنویسی مقادیر ارائه‌شده توسط اسکنر، یا ارائه مقادیر در صورتی که اسکنر قادر به اعلام آن‌ها نباشد، استفاده شوند.

"option padded-read [0|1]"

برخی از اسکنرها تمام داده‌های ارسالی به رایانه میزبان را با ۱۲ بایت پیشوند همراه می‌کنند. در صورتی که اسکنر به دستورات پاسخ نمی‌دهد، این گزینه را فعال کنید.

"option duplex-offset [عدد صحیح]"

برخی اسکنرها لبه بالایی یک طرف از اسکن دورو (duplex) را با داده‌های اضافی پر می‌کنند (pad). میزان این لایه پرکننده متفاوت است. اگر دستگاه شما یک نوار ناخواسته از داده‌های تصویر را تنها در یک طرف نشان می‌دهد، این گزینه را تغییر دهید.

نکته (NOTE): خطوط "option" می‌توانند چندین بار در فایل پیکربندی تکرار شوند. آن‌ها تنها بر اسکنرهایی اعمال می‌شوند که توسط خط بعدی 'scsi/usb' شناسایی گردند.

این بک‌اند از یک متغیر محیطی منفرد استفاده می‌کند: SANE_DEBUG_CANON_DR, که خروجی اشکال‌زدایی را به خطای استاندارد (stderr) فعال می‌کند. مقادیر معتبر عبارتند از:

5 خطاها (Errors)
10 ردگیری توابع (Function trace)
15 جزئیات توابع (Function detail)
20 دستورات گزینه‌ها (Option commands)
25 ردگیری SCSI/USB
30 جزئیات SCSI/USB
35 نویز و پیام‌های کم‌اهمیت (Useless noise)

این بک‌اند به طور کامل از طریق مهندسی معکوسِ ردگیری‌های USB درایور اختصاصی توسعه یافته است. بسیاری از قابلیت‌های پیشرفته این دستگاه‌ها ممکن است فعال نباشند. بسیاری از دستگاه‌ها هنوز آزمایش نشده‌اند و پروتکل آن‌ها ناشناخته است.

نویسندگان مختلف بک‌اند sane-fujitsu(5) کدهای مفیدی را ارائه کردند.
شرکت .Yabarana Corp www.yabarana.com بخش عمده‌ای از بودجه مالی را تأمین کرد.
شرکت .EvriChart, Inc www.evrichart.com تأمین بودجه و امانت دادن تجهیزات را بر عهده داشت.
شرکت .Canon, USA www.usa.canon.com تجهیزات لازم را به امانت گذاشت.
مجموعه HPrint hprint.com.br تأمین بودجه و آزمایش برای پشتیبانی از DR-2510 را فراهم نمود.
مجموعه Stone-IT www.stone-it.com تأمین بودجه برای پشتیبانی از DR-2010 و DR-2050 را انجام داد.
آقای Gerhard Pfeffer دسترسی و آزمایش برای P-208 و P-215 را فراهم ساخت.
تشکر ویژه از: Alejandro Imass، Andre Shimakawa، Martijn van Brummelen، Thanos Diacakis و Junren Shi برای آزمایش و بازخوردها.

sane(7), sane-scsi(5), sane-usb(5)

m. allan noah: <kitno455 a t gmail d o t com>.

13 Feb 2021