After moving my workstation to Ubuntu 26.04, I ran into a small problem with my old Dell B1165nfw Mono MFP.
Ubuntu automatically discovered the network printer without any issue. Unfortunately, the automatically selected driver was the wrong one.
The printer itself is quite old, and Dell’s original Linux driver package dates back many years. Still, the old driver turned out to work — with a little manual help.
The Dell Driver
I downloaded and extracted Dell’s original Linux driver package.
Inside the package I found the correct PPD:
Linux/noarch/at_opt/share/ppd/B1165nfw.ppd
Checking the PPD showed that it requires the following CUPS filter:
*cupsFilter: "application/vnd.cups-raster 0 rastertospl"
Fortunately, Dell also included a 64-bit version of that filter:
Linux/x86_64/rastertospl
Before installing it, I checked its dependencies:
ldd Linux/x86_64/rastertospl
Everything looked fine except for one missing library:
libscmssc.so => not found
That library was also included in the Dell package:
Linux/x86_64/libscmssc.so
Installing the Required Files
Instead of running Dell’s complete legacy installer, I decided to install only the components actually required by CUPS.
From the extracted cdroot directory:
sudo install -m 755 \
Linux/x86_64/rastertospl \
/usr/lib/cups/filter/rastertospl
sudo install -m 644 \
Linux/x86_64/libscmssc.so \
/usr/lib/x86_64-linux-gnu/libscmssc.so
sudo ldconfig
I then verified that the filter could find its library:
ldd /usr/lib/cups/filter/rastertospl | grep -E 'scmssc|not found'
libscmssc.so was now resolved correctly.
Adding the Printer
Ubuntu had already discovered the B1165nfw on the network, so the remaining part was easy.
In the Ubuntu printer configuration I selected the option to provide my own PPD file and used:
B1165nfw.ppd
Ubuntu now identified the printer correctly as:
Dell B1165nfw Mono MFP
Test page sent.
Adding the Scanner
Printing was working, but getting the scanner detected required an additional workaround.
Simply connecting the Dell B1165nfw via USB was not enough. Ubuntu’s SANE installation did not initially recognize the scanner because the device was missing from the xerox_mfp configuration and the required USB permissions were not being applied.
The B1165nfw is based on Samsung hardware and can be handled by SANE’s xerox_mfp backend.
Adding the B1165nfw to SANE
First, I edited the xerox_mfp configuration:
sudo nano /etc/sane.d/xerox_mfp.conf
and added:
# Dell B1165nfw
usb 0x413c 0x523c
The two hexadecimal values are the USB vendor and product IDs for the scanner.
Fixing the USB Permissions with udev
SANE still needs permission to access the USB device. For that I added a udev rule.
I edited:
sudo nano /etc/udev/rules.d/55-libsane.rules
and added:
SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0660", GROUP="plugdev", ENV{libsane_matched}="yes"
After saving the file, I restarted udev:
sudo systemctl restart udev.service
I then disconnected and reconnected the USB cable.
Verifying Scanner Detection
Now SANE could finally see the scanner:
scanimage -L
which returned:
device `xerox_mfp:libusb:003:010' is a Samsung B1165nfw Mono MFP multi-function peripheral
The 003:010 part is just the current USB bus/device address and can change after reconnecting the printer or rebooting.
At this point Ubuntu’s graphical scanner application also detected the B1165nfw.
Checking the Document Feeder
The flatbed was working, but I also wanted to verify the Automatic Document Feeder (ADF).
The available scan sources can be queried directly from SANE:
scanimage \
-d 'xerox_mfp:libusb:003:010' \
--all-options | grep -A8 -i source
The xerox_mfp backend exposed the ADF as an available source.
A direct test confirmed it:
scanimage \
-d 'xerox_mfp:libusb:003:010' \
--source ADF \
--format=png > adf-test.png
Instead of using the flatbed, the B1165nfw pulled the document through the feeder.
For multiple pages from the command line, scanimage can use batch mode:
scanimage \
-d 'xerox_mfp:libusb:003:010' \
--source ADF \
--batch='page-%03d.pnm'
For everyday use this isn’t necessary. Ubuntu’s graphical scanner application provides a scan all pages option, allowing all pages in the ADF to be scanned and saved as a multi-page PDF.
The final scanner path therefore looks like this:
Dell B1165nfw
|
v
USB + udev permissions
|
v
SANE
|
v
xerox_mfp
|
+---- Flatbed
|
+---- ADF / Multi-page scanning
So unlike the printer setup, the scanner wasn’t simply plug-and-play. The missing SANE device entry and udev rule were the crucial pieces that made Ubuntu detect the scanner.
After that, both the flatbed and automatic document feeder work under Ubuntu 26.04.
Final Verdict
Instead of running an old installer as root and letting it install legacy Qt tools, scanner utilities and other components, installing only the required PPD, CUPS filter and library turned out to be the better solution.