Network Scanning with CUPS: Sharing MFP Scanner Functionality on Debian Print Server


6 views

When setting up a multifunction printer (MFP) in a CUPS environment, the printing functionality is straightforward, but scanner sharing requires additional configuration. The key components we're dealing with:

  • Debian server running CUPS 2.3+
  • Network-connected MFP device (Brother, HP, or similar)
  • SANE (Scanner Access Now Easy) backend
  • Optional: Avahi for zeroconf/bonjour discovery

The scanning functionality requires SANE to be properly configured. Here's how to set it up:

# Install required packages
sudo apt install sane sane-utils libsane-extras

# Check detected scanners
scanimage -L

# Configure SANE to allow network access
sudo nano /etc/sane.d/saned.conf
# Add your client IP ranges: 192.168.1.0/24

For true network scanning functionality, you'll need to run saned as a service:

# Enable and start saned service
sudo systemctl enable saned.socket
sudo systemctl start saned.socket

# Verify service status
systemctl status saned.socket

On client machines that need to access the scanner:

# Install SANE client utilities
sudo apt install sane-utils

# Configure network scanner
sudo nano /etc/sane.d/net.conf
# Add server IP: 192.168.1.100

# Test connectivity
scanimage -L

Here are three common ways to initiate scans from client machines:

1. Command Line Scanning:

scanimage --format=png --resolution 300dpi > scan_output.png

2. Using GUI Frontends:

sudo apt install xsane
xsane

3. Web Interface Option:

sudo apt install sane-web
sudo systemctl start sane-web

Permission problems: Ensure the user is in the scanner group and check /etc/sane.d/*.conf permissions.

Network discovery: For easier discovery, consider installing Avahi:

sudo apt install avahi-daemon
sudo systemctl enable avahi-daemon

When exposing scanner functionality over the network:

  • Restrict access in /etc/sane.d/saned.conf
  • Consider firewall rules for port 6566 (saned default)
  • Use VPN if accessing from outside local network

When setting up a networked multifunction printer (MFP) with CUPS on Debian, printing functionality is straightforward to share, but scanner access requires additional configuration. Unlike printing which uses standardized protocols, scanning typically requires vendor-specific solutions.

For network scanning with CUPS, you have several approaches:


# Basic SANE backend installation
sudo apt install sane sane-utils libsane-extras

The SANE (Scanner Access Now Easy) backend is what you'll need to enable network scanning:


# Edit SANE configuration
sudo nano /etc/sane.d/net.conf

# Add your scanner's IP address
192.168.1.100  # Example printer IP

For more advanced setups, you can run saned as a network service:


# Install saned
sudo apt install saned

# Enable the service
sudo systemctl enable saned.socket
sudo systemctl start saned.socket

On client machines, install SANE frontends like xsane or simple-scan:


# For Ubuntu/Debian clients
sudo apt install simple-scan

If scanners aren't detected, check:

  • Firewall settings (port 6566 for saned)
  • Scanner permissions in /etc/sane.d/
  • Vendor-specific driver requirements

Some manufacturers provide their own network scanning solutions:


# Example for Brother scanners
sudo apt install brscan4
sudo brsaneconfig4 -a name=SCANNER model=MFC-L2750DW ip=192.168.1.100

When exposing scanners over the network:

  • Use saned ACLs (/etc/sane.d/saned.conf)
  • Consider VPN for remote access
  • Keep firmware updated