SEYERL Wilhelm
2023-Jul-17 11:33 UTC
[Samba] Printers not shown after upgrade to 4.16.8-2 on IBM AIX 7.2 and subsequent reboot
Hi, 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 [global] 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 ... ### [printers] 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 [global] rpcd_spoolss:idle_seconds=300 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> www.cargonet.software<http://www.cargonet.software/>