CUPS – Printerserver

Om van een lokale USB-printer een netwerkprinter te maken hoeft niet veel te kosten. Met de printerserver software op een Raspberry kan je de printer verplaatsen naar waar je maar wilt en deze toegankelijk maken voor meerdere computers in plaats van hem rechtstreeks (USB) op één computer aan te sluiten. Een Raspberry Pi als printerserver is een geweldige manier om een printer te delen zonder dat er altijd een dure desktopcomputer nodig is.

Om dit allemaal te laten werken, zullen we gebruik maken van een stukje software genaamd CUPS. CUPS staat voor Common Unix Printing System en is de ruggengraat van de meeste Linux-afdruksoftware. Het is de software die met een printer communiceert en ervoor zorgt dat de bestanden correct worden afgedrukt.

Als je er zeker van wilt zijn dat de CUPS-afdruksoftware jouw printer ondersteunt, ga dan naar deze website van OpenPrinting en zoek het specifieke modelnummer op.

De Raspberry Pi Printerserver software installeren
Het installeren van de printserver voor de Raspberry Pi is een eenvoudig proces. Het is beschikbaar sinds Debian Jessie.

Ik gebruik in deze tutorial Raspbian Buster en ga er even vanuit dat deze ook op de nieuwste Raspberry Pi OS werkt.

1 – Om te beginnen updaten we eerst de Raspberry Pi om er zeker van te zijn dat we de nieuwste software gebruiken. Je doet dit doen door de volgende opdrachten in de terminal in te voeren:

sudo apt-get update

sudo apt-get upgrade

2 – Nadat de Raspberry Pi is bijgewerkt, kunnen we nu beginnen met het installeren van de printserver software. In dit geval gaan we CUPS installeren. Deze software beheert printers die via USB of via het netwerk zijn aangesloten en heeft als bonus een beheerinterface die je via internet kan bekijken. Installeer deze software door de volgende opdracht in de terminal te typen.

sudo apt-get install cups

In de nieuwste versie van het OS is CUPS reeds opgenomen. Na de opdracht ingegeven te hebben zal er in de terminal een melding verschijnen.

Ga hieronder verder.

3 – Als CUPS geïnstalleerd is, zijn er nog een paar extra dingen die we moeten doen.
Het eerste dat je moet doen, is de pi-gebruiker toevoegen aan de lpadmin-groep. Deze groep geeft de pi-gebruiker toegang tot de administratieve functies van CUPS zonder de superuser te hoeven gebruiken.

sudo usermod -a -G lpadmin pi

4 – Er is nog iets dat we met CUPS moeten doen om ervoor te zorgen dat het op het thuisnetwerk goed werkt en dat is CUPS toegankelijk te maken voor uw hele netwerk.

Op dit moment is Cups zo ingesteld dat het niet-localhost-verkeer blokkeert. We kunnen ervoor zorgen dat al het verkeer wordt geaccepteerd door de volgende twee opdrachten uit te voeren:

sudo cupsctl --remote-any

sudo systemctl restart cups

Het herstarten van CUPS duurt even.

5 – Nu zouden we vanaf elke computer in het netwerk toegang moeten hebben tot de Raspberry Pi-printserver. Als je niet zeker weet wat het lokale IP-adres van jouw Raspberry Pi is, kan de volgende opdracht gebruikt worden. De parameter is de hoofdletter i.

hostname -I

6 – Zodra je het IP-adres van je Raspberry Pi hebt, ga je naar het webadres in je favoriete webbrowser. Gebruik in de browser het IP-adres van de Raspberry en poort 631. De rode tekst in het commando moet het IP-adres van jouw Raspberry Pi zijn.

http://192.168.1.105:631

In de browser verschijnt de home pagina van CUPS.


We moeten nu SAMBA instellen om ervoor te zorgen dat Windows de printserver op de Raspberry Pi correct kan identificeren. Ik laat ook zien hoe je een printer kan toevoegen met behulp van de CUPS-interface.

SAMBA instellen voor de Pi Print Server
Als je van plan bent de printserver met Windows te gebruiken, is het noodzakelijk om SAMBA te installeren en correct in te stellen om ervoor te zorgen dat het werkt en de CUPS-printerstuurprogramma’s gebruikt.

1 – Eerst moeten we er voor zorgen dat SAMBA is geïnstalleerd, de eenvoudigste manier om dit te doen is door simpelweg de install-opdracht in de terminal uit te voeren.

sudo apt-get install samba

Tijdens de installatie verschijnt mogelijk de volgende melding. Aangezien de volgende stap het aanpassen van smb.conf is, maak ik de keus om het handmatig te doen en selecteer ik <Nee>

Je zou ook <Ja> kunnen kiezen. Ga dan door naar stap 2 en controleer de instellingen in stap 3. Je kunt ervan uit gaan dat de instellingen goed zijn. Mochten er afwijkingen zijn, probeer deze dan eerst voordat je ze aanpast.

2 – Nu SAMBA op de Raspberry Pi is geïnstalleerd, moeten we het configuratiebestand bijwerken. Open het bestand met de nano-teksteditor door de volgende opdracht te gebruiken:

sudo nano /etc/samba/smb.conf

3 – Als het bestand geopend is, scroll dan naar de onderkant van het bestand. De snelste manier om dit te doen is door de volgende toetsencombinatie te gebruiken: CTRL+ V. Eenmaal onderaan het bestand moeten de volgende regels toegevoegd of gewijzigd worden.

Indien de secties “[printers]” en “[print$]” al in het bestand staan, hoef je alleen de waarden te wijzigen zodat ze overeenkomen met het volgende:

#CUPS printing.
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = yes
read only = yes
create mask = 0700

Windows clients look for this share name as a source of downloadable
printer drivers
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = no
guest ok = no

Sla het bestand op door op CTRL+X in te drukken en vervolgens op “Y” en [ENTER].

4 – We kunnen SAMBA nu opnieuw opstarten om de nieuwe configuratie te laden. Geef hiervoor de volgende opdracht in de terminal:

sudo systemctl restart smbd


Een printer toevoegen aan CUPS
1 – Het toevoegen van een printer aan CUPS is een vrij eenvoudig proces, maar eerst moet je de CUPS-webinterface laden. Als je niet zeker weet wat het IP-adres van je Raspberry Pi is, voer dan de volgende opdracht uit in de terminal:

hostname -I

2 – Ga nu naar de webbrowser en geef hier het IP-adres van de Raspberry in, samen met poort 631. In plaats van de rode tekst neem je je eigen IP-adres.

https://192.168.1.105:631

3 – In de browser verschijnt de CUPS Homepagina. Ga naar in het navigatiemenu naar “Administration“.

4 – Je komt op de beheerpagina van CUPS. Klik hier op “Add Printer“.

5 – Nu het scherm “Add Printer” is geladen, kunnen we de printer selecteren waarvoor we CUPS willen instellen. In dit geval is dit de netwerkprinter “HP Photosmart 5520 series” printer. Zodra de gewenste printer geselecteerd is, druk je op [Continue].

Als jouw printer niet op dit scherm wordt weergegeven, zorg er dan voor dat je deze hebt aangesloten op een van de USB-poorten op de Raspberry Pi en dat de printer is ingeschakeld. Mogelijk moet je de Raspberry Pi opnieuw opstarten als deze nog steeds weigert te verschijnen, zorg ervoor dat de printer is ingeschakeld en aangesloten wanneer je opnieuw opstart.

6 – Op dit scherm moet je het model van uw printer selecteren. CUPS zal proberen het model automatisch te detecteren en de juiste driver te kiezen. In sommige gevallen zal dit echter niet correct werken, daarmee zal je zelf de lijst moeten doorlopen en de meest relevante driver moeten vinden.

Zodra je tevreden bent en alles correct is, kies het model en klik op [Add Printer].

7 – Op dit scherm moet je het model van de printer selecteren. 

Het is bovendien handig om de locatie in te stellen als je meerdere printers in huis hebt.

Zorg er ook voor dat je een vinkje zet bij “Share This Printer“, anders hebben andere computers er geen toegang toe.

Zodra je tevreden bent met de instellingen, kan je op de [Continue] knop klikken.

8 – Het laatste scherm dat je te zien krijgt na het instellen van uw printer is hieronder afgebeeld.

In dit scherm kan je enkele specifieke instellingen van de printer wijzigen. Zoals het afdrukformaat van de pagina, de afdrukkwaliteit en diverse andere opties.


Hieronder leg ik uit hoe de nieuw ingestelde Raspberry Pi-printserver aan Linux en Windows toegevoegd kan worden. Het zou een relatief eenvoudig proces moeten zijn dankzij het instellen van SAMBA eerder in de tutorial.


CUPS-printer gebruiken vanaf externe clients

Linux
Linux-systemen kunnen de netwerkprinter automatisch detecteren. Anders zou je de printer moeten kunnen configureren als TCP/IP-hostnaam. De opdracht syntax wordt dan:

http://[RPI ip-adres]:[poort]/printers/[Printernaam]

In het voorbeeld van deze tutorial (de rode cijfers moeten het IP-adres van jouw Raspberry Pi zijn):
http://192.168.1.105:631/printers/HP_Photosmart_5520_series

MS Windows 7
Bij Windows 7-computers moet je bijvoorbeeld het Configuratiescherm openen, de wizard ‘printer toevoegen‘ uitvoeren vanuit Apparaten en printers en ervoor kiezen om naar een netwerkprinter te zoeken. Klik om het zoeken te stoppen en klik dan hieronder op ‘printer staat niet in de lijst‘. Kies de optie om een ​​gedeelde printer op naam te selecteren en voer de URL van de printer in zoals hierboven is bepaald.

MS Windows 10
1 – Het toevoegen van een CUPS-printer aan Windows vergt wat werk, vooral omdat je het stuurprogramma voor Windows moet selecteren om verbinding te kunnen maken met de printer en deze te begrijpen.

Ga naar de netwerkpagina in Windows. Een van de snelste manieren om hier te komen, is door in de Verkenner of Desktop op het pictogram “Netwerk” te klikken.

Vervolgens zou je een scherm moeten zien waarbij de hostnaam van je Raspberry Pi zichtbaar is, in mijn geval is het ‘raspberrypi’.

Bij de dubbelklik op de ‘share’ van je Raspberry Pi, kan het om een gebruikersnaam en wachtwoord vragen. Als gewoon op [ENTER] drukken niet werkt, probeer dan de gebruikersnaam pi in te voeren.

Nog invoegen: [Afbeelding met RAPSBERRYPI als netwerk onderdeel]

2 – Je zou nu moeten worden begroet met een scherm met de printers die beschikbaar zijn op jouw Raspberry Pi printerserver. Dubbelklik op de printer die je op jouw computer wilt aansluiten.

Nog invoegen: [Afbeelding van printer als netwerk onderdeel]

3 – Als je hierop dubbelklikt, wordt je waarschijnlijk begroet met het onderstaande waarschuwingsbericht. Klik op de [OK]-knop om door te gaan met de tutorial.

Nog invoegen: [Afbeelding van melding]

4 – Nu zou je de printer in deze lijst moeten vinden, aan de linkerkant is een lijst met alle merken en aan de rechterkant is een lijst met alle printers voor dat merk waarvoor Windows stuurprogramma’s heeft.
Als je de printer hier niet kunt vinden, probeer dan het model van uw printer online op te zoeken en de juiste stuurprogramma’s ervoor te downloaden.

Nadat je de printer hebt geselecteerd, druk je op de knop “[OK]” om verder te gaan.

Nog invoegen: [Afbeelding van overzicht met printers oid]

5 – Dit proces maakt nu een verbinding met jouw printer. Als je deze printer de standaardprinter voor de computer wilt maken, dan “Printer” -> “Set as Default Printer“.

Nog invoegen: [Afbeelding van melding]

6 – De printer zou nu met succes aan de computer moeten zijn toegevoegd en beschikbaar zijn voor elk programma om te gebruiken. Je kan ervoor zorgen dat de printer correct is ingesteld door een bestand af te drukken.

Nog invoegen: [Afbeelding van melding]

Als je problemen hebt met het afdrukken van bestanden, zorg er dan voor dat de juiste printerdriver is geselecteerd in zowel CUPS als Windows.

Zorg ervoor dat je printer ook aanstaat, sommige printers, zoals de Canon MG2500-serie, gaan niet automatisch (weer) aan als er een bestand naartoe wordt gestuurd om te worden afgedrukt.

Je kan de Raspberry Pi-printserver verder uitbreiden door er Apple AirPrint-ondersteuning aan toe te voegen. De tutorial ervan staat op picademie.nl


MS Windows (10) kan Raspberry Pi niet in netwerk vinden

Windows PC ziet hostnaam ‘raspberrypi’ niet.
Advies van Dougie Lawson: Installeer nmap en scan je netwerk. Kan je het Windows 10-systeem vinden op jouw RPi-netwerk? Geef de volgende commando’s in:

sudo apt install nmap

sudo nmap -v -sn $(ip route | awk '/scope link/ {print $1}')

Bovenstaande programma scant het netwerk. Kijk of jouw MS Windows 10 PC erbij staat.

Oplossing 1
Kijk dan naar het privé maken van uw Windows-netwerk om enkele firewallregels voor 192.168.1.0/24 te versoepelen.
https://support.microsoft.com/en-gb/hel … ic-private

Oplossing 2
Ga naar https://github.com/christgau/wsdd
Installeer het op je Raspberry Pi en voer het uit. SMBv1 is sinds Windows 10 uitgeschakeld. Je hebt SMBv1 nodig voor netwerkbrowsing. Je hebt netwerkbrowsing nodig voor Windows 10 om je Raspberry Pi te vinden.

Succes!

Have A Nice Day!

2 Reacties

  1. Hoi

    Bedankt voor de leerzame uitleg. Nu heb ik een printer die net wordt herkend en waar ik ook geen driver van kan vinden. Is er een manier om een generieke printer te installeren en de printer op mijn andere computer te installeren zodat ik hem toch via het netwerk kan benaderen. Het gaat om een Canon Selphy CP760. Ik heb al een aantal dingen geprobeerd maar krijg het niet geinstalleerd.

    • Dag Theo,

      Heb je de driver van de Canon Selphy CP710 geprobeerd? Misschien niet helemaal het model dat jij hebt, maar je weet nooit. Het zit aardig in de buurt.

      Soms kun je een printer in een emulatiemodus zetten zodat je in ieder geval standaard tekst kunt printen. De betere HP printers kunnen in een EPSON mode gezet worden zodat ze ook op oude platformen werken. Je mist dan wel de specifieke features van de printer.

      Probeer anders eens bij https://www.openprinting.org/printers aan de bel te trekken. Per slot van rekening is de tutorial hiervan afhankelijk.

Reacties zijn gesloten.