Scroll to navigation

sane-scsi(5) SANE (الوصول إلى الماسحة الضوئية أصبح سهلاً الآن) sane-scsi(5)

الاسم

sane-scsi - نصائح حول مهايئ SCSI للماسحات الضوئية

الوصف

تحتوي صفحة الدليل هذه على نصائح وحيل متنوعة خاصة بنظام التشغيل حول كيفية تشغيل الماسحات الضوئية المزودة بواجهة SCSI.

معلومات عامة

بالنسبة للماسحات الضوئية المزودة بواجهة SCSI، قد يكون من الضروري تحرير ملف تكوين الخلفية المناسب قبل استخدام SANE لأول مرة. بالنسبة لمعظم الأنظمة، يجب أن يسرد ملف التكوين اسم جهاز SCSI العام الذي يتصل به الماسح الضوئي (على سبيل المثال، تحت Linux، /dev/sg4 أو /dev/sge هو جهاز SCSI عام من هذا القبيل). من المعتاد إنشاء رابط رمزي من /dev/scanner إلى جهاز SCSI العام الذي يتصل به الماسح الضوئي. في هذه الحالة، يسرد ملف التكوين ببساطة السطر /dev/scanner. للحصول على وصف تفصيلي لملف تكوين كل خلفية، يرجى الرجوع إلى صفحة دليل الخلفية ذات الصلة (على سبيل المثال، sane-epson(5) لماسحات Epson، sane-hp(5) لماسحات HP، إلخ).

بالنسبة لبعض أنظمة التشغيل (مثل Linux و OS/2)، توجد طريقة بديلة لتحديد أجهزة الماسح الضوئي. تسمح هذه الطريقة البديلة بتحديد الماسحات الضوئية بواسطة سلسلة البائع والنموذج SCSI و/أو بواسطة عنوان جهاز SCSI (المكون من رقم الناقل ورقم القناة والمعرف ورقم الوحدة المنطقية). بناء الجملة لتحديد ماسح ضوئي بهذه الطريقة هو:

scsi VENDOR MODEL TYPE BUS CHANNEL ID LUN

حيث VENDOR هو سلسلة بائع SCSI، MODEL هو سلسلة نموذج SCSI، TYPE هو سلسلة نوع جهاز SCSI، BUS هو رقم ناقل SCSI (المسمى "host" في /proc/scsi/scsiCHANNEL هو رقم قناة SCSI، ID هو معرف SCSI، و LUN هو رقم الوحدة المنطقية لجهاز الماسح الضوئي. الحقلان الأولان عبارة عن سلاسل يجب وضعها بين علامتي اقتباس مزدوجة إذا كانت تحتوي على أي مسافات بيضاء. الحقول الأربعة المتبقية هي أعداد صحيحة غير سالبة. يمكن العثور على القيم الصحيحة لهذه الحقول باستخدام أدوات خاصة بنظام التشغيل، على سبيل المثال لنظام Linux من خلال النظر إلى مخرجات الأمر cat /proc/scsi/scsi. لتبسيط التكوين، يمكن استبدال قيمة الحقل برمز النجمة (“*”). تأثير النجمة هو السماح بأي قيمة لذلك الحقل المعين. يمكن أن يؤدي هذا إلى تطابق سطر scsi واحد مع أجهزة متعددة. عندما يحدث هذا، يتم فحص كل جهاز مطابق بواسطة الخلفية واحدًا تلو الآخر ويتم تسجيله إذا اعتقدت الخلفية أنه جهاز متوافق. على سبيل المثال، السطر

scsi MUSTEK MFS-06000CX Scanner 0 00 03 00

سيقوم بإرفاق ماسح Mustek SCSI الضوئي مع الإدخال التالي في /proc/scsi/scsi:

Host: scsi0 Channel: 00 Id: 03 Lun: 00

Vendor: MUSTEK Model: MFS-06000CX Rev: 4.04
Type: Scanner ANSI SCSI revision: 0

عادةً ما يكون استخدام سلاسل البائع والنموذج فقط أو حتى سلسلة البائع فقط كافيًا. المثال التالي

scsi MUSTEK * * * * * *

سيكون له تأثير فحص جميع أجهزة SCSI في النظام التي تحتوي على سلسلة بائع MUSTEK والتعرف عليها بواسطة الخلفية.

إذا كان باقي سلسلة scsi يتكون من نجوم فقط، يمكن حذف النجوم. على سبيل المثال، السطر التالي مكافئ للسطر المحدد سابقًا:

scsi MUSTEK

على بعض المنصات (مثل OpenStep)، تأخذ أسماء أجهزة SANE شكلاً خاصًا. يتم شرح ذلك أدناه في القسم الخاص بالمنصة ذات الصلة.

عند استخدام ماسح ضوئي SCSI، تأكد من تعيين إذن الوصول لجهاز SCSI العام بشكل مناسب. نوصي بإضافة مجموعة "scanner" إلى /etc/group تحتوي على جميع المستخدمين الذين يجب أن يكون لديهم حق الوصول إلى الماسح الضوئي. يجب بعد ذلك تعيين إذن الجهاز للسماح بالوصول للقراءة والكتابة للمجموعة. على سبيل المثال، إذا كان الماسح الضوئي عند جهاز SCSI العام /dev/sg0، فسيقوم الأمران التاليان بتعيين الإذن بشكل صحيح:

$ chgrp scanner /dev/sg0
$ chmod 660 /dev/sg0

عندما يستخدم نظامك نظام ملفات الأجهزة (devfs)، يجب عليك تحرير /etc/devfs/perms. وهناك ينبغي أن تبحث عن السطر

REGISTER ^sg[^/]* PERMISSIONS root.root 0600

وتضيف سطرًا جديدًا (مثلًا لتغيير صلاحيات sg4):

REGISTER ^sg4 PERMISSIONS root.scanner 0660

معلومات فري بي إس دي

التكوين الآلي باستخدام أسطر "scsi *" في ملفات التهيئة يعمل فقط إذا كان المستخدم الذي يشغل الواجهة الأمامية لديه صلاحية قراءة/كتابة إلى /dev/xpt0. بدلاً من ذلك، يمكنك أيضًا تعيين رابط /dev/scanner إلى جهاز /dev/uk المناسب.

تم الإبلاغ عن عمله بشكل جيد تحت فري بي إس دي 2.2.2R مع برنامج التشغيل aha.
تم الإبلاغ عن عمله بشكل جيد تحت فري بي إس دي 2.2.2.
الماسح الضوئي يكتشف بشكل جيد ولكن أي محاولة للوصول إليه تعلق النظام بأكمله. يبدو أن شيئًا ما يعطل المقاطعات ثم لا يعيد تمكينها، لذا يبدو أنه خطأ في برنامج التشغيل aic لفري بي إس دي.
يعمل على فري بي إس دي 2.2.5R و3.0 باستخدام برنامج التشغيل aic، بشرط تعطيل دعم التوصيل والتشغيل على البطاقة. إذا لم تكن هناك أجهزة uk، فقط قم بتنفيذ sh MAKEDEV uk0 في دليل /dev. يجب أن يكون الماسح الضوئي بعد ذلك متاحًا كـ /dev/uk0 إذا تم اكتشافه أثناء الإقلاع.
تم الإبلاغ عن عمله بشكل جيد تحت فري بي إس دي 2.2.2R مع برنامج التشغيل amd.

معلومات لينكس

أولاً، تأكد من أن نواتك تحتوي على دعم SCSI العام ممكّنًا. في make xconfig، يظهر هذا تحت “دعم SCSI->دعم SCSI العام”.

للحفاظ على أوقات المسح عند الحد الأدنى، يُوصى بشدة باستخدام حجم مخزن مؤقت كبير لبرنامج تشغيل SCSI العام. من إصدار برنامج تشغيل SG 2.0 فصاعدًا، يمكن تغيير الحد الأقصى لحجم المخزن المؤقت أثناء تشغيل البرنامج، ولا يوجد قيد على الحجم. هذا الإصدار من برنامج التشغيل جزء من نوى لينكس من الإصدار 2.2.7 فصاعدًا. إذا كان برنامج تشغيل SG الجديد متاحًا، فإن بعض الواجهات الخلفية (مثل sane-umax(5)، sane-mustek(5)، sane-sharp(5)) تطلب آليًا مخازن مؤقتة أكبر لـ SCSI. إذا لم تطلب واجهة خلفية مخزنًا مؤقتًا أكبر لـ SCSI، فقم بتعيين متغير البيئة SANE_SG_BUFFERSIZE إلى حجم المخزن المؤقت المطلوب بالبايت. لا يُوصى باستخدام أكثر من 1 ميجابايت، لأنه بالنسبة للقيم الكبيرة تزداد احتمالية عدم قدرة برنامج تشغيل SG على تخصيص المخازن المؤقتة اللازمة. بالنسبة لبطاقات ISA، حتى 1 ميجابايت قد تكون قيمة كبيرة جدًا. لمناقشة مفصلة لبرنامج تشغيل Linux SG SCSI، انظر: https://tldp.org/HOWTO/SCSI-Generic-HOWTO.

بالنسبة لنوى لينكس قبل الإصدار 2.2.7، حجم المخزن المؤقت هو 32 كيلوبايت فقط. هذا يعمل، ولكن بالنسبة للعديد من الماسحات الضوئية الأرخص، يتسبب ذلك في أن يكون المسح أسرع بحوالي أربع مرات مقارنة باستخدام حجم 127 كيلوبايت. يعرّف لينكس حجم هذا المخزن المؤقت بواسطة الماكرو SG_BIG_BUFF في ملف الرأس /usr/include/scsi/sg.h. ما لم يكن النظام يعاني من نقص حاد في الذاكرة، يُوصى بزيادة هذه القيمة إلى أقصى قيمة قانونية وهي 128*1024-512=130560 بايت. بعد تغيير هذه القيمة، من الضروري إعادة ترجمة كل من النواة (أو وحدة SCSI العامة) والواجهات الخلفية لـ SCSI. ضع في اعتبارك أن هذا ضروري فقط مع نوى لينكس القديمة.

مشكلة شائعة مع ماسحات SCSI هي ما تفعله عندما تشغل النظام بينما الماسح كان مطفأ. في هذه الحالة، لن يتعرف النواة على الماسح ولن يتمكن SANE من الوصول إليه. لحسن الحظ، توفر لينكس آلية بسيطة لاستكشاف جهاز SCSI عند الطلب. افترض أن لديك ماسحًا متصلًا بناقل SCSI 2 وأن الماسح لديه معرف SCSI بقيمة 5. عندما يكون النظام قيد التشغيل والماسح قيد التشغيل، يمكنك إصدار الأمر:

echo "scsi add-single-device 2 0 5 0" > /proc/scsi/scsi

وسيقوم النواة باستكشاف الماسح والتعرف عليه (يجب القيام بذلك كجذر). من الممكن أيضًا إزالة جهاز SCSI ديناميكيًا باستخدام الأمر “remove-single-device”. للتفاصيل، يُرجى الرجوع إلى SCSI-2.4-HOWTO.

من المعروف أن الماسحات تعمل مع محولات SCSI التالية تحت لينكس. هذه القائمة ليست كاملة، عادةً أي محول SCSI مدعوم من لينكس يجب أن يعمل.

محولات Acard/Advance SCSI
بعض الإصدارات القديمة من برنامج تشغيل النواة (atp870u.c) تقطع معلومات الاستعلام. لذلك لا يمكن اكتشاف الماسح بشكل صحيح. استخدم نواة حالية.
تم الإبلاغ عن عمله بشكل جيد مع لينكس منذ الإصدار v2.0. إذا واجهت تجمد النواة أو سلوك غير متوقع، احصل على أحدث نواة لينكس (2.2.17 يبدو أنه يعمل) أو قلل حجم مخزن SCSI المؤقت إلى 32 كيلوبايت.
تم الإبلاغ عن عمله بشكل جيد مع لينكس v2.0.
لتكوين بطاقة BusLogic، قد تحتاج إلى اتباع هذه التعليمات (مساهمة من Jeremy <jeremy@xxedgexx.com>): أثناء الإقلاع، عندما يتم تهيئة محول BusLogic الخاص بك، اضغط Ctrl-B لدخول إعداد محول BusLogic الخاص بك. اختر العنوان الذي يقع فيه BusLogic الذي يحتوي على الماسح الخاص بك. اختر “SCSI Device Configuration”. اختر “Scan SCSI Bus”. اختر أي معرف SCSI يحتوي على الماسح الخاص بك ثم اختر “View/Modify SCSI configuration”. غير “Negotiation” إلى “async” وغير “Disconnect” إلى “off”. اضغط Esc، احفظ، واضغط Esc مرة أخرى حتى يُطلب منك إعادة الإقلاع.
بطاقة NCR/Symbios 53c400/53c400a أو Domex DTC3181E/L/LE (DTCT436/436P) ISA SCSI
هذه البطاقة مقدمة من Mustek (وبائعين آخرين). إنها مدعومة منذ لينكس 2.2. بطاقات SCSI مدعومة بواسطة الوحدة g_NCR5380. من الضروري إخبار النواة بمنفذ الإدخال/الإخراج ونوع البطاقة. مثال لـ 53c400a: modprobe g_NCR5380 ncr_addr=0x280 ncr_53c400a=1 . بمجرد أن يكتشف النواة البطاقة، يجب أن تعمل بشكل جيد. ومع ذلك، بينما يجب أن تعمل، لا تتوقع أداءً جيدًا من هذه البطاقة---ليس لديها خط مقاطعة وبالتالي أثناء تقدم المسح، يصبح النظام غير قابل للاستخدام تقريبًا. يمكنك تغيير قيم وحدات الماكرو USLEEP في drivers/scsi/g_NCR5380.c. بعض التوثيق موجود في هذا الملف و NCR5380.c.
لبعض الماسحات قد يكون من الضروري تعطيل قطع/إعادة الاتصال. لتحقيق ذلك استخدم الخيار ncr53c8xx="disc:n". أبلغ بعض الأشخاص أن ماسحهم يعمل فقط مع برنامج تشغيل 53c7,8xx، وليس ncr53c8xx. جرب كليهما إذا واجهت مشكلة.
لأنوية لينكس قبل 2.0.33 قد يكون من الضروري زيادة مهلة SCSI. المهلة المبدئية لأنوية لينكس قبل 2.0.33 هي 10 ثوانٍ، وهي منخفضة جدًا عند مسح منطقة كبيرة. إذا حصلت على رسائل من النموذج “restart (ncr dead ?)” في ملف /var/log/messages الخاص بك أو على وحدة تحكم النظام، فهذا مؤشر على أن المهلة قصيرة جدًا. في هذه الحالة، ابحث عن السطر “if (np->latetime>10)” في ملف ncr53c8xx.c (عادةً في الدليل /usr/src/linux/drivers/scsi) وغير الثابت 10 إلى، على سبيل المثال، 60 (دقيقة واحدة). ثم أعد بناء النواة/الوحدة وحاول مرة أخرى.
يمكن تنزيل برنامج التشغيل من http://www.garloff.de/kurt/linux/dc395/. لبعض الماسحات الأقدم قد يكون من الضروري تعطيل جميع الميزات الأكثر تقدمًا باستخدام على سبيل المثال modprobe dc395x_trm dc395x_trm=7,5,1,32.
الإصدار 1.11 من برنامج تشغيل Tekram يبدو أنه يعمل بشكل جيد في الغالب، باستثناء أن المسح لا ينتهي بشكل صحيح (يسبب مهلة SCSI بعد 10 دقائق). يبدو أن AM53C974 العام يعمل بشكل جيد أيضًا ولا يعاني من مشاكل المهلة.

معلومات حول SOLARIS وOPENSTEP وNEXTSTEP

تحت Solaris وOpenStep وNeXTStep، يشير اسم جهاز SCSI العام إلى ناقل SCSI، وليس إلى جهاز فردي. على سبيل المثال، يشير /dev/sg0 إلى أول ناقل SCSI. لإخبار SANE بالجهاز الذي يجب استخدامه، ألحق الحرف 'a'+معرف الهدف باسم الجهاز الخاص. على سبيل المثال، يُسمى جهاز SCSI المتصل بأول وحدة تحكم SCSI وبمعرف هدف 0 /dev/sg0a، ويُسمى الجهاز ذو معرف الهدف 1 على نفس الناقل /dev/sg0b، وهكذا.

البيئة

إذا تم تجميع المكتبة مع دعم التصحيح مفعّلاً، يتحكم متغير البيئة هذا في مستوى التصحيح للنظام الفرعي العام للإدخال/الإخراج SCSI. على سبيل المثال، قيمة 128 تطلب طباعة جميع مخرجات التصحيح بواسطة النهاية الخلفية. قيمة 255 تطبع أيضًا رسائل النواة من النظام الفرعي SCSI (حيثما كان متاحًا). المستويات الأصغر تقلل من الإسهاب.
يضبط قيمة المهلة لأوامر SCSI بالثواني. تجاوز القيمة المبدئية البالغة 120 ثانية يجب أن يكون ضروريًا فقط للماسحات الضوئية البطيئة جدًا.

انظر أيضًا

sane(7)، sane-find-scanner(1)، sane-"backendname"(5)، sane-usb(5)

المؤلف

ديفيد موسبيرجر

ترجمة

تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.

14 يوليو 2008