Scroll to navigation

sane-scsi(5) SANE: „Scanner Access Now Easy” sane-scsi(5)

NUME

sane-scsi - sfaturi pentru adaptorul SCSI pentru scanere

DESCRIERE

Această pagină de manual conține diverse sfaturi și trucuri specifice sistemului de operare pentru a face să funcționeze scanerele cu interfață SCSI.

INFORMAȚII GENERALE

În cazul scanerelor cu interfață SCSI, poate fi necesar să editați fișierul de configurare al controlorului corespunzător înainte de a utiliza SANE pentru prima dată. Pentru majoritatea sistemelor, fișierul de configurare ar trebui să enumere numele dispozitivului SCSI generic la care este conectat scanerul (de exemplu, sub Linux, /dev/sg4 sau /dev/sge este un astfel de dispozitiv SCSI generic). Se obișnuiește să se creeze o legătură simbolică de la /dev/scanner la dispozitivul SCSI generic la care este conectat scanerul. În acest caz, fișierul de configurare listează pur și simplu linia /dev/scanner. Pentru o descriere detaliată a fișierului de configurare al fiecărui controlor, consultați pagina de manual a controlorului respectiv (de exemplu, sane-epson(5) pentru scanerele Epson, sane-hp(5) pentru scanerele HP etc.).

Pentru unele sisteme de operare (de exemplu, Linux și OS/2), există o modalitate alternativă de a specifica dispozitivele de scanare. Acest mod alternativ permite identificarea scanerelor prin șirul fabricantului și al modelului SCSI și/sau prin adresa dispozitivului SCSI (formată din numărul de magistrală, numărul canalului, ID-ul și numărul unității logice). Sintaxa pentru specificarea unui scaner în acest mod este următoarea:

scsi FABRICANT MODEL TIP BUS CANAL ID NR_UNIT_LOGICĂ

unde FABRICANT este șirul fabricantului SCSI, MODEL este șirul modelului SCSI, TIP este șirul tipului de dispozitiv SCSI, BUS este numărul de magistrală SCSI (numit „host” în /proc/scsi/scsi), CANAL este numărul canalului SCSI, ID este ID-ul SCSI și NR_UNIT_LOGICĂ este numărul unității logice a dispozitivului de scanare. Primele două câmpuri sunt șiruri de caractere care trebuie să fie încadrate între ghilimele duble dacă conțin spații albe. Celelalte patru câmpuri sunt numere întregi nenegative. Valorile corecte pentru aceste câmpuri pot fi găsite cu ajutorul instrumentelor specifice sistemului de operare, de exemplu, pentru Linux, consultând rezultatul comenzii cat /proc/scsi/scsi. Pentru a simplifica configurarea, valoarea unui câmp poate fi înlocuită cu un simbol asterisc („*”). Un asterisc are ca efect faptul că orice valoare este permisă pentru câmpul respectiv. Acest lucru poate avea ca efect faptul că o singură linie scsi corespunde mai multor dispozitive. Atunci când se întâmplă acest lucru, fiecare dispozitiv care se potrivește va fi cercetat de către controlor unul câte unul și înregistrat dacă controlorul consideră că este un dispozitiv compatibil. De exemplu, linia

scsi MUSTEK MFS-06000CX Scanner 0 00 03 00

va atașa scanerul Mustek SCSI cu următoarea intrare „/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

De obicei, este suficient să se utilizeze doar șirurile fabricantului și modelului sau chiar doar șirul fabricantului. Următorul exemplu

scsi MUSTEK * * * * * *

va avea ca efect faptul că toate dispozitivele SCSI din sistem cu un șir de furnizor MUSTEK vor fi cercetate și recunoscute de controlor.

În cazul în care restul unui șir scsi este format numai din asteriscuri, asteriscurile pot fi omise. De exemplu, următoarea linie este echivalentă cu cea specificată anterior:

scsi MUSTEK

Pe unele platforme (de exemplu, OpenStep), numele dispozitivelor SANE au o formă specială. Acest lucru este explicat mai jos, în secțiunea specifică platformei respective.

Atunci când utilizați un scaner SCSI, asigurați-vă că permisiunea de acces pentru dispozitivul SCSI generic este configurată în mod corespunzător. Vă recomandăm să adăugați un grup „scanner” la /etc/group care să conțină toți utilizatorii care ar trebui să aibă acces la scaner. Permisiunea dispozitivului trebuie apoi configurată astfel încât să permită accesul grupului la citire și scriere. De exemplu, dacă scanerul se află pe dispozitivul generic SCSI /dev/sg0, atunci următoarele două comenzi vor configura corect permisiunea:

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

Atunci când sistemul dvs. utilizează sistemul de fișiere de dispozitiv (devfs), trebuie să editați /etc/devfs/perms. Acolo trebuie să căutați linia:

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

și să adăugați o nouă linie (de exemplu, pentru a schimba permisiunile lui sg4):

REGISTER ^sg4 PERMISSIONS root.scanner 0660

INFORMAȚII PENTRU FREEBSD

Autoconfigurarea folosind liniile „scsi *” din fișierele de configurare funcționează numai dacă utilizatorul care rulează interfața are acces de citire/scriere la /dev/xpt0. În schimb, puteți stabili, de asemenea, o legătură /dev/scanner către dispozitivul /dev/uk corespunzător.

S-a raportat că funcționează bine sub FreeBSD 2.2.2R cu controlorul aha.
S-a raportat că funcționează bine sub FreeBSD 2.2.2.2.
Scanerul sondează ok, dar orice încercare de accesare a acestuia blochează întregul sistem. Se pare că ceva dezactivează întreruperile și apoi nu le mai reactivează, deci pare a fi o eroare în controlorul FreeBSD aic.
Funcționează pe FreeBSD 2.2.5R și 3.0 utilizând controlorul aic, cu condiția ca suportul „Plug-and-Play” (conectare și utilizare) să fie dezactivat pe placă. Dacă nu există dispozitive uk, executați doar o comandă sh MAKEDEV uk0 în directorul /dev. Scanerul ar trebui apoi să fie accesibil ca /dev/uk0 dacă a fost sondat în timpul pornirii.
S-a raportat că funcționează bine sub FreeBSD 2.2.2R cu controlorul amd.

INFORMAȚII PENTRU LINUX

În primul rând, asigurați-vă că nucleul dvs. are activat suportul generic SCSI. În make xconfig, acest lucru apare la „SCSI support->SCSI generic support”.

Pentru a reduce la minimum timpii de scanare, se recomandă cu tărie utilizarea unei memorii tampon de dimensiuni mari pentru controlorul SCSI generic. Începând cu versiunea 2.0 a controlorului SG, dimensiunea maximă a memoriei tampon poate fi modificată în timpul rulării programului și nu există nicio restricție în ceea ce privește dimensiunea. Această versiune de controlor face parte din nucleele Linux începând cu versiunea 2.2.7. În cazul în care noul controlor SG este disponibil, unii controlori-sane (de exemplu, sane-umax(5), sane-mustek(5), sane-sharp(5)) solicită automat memorii tampon SCSI mai mari. Dacă un controlor-sane nu solicită automat o memorie tampon SCSI mai mare, definiți variabila de mediu SANE_SG_BUFFERSIZE la dimensiunea dorită a memoriei tampon în octeți. Nu se recomandă să se utilizeze mai mult de 1 Mo, deoarece, pentru valori mari, crește probabilitatea ca controlorul SG să nu poată aloca memorile tampon necesare. Pentru plăcile ISA, chiar și 1 Mo ar putea fi o valoare prea mare. Pentru o discuție detaliată a controlorului Linux SG SCSI, consultați: https://tldp.org/HOWTO/SCSI-Generic-HOWTO.

Pentru nucleele Linux anterioare versiunii 2.2.7, dimensiunea memoriei tampon este de numai 32Ko. Acest lucru funcționează, dar pentru multe scanere mai ieftine acest lucru face ca scanarea să fie mai lentă de aproximativ patru ori decât atunci când se utilizează o dimensiune de 127Ko. Linux definește dimensiunea acestei memorii tampon prin macro-ul SG_BIG_BUFF din fișierul de antet /usr/include/scsi/sg.h. Cu excepția cazului în care un sistem are un deficit serios de memorie, se recomandă creșterea acestei valori la valoarea maximă legală de 128*1024-512=130560 octeți. După modificarea acestei valori, este necesar să se recompileze atât nucleul (sau modulul generic SCSI), cât și controlorii SCSI. Rețineți că acest lucru este necesar numai în cazul nucleelor Linux mai vechi.

O problemă frecventă în cazul scanerelor SCSI este ce trebuie făcut atunci când ați pornit sistemul în timp ce scanerul era oprit. În acest caz, scanerul nu va fi recunoscut de nucleu și SANE nu va putea să-l acceseze. Din fericire, Linux oferă un mecanism simplu pentru a sonda un dispozitiv SCSI la cerere. Să presupunem că aveți un scaner conectat la magistrala SCSI 2 și că scanerul are un ID SCSI de 5. Când sistemul este pornit și funcționează și scanerul este pornit, puteți emite comanda:

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

iar nucleul va sonda și va recunoaște scanerul (acest lucru trebuie să fie făcut ca root). De asemenea, este posibil să eliminați dinamic un dispozitiv SCSI folosind comanda «remove-single-device». Pentru detalii, vă rugăm să consultați SCSI-2.4-HOWTO.

Se știe că scanerele funcționează cu următoarele adaptoare SCSI în Linux. Această listă nu este completă, de obicei orice adaptor SCSI acceptat de Linux ar trebui să funcționeze.

Unele versiuni vechi ale controlorului de nucleu (atp870u.c) taie informațiile de interogare. Prin urmare, scanerul nu ar putea să fie detectat corect. Utilizați un nucleu actual.
S-a raportat că funcționează bine cu Linux începând cu v2.0. Dacă întâmpinați blocaje ale nucleului sau alte comportamente neașteptate, obțineți cel mai recent nucleu Linux (2.2.17 pare să funcționeze) sau reduceți dimensiunea memoriei tampon SCSI la 32 ko.
S-a raportat că funcționează bine cu Linux v2.0.
Pentru a configura placa BusLogic, este posibil să fie nevoie să urmați aceste instrucțiuni (furnizate de Jeremy <jeremy@xxedgexx.com>): În timpul pornirii, când adaptorul BusLogic este inițializat, apăsați Ctrl-B pentru a intra în configurarea adaptorului BusLogic. Alegeți adresa la care se află BusLogic care conține scanerul dvs. Alegeți „SCSI Device Configuration”. Alegeți „Scan SCSI Bus”. Alegeți orice ID SCSI care conține scanerul dumneavoastră și apoi alegeți „View/Modify SCSI configuration”. Modificați „Negotiation” la „async” și modificați „Disconnect” la „off”. Apăsați «Esc», salvați și din nou «Esc» până când vi se cere să reporniți.
Această placă este furnizată de Mustek (și de alți furnizori). Este acceptată începând cu Linux 2.2. Plăcile SCSI sunt susținute de modulul g_NCR5380. Este necesar să se comunice nucleului portul io și tipul de placă. Exemplu pentru o placă 53c400a: modprobe g_NCR5380 ncr_addr=0x280 ncr_53c400a=1. Odată ce nucleul detectează placa, ar trebui să funcționeze bine. Cu toate acestea, deși ar trebui să funcționeze, nu vă așteptați la performanțe bune de la această placă - nu are o linie de întrerupere și, prin urmare, în timp ce o scanare este în desfășurare, sistemul devine aproape inutilizabil. Puteți modifica valorile macrocomenzilor USLEEP în drivers/scsi/g_NCR5380.c. O parte din documentație se află în acest fișier și în NCR5380.c.
Pentru unele scanere poate fi necesară dezactivarea deconectării/reconectării. Pentru a realiza acest lucru, utilizați opțiunea ncr53c8xx="disc:n". Unele persoane au raportat că scanerul lor a funcționat numai cu controlorul „53c7,8xx”, nu și cu „ncr53c8xx”. Încercați-le pe ambele dacă aveți probleme.
În cazul nucleelor Linux anterioare versiunii 2.0.33, este posibil să fie necesar să se mărească timpul de așteptare SCSI. Timpul de așteptare prestabilit pentru nucleele Linux anterioare versiunii 2.0.33 este de 10 secunde, ceea ce este mult prea puțin atunci când se scanează o suprafață mare. Dacă primiți mesaje de forma „restart (ncr dead ?)” în fișierul /var/log/messages sau pe consola de sistem, este un indiciu că timpul de așteptare este prea scurt. În acest caz, găsiți linia „if (np->latetime>10)” în fișierul ncr53c8xx.c (în mod normal în directorul /usr/src/linux/drivers/scsi) și schimbați constanta 10 în, să zicem, 60 (un minut). Apoi reconstruiți nucleul/modulul și încercați din nou.
Controlorul poate fi descărcat de la adresa http://www.garloff.de/kurt/linux/dc395/. Pentru unele scanere mai vechi, poate fi necesar să dezactivați toate funcțiile mai avansate folosind, de exemplu, modprobe dc395x_trm dc395x_trm=7,5,1,32.
Versiunea 1.11 a controlorului Tekram pare să funcționeze bine în mare parte, cu excepția faptului că scanarea nu se termină în mod corespunzător (provoacă o depășire a timpului de așteptare SCSI după 10 minute). Modelul generic AM53C974 pare să funcționeze bine și nu suferă de problemele de depășire a timpului de așteptare.

INFORMAȚII PENTRU SOLARIS, OPENSTEP ȘI NEXTSTEP

În Solaris, OpenStep și NeXTStep, numele generic al dispozitivului SCSI se referă la o magistrală SCSI, nu la un dispozitiv individual. De exemplu, /dev/sg0 se referă la prima magistrală SCSI. Pentru a-i indica lui SANE ce dispozitiv să folosească, adăugați caracterul „a”+id-țintă la numele special al dispozitivului. De exemplu, dispozitivul SCSI conectat la primul controler SCSI și cu ID-ul-țintă 0 se va numi /dev/sg0a, iar dispozitivul cu ID-ul-țintă 1 de pe aceeași magistrală se va numi /dev/sg0b, și așa mai departe.

MEDIU

Dacă biblioteca a fost compilată cu suportul de depanare activat, această variabilă de mediu controlează nivelul de depanare pentru subsistemul generic SCSI I/O. De exemplu, o valoare de 128 solicită ca toate ieșirile de depanare să fie afișate de către controlor. O valoare de 255 afișează, de asemenea, mesajele nucleului de la subsistemul SCSI (acolo unde este disponibil). Nivelurile mai mici reduc nivelul de detalii.
stabilește valoarea timpului de așteptare pentru comenzile SCSI în secunde. Suprascrierea valorii implicite de 120 de secunde ar trebui să fie necesară numai pentru scanerele foarte lente.

CONSULTAȚI ȘI

sane(7), sane-find-scanner(1), sane-„nume-controlor”(5), sane-usb(5)

AUTOR

David Mosberger

TRADUCERE

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

14 iulie 2008