Subsections

1.1 SAMBA_LPD - Support For Windows Print- And File Services In A fli4l Network

The package SAMBA_LPD consist of the OPT packages

Although all four OPT packages are combined into one installation package, they may be enabled or disabled all individually. When disabling you loose the functionality of the according OPT. An exception is OPT_NMBD, which does not work without OPT_SAMBA.


Important: When using OPT_LPD you have to disable OPT_LPDSRV!

The individual OPT packages are described in the following sections.


1.1.1 OPT_SAMBA - Samba As A File- And Print Server

With OPT_SAMBA='yes' Windows clients may print directly over the SMB protocol. No additional client software (except for the printer driver) is needed.

The most important precondition for printing over Samba is always setting OPT_LPD='yes'!

Furthermore, this optional package provides rudimentary file server functions. Rudimentary is because fli4l has no user management, and therefore the shares are not restricted. If a full-blown file server is needed, better use

http://www.eisfair.org/.

The version of Samba integrated in this system is always up to date and has no problems neither with large partitions nor with its use as a Primary Domain Controller (PDC). The configuration is similar to fli4l's and thus simple. Samba for fli4l is primarily intended for a simpler printer configuration under Windows.

It is possible to install Samba without Nmbd (NetBios Name Server, see OPT_NMBD) because both together need a lot of free space on the boot medium.

Hence the programs normally belonging together have been split into single OPT- packages - OPT_SAMBA und OPT_NMBD. Although this OPT packages are tied to a big Package together with OPT_LPD they may be activated individually. An exception is OPT_NMBD, which does not work without OPT_SAMBA.

Those that do not need network neighborhood browsing under Windows set OPT_SAMBA='yes' and OPT_NMBD='no'. Although the printer shares are not shown under Windows, they may as well be accessed if the path to them is known. A detailed description can be found later under ``Setting up a Windows-SMB client with Samba activated (OPT_SAMBA='yes')''.

Those that need network neighborhood browsing under Windows set

    OPT_SAMBA='yes' and OPT_NMBD='yes'.

Regarding the firewall: if PF_INPUT_ACCEPT_DEF='yes' (resp. PF6_INPUT_ACCEPT_DEF='yes' for IPv6) is set, then rules will be added to the the INPUT chain which will open the Samba ports (137-139 and 445) for access from the nets configured (see variables SAMBA_BIND_ALL, SAMBA_BIND_IPV4_x and SAMBA_BIND_IPV6_x). If specifying PF_INPUT_ACCEPT_DEF='no' (resp. PF6_INPUT_ACCEPT_DEF='no' for IPv6) you will have to ensure access for your clients manually.

SAMBA_WORKGROUP

In order for the printer shares to become visible in the workgroup defined in Windows, the workgroup name for Samba must match the Windows' workgroup name. If for example on Windows the workgroup name is ``workgroup'', this variable must be defined as follows:

    SAMBA_WORKGROUP='workgroup'

This is also the default setting.

SAMBA_TRUSTED_NETS

Which nets are allowed to access Samba?

This parameter defines which nets should be able to access Samba. Samba determines and considers the internal networks from fli4l's basic settings when creating a new configuration. For security reasons only computers from these networks are permitted access. If computers from other networks should be able to access Samba, they must be configured separately here. It is sufficient to specify the additional networks like this:

    NETWORK/NETMASK

for example the net 192.168.6.0:

     SAMBA_TRUSTED_NETS='192.168.6.0/24'

Default Setting: SAMBA_TRUSTED_NETS=''

SAMBA_LOG
Logging errors in log.smb and log.nmb: 'yes' or 'no'

This variable specifies whether actions are recorded in the files log.smb and log.nmb or not. To which directory these files are written is decided using SAMBA_LOGDIR or by the selected installation type. The variable should only be set to 'yes' for debugging, because the log files may be written to the RAM disk, depending on the setting for SAMBA_LOGDIR and cause overflows there. SAMBA_LOG applies to both OPT_SAMBA and OPT_NMBD, because they both depend on and won't run without each other. If you set SAMBA_LOG='no' we urge you to read what to obey for SAMBA_LOGDIR.

Default Setting: SAMBA_LOG='no'

SAMBA_LOGDIR

The log directory for the files log.smb and log.nmb

This variable sets the directory to which the files log.smb and log.nmb are written. The variable can either be empty or must hold an absolute path to a writable directory. An absolute path always starts with a '/'. The directory has to exist already. If the variable is empty, the presence of a writable partition mounted under /data determines where the log files are stored:

If no writable partition mounted under /data exists (typically all installation types except for B) the files are written to /var/log on the RAM disk.

If it exists the files will be written to /data (the data partition).

If the variable is not empty the files log.smb and log.nmb will be written to the directory specified (if it is writable). Setting this to a read only directory (i.e. the opt partition) does not make sense. If the log files can not be written Samba may not start. So please think carefully about the content of SAMBA_LOGDIR.

If setting SAMBA_LOG='no' the variable SAMBA_LOGDIR has to be either empty or point to a directory on a linux file system (minix, ext2/3/4) because with SAMBA_LOG='no' log.smb and log.nmb will be symlinked to /dev/null which only works there. If you definitely do not want to have Samba log files or symlinks to /var/log you may specify for example

     SAMBA_LOG='no'
     SAMBA_LOGDIR='/tmp'

In most use cases SAMBA_LOGDIR='' is the right decision, this is why this is the default setting.

Default Setting: SAMBA_LOGDIR=''

SAMBA_TDBPATH

This variable configures the directory where the Samba server stores its data in so-called TDB files. Among other things these files contain informations about which printer drivers have been uploaded to the fli4l printer server (for details refer to section ``Point'n'Print''). The actual printer drivers are also stored in this directory. You can set this variable to `auto '; in this case fli4l will create a directory on a persistent storage medium and mount it under /var/lib/persistent/samba/db.

Default Setting: SAMBA_TDBPATH='auto'

Example: SAMBA_TDBPATH='/data/samba/tdb'

SAMBA_SPOOLPATH

This variable configures the so-called spool directory for incoming print jobs. When printed through the Samba protocol, the print data will first be spooled to the directory set here before being passed to the LPD print server. You may set this variable to `auto', in this case fli4l will create a spool directory on a persistent storage medium and mount it to /var/lib/persistent/samba/spool.

Please note that the content of this directory will be erased when starting your fli4l router. So you should not specify a directory here that contains other important data!

Default Setting: SAMBA_SPOOLPATH='auto'

Example: SAMBA_SPOOLPATH='/data/samba/spool'

SAMBA_BIND_ALL

With SAMBA_BIND_ALL='yes' the Samba server will listen for queries on all available local network interfaces. If this is not desired you have to set SAMBA_BIND_ALL='no' and in addition configure the nets to be processed by the Samba server using the arrays SAMBA_BIND_IPV4_% resp. SAMBA_BIND_IPV6_%.

Default Setting: SAMBA_BIND_ALL='no'

SAMBA_BIND_IPV4_x

If SAMBA_BIND_ALL='no', you have to use this array to configure the IPv4 nets for which the Samba server will answer on queries.

Example:

    SAMBA_BIND_IPV4_N='1'
    SAMBA_BIND_IPV4_1='IP_NET_1'

Default Setting: SAMBA_BIND_IPV4_N='0'

SAMBA_BIND_IPV6_x

If SAMBA_BIND_ALL='no', you have to use this array to configure the IPv6 nets for which the Samba server will answer on queries.

Example:

    SAMBA_BIND_IPV6_N='1'
    SAMBA_BIND_IPV6_1='IPV6_NET_1'

Default Setting: SAMBA_BIND_IPV6_N='0'

LPD_PARPORT_x_SAMBA_NAME

Set the fli4l printer name in network neighborhood for the x'th printer on fli4l's parallel port (LPD_PARPORT_x_IO) here. Of course

    OPT_NMBD='yes'

has to be set else it won't show up there. Valid names have a maximum of 8 characters and only consist of chars or numbers. Umlauts and special characters like ä, ö, ü, ß, _, @, a.s.o. are not allowed!

If the variable is left empty the predefined printer name is used. This is prx for local printers at the parallel port, x stands for 1, 2, 3 a.s.o., meaning the first, second, third ... port.

Default Setting: LPD_PARPORT_1_SAMBA_NAME=''

LPD_PARPORT_x_SAMBA_NET

This variable can be used to control which hosts may use the local printer at fli4l's x-th parallel port. You can use this to restrict access to individual computers or individual subnets. By default the variable remains empty. This enables all computers of the internal network (including all subnets) to print on this printer (see LPD_PARPORT_x_IO). With two printers on fli4l's parallel ports LPD_PARPORT_1_SAMBA_NET and LPD_PARPORT_2_SAMBA_NET have to exist.

Set the variable like this:

Default Setting: LPD_PARPORT_1_SAMBA_NET=''

LPD_USBPORT_x_SAMBA_NAME

Set the fli4l network neighborhood name for the x'th printer on fli4l's USB port here. Of course

    OPT_NMBD='yes'

has to be set else it won't show up there. Valid names have a maximum of 8 characters and only consist of chars or numbers. Umlauts and special characters like ä, ö, ü, ß, _, @, a.s.o. are not allowed!

If the variable is left empty the predefined printer name is used. This is usbprx for local printers at the USB port, x stands for 1, 2, 3 a.s.o., meaning the first, second, third ... port.

Default Setting: LPD_USBPORT_1_SAMBA_NAME=''

LPD_USBPORT_x_SAMBA_NET

This variable can be used to control which hosts may use the local printer at fli4l's x-th USB port. You can use this to restrict access to individual computers or individual subnets. By default the variable remains empty. This enables all computers of the internal network (including all subnets) to print on this printer (see LPD_PARPORT_x_IO). With two printers on fli4l's USB ports LPD_USBPORT_1_SAMBA_NET and LPD_USBPORT_2_SAMBA_NET have to exist.

See LPD_PARPORT_x_SAMBA_NET for restricting access to individual hosts or subnets.

Default Setting: LPD_USBPORT_1_SAMBA_NET=''

LPD_REMOTE_x_SAMBA_NAME

Set the fli4l network neighborhood name for the x'th printer on fli4l's LPD_REMOTE_x_IP here. Of course

    OPT_NMBD='yes'

has to be set else it won't show up there. Valid names have a maximum of 8 characters and only consist of chars or numbers. Umlauts and special characters like ä, ö, ü, ß, _, @, a.s.o. are not allowed!

If the variable is left empty the predefined printer name is used. This is reprx for remote printers, x stands for 1, 2, 3 a.s.o., meaning the first, second, third ... port.

Default Setting: LPD_REMOTE_1_SAMBA_NAME=''

LPD_REMOTE_x_SAMBA_NET

This variable can be used to control which hosts may use fli4l's remote printers. You can use this to restrict access to individual computers or individual subnets. By default the variable remains empty. This enables all computers of the internal network (including all subnets) to print on this printer (see LPD_REMOTE_x_IP).

See LPD_PARPORT_x_SAMBA_NET for restricting access to individual hosts or subnets.

Default Setting: LPD_REMOTE_1_SAMBA_NET=''

LPD_SMBREMOTE_x_SAMBA_NAME

Set the fli4l network neighborhood name for the x'th printer on fli4l's LPD_SMBREMOTE_x_SERVER here. Of course

    OPT_NMBD='yes'

has to be set else it won't show up there. Valid names have a maximum of 8 characters and only consist of chars or numbers. Umlauts and special characters like ä, ö, ü, ß, _, @, a.s.o. are not allowed!

If the variable is left empty the predefined printer name is used. This is smbreprx for SMB remote printers, x stands for 1, 2, 3 a.s.o., meaning the first, second, third ... port.

Default Setting: LPD_SMBREMOTE_1_SAMBA_NAME=''

LPD_SMBREMOTE_x_SAMBA_NET

This variable can be used to control which hosts may use fli4l's smb remote printers. You can use this to restrict access to individual computers or individual subnets. By default the variable remains empty. This enables all computers of the internal network (including all subnets) to print on this printer (see LPD_SMBREMOTE_x_SERVER).

See LPD_PARPORT_x_SAMBA_NET for restricting access to individual hosts or subnets.

Default Setting: LPD_SMBREMOTE_1_SAMBA_NET=''

SAMBA_ADMINIP

If an IP address or an address range from the local network is specified here, the according computers have full access to the fli4l ramdisk over the network. If using OPT_NMBD='yes' those computers can access fli4l over Windows' network neighborhood.

An example with the IP address 192.168.6.2:

    SAMBA_ADMINIP='192.168.6.2'

If you want to allow such access for multiple computers there are different ways:

- Specify the IP addresses in a line separated by spaces:

SAMBA_ADMINIP='192.168.6.2 192.168.6.3'

- Specify an IP range without host part:

SAMBA_ADMINIP='192.168.'

Please note the dot at the end!

Due to security concerns this variable should only be used for debugging!

In the default settings fli4l's Ram disk is not accessable in network neighborhood.

Default Setting: SAMBA_ADMINIP=''

SAMBA_SHARE_N

Creation of a defined number of shares: i.e. '2'

By SAMBA_SHARE_N the number of shares to be created resp. mounted is set. If shares do not exist they will be created, if the do they will be simply used. Creating shares makes only sense with a mounted medium like a harddisk, a CD ROM drive or a Compact-Flash disk (see OPT_MOUNT).

If i.e. 2 is set here, the variables

SAMBA_SHARE_NAME_1
SAMBA_SHARE_RW_1
SAMBA_SHARE_BROWSE_1
SAMBA_SHARE_PATH_1
SAMBA_SHARE_NET_1

and

SAMBA_SHARE_NAME_2
SAMBA_SHARE_RW_2
SAMBA_SHARE_BROWSE_2
SAMBA_SHARE_PATH_2
SAMBA_SHARE_NET_2

have to be defined with meaningful content.

Default Setting: SAMBA_SHARE_N='0'

SAMBA_SHARE_NAME_x

With SAMBA_SHARE_NAME_x the name of the x'th share is defined. The share can be accessed by this name resp. with OPT_NMBD activated can be seen in network neighborhood on Windows clients (see SAMBA_SHARE_BROWSE_x below).

Although under Windows more characters and umlauts are allowed you should stick to 8 characters length without umlauts for compatibility with DOS, i.e.

    SAMBA_SHARE_NAME_1='share1'

In addition share names have to be unique on the network and should not appear twice. This name will be automatically added to the path setting from

SAMBA_SHARE_PATH_x.

Hence fli4l will try to create a directory by the name of ``share'' if it does not exist. It is absolutely necessary that the partition on this path is mounted writable. If this is not the case an error message on boot will occur. If the directory already exists it will not be overwritten to preserve the data stored there.

Default Setting: SAMBA_SHARE_NAME_1='share1'

SAMBA_SHARE_RW_x

Should the share be writable: 'yes' or 'no'

With SAMBA_SHARE_RW_x it is defined whether the x'th share should be writable or not.

If choosing 'no' files from this share can only be read but nothing can be stored or changed in there. This makes sense for files that should be shared with others but should not be deleted or altered in any way.

If 'yes' is set the share is read/writable for all IP addresses or networks defined in

SAMBA_SHARE_NET_x]

or if this variable is empty then for all computers of the internal network (including all subnets).

Default Setting: SAMBA_SHARE_RW_1='yes'

SAMBA_SHARE_BROWSE_x
(needs OPT_NMBD='yes')

Should the x'th share be browsable: 'yes' or 'no'

By SAMBA_SHARE_BROWSE_x is defined whether the x'th share should be displayed in network neighborhood when OPT_NMBD is activated or not. If you want to prevent other users in the network environment from seeing and accessing the share, specify

SAMBA_SHARE_BROWSE_x='no'

Users knowing of the existence of the share may access it nevertheless by i.e. using

\\fli4l \sharename

as the address in an explorer window. ``fli4l'' has to be replaced by your fli4l router's name - if different - and "sharename" has to be replaced by the name defined in SAMBA_SHARE_NAME_x.

Default Setting: SAMBA_SHARE_BROWSE_1='yes'

SAMBA_SHARE_PATH_x

The path to the x'th share.

By SAMBA_SHARE_PATH_x the path to the x'th share is defined.

An example: By

OPT_MOUNT='yes'
MOUNT_N='1'
MOUNT_1_DEV='sda4'
MOUNT_1_POINT='/usr/local/data'
MOUNT_1_FS='ext2'
MOUNT_1_CHECK='yes'
MOUNT_1_OPTION='rw'

the fourth primary partition of the first harddisk is mounted to the file system under /usr/local/data.

A single share is defined with

SAMBA_SHARE_N='1'
SAMBA_SHARE_NAME_1='share1'
SAMBA_SHARE_RW_1='yes'
SAMBA_SHARE_BROWSE='yes'

and you may create and mount the directory "share1" under /usr/local/data by defining

SAMBA_SHARE_PATH_1='/usr/local/data'

The share name is taken from

SAMBA_SHARE_NAME_1

i.e. in this case ``share1''.

If the directory does not exist it will be created automatically, if it does it will be simply used. At the moment there is no option to delete created directories again via samba_lpd.txt, an error could delete files still needed. If OPT_NMBD is installed and configured files existing in the share can be deleted by a file manager if the share is defined writable in SAMBA_SHARE_RW_1. The directory itself can only be deleted on the router console.

Default Setting: SAMBA_SHARE_PATH_1='/usr/local/data'

SAMBA_SHARE_NET_x

This variable can be used to control which computers may use the x'th share. You can restrict access to individual computers or individual subnets. By default, the variable remains empty. By this all computers in the internal network (including all subnets) can access the share.

The variable can be defined like SAMBA_ADMINIP.

- Specify the IP addresses in a line separated by spaces:

SAMBA_SHARE_NET_1='192.168.6.2 192.168.0.1'

- Specify an IP range without host part:

SAMBA_SHARE_NET_1='192.168.141. 192.168.142.'

For two nets 192.168.141.0/255.255.255.0 and 192.168.142.0/255.255.255.0

or better

SAMBA_SHARE_NET_1='192.168.'

Please note the dot at the end!

Default Setting: SAMBA_SHARE_NET_1=''

SAMBA_CDROM_N

Creation of a number of shares for CDROMs: i.e. '2'

SAMBA_CDROM_N defines the number of shares for CD-ROM drives.

This and the following variables and the extensions in the script rc.samba were created to make sharing of CD-ROMs more fault-tolerant. The script shares CDROMs mounted at the mount point defined in OPT_MOUNT or generates a mount point for CDROMs not yet mounted and shares it afterwards.

In the latter case the drive is mounted to

/mnt/cdromx

when needed (access via network neighborhood), the x representing the x'th CD-ROM. Pay attention to avoid collisions with own mount points with the same name. If nobody accesses the share anymore the drive gets unmounted automatically after some time in order to be able to eject the CDROM without having to unmount it manually. This eases handling on CDROM servers with more drives where CDs have to be swapped from time to time.

If SAMBA_CDROM_N is set to the variables

SAMBA_CDROM_DEV_1 SAMBA_CDROM_NET_1

and

SAMBA_CDROM_DEV_2 SAMBA_CDROM_NET_2

have to be defined with meaningful values.

Default Setting: SAMBA_CDROM_N='0'

SAMBA_CDROM_DEV_x

Device name of the CDROM drive: i.e. 'sdc'

Specify here the device to be shared. Conventions in device naming are explained in the documentation of OPT_MOUNT.

SAMBA_CDROM_NET_x

This variable can be used to control which computers may use the x'th CDROM drive. You can restrict access to individual computers or individual subnets. By default, the variable remains empty. By this all computers in the internal network (including all subnets) can access the share.

With two CDROM drives connected to fli4l

SAMBA_CDROM_NET_1

and

SAMBA_CDROM_NET_2

have to exist.

The variable can be defined like SAMBA_ADMINIP.

- Specify the IP addresses in a line separated by spaces:

SAMBA_CDROM_NET_1='192.168.6.2 192.168.0.1'

- Specify an IP range without host part:

SAMBA_CDROM_NET_1='192.168.141. 192.168.142.'

For two nets 192.168.141.0/255.255.255.0 and 192.168.142.0/255.255.255.0

or better

SAMBA_CDROM_NET_1='192.168.'

Please note the dot at the end!

Default Setting: SAMBA_CDROM_NET_1=''


1.1.2 OPT_SAMBATOOLS - Special Tools For Samba

Activate installation of additional Samba tools: 'yes' or 'no'.

By setting this additional tools for Samba will be installed. It was asked repeatedly whether it is possible to send messages to the Windows clients or mount shares on Windows clients on fli4l so we decided to provide the appropriate tools.

Using this tools without further knowledge is error prone. Who does not know the dangers, for example, of mounting shares on fli4l, should avoid the stuff here. I have tried to exclude some common sources of error with scripts that mount and unmount shares or send messages to one, some or all available Windows clients.

Further support will not be given, hence read the documentation thoroughly!

Additional files will be copied to the router:

    smbfs.o
    nls_iso8859-1.o
    nls_cp850.o
    nmblookup
    samba-netsend
    smbclient
    smbstatus

Most important are the scripts which are exlained below.

    samba-netsend

With this script you may send messages to SMB hosts interactively. Entering this on the console the following message appears:

Send Message to SMB Hosts

To which SMB Hosts the message should be send?

Choice 1
--------
All SMB Hosts on configured Subnets on fli4l - type 'all'.

Choice 2
--------
fli4l Samba Clients with active connections - type 'active'.

Choice 3
--------
One ore more active SMB Hosts, type NETBIOS Names
separated with a blank, for instance 'client1 client2':

As you see, there are three choices in the first step:

  1. Sending of messages to all SMB hosts in the nets configured on the fli4l. Samba accesses the file

       /config/base.txt
    

    while writing its configuration and all network interfaces configured there are automatically inserted in the Samba configuration. From this the information is generated in what nets should be searched for SMB clients and the message is sent to all of these (except for fli4l itself). The broadcast addresses and the NetBIOS names of the computers to which the message has to be sent will be issued.

    To choose this option, enter

       all
    

    here.

  2. Sending messages to all fli4l Samba clients with active connections to fli4l - this only means those actually having open connections to fli4l's Samba.

    To choose this enter

       active
    

    here.

  3. Sending messages to one or more active SMB hosts. The computers have to be specified with their NETBIOS names. In case of more computers they have to be separated by a space.

    After giving the relevant information the second step is reached:

    Send Message to SMB Hosts

    Which Message should be send? For instance 'fli4l-Samba-Server is going down in 3 Minutes ...':

    Enter the message to be sent here. This message is displayed on clients with news service enabled. The news service on Windows NT, Windows 2000 and Windows XP is normally activated, in other cases it has to be activated/installed later. On Windows 9x clients such as Windows 98 or Windows ME, the program WinPopUp must be runnning.

Default Setting: OPT_SAMBATOOLS='no'


1.1.3 OPT_NMBD - NETBIOS Name Server

This is the program for displaying shares in Windows' network neighborhood (needs OPT_SAMBA='yes'). To browse the shared ramdisk from OPT_SAMBA or own shares, set OPT_NMBD='yes'.

The SMB name server needs an additional 100 KB on fli4l's boot medium. In case of shortage you should try to get by without it and bind your printers by direct use of the network path, i.e. as \\fli4l\pr1.

A detailed description of the interaction of both programs can be found here: OPT_SAMBA.

Default Setting: OPT_NMBD='no'

NMBD_MASTERBROWSER

Samba as the master browser: 'yes' or 'no'

Since fli4l in most cases runs continuously, it sometimes makes sense to use it as a master browser. A master browser in Windows networks is a computer that holds a list of available SMB servers (including all Windows computers with activated file and printer sharing). So the Windows clients can learn from the master browser which computers with activated file and printer sharing exist in the network. In networks with a dedicated Server it is better to leave this task to it. In networks with a few Windows computers fli4l can do the job nicely.

With NMBD_MASTERBROWSER='yes' fli4l wins the master browser election against all Windows machines.

Default Setting: NMBD_MASTERBROWSER='no'

NMBD_DOMAIN_MASTERBROWSER
(needs NMBD_MASTERBROWSER='yes')

Samba as the domain master browser: 'yes' or 'no'

I have resisted long to include this variable in the configuration because it is dangerous when improperly used. If you activate this option in a network with a domain controller which always is also the domain master browser at the same time, this is a reliable means to sabotage this domain controller. In this case, the strangest effects can occur. On the other hand, a domain master browser is the best solution to realize browsing over subnets (see cipe HOWTO).

In what cases it is necessary to configure a domain master browser can not be explained in one or two words. Fortunately, however, others made this:

http://samba.sernet.de/dokumentation/browsing-2.html


Important: For proper operation you need a configured WINS server that has to be known by all clients!

With NMBD_DOMAIN_MASTERBROWSER='yes' fli4l attempts to win the domain master browser election, but only succeeds if no other domain master browser exists. Is there another domain master browser and this setting is set, errors will definitely occur on the network caused by so-called browse wars, where both computers attempt to win. So if you do not know exactly whether your network is already running a domain master browser or not, keep your fingers off and stick with the default!

Default Setting: NMBD_DOMAIN_MASTERBROWSER='no'

NMBD_WINSSERVER

Samba as a WINS server: 'yes' or 'no'

In order to resolve NetBIOS names in Windows networks, there are two possibilities. The first one uses a static resolution with the file lmhosts and is hard to maintain like the DNS Name Resolution with hosts files. Hence, Microsoft developed WINS: Windows Internet Name Service

WINS has the advantage that the NETBIOS name resolution is achieved via direct requests to a WINS server and not by broadcasts. The WINS database is created dynamically by the server, but has the disadvantage that the server has to be entered in the TCP/IP protocol properties of every client. Samba has this server implemented and thus it is available also for fli4l.

To run fli4l as a WINS server, OPT_SAMBA, OPT_NMBD and NMBD_WINSSERVER must be set to ``yes'' and in the TCP/IP protocol properties of the client's network card the ``WINS-resoltuion'' has to be activated.

Under WINS server search order the IP address of the fli4 machine has to be added.

Although only the choice between WINS OR DHCP is possible, specifying the IP address of the fli4l WINS server does not complete a correct TCP/IP configuration. You will still have to configure either the IP address of each client or DHCP.

In networks with a Windows server on which the WINS Server service is enabled, you should leave this task to Windows. But in Networks with a few Windows computers also fli4l can fulfil this task easily.

    NMBD_WINSSERVER='yes'

activates this function. With OPT_DHCP installed and activated

    NMBD_WINSSERVER='yes'

the IP address of fli4l will be transferred as the WINS server's IP to the clients.

Default Setting: NMBD_WINSSERVER='no'

NMBD_EXTWINSIP
(needs NMBD_WINSSERVER='no')

The IP address of the remote WINS server for Samba

If, as noted above, in networks with a Windows server, the task to manage the WINS database should be done by it. In this variable you can configure fli4l as a WINS client. the fli4l computer then tries to register with the configured WINS server. It should be ensured that flil4 can not be configured as server and client at the same sime - the options

  NMBD_WINSSERVER='yes'

and

  NMBD_EXTWINSIP='IP-Adresse'

exclude each other. Generation of a boot medium will not work with this configuration. In this mode Samba works as a WINS-Proxy. This is of advantage if the net does not consist only of WINS clients, the WINS server is located in another subnet not reachable via broadcast and the Non-WINS clients are in need of a NETBIOS name resolution. Then the fli4l answers broadcasts of Non-WINS clients by querying the WINS server and redirecting the answer via broadcast to the client.

If you want to run fli4l as a WINS client it has to know the IP address of the external WINS servers to register with. Precondition for this is NMBD_WINSSERVER='no'.

An example with IP address 192.168.6.11:

  NMBD_EXTWINSIP='192.168.6.11'

With OPT_DHCP installed and activated the IP address configured there will be transferred to the clients as the IP address of the WINS servers.

Default Setting: NMBD_EXTWINSIP=''


1.1.4 OPT_LPD - Print Server For The lpr/lpd-Protocol

With OPT_LPD='yes' fli4l may also be used as a print server. Then lpd and one or more printer queues (depending on the number of printers connected to fli4l) will be installed to the Ram disk of the root file systems or to the harddisk.


Important: To make printing work seamlessly even in a multi-user environment, the lpd spooler is used. The print data will be stored in a spool directory. A separate spool directory is created for each printer. This spool directories are located in the ramdisk of the root file system or, if available, will use the hard disk. If at the start of fli4l no writable minix, ext2/3/4 partition mounted to /data is found, each printer configured uses the ramdisk of the root file system. With three printers connected and simultaneously printing the spooled files for all three printers are created in the ramdisk. Note that even at small text file already causes large print jobs on Windows and they shortly will exists twice in memory requiring two times the ram space needed when printing via Samba . To make print spooling on the ramdisk work seamlessly you should have enough memory in the fli4l computer - the more, the better. For those who often have to print large documents without having at least 4 MB of memory left for printing, it is absolutely essential to use a hard drive installation to avaoid afffecting the function of the router by an overflowing ramdisk. Yes, you got that right. If a print job does not fit in the ramdisk, the result could be a router that no longer routes...

When spooling to disk, the processing of print jobs is limited by the space available on the hard disk. For this purpose, the hard drive installation type B should be used with an ext data partition mounted to /data.

If problems occur when printing large files on a non-harddisk installation there is simply not enough memory in the router.

Rule of thumb: fli4l as a router needs about 10 MB of memory (8 - 12, depending on the configuration). With 32 MB memory in the router the rest is available for printing - hence 32 - 10 = 22 MB. When printing with Samba the available space is reduced by half, because print jobs are stored twice in ram while printing: This means a print job can have a maximum size of 11 MB and with two jobs at the same time the router stops routing... Therefore we strongly advice a harddisk installation for printing.

Default Setting: OPT_LPD='no'

LPD_DEBUG

This variable activates or deactivates the log function for the LPD print server. It is recommended to activate logging only in case of debuging because the protocol is quite big in file size.

The variable can either have the values `yes', `no' or a number between 1 and 5, where a higher value causes more log details. The setting `yes' is equivalent to the value 1.

Default Setting: LPD_DEBUG='no'

Example: LPD_DEBUG='2'

LPD_DEBUG_FILE

This variable contains the path to the logfile, to which the logs of the LPD print server are written in case of an activated protocol function (see description of variable LPD_DEBUG). It is also possible to set the the value to `auto' to select the default location of the log file /var/log/lpd.log.

The content of this variable will be ignored if logging is disabled by specifying LPD_DEBUG='no'.

Default Setting: LPD_DEBUG_FILE='auto'

Beispiel: LPD_DEBUG_FILE='/data/log/lpd.log'

LPD_SPOOLPATH

This variable configures the so-called spool directory of the LPD print server for incoming print jobs. All print data will first be spooled to the directory set here before being passed to printers by the print server. You may set this variable to `auto', in this case fli4l will create a spool directory on a persistent storage medium and mount it to /var/lib/persistent/samba/spool.

Please note that the content of this directory will be erased when starting your fli4l router. So you should not specify a directory here that contains other important data! Also note that the path configured here may not be the same as in SAMBA_SPOOLPATH (with the exception that both variables have the value 'auto') because the two spool directories serve for different purposes and hence need different access settings.

Default Setting: LPD_SPOOLPATH='auto'

Example: LPD_SPOOLPATH='/data/lpd/spool'

OPT_LPD_PARPORT

OPT_LPD_PARPORT='yes' specifies that local parallel printer ports should be used. If only USB- or remote printers are used, you may keep the default of the variable:

Default Setting: OPT_LPD_PARPORT='no'

LPD_NETWORK_N

This variable contains the number of entries in the array LPD_NETWORK_x (see below).

Example: LPD_NETWORK_N='1'

LPD_NETWORK_x

Each entry in this array specifies a host- or network address for which printing via the LPD protocol 1.1 is allowed. Possible entries are IPv4 addresses like 192.168.1.0/24, symbolic addresses like IP_NET_1 and host references like @peacock.

Please note that this settings are not necessary if printer access is only accomplished via the Samba server! This is only relevant if printing via the LPD protocol is desired and hence is mostly of interest for Linux- and Mac machines. It is more convenient for Windows machines to print over Samba because LPD needs the additional installation of the ``UNIX print services for Windows''.

Example:

    LPD_NETWORK_1='IP_NET_1'
    LPD_NETWORK_2='192.168.1.0/24'
    LPD_NETWORK_3='@client'

LPD_PARPORT_N
(needs OPT_LPD_PARPORT='yes')

By LPD_PARPORT_N the number of local parallel ports in use is determined. With a printer at the first parallel port configured in samba_lpd.txt set

    LPD_PARPORT_N='1'
For two printer ports increment LPD_PARPORT_N, hence

    LPD_PARPORT_N='2'

The corresponding settings in
LPD_PARPORT_1_IO
LPD_PARPORT_1_IRQ
LPD_PARPORT_1_DMA
and
LPD_PARPORT_2_IO
LPD_PARPORT_2_IRQ
LPD_PARPORT_2_DMA

and, if using Samba in addition, also

LPD_PARPORT_1_SAMBA_NET
LPD_PARPORT_2_SAMBA_NET

and, if Samba printer names should be used, also

LPD_PARPORT_1_SAMBA_NAME
LPD_PARPORT_2_SAMBA_NAME

have to exist.

Default Setting: LPD_PARPORT_N='1'

LPD_PARPORT_x_IO

LPD_PARPORT_x_IO configures the x'th local parallel printer port. For two printers at fli4l's parallel ports two entries with the valid values of

have to exist, i.e.

    LPD_PARPORT_1_IO='0x378'

and

    LPD_PARPORT_2_IO='0x278'


Important: Parallel ports on the mainboard or on ISA interface cards are supported with the values mentioned above. PCI cards with certain NETMOS chips providing parallel ports are also possible. You have to determine the device via

        cat /proc/pci
. Search for the device with matching Vendor-ID and Device-ID and choose the IO-addresses from the following list:

This was included without matching hardware to test. Consider this an experimental feature. In case of errors please report to the newsgroups and provide all possible informations!

To make printing work ensure yourself to which io addresses the built-in interfaces are set. The io addresses can either be set in the BIOS of the computer or in very old computers are not configurable, but only displayed at boot time. Additional ports can usually be configured via jumpers on the card which are desribed in the (hopefully still existing) documentation.

In case of OPT_LCD='yes' in addition make sure that the address set there in LCD_ADDRESS does not collide with the address set in samba_lpd.txt. A boot media can not be build with this conflict!

Default Setting: LPD_PARPORT_1_IO='0x378'

LPD_PARPORT_x_IRQ

LPD_PARPORT_x_IRQ specifies whether interrupt mode is used for printing to reduce processor load or not. To use this mode the interfaces on the mainboard or addon cards have to be set to ECP/EPP mode either via BIOS or Jumpers. Activate interrupt mode like this:

        LPD_PARPORT_1_IRQ='yes'

deativate it like this:

        LPD_PARPORT_1_IRQ='no'

and configure normal or SPP mode for the interfaces in mainboard or addon cards. If errors occur and somthing goes wrong first try to test with

        LPD_PARPORT_1_IRQ='no'

Default Setting: LPD_PARPORT_1_IRQ='no'

LPD_PARPORT_x_DMA

LPD_PARPORT_x_DMA specifies whether DMA mode is used for printing to reduce processor load or not. To use this mode the interfaces on the mainboard or addon cards have to be set to ECP/EPP mode either via BIOS or Jumpers. Activate interrupt mode like this:

        LPD_PARPORT_1_DMA='yes'

Precondition is to set

  LPD_PARPORT_1_IRQ='yes'

deativate it like this:

  LPD_PARPORT_1_DMA='no'

and configure normal or SPP mode for the interfaces in mainboard or addon cards. If errors occur and somthing goes wrong first try to test with

  LPD_PARPORT_1_DMA='no'

Default Setting: LPD_PARPORT_1_DMA='no'

OPT_LPD_USBPORT

OPT_LPD_USBPORT='yes' specifies the use of local USB printer ports.

Support for USB printers has to be activated in package OPT_USB in addition. Depending on the driver this might look like this:

    OPT_USB='yes'
    USB_LOWLEVEL='uhci'
    USB_PRINTER='yes'

or like this:

    OPT_USB='yes'
    USB_LOWLEVEL='usb-ohci'
    USB_PRINTER='yes'


Important: The configuration option for USB printers has been integrated, without having appropriate hardware available for testing. Hence this has to be regarded as an experimental feature. In case of errors, please post detailed information in the newsgroup! Many USB printers are GDI printers. GDI printers can not be addressed. Questions about problems with USB printers will only be answered if you communicate that you have ensured that the affected printer is not a GDI printer!

If you only want to use printers on parallel ports or remote printers the variable can be left at its default:

Default Setting: OPT_LPD_USBPORT='no'

LPD_USBPORT_N
(needs OPT_LPD_USBPORT='yes')

In LPD_USBPORT_N set the number of local USB printer ports to be used. A printer on the first USB interface is set like this

    LPD_USBPORT_N='1'

For two USB printer ports LPD_USBPORT_N has to be incremented:

  LPD_USBPORT_N='2'

When using Samba the corresponding settings in
LPD_USBPORT_1_SAMBA_NET
LPD_USBPORT_2_SAMBA_NET
and, if Samba printer names have been assigned,
also LPD_USBPORT_1_SAMBA_NAME
and LPD_USBPORT_2_SAMBA_NAME
have to exist.


Important: If more than one USB printer is used, note that the order of turning on the printers determines which is the first and the second USB printer. The second USB printer will automatically become the first printer if the first USB printer is not turned on. If the printers are different printer models and require different drivers on the client it can thus happen that printing to the selected printer produces garbage because of using the wrong printer language for the print job.

Default Setting: LPD_USBPORT_N='1'

OPT_LPD_REMOTE

OPT_LPD_REMOTE='yes' specifies that remote printers (not local) should be used. If only printers on local parallel or USB interfaces should be used leave the default untouched here:

Default Setting: OPT_LPD_REMOTE='no'

LPD_REMOTE_N
(needs OPT_LPD_REMOTE='yes')

By LPD_REMOTE_N the number of remote printers in use is determined. When using this the print job from the client is sent to fli4 and then forwarded to a remote LPD print server.

This will also work together with Samba. If a remote printer on a non-local print server should be accessed over fli4l

    LPD_REMOTE_N='1'

has to be set. For two remote print servers with two printer queues increment LPD_REMOTE_N, hence

    LPD_REMOTE_N='2'

In addition the corresponding settings in

and, if Samba is used, also

have to exist.

Default Setting: LPD_REMOTE_N='0'

LPD_REMOTE_x_IP

By LPD_REMOTE_x_IP the IP of the x'th remote print server is set.

The default is a second fli4 computer accessable at 192.168.6.99.

Default Setting: LPD_REMOTE_1_IP='192.168.6.99'

LPD_REMOTE_x_PORT

By LPD_REMOTE_x_PORT the port of the x'th remote printer is set. Define this variable only if printing to print servers able to receive print jobs via ftp or netcat. If using print servers able to understand the lpd protocol leave this variable empty and use LPD_REMOTE_x_QUEUENAME instead. Hence use EITHER LPD_REMOTE_x_PORT OR LPD_REMOTE_x_QUEUENAME and never both at the same time! One of the two variables has to be defined.

Consult the manual of your print server or the manufacturer's website to find out which category your print server belongs to. An incomplete overview can be found at

http://www.lprng.com/LPRng-Reference/LPRng-Reference.html#AEN4990

The default defines a third remote printer repr3 on a HP JetDirect print server (Interface card) with the IP 192.168.6.100 reached via port 9100 (as the link above shows this would also be reachable on the print queue by the name raw...).

Here's a hint: If the corresponding printer is not reachable or turned off at the time of print job creation lpd will reach a timeout and the job can not be processed. This job can not be deleted with the lprm command and remains in the queue until fli4 is rebooted!

Default Setting: LPD_REMOTE_3_PORT='9100'

LPD_REMOTE_x_QUEUENAME

By LPD_REMOTE_x_QUEUENAME the printer queue name of the x'th remote printer is specified.

Define this variable only if you want to print to print servers that understand the lpd protocol. If you want to access print servers which allow sending data via ftp or netcat this variable should be left blank and instead LPD_REMOTE_x_PORT should be used. Hence use EITHER LPD_REMOTE_x_QUEUENAME OR LPD_REMOTE_x_PORT and never both at the same time! One of the two variables has to be defined.

Consult the manual of your print server or the manufacturer's website to find out which category your print server belongs to. An incomplete overview can be found at

http://www.lprng.com/LPRng-Reference/LPRng-Reference.html#AEN4990

The default defines a second fli4 computer with a printer queue by the name of pr1.

Default Setting: LPD_REMOTE_1_QUEUENAME='pr1'

OPT_LPD_SMBREMOTE

OPT_LPD_SMBREMOTE='yes' defines the use of remote SMB printers. This may be shared printers on Windows- or Samba- computers.


Important: The configuration of such printers only makes sense if these remote SMB printers are turned on at printing time - spooling and storing the print jobs until the remote computer is online again is not possible due to the realization of this function as a pre-filter script for lpd.

If you only want to use printers on local parallel or USB ports or remote LPD printers, the variable can be left at its default:

Default Setting: OPT_LPD_SMBREMOTE='no'

LPD_SMBREMOTE_DEBUGLEVEL
(needs OPT_LPD_SMBREMOTE='yes')

LPD_SMBREMOTE_DEBUGLEVEL sets the number of debug messages to be logged when printing to remote SMB printers. Only printing of one Job will be logged to the file /tmp/smb-print.log and it will be overwritten with every new job. With LPD_SMBREMOTE_DEBUGLEVEL='0' logging is disabled. If problems occur try a higher value here for debugging by the help of the messages in /tmp/smb-print.log.

Default Setting: LPD_SMBREMOTE_DEBUGLEVEL='0'

LPD_SMBREMOTE_N
(needs OPT_LPD_SMBREMOTE='yes')

LPD_SMBREMOTE_N sets the number of SMB remote printers to be configured. In this way it is possible for a client to send a print job to fli4l which in turn will forward this print job to a remote SMB printer share. This also works in conjunction with Samba. If you want to access a SMB remote printer on a remote Windows or Samba host over flil4 set

  LPD_SMBREMOTE_N='1'

here. For two remote Windows- or Samba computers or one remote Windows- or Samba computer with two printer shares LPD_SMBREMOTE_N has to be incremented, hence

  LPD_SMBREMOTE_N='2'

In addition the corresponding settings in

and, if Samba is used, also

have to exist.

Default Setting: LPD_SMBREMOTE_N='0'

LPD_SMBREMOTE_x_SERVER

By LPD_SMBREMOTE_x_SERVER the NETBIOS name of the computer with the x'th printer share is specified. This name is necessary because smbclient is used to print.

Default is a Windows computer with the NETBIOS name ``ente''.

Default Setting: LPD_SMBREMOTE_1_SERVER='ente'

LPD_SMBREMOTE_x_SERVICE

With LPD_SMBREMOTE_x_SERVICE the name of the x'th printer share of the SMB remote printer is set. Default is the printer share name ``pr2''.

Default Setting: LPD_SMBREMOTE_1_SERVICE='pr2'

LPD_SMBREMOTE_x_USER

LPD_SMBREMOTE_x_USER sets the username for accessing the x'th printer share. Default is the username ``king''.

Default Setting: LPD_SMBREMOTE_1_USER='king'

LPD_SMBREMOTE_x_PASSWORD

LPD_SMBREMOTE_x_PASSWORD sets the password of the x'th user for accessing the printer share. Default is the password ``kong''.

Default Setting: LPD_SMBREMOTE_1_PASSWORD='kong'

LPD_SMBREMOTE_x_IP

LPD_SMBREMOTE_x_IP sets the IP of the Windows- or Samba-computer with the x'th printer share. Default is a Windows computer reachable at the IP 192.168.0.6.

Default Setting: LPD_SMBREMOTE_1_IP='192.168.0.6'


1.1.5 OPT_SAMBA_POINT_AND_PRINT - Server-side Management of Windows Printer Drivers

Point'n'Print is a Windows technology for server-side management of printer drivers. The idea is simple: If a Windows server is also a print server offering printing services, then it is reasonable that he also offers printer drivers for the printers connected to avoid manually copying those drivers to each Windows client. Point'n'Print does exactly that: First, an administrator uploads printer drivers for all printers and computer architectures in question to the print server. A normal user can now connect to a printer on the server (like using file shares on the server) and the Windows client automatically retrieves the appropriate printer driver from the print server and installs it locally on the client. Thus, using the shared printer on the network is possible quickly and without much installation effort.

In the Appendix it is shown how to set up a Point'n'Print Configuration using a Windows XP clients.

OPT_SAMBA_POINT_AND_PRINT

This variable activates Point'n'Print functionality. For activation OPT_SAMBA='yes' and OPT_LPD='yes' are mandatory.

Default Setting: OPT_SAMBA_POINT_AND_PRINT='no'

Example: OPT_SAMBA_POINT_AND_PRINT='yes'

SAMBA_PRINT_ADMIN_NAME

In order to avoid installing and uninstalling of printer drivers by any user (in most cases undesirable), this is only allowed to Printer Administrators. The name of the Windows account with such privileges is noted here.

Example: SAMBA_PRINT_ADMIN_NAME='pradmin'

SAMBA_PRINT_ADMIN_PASSWORD

Specify the password of the Windows account with printer administrator privileges.

Example: SAMBA_PRINT_ADMIN_PASSWORD='secret'


1.1.6 Printer Setup On The Clients

Setting up a fli4l printer on the clients is depending on activation of OPT_SAMBA and with activated OPT_SAMBA whether OPT_NMBD is activated in addition. Also differences of client operating systems concerning configuration and options have to be obeyed. Therefore, there is a section for each configuration option.

1.1.6.1 If OPT_SAMBA Is Deactivated

  1. NT4.0/2000/XP/Win7

    If Samba is not used, install the Print Services for Unix in Windows NT4.0/2000/XP to access to fli4l's LPD, because Windows Standard TCP printing is using wrong ports. This service is called LPD Printservice in Windows 7 and above.

    The Print Services for Unix can be added with

    Start/Settings/System settings/Software/Add Windows Components/Additional File An d Print Service for Networks/Details/ Print services for UNIX.

    This will crate a new printer port by the name of ``LPR Port''. Now install and configure a new printer with the driver for the printer connected to fli4l. Use

    Start/Settings/Printer

    double click ``New Printer''. In the introduction click ``proceed'', choose ``Local Printer'', deactivate ``Automatic Printer Recognition and Installation of Plug & Play-Printers'' and click ``Proceed'' again. Under ``Choose Printer Port'' activate ``Create a new port'' and as ``Type'' choose the den ``LPR Port'' created above. After confirming these settings with clicking ``Proceed'' insert into ``Name or Address of the LPD Server PD'' the IP address of the fli4l computer and write the name of it's printer queue into the field ``Name of the printer or printer queue on the server''. Use ``prx'' for local printers at the parallel ports, ``usbprx'' for local printers at the USB ports, ``reprx'' for remote printers and ``smbprx'' for SMB remote printers, where ``x'' stands for 1, 2, 3 for the first, second, third port a.s.o. In the next screen choose the manufacturer of the printer connected to fli4l on the left side and on the right side the according type, then click ``Proceed'' again. Now specify a printer name for the printer in the field ``Printer Name''. Under Printer sharing choose ``Don't share this printer'', because it is already shared by fli4l. After clicking ``Next'' deny the question for printing a test page because not all settings are made by now and click ``Proceed''. Now a window appears showing a summary of the configuration made up to now. If everything was entered correctly press ``Finish''. After copying the printer driver a new icon will appear for your printer in the printer folder. Right click on it and choose ``Properties'' from the context menu. On the tab ``Port'' deactivate ``Activate Bidirectionale Printing''. On the tab ``Advanced'' click on ``Print processor'' and set it to ``WinPrint'', ``Standard data type'' to ``RAW'', now leave the dialogue with ``OK'' (for Windows NT 4.0 make an additional tick at ``always spool Raw-Data''). Back on the tab ``Advanced'' activate ``Use Spooler to speed up printing'' and ``Start printing after spooling of last page''. Untick ``activate advanced printing functions'' to disable its use. Now store all settings made by now by clicking ``Apply'' and leave the configuration window with ``OK'', for else Windows NT 4.0/2000 will not save the settings correctly.

1.1.6.2 If OPT_SAMBA Is Activated

Setting up printing over Samba on a Windows client is different depending on whether OPT_NMBD is set to 'yes' or 'no'.

  1. OPT_NMBD='no'

    If OPT_NMBD is 'no' fli4l printers can not be browsed in the network neighborhood of a Windows computer. They may be installed using the UNC path though.

    For this it is necessary to create an entry in the hosts file of the client. You may find a sample file host.sam in Windows 95, Windows 98 and Windows Me in C:\WINDOWS in a standard Installation. In Windows NT 4.0/2000/XP the file can be found in the Windows directory under SYSTEM32\DRIVERS\ETC.

    Add an entry for the router at the end of the file with a text editor. If in base.txt the IP address of the network interface for fli4l's internal net was set to

        IP_NET_1='192.168.6.1/24'
    

    and the name of the fli4l routers was set to

      HOST_1='192.168.6.1 fli4l'
    

    the following entry for the IP address and the name of the router should be added:

    192.168.6.1 fli4l

    Save the file again with the filename hosts. If using i.e. Notepad the file will get a suffix .txt added, which has to be removed to make this work. You may have to deactivate the explorer option ``Hide file name suffixes for known file extensions'' otherwise the suffix is not shown. Rename the file to ``hosts'' if necessary. After rebooting Windows the preparations are complete.

    When creating a new printer (Start/Settings/Printer/New Printer) choose ``Network printer''. For ``Network path or queue name'' specify \\fli4lNAME\PRINTERNAME. Change ``fli4lNAME'' to the name of the fli4l router and PRINTERNAME to the name of the printer. PRINTERNAME is different depending on the port (parallel, USB, Remote). In general applies: ``prx'' for local printers on parallel ports, ``usbprx'' for local printers on USB ports, ``reprx'' for remote printers and ``smbreprx'' for SMB remote printers, x standing for 1, 2, 3, hence for the first, second, third port a.s.o. To choose the first local printer at the parallel port \\fli4l\pr1 would have to be set if your router really is named fli4l. Maybe you have set another Windows printer name by using LPD_PARPORT_x_SAMBA_NAME, LPD_USBPORT_x_SAMBA_NAME, LPD_REMOTE_x_SAMBA_NAME and LPD_SMBREMOTE_x_SAMBA_NAME, obviously you have to use it then. For printers already installed you may use the tab ``Details'' in the printer properties to add a new port in analog to the procedere described above to assign it later with ``Port for Printing''. The following depends on the OS version used:

    For Windows 9x/Me:

    On the tab ``Details'' edit the ``Spool Settings'' by ticking ``Spool print jobs (faster printing)'' and ``Start printing after last page''. As data type choose ``RAW'' and tick ``Deactivated bidirectional printing''.

    For Windows NT 4.0/2000/XP:

    On the tab ``Ports'' deactivate ``Activate bidirectional printing''. On the tab ``Advanced'' click ``Print processor'' and set it to ``WinPrint'', under ``Standard data type'' to ``RAW'' leave the dialogue with ``OK'' (for Windows NT 4.0 make an additional tick at ``always spool Raw-Data''). Back on the tab ``Advanced'' activate ``Print to spooler to speed up printing'' and ``Start printing after spooling of last page''. Untick ``Activate advanced print functions'' to avoid using this setting. Now store all settings made by now by clicking ``Apply'' and leave the configuration window with ``OK'', for else Windows NT 4.0/2000 will not save the settings correctly.

  2. OPT_NMBD='yes'

    With OPT_NMBD='yes' fli4l's printers are displayed in the network neighborhood of Windows clients.

    When creating a new printer (Start/Settings/Printer/New Printer) choose ``Network printer''. For ``Network path or queue name'' you may use the ``Search'' button. You will find the fli4l by its name defined in base.txt (HOSTNAME='fli4l') and printer shares like ``prx'', ``usbprx'', ``reprx'' or ``smbreprx''. ``prx'' for local printers on parallel ports, ``usbprx'' for local printers on USB ports, ``reprx'' for remote printers and ``smbreprx'' for SMB remote printers, x standing for 1, 2, 3, hence for the first, second, third port a.s.o. To choose the first local printer at the parallel port \\fli4l\pr1 would have to be set if your router really is named fli4l. Maybe you have set another Windows printer name by using LPD_PARPORT_x_SAMBA_NAME, LPD_USBPORT_x_SAMBA_NAME, LPD_REMOTE_x_SAMBA_NAME and LPD_SMBREMOTE_x_SAMBA_NAME, obviously you have to use it then. For printers already installed you may use the tab ``Details'' in the printer properties to add a new port in analog to the procedere described above to assign it later with ``Port for Printing''. The following depends on the OS version used:

    For Windows 9x/Me:

    On the tab ``Details'' edit the ``Spool Settings'' by ticking ``Spool print jobs (faster printing)'' and ``Start printing after last page''. As data type choose ``RAW'' and tick ``Deactivated bidirectional printing''.

    For Windows NT 4.0/2000/XP:

    On the tab ``Ports'' deactivate ``Activate bidirectional printing''. On the tab ``Advanced'' click ``Print processor'' and set it to ``WinPrint'', under ``Standard data type'' to ``RAW'' leave the dialogue with ``OK'' (for Windows NT 4.0 make an additional tick at ``always spool Raw-Data''). Back on the tab ``Advanced'' activate ``Print to spooler to speed up printing'' and ``Start printing after spooling of last page''. Untick ``Activate advanced print functions'' to avoid using this setting. Now store all settings made by now by clicking ``Apply'' and leave the configuration window with ``OK'', for else Windows NT 4.0/2000 will not save the settings correctly.

    Hint:

    The Network protocol TCP/IP must be installed and configured on the Windows machine. As the default Windows activates ``NETBIOS over TCP/IP'' which is the protocol Samba uses.

1.1.6.3 Setting Up A Linux LPR Client

On a Linux client fli4l's network printers may be inserted to the file /etc/printcap. For CUPS (common for newer distributions) see below.

Example (name of the printer: ``drucker''):

    drucker:\
            :lp=:\
            :rm=fli4l:\
            :rp=pr1:\
            :sd=/var/spool/lpd/drucker:\
            :sh:mx#0:

``rm=fli4l'' sets the name of the fli4l router and has to be adapted to your settings. If the Linux printing queue is named different adapt ``drucker'' as well.

The name of the remote queue in ``rp=pr1'' is as follows:

:rp=pr1:
for fli4l's first parallel printer
:rp=pr2:
for fli4l's second parallel printer

:rp=usbpr1:
for fli4l's first USB printer
:rp=usbpr2:
for fli4l's second USB printer

:rp=repr1: bzw. :rp=repr2:
for configured remote- printer server ports

:rp=smbrepr1: bzw. :rp=smbrepr2:
for configured SMB remote- printer server ports


Important: After inserting this entry to etc/printcap the directory /var/spool/lpd/drucker has to be created with the mkdir command.

By executing ``lpr -P drucker FILENAME'' you may now print files from the Linux client on fli4l.

Many newer distributions use alternative printing systems and own configuration tools, where the above described process will fail. For this reason Peter Schöne has contributed a description for the OpenSuSE distribution:

Use YAST2 and choose Hardware -> Printer configuration. If local printers are already configured you may skip automatic detection. In the window ``Printer Setup'' choose the button ``Configure...'', and next the Option ``Show more connections...'' now click ``Proceed''. Now some different printer types will be shown. As we are using a LPD compatible package pick the first entry ``LPD-Prefilter- and -Forward-Queue''. After clicking ``Proceed'' we get to the configuration: Here you may search for the right router name with the button ``Lookup''-``LPD-Servers'' and have it entered automatically else set the IP address of the router directly. The second box is for the name of the printer queue. Use one of the names explained above, i.e. ``pr1'', ``usbpr1'', ``repr1'', ``smbrepr1'' etc. A click on the button ``Test remote LPD'' checks the settings for correctness. If the test is passsed click ``Proceed''. In the next window a name has to be set under which the printer is accessable from programs. The fields ``Description'' and ``Location of the printer'' may be empty. Again, ``Proceed''... Now pick the printer type connected to the router and the right driver and store all your settings by clicking ``Save'' and a confirmation with ``Yes''. Now the printer has been set up completetly and should be accessable from most programs.

1.1.6.4 Einrichtung eines Mac-Clients (For MacOSX 10.3 And Up)

Open the ``Printer assistent'' in ``System Settings'' and click ``Add''. Now choose ``TCP/IP - Printer'' and ``LPD/LPR'' as printer type. Specify the IP address of the router under ``Printer address''. Now add the name of the queue like described above, i.e. ``pr1'', ``usbpr1'', ``repr1'', ``smbrepr1'' etc. Now choose the printer model from the list and click ``Add''.



Footnotes

... protocol1.1
see RFC 1179
© 2001-2016 The fli4l-Team - 16 February 2016