[Samba] Printers not shown after upgrade to 4.16.8-2 on IBM AIX 7.2 and subsequent reboot

SEYERL Wilhelm Wilhelm.Seyerl at cargonet.software
Mon Jul 17 11:33:01 UTC 2023

We have upgraded to Samba 4.16.8-2 from AIX-Toolbox (latest available) with yum on 75 AIX-machines. OS-Level there IBM AIX 7.2 ML 5.

All was running fine until one of the machines got halted due to power outage. After the boot, the printers did not show up again. We tried several things like restarting Samba daemons, changes in configuration (e.g. explicitly setting "printcap name = /etc/qconfig") and so on. What finally brought the printers back was the command
# rpcclient localhost -c enumprinters

We found the command in this Samba-bug-report https://bugzilla.samba.org/show_bug.cgi?id=15121 and the circumstances described there are very similar to our situation. Although "printing = aix" instead of "printing = cups" and we do not use Windows Print Management Console. In the Samba-bug-report, there is a thread in the Samba-mailing-list referenced https://lists.samba.org/archive/samba/2022-August/241571.html which suggests that Samba 4.16.2 still worked (but 4.16.4 did not). As this version is not available in the AIX-Toolbox, I could not verify this. Furthermore we checked Samba-release-notes for 4.17.* and 4.18.* but did not find any bugfix which could address/fix our issue.

Therefore we have set up a test machine and we could reproduce the situation there. But on the test machine we also found out that the "enumprinters" rpc-sub-command from above does not always bring back the printers. We could not figure out why. For this reason we do not want to rely on running the rpcclient command from above after each boot. Even more as it demands a password for each call.

The sequence
stop smbd - downgrade to Samba 4.14.14-1 - start smbd - stop smbd - upgrade to Samba 4.16.8-2 - start smbd
will ultimately list the printers again. Until next reboot.

Explicitly defining printers works. But each of these 75 Machines has a bunch of printers defined (10 to 47, the test machine has only 7 printers connected) so explicit printer configuration should be avoided.

After all, we will downgrade to Samba 4.14.14-1 on productive machines (because it's the last available working samba version on AIX-Toolbox) until we find a solution with Samba 4.16 and future versions.

The Samba-configuration is pretty straight forward:
# Global parameters
        log file = /opt/freeware/log/log.%m
        map to guest = Bad User
        security = USER
        server role = standalone server
        usershare allow guests = Yes
        workgroup = TSTWRKGRP
        full_audit:priority = notice
        full_audit:facility = local7
        full_audit:prefix = IP=%I|USER=%u|MACHINE=%m|VOLUME=%S
        full_audit:success = renameat unlinkat mkdirat
        full_audit:failure = none
        idmap config * : backend = tdb
        guest ok = Yes
        level2 oplocks = No
        nt acl support = No
        oplocks = No
        print command = lpr -h -r -P%p %s
        vfs objects = full_audit
### Shares ... ###
        browseable = No
        comment = All printers
        create mask = 0700
        path = /tmp
        printable = Yes

>From the AIX-toolbox mailing list we were advised to check https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Print_Server but we have already found their suggested link and checked if it could help us. But there is no (direct) information addressing our environment. It only deals with CUPS, IPRINT and LPRng.

Nevertheless and although it addresses CUPS we tried to add
as somehow suggested in https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Print_Server#Tuning_rpcd-spoolss and waited 10 minutes but with no success.

On the other hand, even the current (Samba 4.18) documentation states that "printing = aix" should be still supported https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html#PRINTING
"Currently nine printing styles are supported. They are BSD, AIX, ..."

And - as said - we already tried additionally setting "printcap name = /etc/qconfig" as suggested for AIX in https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html#PRINTCAPNAME but still no printers listed.

I would like to add, that testparm (without -v flag) does not return any "printing = <value>" string. As Samba determines default printing method based on OS and "testparm" (without -v flag) only lists parameters different to default values, this is no surprise. However, "testparm -v" returns "printing = aix" as expected.

Mit freundlichen Grüßen / Best regards

Wilhelm Seyerl
cargoNET Application Services

Axians ICT Austria GmbH

Hafenstraße 2a | 4020 Linz | Austria
Mobil: +43 664 8511823 - Tel: +43 5 1715 1823
Wilhelm.seyerl at cargonet.software<mailto:Wilhelm.seyerl at cargonet.software>

More information about the samba mailing list