sunnuntai 4. marraskuuta 2018

LaserJet printterin muuttaminen langattomaksi

Minulla on vuosikymmenen ollut LaserJet 1300 Windows koneessa kiinni, joka on jakanut printterin kämppään. Tässä tuli työhuoneen siivousprojektin yhteydessä tarve printterin siirtämiseksi piiloon kaapin sisään, jonka lähellä ei ole Windows tietokoneita, mutta jonne talon langaton verkko kuuluu.

Joten otin projektiksi katsoa saisinko sen kuinka helposti tukemaan wlania esim. Raspberry Pi:llä. Ja onnistuuhan tuo ja varsin edullisestikin.

Tässä BOM (Bill of Materials):

- Raspberry Pi Zero (Aliexpressistä 13.2e kotiintoimitettuna)
- 8GB microsd (Aliexpressistä 3e)
- 3 porttinen usb hubi verkkokortilla (3e)
- 5V microusb power (2e)
- USB wlan dongle (1.2e)
- pi zero case (https://www.thingiverse.com/thing:1167846 itse printattuna 0.3e)

Tekee alle 25e vaikka kiinatarjousten hinta vaihtelisi.

Asennuksen ajaksi tarvittiin myös USB näppis, jolla enabloida ssh.
Raspbian asennuksen jälkeen logataan sisään pi käyttäjänä:
# sudo systemctl enable sshd
# sudo systemctl start sshd
Itsellä piti vielä enabloida wifi (kukin voi tehdä sen erilailla).
# sudo echo "country=FI" >> /etc/wpa_supplicant/wpa_supplicant.conf
# sudo wpa_passphrase *SSID* *salasana* >> /etc/wpa_supplicant/wpa_supplicant.conf
# cat /etc/network/interfaces

source-directory /etc/network/interfaces.d
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
Ja kun asetukset on paikoillaan, niin reboottia laitteelle, jonka jälkeen pääsee koneeseen ssh:lla käsiksi ja usb näppiksen voi unohtaa.

# sudo apt-get update
# sudo apt-get install cups hplip
# sudo usermod -a -G lpadmin pi

CUPSin conffitiedosto on /etc/cups/cupsd.conf, johon pitää tehdä muutamia muutoksia, että sitä voi käyttää vapaasti paikallisverkosta.

Etsi seuraava rivi:
Listen localhost:631
ja muuta se seuraavaksi:
Listen 0.0.0.0:631

Lisää seuraavat rivit:
BrowseRemoteProtocols CUPS dnssd
BrowseAddress @LOCAL


Etsi juurimääritys ja muuta se seuraavanlaiseksi:
<Location />
Order allow,deny
Allow all
</Location>

Ja sitten poistetaan "Order" rivit Location /admin ja Location /admin/conf lohkoista.

# sudo systemctl restart cups

Ja sitten conffaus loppuun webbibrowserin kanssa http://ip:631

Kuvalliset ohjeet cups:n conffamiseen webbibrowserilla esim täällä https://samhobbs.co.uk/2014/07/raspberry-pi-print-scanner-server.

Ja conffauksen jälkeen testasin Win10 koneesta, että kaikki toimii, printterin etsintäurliin syötin http://ip:631/printers/HP_LaserJet_1300, ja heittämällä toimi printtaus windows koneestakin käsin. Profit.