Virtual OS/2 International Consumer Education
VOICE Home Page:
April 2005

Newsletter Index
< Previous Page | Next Page >
Feature Index

Samba server for OS/2

By Paul Smedley © April 2005


What is Samba? From the Samba website:

Samba is an Open Source/Free Software suite that provides seamless file and print services to SMB/CIFS clients. Samba is freely available under the GNU General Public License.

OS/2 has for many years included some support for the CIFS standard (through IBM Peer and OS/2 Server), but this support has not been updated for many years and does not support some new features, e.g. file transfers of files greater than 2 GiB.

In early January 2005, Netlabs released the first public builds of the Samba server for OS/2. An initial 'alpha 1' was made available on January 6th, followed quickly by an 'alpha 2' and the current (as of March 27, 2005) 'alpha 3'.


Having some free time, I thought I'd install the alpha of the Samba server. Initially I was wary as a prerequisite for installing the Samba Server is the installation of Security/2 and I don't want/need a login prompt at startup. However, the default is to not include a login prompt at startup, so operationally, the system behaves as it did before the installation of Security/2 and installation went very smoothly.

It is strongly recommended by the author to use at least version 0.40 of Security/2 with the Samba server--earlier versions may have issues.

Installation of the Samba server is very simple--although at this stage, there is no installation programme, and configuration of shares [aka: resources] is done via a text file.

Note: The Samba server will not startup if TCPBEUI [aka: Netbios over TCPIP] is installed in MPTS as the Samba server attaches to port 139 which is also used by TCPBEUI. I was getting an error when starting smbd.exe that it couldn't bind to port 139. The OS/2 port of the Samba server only requires TCPIP to be installed in MPTS - NETBEUI and TCPBEUI aren't required.

I unzipped into c:\tools\samba, and as per the included readme.os2, copied the etc\samba directory within the package into c:\mptn\etc.

Once this is done, the file c:\mptn\etc\samba\smbd.conf is edited to provide access to shares and modify some configuration parameters.

Set the statement workgroup = to the name of the local workgroup--for many OS/2 users this will be IBMPeers.

Other options can be left as default other than the requirements for the local shares.

Examples of different options for shares are given and look like the following:

   comment = E Drive Share
   valid users = psmedley
   browseable = yes
   path = e:/
   public = no
   writable = yes
   printable = no

More detailed information on the available options for smbd.conf can be found at the Samba homepage.

We're now almost ready to start the Samba daemon. The final step is to create the user accounts that are required. Currently it is necessary to do this twice--the first time in Security/2 using the user.exe utility provided in c:\security\bin. For example, user.exe -a username from a command prompt; you are prompted for a password for 'username'.

You then repeat this process for the Samba Server, but this time run

c:\tools\samba\smbpasswd.exe -a username
Note: The usernames created in Security/2 & Samba Server must match.

The Samba server can then be started using smbd.exe. To provide name lookup functionality, it's also necessary to start nmdb.exe. Otherwise you need to refer to the Samba server using its IP address rather than the server name. I currently haven't had a lot of success connecting using the Server name and am mostly using its IP address.

This completes the setup of the Samba Server under OS/2. Log files are generated in the directory where smbd.exe is started. In the case that debug information is requested by the developer, it is possible to increase the debug level using smbd.exe -d X where X is the debug level from 1 to 9. To suppress the debug logging, start the Samba server with the -q option (smbd.exe -q).


I've successfully connected to my [OS/2] machine running the Samba Server using the following:

Connecting using Netdrive is straightforward. First, install Netdrive and reboot. Then download and install the Samba plugin for Netdrive and install it using the supplied instructions. Note that whilst Netdrive is shareware, it is free for use and does not timeout with the Samba plugin.

From the Netdrive control panel, do the following to mount a new samba resource:

Note that I haven't yet had a chance to try connecting using IBM Peer to the Samba server, however given the issues I'm currently having with nameserver lookup and the inability of IBM Peer to connect using an IP address I'd suspect it won't work.


Performance is at least as good as with IBM Peer on my 802.11b wireless connection.

Most of the issues I've had so far with certain applications (e.g., Pronews/2) not running when hosted on a Samba resource have been due to problems with the Samba client that have been resolved with a custom build of smbcd.exe and updated Innotek GCC runtime from the developer.

A bug tracker for reporting issues with the Samba server is available at Netlabs.

Whilst the Samba client and server are available for free from Netlabs, support for the developer is encouraged either by sponsoring Netlabs via the link to Mensys or by sponsoring Nick K (who has also ported/created cdrtools, dvddao, Security/2 & probably other things) via BMT Micro or Mensys.


Samba server
Developer: Netlabs/Nick K
Price: Freeware

Samba server alpha 3:
Samba project homepage:
Samba client plugin for Netdrive:
Samba server bug tracker:
Sponsoring Netlabs:
Sponsoring Nick K (BMT Micro):
Sponsoring Nick K (Mensys):

Feature Index
< Previous Page | Newsletter Index | Next Page >
VOICE Home Page: