sane-scsi(5) SANE: ,,Scanner Access Now Easy" sane-scsi(5) NUME sane-scsi - sfaturi pentru adaptorul SCSI pentru scanere DESCRIERE Aceasta pagina de manual conine diverse sfaturi i trucuri specifice sistemului de operare pentru a face sa funcioneze scanerele cu interfaa SCSI. INFORMAII GENERALE In cazul scanerelor cu interfaa SCSI, poate fi necesar sa editai fiierul de configurare al controlorului corespunzator inainte de a utiliza SANE pentru prima data. Pentru majoritatea sistemelor, fiierul de configurare ar trebui sa 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 obinuiete sa se creeze o legatura simbolica de la /dev/scanner la dispozitivul SCSI generic la care este conectat scanerul. In acest caz, fiierul de configurare listeaza pur i simplu linia /dev/scanner. Pentru o descriere detaliata a fiierului de configurare al fiecarui controlor, consultai 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), exista o modalitate alternativa 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 (formata din numarul de magistrala, numarul canalului, ID-ul i numarul unitaii logice). Sintaxa pentru specificarea unui scaner in acest mod este urmatoarea: scsi FABRICANT MODEL TIP BUS CANAL ID NR_UNIT_LOGICA unde FABRICANT este irul fabricantului SCSI, MODEL este irul modelului SCSI, TIP este irul tipului de dispozitiv SCSI, BUS este numarul de magistrala SCSI (numit ,,host" in /proc/scsi/scsi), CANAL este numarul canalului SCSI, ID este ID-ul SCSI i NR_UNIT_LOGICA este numarul unitaii logice a dispozitivului de scanare. Primele doua campuri sunt iruri de caractere care trebuie sa fie incadrate intre ghilimele duble daca conin spaii albe. Celelalte patru campuri sunt numere intregi nenegative. Valorile corecte pentru aceste campuri pot fi gasite cu ajutorul instrumentelor specifice sistemului de operare, de exemplu, pentru Linux, consultand rezultatul comenzii cat /proc/scsi/scsi. Pentru a simplifica configurarea, valoarea unui camp poate fi inlocuita cu un simbol asterisc (,,*"). Un asterisc are ca efect faptul ca orice valoare este permisa pentru campul respectiv. Acest lucru poate avea ca efect faptul ca o singura linie scsi corespunde mai multor dispozitive. Atunci cand se intampla acest lucru, fiecare dispozitiv care se potrivete va fi cercetat de catre controlor unul cate unul i inregistrat daca controlorul considera ca este un dispozitiv compatibil. De exemplu, linia scsi MUSTEK MFS-06000CX Scanner 0 00 03 00 va ataa scanerul Mustek SCSI cu urmatoarea 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 sa se utilizeze doar irurile fabricantului i modelului sau chiar doar irul fabricantului. Urmatorul exemplu scsi MUSTEK * * * * * * va avea ca efect faptul ca toate dispozitivele SCSI din sistem cu un ir de furnizor MUSTEK vor fi cercetate i recunoscute de controlor. In cazul in care restul unui ir scsi este format numai din asteriscuri, asteriscurile pot fi omise. De exemplu, urmatoarea linie este echivalenta cu cea specificata anterior: scsi MUSTEK Pe unele platforme (de exemplu, OpenStep), numele dispozitivelor SANE au o forma speciala. Acest lucru este explicat mai jos, in seciunea specifica platformei respective. Atunci cand utilizai un scaner SCSI, asigurai-va ca permisiunea de acces pentru dispozitivul SCSI generic este configurata in mod corespunzator. Va recomandam sa adaugai un grup ,,scanner" la /etc/group care sa conina toi utilizatorii care ar trebui sa aiba acces la scaner. Permisiunea dispozitivului trebuie apoi configurata astfel incat sa permita accesul grupului la citire i scriere. De exemplu, daca scanerul se afla pe dispozitivul generic SCSI /dev/sg0, atunci urmatoarele doua comenzi vor configura corect permisiunea: $ chgrp scanner /dev/sg0 $ chmod 660 /dev/sg0 Atunci cand sistemul dvs. utilizeaza sistemul de fiiere de dispozitiv (devfs), trebuie sa editai /etc/devfs/perms. Acolo trebuie sa cautai linia: REGISTER ^sg[^/]* PERMISSIONS root.root 0600 i sa adaugai o noua linie (de exemplu, pentru a schimba permisiunile lui sg4): REGISTER ^sg4 PERMISSIONS root.scanner 0660 INFORMAII PENTRU FREEBSD Autoconfigurarea folosind liniile ,,scsi *" din fiierele de configurare funcioneaza numai daca utilizatorul care ruleaza interfaa are acces de citire/scriere la /dev/xpt0. In schimb, putei stabili, de asemenea, o legatura /dev/scanner catre dispozitivul /dev/uk corespunzator. Adaptec AHA1542CF S-a raportat ca funcioneaza bine sub FreeBSD 2.2.2R cu controlorul aha. Adaptec 2940 S-a raportat ca funcioneaza bine sub FreeBSD 2.2.2.2. Adaptec 1522 Scanerul sondeaza ok, dar orice incercare de accesare a acestuia blocheaza intregul sistem. Se pare ca ceva dezactiveaza intreruperile i apoi nu le mai reactiveaza, deci pare a fi o eroare in controlorul FreeBSD aic. Adaptec 1505 Funcioneaza pe FreeBSD 2.2.5R i 3.0 utilizand controlorul aic, cu condiia ca suportul ,,Plug-and-Play" (conectare i utilizare) sa fie dezactivat pe placa. Daca nu exista dispozitive uk, executai doar o comanda sh MAKEDEV uk0 in directorul /dev. Scanerul ar trebui apoi sa fie accesibil ca /dev/uk0 daca a fost sondat in timpul pornirii. Tekram DC390 S-a raportat ca funcioneaza bine sub FreeBSD 2.2.2R cu controlorul amd. INFORMAII PENTRU LINUX In primul rand, asigurai-va ca nucleul dvs. are activat suportul generic SCSI. In make xconfig, acest lucru apare la ,,SCSI support->SCSI generic support". Pentru a reduce la minimum timpii de scanare, se recomanda cu tarie utilizarea unei memorii tampon de dimensiuni mari pentru controlorul SCSI generic. Incepand cu versiunea 2.0 a controlorului SG, dimensiunea maxima a memoriei tampon poate fi modificata in timpul rularii programului i nu exista nicio restricie in ceea ce privete dimensiunea. Aceasta versiune de controlor face parte din nucleele Linux incepand cu versiunea 2.2.7. In cazul in care noul controlor SG este disponibil, unii controlori-sane (de exemplu, sane-umax(5), sane-mustek(5), sane-sharp(5)) solicita automat memorii tampon SCSI mai mari. Daca un controlor-sane nu solicita automat o memorie tampon SCSI mai mare, definii variabila de mediu SANE_SG_BUFFERSIZE la dimensiunea dorita a memoriei tampon in octei. Nu se recomanda sa se utilizeze mai mult de 1 Mo, deoarece, pentru valori mari, crete probabilitatea ca controlorul SG sa nu poata aloca memorile tampon necesare. Pentru placile ISA, chiar i 1 Mo ar putea fi o valoare prea mare. Pentru o discuie detaliata a controlorului Linux SG SCSI, consultai: https://tldp.org/HOWTO/SCSI-Generic-HOWTO. Pentru nucleele Linux anterioare versiunii 2.2.7, dimensiunea memoriei tampon este de numai 32Ko. Acest lucru funcioneaza, dar pentru multe scanere mai ieftine acest lucru face ca scanarea sa fie mai lenta de aproximativ patru ori decat atunci cand se utilizeaza o dimensiune de 127Ko. Linux definete dimensiunea acestei memorii tampon prin macro-ul SG_BIG_BUFF din fiierul de antet /usr/include/scsi/sg.h. Cu excepia cazului in care un sistem are un deficit serios de memorie, se recomanda creterea acestei valori la valoarea maxima legala de 128*1024-512=130560 octei. Dupa modificarea acestei valori, este necesar sa se recompileze atat nucleul (sau modulul generic SCSI), cat i controlorii SCSI. Reinei ca acest lucru este necesar numai in cazul nucleelor Linux mai vechi. O problema frecventa in cazul scanerelor SCSI este ce trebuie facut atunci cand ai pornit sistemul in timp ce scanerul era oprit. In acest caz, scanerul nu va fi recunoscut de nucleu i SANE nu va putea sa-l acceseze. Din fericire, Linux ofera un mecanism simplu pentru a sonda un dispozitiv SCSI la cerere. Sa presupunem ca avei un scaner conectat la magistrala SCSI 2 i ca scanerul are un ID SCSI de 5. Cand sistemul este pornit i funcioneaza i scanerul este pornit, putei emite comanda: echo "scsi add-single-device 2 0 5 0" > /proc/scsi/scsi iar nucleul va sonda i va recunoate scanerul (acest lucru trebuie sa fie facut ca root). De asemenea, este posibil sa eliminai dinamic un dispozitiv SCSI folosind comanda <>. Pentru detalii, va rugam sa consultai SCSI-2.4-HOWTO. Se tie ca scanerele funcioneaza cu urmatoarele adaptoare SCSI in Linux. Aceasta lista nu este completa, de obicei orice adaptor SCSI acceptat de Linux ar trebui sa funcioneze. Adaptoare SCSI Acard/Advance Unele versiuni vechi ale controlorului de nucleu (atp870u.c) taie informaiile de interogare. Prin urmare, scanerul nu ar putea sa fie detectat corect. Utilizai un nucleu actual. Adaptec AHA-1505/AHA-1542/AHA-2940 S-a raportat ca funcioneaza bine cu Linux incepand cu v2.0. Daca intampinai blocaje ale nucleului sau alte comportamente neateptate, obinei cel mai recent nucleu Linux (2.2.17 pare sa funcioneze) sau reducei dimensiunea memoriei tampon SCSI la 32 ko. ASUS SC200 S-a raportat ca funcioneaza bine cu Linux v2.0. BusLogic BT958 Pentru a configura placa BusLogic, este posibil sa fie nevoie sa urmai aceste instruciuni (furnizate de Jeremy ): In timpul pornirii, cand adaptorul BusLogic este iniializat, apasai Ctrl-B pentru a intra in configurarea adaptorului BusLogic. Alegei adresa la care se afla BusLogic care conine scanerul dvs. Alegei ,,SCSI Device Configuration". Alegei ,,Scan SCSI Bus". Alegei orice ID SCSI care conine scanerul dumneavoastra i apoi alegei ,,View/Modify SCSI configuration". Modificai ,,Negotiation" la ,,async" i modificai ,,Disconnect" la ,,off". Apasai <>, salvai i din nou <> pana cand vi se cere sa repornii. Placa NCR/Symbios 53c400/53c400a sau Domex DTC3181E/L/LE (DTCT436/436P) ISA SCSI Aceasta placa este furnizata de Mustek (i de ali furnizori). Este acceptata incepand cu Linux 2.2. Placile SCSI sunt susinute de modulul g_NCR5380. Este necesar sa se comunice nucleului portul io i tipul de placa. Exemplu pentru o placa 53c400a: modprobe g_NCR5380 ncr_addr=0x280 ncr_53c400a=1. Odata ce nucleul detecteaza placa, ar trebui sa funcioneze bine. Cu toate acestea, dei ar trebui sa funcioneze, nu va ateptai la performane bune de la aceasta placa - nu are o linie de intrerupere i, prin urmare, in timp ce o scanare este in desfaurare, sistemul devine aproape inutilizabil. Putei modifica valorile macrocomenzilor USLEEP in drivers/scsi/g_NCR5380.c. O parte din documentaie se afla in acest fiier i in NCR5380.c. NCR/Symbios 810 Pentru unele scanere poate fi necesara dezactivarea deconectarii/reconectarii. Pentru a realiza acest lucru, utilizai opiunea ncr53c8xx="disc:n". Unele persoane au raportat ca scanerul lor a funcionat numai cu controlorul ,,53c7,8xx", nu i cu ,,ncr53c8xx". Incercai-le pe ambele daca avei probleme. In cazul nucleelor Linux anterioare versiunii 2.0.33, este posibil sa fie necesar sa se mareasca timpul de ateptare SCSI. Timpul de ateptare prestabilit pentru nucleele Linux anterioare versiunii 2.0.33 este de 10 secunde, ceea ce este mult prea puin atunci cand se scaneaza o suprafaa mare. Daca primii mesaje de forma ,,restart (ncr dead ?)" in fiierul /var/log/messages sau pe consola de sistem, este un indiciu ca timpul de ateptare este prea scurt. In acest caz, gasii linia ,,if (np->latetime>10)" in fiierul ncr53c8xx.c (in mod normal in directorul /usr/src/linux/drivers/scsi) i schimbai constanta 10 in, sa zicem, 60 (un minut). Apoi reconstruii nucleul/modulul i incercai din nou. Tekram DC315 Controlorul poate fi descarcat de la adresa http://www.garloff.de/kurt/linux/dc395/. Pentru unele scanere mai vechi, poate fi necesar sa dezactivai toate funciile mai avansate folosind, de exemplu, modprobe dc395x_trm dc395x_trm=7,5,1,32. Tekram DC390 Versiunea 1.11 a controlorului Tekram pare sa funcioneze bine in mare parte, cu excepia faptului ca scanarea nu se termina in mod corespunzator (provoaca o depaire a timpului de ateptare SCSI dupa 10 minute). Modelul generic AM53C974 pare sa funcioneze bine i nu sufera de problemele de depaire a timpului de ateptare. INFORMAII PENTRU SOLARIS, OPENSTEP I NEXTSTEP In Solaris, OpenStep i NeXTStep, numele generic al dispozitivului SCSI se refera la o magistrala SCSI, nu la un dispozitiv individual. De exemplu, /dev/sg0 se refera la prima magistrala SCSI. Pentru a-i indica lui SANE ce dispozitiv sa foloseasca, adaugai caracterul ,,a"+id-inta la numele special al dispozitivului. De exemplu, dispozitivul SCSI conectat la primul controler SCSI i cu ID-ul-inta 0 se va numi /dev/sg0a, iar dispozitivul cu ID-ul-inta 1 de pe aceeai magistrala se va numi /dev/sg0b, i aa mai departe. MEDIU SANE_DEBUG_SANEI_SCSI Daca biblioteca a fost compilata cu suportul de depanare activat, aceasta variabila de mediu controleaza nivelul de depanare pentru subsistemul generic SCSI I/O. De exemplu, o valoare de 128 solicita ca toate ieirile de depanare sa fie afiate de catre controlor. O valoare de 255 afieaza, de asemenea, mesajele nucleului de la subsistemul SCSI (acolo unde este disponibil). Nivelurile mai mici reduc nivelul de detalii. SANE_SCSICMD_TIMEOUT stabilete valoarea timpului de ateptare pentru comenzile SCSI in secunde. Suprascrierea valorii implicite de 120 de secunde ar trebui sa fie necesara numai pentru scanerele foarte lente. CONSULTAI I sane(7), sane-find-scanner(1), sane-,,nume-controlor"(5), sane-usb(5) AUTOR David Mosberger TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . 14 iulie 2008 sane-scsi(5)