FreeBSD, hálózati szkennelés Raspberry PI-vel

Előzmény itt.

Adott egy FreeBSD-vel telepített RPI, melyet szkenner-szervernek akarok beállítani. A szkenner egy régebbi, HP DeskJet F4100 multifunkciós kütyü, amelynek csak a szkenner részét használjuk.

Raspberry PI

Az RPI-re a graphics/sane-backends portot kell telepíteni. Sajnos az SNMP opció alapértelmezetten kikapcsolt, ezért mindenféleképpen fordítani kell úgy, hogy az SNMP opció bekapcsolt legyen (persze az uzsolt/freebsd nemhivatalos repóból telepíthető bekapcsolt SNMP-vel).
Mivel egy HP termékről van szó, ezért a print/hplip port is kelleni fog, bekapcsolt SCAN és SNMP opciókkal.
Miután ezek megtörténtek, a /usr/local/etc/sane.d/saned.conf fájlba fel kell venni azokat az IP-címeket, ahonnan elfogadja és kiszolgálja a kéréseket. Esetemben:

localhost
192.168.2.100
192.168.2.101

A /etc/rc.conf-ba vegyük fel, hogy a saned szerver induljon: saned_enable="YES", majd indítsuk is el: service saned start.

Szkennelni vágyó gépek

Ezekre a gépekre is telepíteni kell a graphics/sane-backends portot, szintén bekapcsolt SNMP opcióval! Mivel (jelenleg) a hivatalos csomagokban az opció kikapcsolt, ezért mindenféleképpen portból kell telepíteni. A hplip csomag ezeken a gépeken nem kell.
Miután megtörtént a telepítés, a /usr/local/etc/sane.d/net.conf fájlba az RPI IP-címét kell felvenni, esetemben:

192.168.2.102

Ezután elvileg a scanimage -L listájában megjelenik a hálózati szkenner:

device `net:192.168.2.102:hpaio:/usb/Deskjet_F4100_series?serial=CN84S6V05M04TJ' is a Hewlett-Packard Deskjet_F4100_series all-in-one

Ha siker, akkor akár a scanimage programmal, akár az xsane-nel lehet szkennelni.

Megjegyzések

  • IP-címek helyett nyilván host-nevek is használhatóak a saned.conf és net.conf fájlokban
  • Gondolom, linux esetén a beállítás hasonló, nyilván a /usr/local/etc helyett a /etc könyvtárban levő sane.d könyvtárban levő fájlokat kell szerkeszteni. Másrészt sane-backends csomag neve más lehet, illetve elképzelhető, hogy az SNMP opció nincs bekapcsolva (a ./configure szkript a --with-snmp paraméterrel kapcsolja be)

Utóiratok

  • (2014.10.03. 21:12) Linux Mint alatt a sane-ben nincs ez a net-snmp
  • (2014.10.03. 22:11) Mégis van rendesen Mint alatt is, csak ott tévesztettem, hogy az RPI-re rádugtam a nyomtatót is, és a /dev-ben a jogok elállítódtak (a devfs-ben még nem állítottam be, csak chown, chgrp volt)

Hozzászólások

Na most megerősítetted bennem a hitet. Melóban akarok egy print/scan/file/wireless ap szervert csinálni. Szkennelés nekem mondjuk ott kimerül, hogy ha megnyomja az arc a gombot a szkenneren, akkor szépen berakja egy samba-n megosztott mappába, és onnan elérik a windows kliensek. Szép lesz összerakni, ja meg lehet később egy openvpn is kerül rá, hogy telephelyen kívülről is el lehessen érni a "szolgáltatásokat".

Van egy most is aktív fejlesztés: scanbd.
Amennyire értem, azt kellene tenni, hogy a scanbuttond programot futtatod, és meg lehet adni egy szkriptet, ami lefut, ha a szkenneren megnyomod a "scan" gombot. Ebbe a szkriptbe pl. belerakhatod, hogy scanimage > szkennelt_kep, amit aztán pl. megoszthatsz (ahogy Czo is teszi). Egy példa-szkript a portban benne van.

Nagyobb a baj. Nézegettem ktrace-szel. Elindul, betölti a moduljait, megtalálja a plustek drivert, mint megfelelőt, felismeri a szkennert, lefuttatja a z init-szkriptet, majd a végén valami számomra eléggé érthetetlen open errorral visszatér, és ezt csinálja a végtelenségig. De majd még vizsgálom kicsit.

snmp miert kell? azon keresztul mit kerdez le?

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Szerintem a hálózat támogatásához kell. Legalábbis anélkül nem ment, utána csak annyit változtattam, hogy mindkét gépre olyan opcióval fordítottam, és rögtön ment.
Ami egy kicsit furcsa, Mint esetében nincs ilyen snmp telepítve, még az ldd kimenetében sem szerepel, mégis működik.

Szóval összességében: passz :) Nemigen tudom, mi is ez az snmp, ezekhez nemigen értek. Tipikus próba-cseresznye megoldás volt, láttam, RPI-n ment a scanimage, de a többi gép nem látta (még a Mint sem). RPI-re snmp-set fordítottam (láttam benne a network szót, ezért gondoltam megpróbálni :) ), utána ment minden. Lehet, hogy a FreeBSD-vel telepített laptopomon nem is kellene, csak az RPI-n kell ez az opció.