Trouble with Xerox printer driver in Ubuntu 24.04

I’m having a problem with my XEROX C7030 printer after upgrading from 20.04 LTS to 24.04. Xerox has a .deb driver package that offers some additional features over the CUPS printing capabilities.

To use the Xerox driver, the xeroxofficeprtmgr utility is used to set up a print queue, which adds a printer that uses the Xerox driver.

On 20.04, when using the Xerox driver, a system print dialog with very limited options would appear, and after clicking “Print” in that dialog, the dialog from the Xerox driver package would appear to offer additional functionality.

On 24.04, the dialog from the Xerox driver package no longer appears. Instead, the job prints immediately after"Print" is clicked in the limited system print dialog.

I have removed/reinstalled the Xerox deb driver. I have removed/recreated the print queue with xeroxofficeprtmgr, but that didn’t help either. There is a check box in the Xerox driver setup to disable the user interface, but I have that unchecked, as I did previously.

I’m not a commercial customer and I don’t have a support contract, so it is virtually impossible to get support from Xerox. Also, they don’t seem to support the Linux driver very well.

So, just looking for any suggestions. CUPS printing does work for most things. And there was a bug in 20.04 CUPS with this printer that might be fixed now (I have to do further research), so that helps a bit.

Thanks!

Might be related…

Upstream CUPS defaults to this in its latest releases, not sure if there is a way to turn it off though…

Actually, it appears that the printing system is using the Xerox driver. If I setup the Xerox printer queue defaults beforehand using xeroxofficeprtmgr with “different” settings, like printing duplex from Tray 4, those settings are obeyed when the job is printed. These settings are not offered in the limited system print dialog that appears. Somehow, the per-job Xerox dialog is now suppressed.

Unfortunately, when using IPP/driverless printing, the C7030 does not expose photo-quality printing mode, only standard and enhanced (I used ipptool to see what the C7030 exposes). Also, while the C7030 does expose all of its media input trays, CUPS does not seem to pick those up, and I can’t select input source when using driverless printing. I can get to these features using CUPS with a PPD, or the Xerox driver.

I found log output from the Xerox driver. Alot of not good going on there…

--------------------------------
Application:  XeroxOffice Unix v5 Print Driver

--------------------------------
Time Stamp:	01/03/25 19:22:59
Process ID:	19517
System name:	Linux
Node name:	t5610
Release:	6.8.0-51-generic
Version:	#52-Ubuntu SMP PREEMPT_DYNAMIC Thu Dec  5 13:09:44 UTC 2024
Machine:	x86_64
Log level for module ConstraintEngine is 2
Log level for module DriverFeature is 3
Log level for module GUI is 5
Log level for module Global is 2
Log level for module Installer is 4
Log level for module Networking is 1
Log level for module ProductPlugin is 4
Log level for module Prtmgr is 4
Log level for module Quemgr is 4
--------------------------------
19:22:59 - ERROR/Translations:  Unable to set locale:  "en_US" at OS level - some dialogs may appear in the default language.  Please install the appropriate language support.
19:22:59 - FATAL/Application:  Could not open configuration file.
19:22:59 - ProductPlugin:  UI Printing is enabled.
19:22:59 - FATAL/ProductPlugin:  InitializeProductPlugin() - Driver Version: 5.20.661.4684
19:22:59 - ERROR/ProductPluginDriverFeature:  InitializeProductPlugin() - Initialized
19:22:59 - WARNING/DriverFeature:  DriverFeature::fetchOptionByName() - Option with attribute "XPIFCommand" = "offset-set" was not found.
19:22:59 - WARNING/DriverFeature:  DriverFeature::fetchOptionByName() - Option with attribute "XPIFCommand" = "offset-set" was not found.
19:22:59 - WARNING/DriverFeature:  DriverFeature::fetchOptionByName() - Option with attribute "XPIFCommand" = "offset-set" was not found.
19:22:59 - WARNING/DriverFeature:  DriverFeature::fetchOptionByName() - Option with attribute "XPIFCommand" = "offset-set" was not found.
19:22:59 - WARNING/DriverFeature:  DriverFeature::fetchOptionByName() - Option with attribute "XPIFCommand" = "offset-set" was not found.
19:22:59 - FATAL/Application:  Setting media to na_letter_8.5x11in_borderless failed.
19:22:59 - FATAL/Application:  Setting number-up to 1 failed.
19:22:59 - FATAL/Application:  Setting Duplex to DuplexNoTumble failed.
19:22:59 - FATAL/Application:  Setting job-uuid to urn:uuid:a0a34489-6398-39f3-5c87-467f239249e7 failed.
19:22:59 - FATAL/Application:  Setting job-originating-host-name to localhost failed.
19:22:59 - FATAL/Application:  Setting date-time-at-creation to  failed.
19:22:59 - FATAL/Application:  Setting date-time-at-processing to  failed.
19:22:59 - FATAL/Application:  Setting time-at-creation to 1735953779 failed.
19:22:59 - FATAL/Application:  Setting time-at-processing to 1735953779 failed.
19:22:59 - FATAL/Application:  Setting PageSize to Letter failed.
chmod: missing operand after ‘666db/passcodes/passcodes.db’
Try 'chmod --help' for more information.
19:22:59 - ERROR/PasscodeAPI:  Failed to change permission of the passcode.db.
07:22:59 PM - ERROR/ComponentDirector:  ComponentDirector::parseXMLData() - Failed to create GUI object
07:22:59 PM - FATAL/Application:  Couldn't process GUI data - reverting to NoUI Printing
07:23:00 PM - WARNING/DriverFeature:  createTicketNodeAttributes() - Empty feature option command - skipping
07:23:00 PM - WARNING/DriverFeature:  createTicketNodeAttributes() - Empty feature option command - skipping
07:23:00 PM - WARNING/DriverFeature:  createTicketNodeAttributes() - Empty feature option command - skipping
07:23:00 PM - WARNING/DriverFeature:  createTicketNodeAttributes() - Empty feature option command - skipping
07:23:00 PM - WARNING/DriverFeature:  createTicketNodeAttributes() - Empty feature option command - skipping
Terminating logging facility

Hello!

Enabling maximum logging in the Xerox driver reveals that there appears to be a problem with GTK that causes the driver to revert to printing without showing the user interface.

Is there some tool that might reveal why GTK is failing? In Windows, I could use procmon to watch xeroxofficedriver and it would show every operation that the driver would try (i.e. opening files, accessing DLL libraries), and could help identify what library call is failing. What would be the best tool to do this in Ubuntu? I tried Procmon for Linux and Sysmon for Linux, but they don’t seem to log that type of information.

14:46:00 - ProductPlugin:  UI Printing is enabled.
14:46:00 - FATAL/ProductPlugin:  InitializeProductPlugin() - Driver Version: 5.20.661.4684
[...]
14:46:00 - Plugin Loader:  Loaded v5lib/libGuiTools.so - GUI Libraries v1.0
02:46:00 PM - ERROR/GUI:  GTKObject::initialize_gtk():  Initialization failed
02:46:00 PM - ERROR/ComponentDirector:  ComponentDirector::parseXMLData() - Failed to create GUI object
02:46:00 PM - FATAL/Application:  Couldn't process GUI data - reverting to NoUI Printing
02:46:00 PM - Plugin Loader:  Loaded v5lib/libPDF2PSPlugin.so
1 Like

I finally got this issue solved.

I opened up the deb package file and took a look at the file DEBIAN/postinst, as well as took a look at the driver install log.

In DEBIAN\postinst, there was a command
xhost +si:localuser:lp >> /tmp/PrtDrvInstaller.log 2>> /tmp/PrtDrvInstaller.log || echo 'Failed to grant lp xhost permissions' 1>> /tmp/PrtDrvInstaller.log

The install log had the error Failed to grant lp xhost permissions, so I ran that command manully with sudo. The command succeeded, but the Xerox print dialog still did not appear.

In DEBIAN\postinst, there was also a command
env | grep -w DISPLAY > opt/XeroxOffice/prtsys/.xp_disp
but the created file .xp_disp was empty. I edited .xp_disp and added the output of the env command, which was DISPLAY=:1

After that, the Xerox print dialog appeared, and I was able to use that dialog to adjust printer settings.

So, I don’t know for sure if both changes were necessary, but it seems that certainly fixing .xp_disp was needed.

2 Likes

very much helpful but still not working for me on any distro (even though I had the xdisp issue). Fresh install. How did you enable maximum logging in the Xerox driver? Issues I’m facing:
if I launch prtmgr as a user I get to… the phonebook. If I launch it as root on top right I have 2 icons (I’ve seen on other screenshots there should be 3: i’m missing the phonebook and I don’t care at all if that’s just that:) ).
problem being: printer don’t get detected automatically and don’t print if added manually (and the icon stays generic).

Same problem with both Phaser 7500 and WC7830; PopOs 22.40, fedora 41, Debian 11 and 12. Printers are detected by driverless (have to force IPP 1.1 for the phaser 7500) and CUPS (WSD)

edit: I guess it’s xeroxofficelogmgr All

but nothing new under the hood :frowning:

root@pop-os:/tmp# tail -f XeroxOfficeprtmgr.log 
04:52:38 AM - ERROR/Translations:  Missing translation:  "Exit Printer Manager Application"
04:52:38 AM - ERROR/Translations:  Missing translation:  "Close Install Printers Dialog"
04:52:38 AM - ERROR/Translations:  Missing translation:  "Save Fax Phonebook"
04:52:38 AM - ERROR/Translations:  Missing translation:  "Close Fax Phonebook Dialog"
04:52:38 AM - ERROR/Networking:  Initializing SNMP library
No log handling enabled - turning on stderr logging
Cannot find module (SNMPv2-MIB): At line 0 in (none)
Cannot find module (SNMPv2-SMI): At line 0 in (none)
Cannot find module (SNMP-VIEW-BASED-ACM-MIB): At line 0 in (none)
Cannot find module (SNMP-COMMUNITY-MIB): At line 0 in (none)

Screenshot from 2025-01-27 04-55-51

when I click on OK to add the printer one row adds to the log:

04:55:17 AM - GUI: GTKTools::UpdateFeatureFromWidget(): No driver feature associated with GTKObject “DiscoveredPrintersButton”.

Just for reference, I am running Xerox driver version 5.20.661.4684.

I run the Xerox utilities from the folder where they are installed, switching to that folder with the command cd /opt/XeroxOffice/prtsys. The driver may be installed in a different place in other distros. I have observed some errors if I don’t run the utilities from that folder.

The driver install creates some links. For example,

jhuber@t5610:~$ which xeroxofficeprtmgr
/usr/bin/xeroxofficeprtmgr

which is a shell script

jhuber@t5610:~$ cat /usr/bin/xeroxofficeprtmgr
#!/bin/sh
##########################################################################
##                                                                      ##
##       Copyright (C) 2011 by Xerox Corp.   All rights reserved.       ##
##                                                                      ##
##########################################################################

cd /opt/XeroxOffice/prtsys
exec /opt/XeroxOffice/prtsys/xeroxofficeprtmgr $* 2> /tmp/XeroxOfficeprtmgr.log

However, I get permission errors if I just run sudo xeroxofficeprtmgr from the command line.

jhuber@t5610:~$ sudo xeroxofficeprtmgr
[sudo] password for jhuber: 
/usr/bin/xeroxofficeprtmgr: 9: cannot create /tmp/XeroxOfficeprtmgr.log: Permission denied

If you are coming from an earlier version of the driver, there are some changes in this version. As you have noted, you must use sudo ./xeroxofficeprtmgr to open printer queue management, otherwise you get phonebook management.

Also, this version of the driver is completely generic; there are no printer-specific drivers included, so the icon stays generic, and you have to configure all the printer features manually. I had to add my printer manually.

image

thx for the feedback. Q:

  • when you click on the double-down-arrow icon to add a new printer/queue, do you get a list of printers or same popup with empty field?
  • Once the printer is added, are you able to print (I can’t)?
  • are you able to select an output tray (ex: left) and does the printer take account of that setting?
  • In CUPS what is your printer pointing to? The ones I create from quemgr always point to Connection: file:///dev/null

Thx again,
Alessandro

This is what I get when I click the double-down-arrow icon:
image

I am able to print with no issues once the printer is added.

My printer only has one output tray. I don’t see any options in the dialog to select output tray. I also don’t see any options in the Edit Printer (3-line icon button)>Queue Preferences…>Configuration>Installable Options… to set up the output trays. It could be that the driver communicates with the printer to determine what should be available for configuration. Under CUPS, I have no option for output trays.

For other settings, the printer obeys all the choices I make in the Xerox print dialog.

I believe that these are the printers/queues created by the Xerox driver. The first screenshot is from GNOME settings and the second is from system-config-printer.

image

image

These are created automatically by CUPS for the printer it found:
image

image

This is one set up by CUPS that I modified to use the Xerox PPD for the C7030
image