From: John E. Malmberg [wb8tyw@qsl.net] Sent: Sunday, July 30, 2000 11:13 AM To: Info-VAX@Mvb.Saic.Com Subject: SAMBA-VMS FAQ - A first cut. The SAMBA-VMS Frequently Asked Questions List - 30-Jul-2000 Index Introduction General questions about SAMBA on OpenVMS Printing Issues Miscellaneous Future directions Changes since last edition None, this is the first edition I am aware of. This is the Frequently Asked Questions (FAQ) posting for SAMBA-VMS. It contains answers to frequently asked questions about SAMBA for OpenVMS on the SAMBA-VMS mailing list, and a few other places. Other internet FAQ's are generally available in these locations: comp.answers and news.answers newsgroups ftp://rtfm.mit.edu/pub/usenet/... This FAQ is archived in the following locations: Please do NOT send technical questions to the Frequently Asked Questions (FAQ) editor - well, please do not email any questions that do not also include the answer(s). Please post these questions to the appropriate SAMBA-VMS mailing list instead and see INTRO5 before posting. To make suggestions for changes or additions to this FAQ list, please send mail to the FAQ editor at wb8tyw@qsl.net. Again, Please do not assume FAQ editor is not in a position to answer general questions. Some general notes: World-Wide Web Universal Resource Locator (URL) notation is used for FTP addresses. Many people have contributed to this list, directly or indirectly. Many people have contributed to this list, directly or indirectly. In some cases, an answer has been adapted from one or more postings on the SAMBA-VMS mailing list or comp.os.vms. Our thanks to all of those who post answers. The name (or names) at the end of an entry indicate that the information was taken from postings by those individuals; the text may have been edited for this FAQ. These citations are only given to acknowledge the contribution. This contents of this FAQ are not to be considered an official position of any companies whose employees have contributed. These answers are provided in the hope that they will be of use, but there are no guarantees of accuracy. Please also note that the current compiler of this FAQ is not using any of the official versions of SAMBA-VMS. All trademarks mentioned belong to their holders. DECUS, Pathworks, VMS and OpenVMS are trademarks of Compaq. Microsoft Windows, and Microsoft Windows NT are trademarks of Microsoft. UNIX is a trademark of "The Open Group". INTRO1. What is SAMBA? SAMBA is an open source suite of programs for communicating over the Microsoft NETBIOS protocols on TCP/IP. It was developed originally by Andrew Tridgell who is still active in guiding SAMBA's evolution. For more information about SAMBA, see HTTP://WWW.SAMBA.ORG Licensing for SAMBA is covered under the GNU Public License. The SAMBA-VMS home page is currently at: http://www.ifn.ing.tu-bs.de/ifn/sonst/samba-vms.html It is maintained by Eckart Meyer, who is responsible for the majority of the SAMBA-VMS port. With out the hard work of Eckart Meyer, there probably would not be a SAMBA-VMS port. INTRO2. What is VMS or OpenVMS? OpenVMS is an Computer Operating System sold by Compaq that is considered by many to be a superior operating environment. The OpenVMS operating system has a reputation for reliability and security. System uptimes can be measured in years. It is also well known as an cracker resistant system. A no-charge Hobby license for OpenVMS is available for non-commercial home use. For more information on OpenVMS, see http://www.openvms.compaq.com For more information on the Free Hobby license for OpenVMS see http://www.montagar.com/Hobbyist/ INTRO3. What is the scope of the SAMBA-VMS mailing list? The samba-vms mailing list is the primary news group for OpenVMS specific issues for SAMBA. INTRO4. What other resources have SAMBA-VMS related information? SAMBA for OpenVMS questions may show up in any of the OpenVMS forums, Usually the comp.os.vms newsgroup. DECUSERVE is a useful moderated forum that covers a variety of computer related systems including SAMBA for VMS. It is run by volunteers from the DECUS organization. For information about DECUS and DECUSERVE see http://www.decus.org INTRO5. How do I subscribe to the SAMBA-VMS mailing list? Before answering that, you should be aware of guidelines on posting. 1. Please choose a subject title that accurately describes your posting. 2. Please list the version of OpenVMS, SAMBA, and the name and version of the TCP/IP product that you are using. Also mention any ECO or patches applied. 3. Mailing lists are generally plain text only. No HTML or Rich Text formats please. Also please turn off VCF cards. Does it have to be mentioned that graphics as signature files are also bad? 4. Please try to avoid attachments. If you must place an attachment, if it can be read using a text editor, make sure that the name of the extension is .TXT to prevent problems with some virus scanners. Also before posting, it is generally a good practice to check the archives of the mailing list and the FAQ to see if the question has been answered already. [The following is likely to change in the future, as the SAMBA team at the time of this writing is reorganizing it's mailing lists] See INTRO6 for information about accessing the archives of the SAMBA-VMS mailing list. To subscribe to a list e-mail listproc@samba.org with "subscribe listname Your Full Name" in the message body. For additional information see http://lists.samba.org/. INTRO6. How do I access the archives of the SAMBA-VMS mailing list? That is a good question. Right now the old SAMBA mailing lists are offline at the old server. The SAMBA team is presently setting up a new server. The old method involved going to http://www.samba.org then selecting a mirror site. After which selecting the link to "archives" would give you a page where you could access the mailing list archives. For now, some of the mailing list archives can be found at http://samba.cadcamlabs.org/lists/ INTRO7. What versions of OpenVMS and TCPIP programs will SAMBA-VMS work with? OpenVMS versions from 5.5-2 and later are known to work. For VMS versions before 5.5-2 some versions of SAMBA require the AACRTL060 kit, which is a component of the DEC C compiler. SAMBA-VMS will work with any of the commercial TCP-IP programs that support UCX emulation. The Compaq TCP/IP products are known as either UCX or TCPIP Services for OpenVMS. For non-commercial use they are available under the OpenVMS hobbyist program. The Process Software company has MultiNet and TCPware products available for commercial and are also available under the OpenVMS hobbyist program. There is an experimental port of SAMBA-VMS using the OpenCMU-IP TCP/IP program that can be found at ftp://ftp.qsl.net/pub/wb8tyw/ . It is not supported and there are no plans to enhance it further. If you intend on using it, read the notes supplied carefully. SAMBA1. I get an error telling me I have no chroot. You do not have one :-) This is simply an informational warning and can be ignored. In a future build for OpenVMS chroot() can be aliased to invoke chdir() for OpenVMS, so that this message will not appear. Note that "The Single Unix Standard" published by "The Open Group" lists the chroot() function as depreciated. SAMBA2. I appear to have a trapdoor gid system. OpenVMS does not support setgid(). There is no way to support it. This is simply an informational warning and can be ignored. In a future build for OpenVMS, the setgid() call can be aliased to a local copy that just remembers the group that was attempted to be set, and the getgid() call alias to return that group. This will eliminate that diagnostic. SAMBA3. Why are some files with double underscores not displayed? The issue with the double underscore has to do with how Samba VMS and Pathworks encode filespecs with characters that are not legal OpenVMS characters on an ODS-2 file system. Characters that were not legal were encoded with a "__" followed by the Hexadecimal code for the character. As part of this, under older versions of Pathworks, when you saved a file from a LANMAN client that had two underscores in it's name, the file on OpenVMS would end up with "_5F_" in it's place. [This treatment of double underscores does not seem to be the case with Pathworks 6.0 and later.] The problem with displaying them is that when SAMBA-VMS looks up the file and converts/decodes it to a UNIX style name, if the double underscore is not followed by a valid pair of hex digits, it is passed through. Now what SAMBA-VMS does is read in the filename and convert it to UNIX so that the UNIX based code can manipulate the file specification. Later SAMBA tests the filename with a stat() command multiple times after that. For VMS that requires converting it back. When the conversion routines sees the double underscore it converts it to "_5F_". In the case where the original file is "__" this results in a file not found error. SAMBA then ignores the file. With ODS-2 naming limitations, when file names are converted by adding characters, it is not possible that the conversion will always work both ways. Another filename that is invisible to SAMBA is the VMS specification ".;". It is also invisible to SAMBA. SAMBA4. What is ODS-1, ODS2, and ODS-5? ODS-1 is the name of the file system that is used on the RSX-11 family of operating systems. OpenVMS/VAX can use this filesystem. IIRC: It is limited to one level of directories, and filenames are limited to 8 or 9 characters followed by a period and another 3 characters. ODS-2 is the name that VMS gives to the filesystem that is native to it. Under it filenames are limited to 39 characters followed by a period, and then another 39 characters. For versions of VMS prior to 7.2 there can be 8 levels of a primary directory. In addition 7 levels of rooted directories can also be specified, or concealed under a logical name. For OpenVMS version 7.2 and later, there can be 255 levels of directories. A complete ODS-2 file specification can not be greater than 255 characters. ODS-3 and ODS-4 are CD-ROM filesystems according to the "Ask The Wizard" link at http://www.openvms.compaq.com . ODS-5 is new filesystem available for OpenVMS ALPHA version 7.2 and later. It allows longer file specifications and a larger character set. [I have not tested any version of SAMBA on an ODS-5 filesystem, so I do not know how it will behave.] SAMBA5. Did SAMBA-VMS crash my system? Probably not. SAMBA runs mostly in user mode code, and user mode code can not cause a system crash. There is one portion of SAMBA that currently runs in KERNEL mode, and that is when the computer changes the effective username. While an error in that section of code can cause a crash, it has been in use at quite a few sites for quite a while. SAMBA6. SAMBA stopped working after an OpenVMS upgrade, why? The component of SAMBA that allows the SMBD to change it's username while it is running needs to be linked against the system image. See the instructions for setting up SAMBA and re-link. SAMBA7. Why can clients not connect to my SAMBA server? (Take 1) Samba-VMS server currently requires clients to be able to connect with plain-text passwords. By default this is disabled for most LANMAN clients. Registry scripts to enable plain text passwords are available as part of the main SAMBA distribution if they are not present in the SAMBA-VMS distribution. SAMBA8. What about Windows 2000 and SAMBA-VMS? There are some fixes in the SAMBA 2.0.7 release that addresses problems with Windows 2000 and SAMBA. SAMBA9. What can be done to speed SAMBA up? Some general suggestions: You can try the DCL command SET RMS_DEFAULT/BUFFER_COUNT=N where N can be from 1 to 255. This can also be set with a SYSGEN parameter in MODPARAMS.DAT. ex: MIN_RMS_DFMBFSDK = 2 ! Sequential Disk file buffers Many tuning problems will show up as CPU bound. Do on all your disks, $SHOW DEVICE/FILES/NOSYS Dnnn: Every time that you find the same executable file more than once, that file should be installed as a shared image with the header resident. This will get you a lot of physical and virtual memory back. You may need to increase global pages and global sections to accommodate this. If you even suspect that an executable may be run in more than one instance, it should be installed. The second activation of most executables that are not installed is costly. This will also speed up the launch of your SMBD processes. Avoid all unneeded paging. For this examine the peak virtual memory used by each process. Adjust the quota for working set extent to match the value seen. Over allocating WSEXTENT will not hurt you unless you are very severely memory limited. The SYSGEN parameter WSMAX may need to be increased for your system. Set it as high as AUTOGEN will allow with out complaining about hurting working set expansion. This may cause more processes to swap out when idle. If this impacts performance negatively, then you likely need more memory for your workload. Of course the step above of liberally installing images will help there. Your NPAGEDYN pool should be set so that there is 300,000 blocks free with out any pool expansion while you are running under your full normal load. This is contrary to what AUTOGEN will calculate, but is part of the documentation for the DECWindows-Motif and TCP/IP products. If you are running OpenVMS 5.5-2 and earlier, make sure that you have 1/3 free of the IRP, LRP, and SRP allocations, with out pool expansions. SAMBA10. Running TESTPARM gives: WARNING: lock directory /samba_root/var/locks should have permissions 0755 for browsing to work Yes TESTPARM does this. I have not found out exactly why yet, but you can safely ignore the message. SAMBA11. SMBD takes a long time to transfer a file, and high CPU utilization is observed. One cause of this has been traced to a bug in the DEC C ftruncate() function that has been confirmed by the Compaq Customer Support Center. At this time there is no known fix. The best workaround is to recompile SAMBA with out HAVE_FTRUNCATE_EXTEND defined. I have only seen this problem personally on ALPHA so I do not know if it affects the VAX version. SAMBA12. Samba is not starting after a reboot? You must make sure that SAMBA_STARTUP.COM is executed the TCPIP$STARTUP.COM or equivalent. Also for TCPIP or (Substitute UCX if needed) make sure that the last statement in the SAMBA_STARTUP.COM has the line: $TCPIP ENABLE SERVICE SMBD It appears to be needed because some of the logical names used in the service definition are not defined at the time the TCPIP$STARTUP is run. [from a post by Jeff Campbell] It appears that the INSTALL.COM routine supplied by SAMBA 2.0.3 is needed to be run to set up logical names that are needed. It may be needed to be run before the TCPIP program is started. [From a post by Zane H. Healy] SAMBA13. Any issues with SAMBA in a VMS Cluster? It has been reported that SAMBA works fine in a cluster when using common files. Load sharing is a function of using TCPIP aliases and a DNS that supports it. [From a post by Gus Bingham] PRINTING1. Printing is not working? (take1) Printing does need write access to a spool area. Make sure that the logical name TMP is defined at the process level to be SAMBA_ROOT:[VAR], and not SYS$SCRATCH. Printing takes place in a setuid() section, and the logical names in the GROUP and JOB tables are not visible to the code. So SYS$SCRATCH is not defined. PRINTING2. SMBRUN ERROR: Can't find smbrun. Installation problem? "Running the command '' gave 1" The actual string value for SMBRUN that it is looking for can be specified in a header file, and then superceded in smb.conf. The 2.0.3 version of SAMBA uses the string SMBRUN as a default if nothing is specified in smb.conf file. It is also noted that the 2.0.3 version of SAMBA-VMS may require the following line in smb.conf: smbrun = /samba_root/bin/smbrun.com You do not want to put a path in the smb.conf file, you want specify a single name. That name must exist both as a logical name that points to the command file and as a DCL symbol that defines a foreign command. The default installation of SAMBA-VMS should configure both of these for you. If the logical name is missing, the error message above will probably be generated. If the symbol is missing, the printing will not work, and other messages may or may not be generated. PRINTING3. Why does the job number displayed from SAMBA not match the one displayed by OpenVMS? The job number for a print job in OpenVMS is an UNSIGNED 32 BIT LONGWORD, and can be any valid value for it. It does not necessarily always increment in a predictable order. (Just usually does). The LANMAN protocol only allows 16 bits of this job number to be sent, and the UNIX SAMBA code uses the upper 8 bits to contain an SMBD Server instance specific number that maps to the print queue. It is not possible to 100% predict what that number is. This leaves only 8 bits, for the print job number. The number returned from OpenVMS or passed to the command files for being processed is only the lower 8 bits, if your VMS print job number is greater than 255. It also means that the job number viewed from a LANMAN client will not match the local VMS value. In a version beyond 2.0.7, the main samba team is re-writing this code, and I have not seen how this will affect OpenVMS yet. MISC1. Can I run a VMS program by double clicking on it from a Microsoft Windows shell? Take a look at http://www.danbbs.dk/~degnbol/software/rse-0.21.zip. It is a Microsoft Windows shell extension, starting X11 programs on SAMBA shares when they are double-clicked. It does not use magic scripts, but rsh or rlogin. [Gunnar] [I have no idea if this will work with SAMBA-VMS - John] FUTURE1. Is there a SWAT implementation for SAMBA-VMS? At this time no. I (John Malmberg) am working on a 2.0.6 port that the SWAT routine compiles and links cleanly. However testing and debugging it is lower on my priority list than getting the SMBD serving working correctly. FUTURE2. Files get mangled by NOTEPAD and some other programs. This seems to be caused by problems in the ftruncate() or lack there of in OpenVMS. I am looking at various potential fixes for this and other related problems. FUTURE3. Directories with over 10,000 files are not fully displayed. This seems to be a limitation in SAMBA-VMS where it can not do the required processing in time. It may be a while for this to be addressed.