sane-mustek(5) SANE دسترسی به اسکنر اکنون آسان است sane-mustek(5)

sane-mustek - پشتیبان SANE برای اسکنرهای تخت SCSI موستک (و برخی دستگاه‌های دیگر)

کتابخانه sane-mustek یک پشتیبان SANE (Scanner Access Now Easy) را پیاده‌سازی می‌کند که دسترسی به اسکنرهای تخت SCSI و موازی موستک (Mustek) و برخی مدل‌های تغییرنام‌یافته Trust و Primax را فراهم می‌سازد. در حال حاضر، مشخص شده است که اسکنرهای زیر کم و بیش با این پشتیبان کار می‌کنند:

Paragon MFS-6000CX
Paragon MFS-12000CX
Paragon MFC-600S, 600 II CD, ScanMagic 600 II SP
Paragon MFC-800S, 800 II SP
Paragon MFS-6000SP
Paragon MFS-8000SP
Paragon MFS-1200SP, MFS-12000SP
ScanExpress 6000SP
ScanExpress 12000SP, 12000SP Plus, Paragon 1200 III SP, ScanMagic 9636S, 9636S Plus
Paragon 1200 LS
ScanExpress A3 SP
Paragon 1200 SP Pro
Paragon 1200 A3 Pro/1200 A3 Pro
Paragon 600 II EP
Paragon 600 II N
Trust Imagery 1200
Trust Imagery 1200 SP
Trust Imagery 4800 SP
Trust SCSI Connect 19200
Primax Compact 4800 SCSI

جزئیات بیشتر را می‌توان در صفحه خانگی پشتیبان SCSI موستک یافت: http://www.meier-geinitz.de/sane/mustek-backend

مدل‌های MFS (Paragon)، Pro و ScanExpress را با هم اشتباه نگیرید! آن‌ها کاملاً متفاوت هستند. نام دقیق مدل را بررسی کنید! توجه داشته باشید که برخی مدل‌های موستک وجود دارند که مشخصاً با نام تجاری Paragon عرضه نشده‌اند (مانند "1200 A3 Pro")، اما کارکرد آن‌ها نیز تأیید شده است.

توجه داشته باشید که بیشتر اسکنرهای فوق دارای رابط SCSI هستند. تنها اسکنرهای غیر SCSI که در حال حاضر تا حدی پشتیبانی می‌شوند، اسکنرهای 600 II N و 600 II EP هستند. مدل اولی به همراه آداپتور درگاه موازی اختصاصی خود عرضه می‌شود (یعنی به درگاه چاپگر متصل نمی‌شود ). هر دو اسکنر به صورت داخلی نیز از پروتکل SCSI استفاده می‌کنند. اطلاعات بیشتر درباره نحوه استفاده از این اسکنرهای درگاه موازی را می‌توانید در ادامه در بخش اسکنرهای درگاه موازی (PARALLEL PORT SCANNERS) بیابید. سایر اسکنرهای درگاه موازی توسط این پشتیبان پشتیبانی نمی‌شوند، اما ممکن است با استفاده از پشتیبان درگاه موازی موستک یعنی mustek_pp موفق شوید؛ ببینید: sane-mustek_pp(5). اسکنرهای USB نیز توسط این پشتیبان پشتیبانی نمی‌شوند، اما پشتیبان‌های ma1509، mustek_usb، gt68xx و plustek شامل پشتیبانی از برخی از آن‌ها هستند؛ ببینید: sane-ma1509(5)، sane-mustek_usb(5)، sane-gt68xx(5) و sane-plustek(5).

اسکنرهای موستک هیچ حفاظتی در برابر فراتر رفتن از ارتفاع فیزیکی ناحیه اسکن ندارند. به این معنی که اگر اسکنی با ارتفاعی بیشتر از ارتفاع سطح اسکن انجام شود، اسکنر صداهای بلندی تولید می‌کند و سازوکار اسکن ممکن است آسیب ببیند. بنابراین، اگر چنین صدایی شنیدید، بلافاصله اسکنر را خاموش کنید. اگر اسکنر شما در فهرست اسکنرهای شناخته‌شده باشد، این اتفاق نباید رخ دهد. اطلاعات بیشتری در فایل /usr/share/doc/sane/PROBLEMS وجود دارد.

اگر صاحب یک اسکنر موستک (یا Trust) غیر از موارد ذکرشده در بالا هستید که با این پشتیبان کار می‌کند، لطفاً با ارسال نام دقیق مدل اسکنر (جلوی اسکنر و پشت آن را بررسی کنید) و یک خروجی دیباگ به sane-devel@alioth-lists.debian.net ما را مطلع سازید. می‌توانید خروجی دیباگ را با تنظیم متغیر محیطی SANE_DEBUG_MUSTEK روی مقدار 5 و نمایش فهرست اسکنرهای موجود با دستور scanimage -L به دست آورید. لطفاً تمام آن را به فهرست پستی ارسال کنید. پیش از ارسال ایمیل به فهرست، باید در sane-devel مشترک شده باشید. برای جزئیات به http://www.sane-project.org/mailing-lists.html مراجعه کنید.

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

special

که در آن special یا مسیر مربوط به دستگاه ویژه متناظر با یک اسکنر SCSI است، یا شماره درگاهی که اسکنرهای درگاه موازی در آن یافت می‌شوند (بخش اسکنرهای درگاه موازی (PARALLEL PORT SCANNERS) را در زیر ببینید). برای اسکنرهای SCSI، نام دستگاه ویژه باید یک دستگاه عمومی SCSI یا یک پیوند نمادین به چنین دستگاهی باشد. برنامه sane-find-scanner(1) به یافتن دستگاه صحیح کمک می‌کند. تحت لینوکس، چنین نام دستگاهی می‌تواند به عنوان مثال /dev/sg0 یا /dev/sg3 باشد. برای جزئیات به sane-scsi(5) مراجعه کنید.

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

گزینه‌های پشتیبانی‌شده عبارتند از: linedistance-fix، lineart-fix، legal-size، buffersize، blocksize، strip-height، disable-double-buffering، disable-backtracking و force-wait.

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

گزینه linedistance-fix موضعی است و مشکلی را که با برخی از کنترلرهای SCSI (به ویژه کنترلر ncr810 تحت لینوکس) رخ می‌دهد دور می‌زند. اگر اسکن‌های رنگی دارای خطوط افقی هستند یا رنگ‌ها به هم ریخته‌اند، به احتمال زیاد کنترلر شما دچار این مشکل است. فعال کردن این گزینه معمولاً مشکل را برطرف می‌کند.

گزینه lineart-fix موضعی است و مشکل زمان‌بندی موجود در برخی اسکنرهای MFS-12000SP را دور می‌زند. این مشکل هنگام اسکن در حالت lineart به صورت خطوط جاافتاده نمایان می‌شود. فعال کردن این گزینه باید مشکل را برطرف کند اما ممکن است سرعت اسکن را کمی کاهش دهد.

گزینه legal-size موضعی است و اندازه ناحیه اسکن را روی قالب Legal تنظیم می‌کند. اگر مالک یک Paragon 12000 LS هستید، این گزینه را تنظیم کنید. این مدل از نظر نرم‌افزاری از ScanExpress 12000 SP (قالب ISO A4) قابل تشخیص نیست.

گزینه buffersize یک گزینه موضعی است که مقدار پیش‌فرض تعیین‌شده برای اندازه بافر SCSI را بازنویسی می‌کند. اندازه بافر بر حسب کیلوبایت مشخص می‌شود. مقدار پیش‌فرض 128 است. به دلیل بافر دوگانه (double buffering)، اندازه بافری که در عمل به اسکنر ارسال می‌شود نصف این مقدار است. سعی کنید این مقدار را افزایش دهید تا سرعت اسکن بالاتری به دست آورید. توجه داشته باشید که برخی از اسکنرهای ScanExpress اندازه‌های بافر بیش از 64 کیلوبایت (buffersize = 128) را نمی‌پذیرند. اگر درایور sg شما نمی‌تواند اندازه بافر SCSI را در زمان اجرا تنظیم کند، ممکن است مجبور شوید این مقدار را نیز تغییر دهید. برای جزئیات به sane-scsi(5) مراجعه کنید.

گزینه blocksize یک گزینه موضعی است که مقدار پیش‌فرض تعیین‌شده برای حداکثر مقدار داده اسکن‌شده در یک بلوک را بازنویسی می‌کند. اندازه بافر بر حسب کیلوبایت مشخص می‌شود. اگر این مقدار بیشتر از 2048 باشد، برخی اسکنرها قفل می‌کنند. مقدار پیش‌فرض برای اکثر اسکنرها 1 گیگابایت است (بنابراین عملاً بدون محدودیت). اگر دقیقاً نمی‌دانید چه کاری انجام می‌دهید، این مقدار را تغییر ندهید.

گزینه strip-height یک گزینه سراسری است که حداکثر ارتفاع نواری را که با یک دستور خواندن SCSI اسکن می‌شود محدود می‌کند. ارتفاع بر حسب اینچ مشخص می‌شود و ممکن است شامل بخش اعشاری باشد (به عنوان مثال 1.5). تنظیم strip-height روی یک مقدار کوچک (مثلاً یک اینچ) احتمال بروز مشکل در مهلت‌های زمانی درایور SCSI یا مهلت‌های زمانی با سایر دستگاه‌های موجود در همان گذرگاه SCSI را کاهش می‌دهد. متأسفانه زمان اسکن را نیز افزایش می‌دهد. با آداپتورها و درایورهای SCSI فعلی، این گزینه نباید دیگر مورد نیاز باشد.

گزینه disable-double-buffering یک گزینه سراسری است. در صورت تنظیم، پشتیبان در هر بار فقط یک بافر را به اسکنر ارسال می‌کند. اگر هنگام اسکن با مشکل مواجه شدید (مثلاً خطاهای SCSI، قفل کردن، یا تکرار مداوم چند سانتی‌متر اول در تصویر)، این گزینه را امتحان کنید.

گزینه disable-backtracking یک گزینه موضعی است. در صورت تنظیم، اسکنر پس از پر شدن هر بافر SCSI لغزنده خود را به عقب برنمی‌گرداند («backtracking»). تنظیم این گزینه منجر به اسکن سریع‌تر می‌شود اما ممکن است خطوط افقی نیز ایجاد کند. این گزینه با هر اسکنری کار نمی‌کند (فقط برخی از مدل‌های paragon می‌توانند پس‌گرد را تغییر دهند).

در نهایت، force-wait یک گزینه سراسری است. در صورت تنظیم، پشتیبان پیش از ارسال دستور پرس‌وجو (inquiry) صبر می‌کند تا دستگاه آماده شود. علاوه بر این، پشتیبان لغزنده اسکن را مجبور می‌کند به موقعیت اولیه خود بازگردد (برای همه اسکنرها پیاده‌سازی نشده است). این گزینه ممکن است با 600 II N یا زمانی که از scanimage(1) به دفعات متعدد استفاده می‌شود (مثلاً در اسکریپت‌ها) لازم باشد. حالت پیش‌فرض غیرفعال است (تنظیم نشده).

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

# limit strip height of all scanners to 1.5 inches:
option strip-height 1.5
/dev/scanner    # first Mustek scanner
# 1 MB buffer for /dev/scanner:
option buffersize 1024
/dev/sge        # second Mustek scanner
# turn on fixes for /dev/sge:
option lineart-fix
option linedistance-fix

برای اسکنرهای SCSI به یک آداپتور SCSI نیاز دارید. حتی اگر کانکتور همانند کانکتور اسکنرهای درگاه موازی باشد، اتصال آن به درگاه موازی رایانه کار نخواهد کرد.

اسکنرهای SCSI موستک معمولاً با یک آداپتور SCSI از نوع ISA عرضه می‌شوند. متأسفانه آن آداپتور ارزش چندانی ندارد زیرا مبتنی بر وقفه (interrupt-driven) نیست. راه‌اندازی کارت ارائه‌شده (گاهی اوقات) امکان‌پذیر است، اما بدون خط وقفه، اسکن بسیار کند خواهد بود و بار زیادی بر سیستم وارد می‌کند، به طوری که عملاً برای کارهای دیگر غیرقابل استفاده می‌شود.

اگر قبلاً یک کنترلر SCSI فعال در سیستم خود دارید، باید در نظر داشته باشید که اسکنرهای موستک از پروتکل قطع/وصل مجدد (disconnect/reconnect) در SCSI-2 پشتیبانی نمی‌کنند و بنابراین گذرگاه SCSI را در حین انجام اسکن اشغال می‌کنند. این بدان معنی است که در حین اسکن نمی‌توان به هیچ دستگاه SCSI دیگری در همان گذرگاه دسترسی داشت.

از آنجا که آداپتور عرضه‌شده توسط موستک ارزش چندانی ندارد و اسکنرهای موستک از پروتکل قطع/وصل مجدد SCSI-2 پشتیبانی نمی‌کنند، توصیه می‌شود یک کنترلر SCSI مجزا (ارزان‌قیمت) برای اسکنرهای موستک نصب کنید. به عنوان مثال، کارت‌های مبتنی بر ncr810 شناخته شده‌اند که به خوبی کار می‌کنند و قیمت آن‌ها به اندکی پنجاه دلار آمریکا می‌رسد.

برای اسکنرهای موستک، معمولاً لازم است درایور سطح پایین SCSI را به گونه‌ای پیکربندی کنید که انتقال‌های همگام (مذاکره همگام‌سازی)، صف‌بندی برچسب‌دار دستورات (tagged command queuing) و قطع اتصال مقصد (target disconnects) را غیرفعال کند. برای اطلاعات ویژه درایور و بستر نرم‌افزاری به sane-scsi(5) مراجعه کنید.

مدل‌های ScanExpress گاهی با حالت رنگی با تفکیک‌پذیری بالا مشکل دارند. اگر با تصاویر خراب پراکنده مواجه شدید (بخش‌هایی تکرار شده یا به صورت افقی جابجا شده‌اند)، قبل از اسکن تمام برنامه‌های دیگر را ببندید و (در صورت در دسترس بودن حافظه کافی) فضای تعویض (swapping) را غیرفعال کنید.

جزئیات نحوه راه‌اندازی آداپتورهای SCSI موستک و سایر کارت‌ها را می‌توانید در نشانی زیر بیابید: http://www.meier-geinitz.de/sane/mustek-backend/#SCSI

این پشتیبان از اسکنرهای درگاه موازی Paragon 600 II EP و Paragon 600 II N پشتیبانی می‌کند. توجه داشته باشید که اسکنر دومی همراه با کارت ISA اختصاصی خود عرضه می‌شود که یک درگاه موازی نامتعارف را پیاده‌سازی می‌کند (به عبارت دیگر، اسکنر به درگاه موازی چاپگر متصل نمی‌شود).

این اسکنرها را می‌توان با ذکر شماره درگاه آداپتور یا درگاه موازی در فایل mustek.conf پیکربندی کرد. شماره درگاه‌های معتبر برای 600 II N عبارتند از: 0x26b، 0x2ab، 0x2eb، 0x22b، 0x32b، 0x36b، 0x3ab، 0x3eb. برای 600 II EP از یکی از این موارد استفاده کنید: parport0، parport1، parport2، 0x378، 0x278، 0x3bc. موردی را انتخاب کنید که با سایر سخت‌افزارهای رایانه شما تداخل نداشته باشد. در هر خط فقط یک شماره قرار دهید. مثال:

0x3eb

توجه داشته باشید که برای این اسکنرها معمولاً مجوزهای دسترسی ریشه برای دسترسی به درگاه‌های ورودی/خروجی (I/O) مورد نیاز است. بنابراین، یا برنامه‌های رابط کاربری مانند scanimage(1) و xscanimage(1) را setuid root کنید (به دلایل امنیتی عموماً توصیه نمی‌شود) یا در غیر این صورت، از طریق دیمن شبکه saned(8) به این پشتیبان دسترسی پیدا کنید.

اگر پشتیبان موستک هنگام ارسال دستور پرس‌وجو به اسکنر مسدود شد، گزینه force-wait را به mustek.conf اضافه کنید.

همچنین توجه داشته باشید که پس از مدتی عدم فعالیت، برخی اسکنرها خودشان (نه پشتیبان SANE) لامپ‌های CCFL خود را خاموش می‌کنند. این خاموشی همیشه بی‌نقص نیست و در نتیجه گاهی اوقات لامپ در یک انتها به آرامی به درخشش کم‌نور ادامه می‌دهد. به نظر نمی‌رسد این مورد خطرناک باشد زیرا به محض استفاده مجدد از اسکنر، لامپ به روشنایی معمولی بالای خود بازمی‌گردد. با این حال، نخستین تصویر اسکن‌شده پس از چنین خاموشی ممکن است دارای خطوط راه‌راه بوده و بیش از حد نوردهی‌شده به نظر برسد. در این هنگام، کافی است اسکن دیگری بگیرید و تصویر درست خواهد شد.

/etc/sane.d/mustek.conf
فایل پیکربندی پشتیبان (توضیحات SANE_CONFIG_DIR را در زیر نیز ببینید).
/usr/lib/sane/libsane-mustek.a
کتابخانه ایستا که این پشتیبان را پیاده‌سازی می‌کند.
/usr/lib/sane/libsane-mustek.so
کتابخانه مشترک که این پشتیبان را پیاده‌سازی می‌کند (در سیستم‌هایی که از بارگذاری پویا پشتیبانی می‌کنند موجود است).

این متغیر محیطی فهرست دایرکتوری‌هایی را که ممکن است حاوی فایل پیکربندی باشند مشخص می‌کند. در سیستم‌های NIX*، دایرکتوری‌ها با دونقطه (':') و تحت OS/2 با نقطه‌ویرگول (';') از هم جدا می‌شوند. اگر این متغیر تنظیم نشده باشد، فایل پیکربندی در دو دایرکتوری پیش‌فرض جستجو می‌شود: ابتدا دایرکتوری کاری فعلی (".") و سپس در /etc/sane.d. اگر مقدار متغیر محیطی با نویسه جداکننده دایرکتوری پایان یابد، دایرکتوری‌های پیش‌فرض پس از دایرکتوری‌های صریحاً مشخص‌شده جستجو می‌شوند. برای مثال، تنظیم SANE_CONFIG_DIR روی "/tmp/config:" منجر به جستجو در دایرکتوری‌های tmp/config، . و /etc/sane.d می‌شود (به همین ترتیب).
اگر کتابخانه با فعال بودن پشتیبانی از اشکال‌زدایی (debug) کامپایل شده باشد، این متغیر محیطی سطح اشکال‌زدایی را برای این پشتیبان کنترل می‌کند. سطوح بالاتر اشکال‌زدایی پرگویی خروجی را افزایش می‌دهند.
مقدار  شرح
0      بدون خروجی
1      چاپ خطاهای مهلک
2      چاپ پیام‌های مهم
3      چاپ خطاهای غیرمهلک و پیام‌های کم‌اهمیت‌تر
4      چاپ همه پیام‌ها به جز پیام‌های اشکال‌زدایی
5      چاپ همه چیز

مثال:

export SANE_DEBUG_MUSTEK=4

sane(7)، sane-find-scanner(1)، sane-scsi(5)، sane-mustek_usb(5)، sane-gt68xx(5)، sane-plustek(5)، sane-mustek_pp(5)، sane-ma1509(5)، scanimage(1)، xscanimage(1)

/usr/share/doc/sane/mustek/mustek.CHANGES
http://www.meier-geinitz.de/sane/mustek-backend

David Mosberger، Andreas Czechanowski، Andreas Bolsch (گسترش‌های SE)، Henning Meier-Geinitz، James Perry (600 II EP).

اسکن با آداپتورهای SCSI ارائه‌شده توسط موستک در تفکیک‌پذیری‌های بالا و نواحی اسکن گسترده بسیار کند است.

برخی اسکنرها (مانند Paragon 1200 A3 + Pro، SE A3) به آزمایش بیشتری نیاز دارند.

جدول گاما تنها از 256 رنگ پشتیبانی می‌کند، حتی اگر برخی از اسکنرها بتوانند بیشتر انجام دهند.

اطلاعات دقیق‌تر درباره اشکالات در صفحه خانگی پشتیبان موستک موجود است: http://www.meier-geinitz.de/sane/mustek-backend

13 ژوئیه 2008