From owner-freebsd-questions@FreeBSD.ORG Sun Sep 14 16:57:34 2003 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2451816A4BF for ; Sun, 14 Sep 2003 16:57:34 -0700 (PDT) Received: from imo-d01.mx.aol.com (imo-d01.mx.aol.com [205.188.157.33]) by mx1.FreeBSD.org (Postfix) with ESMTP id 59EBD43FB1 for ; Sun, 14 Sep 2003 16:57:32 -0700 (PDT) (envelope-from linuxcpa@netscape.net) Received: from linuxcpa@netscape.net by imo-d01.mx.aol.com (mail_out_v36_r1.1.) id n.e9.a735354 (16214) for ; Sun, 14 Sep 2003 19:57:22 -0400 (EDT) Received: from netscape.net (adsl-64-171-164-42.dsl.snfc21.pacbell.net [64.171.164.42]) by air-in01.mx.aol.com (v95.13) with ESMTP id MAILININ12-3f563f65003e15; Sun, 14 Sep 2003 19:56:47 -0400 Message-ID: <3F650061.3090406@netscape.net> Date: Sun, 14 Sep 2003 16:57:21 -0700 From: James Leone User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 X-Accept-Language: en-us, en MIME-Version: 1.0 To: freebsd-questions@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-AOL-IP: 64.171.164.42 X-Mailer: Unknown (No Version) Subject: Netware Client for FreeBSD X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Sep 2003 23:57:34 -0000 I have access to a Netware IV server and am trying to connect to it from my FreeBSD 5.1-Current desktop. My goal is to figure out how it works in FreeBSD, so I can add support for FreeBSD to the Netwhere client for Linux: http://forge.novell.com/modules/xfmod/project/?nwcunix It took me a long time to get the "recipe" for Linux correct, and I hope to get the FreeBSD "recipe" right in a reasonable amount of time. I have compiled a series of clues, extracted from all of the documentation that I have searched for and read over. However, after following these steps, I am still unable to connect to the Netware server, and how they relate to each other is unclear. 1. . I compiled IPX support into the kernel 2. I installed the Ncplib port There is a ncplib port in /usr/ports/net/ncplib. I performed a standard make install clean, and it seems to have installed correctly, however, I cannot find any useful instructions. The /usr/ports/net/ncplib/README.html file asks me to please read the description file, which only states this: > cplib is a free client for Novell NetWare servers. > WWW: http://rbp.chat.ru/ncplen.html > > -- > Boris Popov > bp@butya.kz However, when I go to http://rbp.chat.ru/ncplen.html which is refered to in README.html and the description file, the page says: > An error occured while loading http://www http//rbp.chat.ru/ncplen.html: > > > Unknown host www http So, I take a look at /usr/ports/net/ncplib/pkg-plist file, it shows: > bin/ncpasswd > bin/ncplist > bin/ncplogin > bin/ncplogout > bin/ncplpd > bin/ncprint > bin/ncpsend > bin/ncpurge > sbin/ncpsvc > @cwd / > modules/nwfs.ko > sbin/mount_nwfs There are man pages for these commands, but when I actually run the commands, they give me the following errors: This command check the network for Netware servers: > ncplist s > Can't find any file server I also check out the man page for "mount_nwfs" and run a command to log into the netware server on a temporary account that does not have a password. I have tested its access in Linux and Windows and they both work: > mount_nwfs -S BAM -U testbsd -V sys /nw > mount_nwfs: can't find server BAM: syserr = Protocol not supported Obviously I am missing some information, so I search the net and find this page: http://people.freebsd.org/~bp/ipxen.html The first thing I noticed was that hte page is missing a date. This is important, because it instructs the user to replace some of the source code that comes with FreeBSD 5.1-Current with code available for download, and then to compile that into the kernel. I did not do this, because I had no idea if these changes have already been merged into the tree. I did compile my kernel adding the IPX option, but did not download ipxrt.tgz, because IPXrouted was already installed on my machine. I also know from my experience with Linux, that Mars-nwe is required to login to a Netware 4.11 server. I tried using Mars-nwe, but that didn't seem to help either. Yes, I read the man pages, but unfortunately, configuration information has not been provided. Thanks to some additional searching and for the information recently provided by Cristian Salan I: 1. Added these lines to /etc/rc.conf: > ifconfig_rl0f2_ipx="ipx 0x350" #IPX address family entry (I also tried: ifconfig_rl0f2_ipx="ipx 12345678" #IPX address family entry) > > ipxrouted_enable="YES" # Set to YES to run the IPX routing daemon Note that when I run ifconfig, my device is normally "rl0". 2. Added these lines to /boot/loader.conf: > if_ef_load="YES" > nwfs_load="YES" > ncp_load="YES" 3. However when I run ncplist s, I still get a goose egg: > localhost# ifconfig > rl0: flags=8843 mtu 1500 > options=8 > inet 192.168.0.133 netmask 0xffffff00 broadcast 192.168.0.255 > inet6 fe80::240:f4ff:fe64:766f%rl0 prefixlen 64 scopeid 0x1 > ether 00:40:f4:64:76:6f > media: Ethernet autoselect (100baseTX ) > status: active > lp0: flags=8810 mtu 1500 > rl0f0: flags=8842 mtu 1500 > ether 00:40:f4:64:76:6f > rl0f1: flags=8842 mtu 1500 > ether 00:40:f4:64:76:6f > rl0f2: flags=8843 mtu 1500 > ipx bc614e.40f464766f > inet6 fe80::240:f4ff:fe64:766f%rl0f2 prefixlen 64 scopeid 0x5 > ether 00:40:f4:64:76:6f > rl0f3: flags=8842 mtu 1500 > ether 00:40:f4:64:76:6f > lo0: flags=8049 mtu 16384 > inet6 ::1 prefixlen 128 > inet6 fe80::1%lo0 prefixlen 64 scopeid 0x7 > inet 127.0.0.1 netmask 0xff000000 > localhost# ncplist s > Can't find any file server > localhost# 4. I ran kldstat to determine if the required network drivers were loaded: > localhost# kldstat > Id Refs Address Size Name > 1 13 0xc0100000 622f74 kernel > 2 1 0xc0723000 2d38 if_ef.ko > 3 1 0xc0726000 cb60 nwfs.ko > 4 5 0xc0733000 2c0c libmchain.ko > 5 2 0xc0736000 ace8 ncp.ko > 6 1 0xc0741000 4c1d0 acpi.ko > 7 1 0xc28b4000 18000 linux.ko > 8 1 0xc2be4000 1f000 smbfs.ko > 9 2 0xc2c10000 3000 libiconv.ko > localhost# As mentioned IPX is compiled into the kernel. 5. /var/log/nw.log shows: > 09.14,11:37:53 NWS 0 0:Starting Version: 0.99pl19 > 09.14,11:37:53 NWS 0 0:set_emu_tli: > Can't find ipx interface for net=a > 09.14,11:37:53 NWS 0 0:SERVER name='LOCALHOST.LOCALDOMAIN', INTERNAL > NET=0xa, NODE=0x00:00:00:00:00:00 > 09.14,11:37:53 NWS 0 0:USE_PERMANENT_OUT_SOCKET enabled > 09.14,11:37:53 NWS 0 0:IPX_MAX_DATA=1470, RW_BUFFERSIZE =1444 > 09.14,11:37:53 NWB 0 0:Starting Version: 0.99pl19 > 09.14,11:37:53 NWB 0 0:Add/Change User='SUPERVISOR', UnixUser='root' > 09.14,11:37:53 NWB 0 0:Add/Change User='GUEST', UnixUser='nobody' > 09.14,11:37:53 NWB 0 0:set_emu_tli: > Can't find ipx interface for net=a > 09.14,11:37:53 NWB 0 0:USE_PERMANENT_OUT_SOCKET enabled > 09.14,11:37:55 NCP 0 0:Starting Version: 0.99pl19 > 09.14,11:37:55 NCP 0 0:set_emu_tli: > Can't find ipx interface for net=a > 09.14,11:37:55 NCP 0 0:USE_PERMANENT_OUT_SOCKET enabled > 09.14,11:37:57 NWS 0 0:write_wdata:Can't assign requested address > to NWBIND > 09.14,11:41:30 NWS 0 0:write_wdata:Can't assign requested address > to NCPSERV > 09.14,11:41:30 NWS 0 0:write_wdata:Can't assign requested address > to NWBIND 6. This is what /var/log/debug.log shows: > Sep 14 12:40:24 localhost IPXrouted[314]: ADD dst 0#0:0:0:0:0:0, > router 0#0:40:f4:64:76:6f, metric 0, ticks 0, flags UP state > INTERFACE|CHANGED > Sep 14 12:45:24 localhost IPXrouted[314]: ADD dst > 92ab8232#0:0:0:0:0:0, router 92ab8232#0:0:0:0:0:1, metric 0, ticks 0, > flags UP state INTERFACE|CHANGED > Sep 14 12:58:46 localhost root: spamd starting > Sep 14 13:03:33 localhost IPXrouted[313]: ADD dst > 92ab8232#0:0:0:0:0:0, router 92ab8232#0:0:0:0:0:1, metric 0, ticks 0, > flags UP state INTERFACE|CHANGED > Sep 14 13:57:51 localhost root: spamd starting > Sep 14 14:03:53 localhost root: spamd starting > Sep 14 14:24:36 localhost root: spamd starting > Sep 14 14:28:24 localhost IPXrouted[311]: ADD dst 0#0:0:0:0:0:0, > router 0#0:40:f4:64:76:6f, metric 0, ticks 0, flags UP state > INTERFACE|CHANGED > Sep 14 14:28:37 localhost root: spamd starting > Sep 14 14:58:49 localhost IPXrouted[311]: ADD dst 0#0:0:0:0:0:0, > router 0#0:40:f4:64:76:6f, metric 0, ticks 0, flags UP state > INTERFACE|CHANGED > Sep 14 14:59:02 localhost root: spamd starting > Sep 14 15:20:45 localhost IPXrouted[311]: ADD dst 0#0:0:0:0:0:0, > router 0#0:40:f4:64:76:6f, metric 0, ticks 0, flags UP state > INTERFACE|CHANGED > Sep 14 15:20:58 localhost root: spamd starting > Sep 14 16:14:34 localhost IPXrouted[312]: ADD dst bc614e#0:0:0:0:0:0, > router bc614e#0:40:f4:64:76:6f, metric 0, ticks 0, flags UP state > INTERFACE|CHANGED > Sep 14 16:14:47 localhost root: spamd starting 7. This is what /var/log/messages shows: > Sep 14 16:15:56 localhost IPXrouted[666]: bind: Address already in use > Sep 14 16:16:00 localhost IPXrouted[668]: bind: Address already in use > Sep 14 16:16:01 localhost IPXrouted[666]: bind: Address already in use > Sep 14 16:16:05 localhost IPXrouted[668]: bind: Address already in use > Sep 14 16:16:11 localhost IPXrouted[666]: bind: Address already in use > Sep 14 16:16:15 localhost IPXrouted[668]: bind: Address already in use > Sep 14 16:16:31 localhost IPXrouted[666]: bind: Address already in use > Sep 14 16:16:35 localhost IPXrouted[668]: bind: Address already in use > Sep 14 16:17:11 localhost IPXrouted[666]: bind: Address already in use > Sep 14 16:17:15 localhost IPXrouted[668]: bind: Address already in use > Sep 14 16:18:31 localhost IPXrouted[666]: bind: Address already in use > Sep 14 16:18:35 localhost IPXrouted[668]: bind: Address already in use > Sep 14 16:21:11 localhost IPXrouted[666]: bind: Address already in use > Sep 14 16:21:15 localhost IPXrouted[668]: bind: Address already in use > Sep 14 16:26:31 localhost IPXrouted[666]: bind: Address already in use > Sep 14 16:26:35 localhost IPXrouted[668]: bind: Address already in use > Sep 14 16:26:59 localhost IPXrouted[820]: bind: Address already in use > Sep 14 16:27:34 localhost last message repeated 3 times > Sep 14 16:29:34 localhost last message repeated 2 times Top shows ipxrouted as running: > st pid: 1083; load averages: 1.01, 0.90, 0.54 up 0+00:34:06 > 16:47:37 > 63 processes: 3 running, 60 sleeping > CPU states: 3.8% user, 0.0% nice, 2.7% system, 1.1% interrupt, > 92.3% idle > Mem: 152M Active, 7168K Inact, 47M Wired, 15M Cache, 35M Buf, 24M Free > Swap: 491M Total, 60K Used, 490M Free > > PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND > 570 root 116 0 1380K 900K select 0:00 0.00% 0.00% inetd > 312 root 96 0 1200K 672K select 0:00 0.00% 0.00% > IPXrouted > localhost# There are two other files that seem to be a part of the whole puzzle, that I have configured as well: 1. /usr/local/etc/rc.d/nwfs.sh - this mentions /root/.nwfsrc and reads: > #!/bin/sh > # > # $FreeBSD: src/share/examples/nwclient/nwfs.sh.sample,v 1.1 > 1999/11/03 12:06:13 bp Exp $ > # > # Location: /usr/local/etc/rc.d/nwfs.sh > # > # Simple script to mount NetWare volumes at startup. > # It assumes that all mount points described in fstab file and password > # entries listed in /root/.nwfsrc file. See mount_nwfs(8) for details. > # > > mount=/sbin/mount > umount=/sbin/umount > HOME=/root; export HOME > vols="sys" > > if [ "x$1" = "x" -o "x$1" = "xstart" ]; then > echo -n "Mounting NetWare volumes: " > for vol in ${vols}; do > $mount $vol > echo -n "$vol " > done > echo "Done" > elif [ "x$1" = "xstop" ]; then > echo -n "Unmounting NetWare mount points: " > for vol in ${vols}; do > $umount $vol > echo -n "$vol " > done > echo "Done" > else > echo "Unknown command $1" > fi This seems like it should be used with $HOME/.nwfsrc, which reads: > # $FreeBSD: src/share/examples/nwclient/dot.nwfsrc,v 1.2 2002/04/20 > 05:04:21 bp Exp $ > # > # Example for .nwfsrc file > # > # ncplib lookups configuration files in next order: > # 1. ~/.nwfsrc > # 2. /etc/nwfs.conf - if this file found it will > # override values with same keys from user files. > # > # > # This file consist of a set of sections. Each section started by > section name > # surrounded by square brackets: > # [section_name] > # > # End of the section marked either by new section or by the end of file. > # Each section can contain zero or more parameters: > # [section_name] > # key=value > # > # where 'key' is a represents parameter name and 'value' a value assigned > # to this parameter. > # > # NetWare library uses next forms of section names: > # [SERVER] > # [SERVER:USER] > # [SERVER:QUEUE] > # > # When user issues any ncp* command that requires create of new connection > # to a NetWare server, library function lookups for parameters in the > # corresponding section. First it looks in the [SERVER] section and > then in > # the [SERVER:USER] section. Please note that server and user names > should be > # in the upper case. > # > > # Following parameters are valid for [SERVER] or [SERVER:USER] section: > [BAM:james] > # if you don't use password leave value empty > #password=ghost > > # how many retries before error, default 10 > retry_count=10 > > # timeout for request to complete > timeout=5 > > # access mode to connection, default 0700 > #access_mode=0700 > > # signature level, default 0 - no signatures > #sig_level=0 > > # force bindery login, default no > bindery=no > > # default print queue for user, default is none > # print_queue=QE_BJ > > > #[ANOTHERSERVER:PLAINUSER] > # in this case user have an empty password > #password= > > # Defaults for printer queues defined as [SERVER:QUEUE] > # communication parameters taken from [SERVER:USER] section > # see man ncprint(1) for queue parameters description > # note: if any banner related option is specified, banner will be printed. > [BAM:HP4000_Q] > > path_name=/nw > #file_name=passwd > banner_name= MY FIRST FREEBSD PRINT WITH NETWARE > #job_desc=Printing from FreeBSD > > #lines=66 > #rows=80 > copies=1 > tab_size=8 > no_form_feed=yes > #form_number=0 Here is what happens when I run /usr/local/etc/rc.d/nwfs.sh: > localhost# /usr/local/etc/rc.d/nwfs.sh > Mounting NetWare volumes: mount: sys: unknown special file or file system > sys Done > localhost# Here is what happens when I run mount_nwfs > localhost# mount_nwfs > usage: mount_nwfs [-Chv] -S server -U user [-connection options] > -V volume [-M mode] [-c case] [-d mode] [-f mode] > [-g gid] [-l locale] [-n os2] [-u uid] [-w scheme] > node > mount_nwfs [-options] /server:user/volume[/path] node > localhost# mount_nwfs -Chv > mount_nwfs: no default connection found: syserr = Bad file descriptor > localhost# Note that I see no explanation of the [-Chv] portion of the command in the man page. So, what do I need to do to get this to work ? James Leone