Problem:
An administrator has logged on to a Microsoft Windows client and wants to upload a new printer driver to a UCS Samba print server. The printer driver upload starts but aborts with the error code 0x0000023f
.
Background:
This can happen if a printer driver uses the Package Aware Point and Print
printer sharing technology. In that case the .inf
file of the driver has a setting PackageAware=TRUE
and may have DriverFile
statements that refer to files that are not part of the driver itself. In the Package Aware Point and Print
printer sharing concept, the driver can expect some core driver
files to be present on the print server. This assumption falls short for Samba based (i.e. non-Microsoft) print servers.
Solution:
Check the log file /var/log/samba/log.smbd
on the UCS Samba print server. There could be an error message similar to this, which indicates the name of the file that is missing:
move_driver_file_to_download_area: Unable to rename [x64/{17C88AC7-BAB9-4FD5-BC61-794D2731290D}/mxdwdrv.dll] to [x64/3/mxdwdrv.dll]: NT_STATUS_OBJECT_NAME_NOT_FOUND
If this is the case, then you can open the .inf
file on the administrative Windows client with an editor and look for CopyFiles
statements, which specify a comma separated list of files and file groups that should be uploaded. If this list contains e.g. a file group called @corefiles
, then you may find a section named [corefiles]
in the .inf
file too. You can just append the missing file name (e.g. mxdwdrv.dll
in this example). Save the file and retry the upload. Windows should fetch the core driver from C:\Windows\System32\DriverStore\FileRepository\
and upload it to the UCS Samba server, e.g. to the directory /var/lib/samba/drivers/x64/3/
.
Related advice:
- Additional adjustments of the
.inf
file may be required, e.g. if it includes the settingPackageAware=TRUE
:
- These kinds of adjustments the device drivers invalidate the driver signature, but will not affect the automatic printer driver rollout if you follow this article: