Tuesday, 15 January 2019

Brother P750W label printer: Debian print server, Debian desktop clients

We have this Brother P750W label printer for https://fosdem.org . It's a model with wireless networking only. We wanted something with decent wired networking for use with multiple Debian desktop clients, but that was ~300€ more expensive. So here's how we went about configuring the bloody thing...

Not wanting to use proprietary drivers, this is what the device told me after some prying:
 * The thing speaks Apple Airprint.
 * By default, it shows up as an access point with SSID "DIRECT-brPT-P750WXXXX". XXXX is the last 4 digits of the printer's serial number.
 * Default wireless password "00000000".
 * Default ip address 192.168.118.1.
 * It allows only one client to connect at a time.
 * Its web interface is totally utterly broken:
   * Pointing a browser at the default device ip redirects to a page that 404's.
   * Pointing a browser at the url of the admin page gleaned from cups 404's too.
 * An upgrade to the latest firmware doesn't seem to solve any issues.

As a reminder to myself, this is what I did to get it to work:
 * Get a Debian stable desktop.
 * Add the Debian buster repositories. That is Debian testing at the time of me writing this.
 * Set up apt pinning in /etc/apt/preferences to prefer stable over buster.
 * Upgrade cups related packages to the version from Debian buster. "apt install cups* -t buster" did the trick.
 * Notice this makes the printer get autodiscovered.
 * Watch /etc/cups/printers.conf and /etc/cups/ppd/ for what happens when connected to the P750W. Copy the relevant bits.
 * Get a Debian headless thingie (rpi, olinuxino, whatever...) running Debian stable.
 * Connect it to the printer wifi using wpa_supplicant.
 * Install cups* on it.
 * Drop the printers.conf and P750W ppd from the Debian buster desktop into /etc/cups and /etc/cups/ppd respectively. The only change was in printers.conf, from the avahi autodiscovery url to the default 192.168.118.1.
 * Make sure to share the printer. I don't remember if I had to set that or if it was the default, but the cups web interface on port 631 should help there if needed.
 * Add the new shared printer on the Debian buster desktop. Entering the print server IP auto discovers it. Works flawlessly.
 * Try the same on a Debian stable desktop. Fails complaining about airprint related stuff.
 * Upgrade cups* to the Debian buster version. Apt pinning blah. Apt-listchanges says something about one of the package upgrades being crucial to get some airprint devices to work. Didn't notice the exact package alas and too lazy to get it to run.
 * Install the printer again. Now works flawlessly.

No comments: