Chmelej's Blog

Domácí LAN a sdílená tiskárna

Published 02 Nov 20203 min read0 comments
header-image

Jak doma roste počet počítačů a chytrých telefonů, zvyšují se požadavky tisknout.

Zejména karanténa a distanční výuka odstartovala tiskový boom. Moje stará laserovka Koníka Minolta PagePro 1300W už má něco za sebou, ale vzhledem k jejímu zatížení novou tiskárnu rozhodně nepotřebuju. Tento prehistorický kousek (tuším že jsem ji pořizoval kolem roku 2005 a je tam teprve tam 2. toner) má konektory USB a LPT. A abych nemusel pořád běhat až do pracovny k tiskárně s NB a šachovat s kabely, tak jsem vytáhnul ze šuplíku staré Raspberry Pi a nastavím si ho jako tiskový server.

Instalace RPi - raspbian

  • stáhnout img
  • zkopírovat na microSD (min 8GB), k tomu používám programek balenaEtcher
  • namountovat microSD k NB
  • nastavit start sshd cd /media/.../boot/ ; touch ssh
  • vložit do RPi a zapnout (zatím s monitorem) abych viděl IP (jinak je potřeba ji detekovat na LAN třeba přes MAC - rpi má omezený počet prefixu, nebo se na routeru objeví nové zařízení)
  • přihlásit přes ssh a user: pi heslo: raspberry
  • změnit heslo, přidat ssh klíček
  • aktualizovat balíčky
  • nainstalovat CUPS
# instalace CUPS
apt install cups

# instalace driveru pro moji tiskarnu Konica Minolta PagePro 1300W
apt install printer-driver-min12xxw

# abych nemusel mit monitor a klavesnici u RPi tak pristupuji vzdalene
ssh pi@raspberrypi -L 10631:localhost:631

# potom staci na NB otevrit v prohlizeci konfiguraci CUPS a naklikat pripojenou tiskarnu
sensible-browser http://localhost:10631/

# lokalne tisk z raspberry funguje hned a bez problemu, zbyva povolit pristup z okolnich pocitacu. 
# Na rovinu bezpecnost RPi me moc nezajima, pokud nebudu zrovna tisknout, tak tiskarna i RPi budou vypnuty. 
# A pokud nekdo v dome bude chtit tisknout, tak je zbytecny mu hazet klacku pod nohy.
#
# Po nekolika pokusech to zacalo fungovat. mam ulozeny konfigurak ktery zabral:
cat /etc/cups/cupds.conf
| LogLevel warn
| PageLogFormat
| MaxLogSize 1m
| Port 631
| Listen /run/cups/cups.sock
| Browsing On
| BrowseLocalProtocols dnssd
| DefaultAuthType None
| WebInterface Yes
| <Location />
|    Order deny,allow
|   Allow all
| </Location>
...
# nekde na foru jsem nasel ze sravne poradi je deny,allow cili jsem prohnal 
# konfigurak s/allow,deny/deny,allow/


# jak vypnout a zapnout CUPS server aby se projevili zmeny v nastaveni
service cups stop
service cups start

# par zmatenych prikazu uprimne nevim jestli to k necemu bylo
cupsctl --share-printers
cupsctl --share-printers --remote-any
lpadmin -p PP1300W -o printer-is-shared=true
  • Ještě by bylo vhodné, aby RPi mělo vždy stejou IP (to se dá nastavit na routeru), ale mám pocit že to není úplně potřeba, protože sdílená tiskárna se vždy hledá pomocí DNS-SD
  • Chtěl bych aby tiskárna a RPi se zapínalo najednou, napadlo mě, že zkusím hacknout zdroj tiskárny a vytáhnout 5V, co potřebuje RPi, ale přeci jen je to laserové zařízení a já nejsem žádný kovaný bastlíř, takže se nakonec bojím do toho šahat a vyhrála varianta B) PEZ s vypínačem.
  • TODO: Ještě bych mohl nastavit microSD jako read only - doufám, že tím dosáhnu delší životnosti karty a hlavně, že při častém zapinani/vypinani se nepoškodí FS.

Instalace klienta na notebooku (linux)

Dohledat síťovou tiskárnu jde samo, nic nastavovat se nemusí, jediné co jsem řešil jestli mám dát driver přímo pro moji tiskárnu (vlastně ten samý co už je na RPi) nebo jen nějaký generic PS … nakonec jsem tam dal driver pro Minoltu (stejně už ho na notebooku mám nainstalovaný. U dalšího NB to zkusím bez driveru.

Instalace klienta na Android 10

  • Driver CUPS Printing umí cekem rychle najít na LANu CUPS tiskárnu - nic víc to neumí.
  • Jelikož většina aplikací v telefonu s tiskem nepočítá, tak vytisknout cokoliv je trochu zádrhel, takže jsem ještě nainstaloval Print adjuster, který umí tisknout a navíc tuto možnost nabízí pomocí sdílení i v jiných aplikacích. Takže třeba mám fotku, chci ji vytisknout, tak dám sdílet -> “Print adjuster” a pak, už jen stačí vybrat tiskárnu (případně tisíc dalších parametrů) a je to.