The following are a few tips users have forwarded to me. These will likely give you an idea about which rock to try turning over next if you are stuck. If you have figured out a puzzling situation with a netatalk setup, drop me a note detailing your findings and I'll post it.
- Todd Miller and Appleshare IP on RedHat Hurricane:
I had problems connecting to a Redhat Linux 5.1 box using Netatalk 1.4b2-asun2.1.0-5.i386.rpm. Every time I went to connect, I would get a message that the server dropped the connection after entering the password.
I fixed this by installing netatalk-1.4b2+asun2.0a18.2-phh4.i386.rpm that I found in the hurricane/group/networking directory.
- Tony Nugent comments on the Intel Netatalk RPM for Redhat 5.0:
There's a big problem with the netatalk i386.rpm from the original release - it doesn't work.
There's an updated/patched rpm in the contribution/update directory at the RedHat ftp site that seems to work just fine:
ftp://ftp.redhat.com/pub/contrib/hurricane/i386/netatalk-1.4b2+asun2.0a18.2-oa1.i386.rpm
ftp://ftp.redhat.com/pub/contrib/hurricane/i386/netatalk-devel-1.4b2+asun2.0a18.2-oa1.i386.rpmWe used the first (non-"devel") package - no idea what the differences are. There is a source rpm, but we didn't bother to persue it:
ftp://ftp.redhat.com/pub/contrib/hurricane/SRPMS/netatalk-1.4b2+asun2.0a18.2-oa1.src.rpm
It is NOT mentioned in the RedHat 5.0 errata file:
ftp://ftp.redhat.com/pub/redhat/redhat-5.0/updates/00README.errata
- Jonathan Benson supplies these notes on printing with RedHat 5.0.
For multiple printers I had to create individual null devices.
Using the 'printtool' that comes with RedHat 5.0 create a local printer of the appropriate type (generally postscript), and be sure to point the printer device to a 'null' file in the printers spool directory (eg. /var/spool/lpd/myprinter/null).
Once that's done go to it's spool directory and do the following:
And there you have a printer that works via Appletalk and prints any type of file that the magic filters support! :)
- Create a .paprc file for the printer
- Modify the 'general.cfg' file to say: (changes are bolded)
#
# General config options for printing on this queue
# Generated by PRINTTOOL, do not modify.
#
export DESIRED_TO=ps
export PAPERSIZE=a4
export PRINTER_TYPE=ATALK
export ASCII_TO_PS=YES- Modify the 'filter' file to read:
[snip] # # any post-filter to run (like smbclient?) # if [ "$PRINTER_TYPE" = "SMB" ]; then bestpath="$bestpath | ${FPIDIR}/smbprint ${SPOOLDIR}/acct" fi if [ "$PRINTER_TYPE" = "ATALK" ]; then cd ${SPOOLDIR} bestpath="$bestpath | /usr/local/etc/filters/ofpap" fi if [ "$DEBUG_FILTER" != "" ]; then echo "Best path of depth $bestdepth is $bestpath" >> /var/tmp/filter.debug fi [snip]- Create a null device using:
mknod null c 1 3 chmod 666 null
- If you get
socket: Invalid argument
when trying to start atalkd, it probably means that your kernel lacks appletalk support. Reboot with one that does.
- If you seem to be unable to get anything but the home directories to show up in the volumes list, and you are sure your AppleVolumes.* files are written correctly, you should make sure that they exist where your Makefile says they do, or re-compile with the Makefile pointing to where they are. (line 14 in the Makefile in the root of the source)
- If the changes you make in your AppleVolumes.* files don't appear to have any effect, or the rc.atalk script fails on "nbprgstr", you probably need to check your paths in the Netatalk source Makefile and recompile. If you have to recompile, make sure you move the old executables in
/usr/local/atalk/etc
and/usr/local/atalk/bin
to a backup directory before you run amake install
or the binaries will not be installed properly.
- chrIS writes:
I did the netatalk install on my P100/Linux 1.3.18 system, and had a bit of trouble compiling, but it was simple to fix.In several files I had to replace the
#include <sys/uio.h>
with<linux/uio.h>
/linux/uio.h says that it's definition of the struct iovec obsoletes the one in sys/uio.h, and to get rid of it. I tried commenting it out, but that didn't work, so I decided to replace the
#define
in these files, which brought up fatal errors:
/bin/pap/pap.c /bin/pap/papstatus.c /etc/afpd/desktop.c /etc/papd/session.c /libatalk/asp_write.c
After I did that, it seemed to compile fine. I got some warnings, but nothing related to this, I think.
- Frank Beatrous discusses structures:
A couple of the source files (etc/afpd/unix.c
andetc/afpd/enumerate.c
) use dirent structures. One of the dirent field names used is inconsisent with my header files. To fix it, change all instances of d_namlen in those two files to d_reclen.My header files are the ones that come with the "slackware 96" distribution.
- A.B. Gaskin writes:
(Re: netatalk unable to start up) It seems that the Ether Card I got is the problem. It does not work under 2.0 kernel unless you config it for "promisc" mode - IE. "ifconfig eth0(my case) promisc" -- I have verified this thru testing, but don't pretend to know why.....The card is an older DEC EtherWORKS 3 Turbo (204) - the 10base-T model. I traced kernel and driver etc. diffs until I hit it - tried it - it worked!
- Excerpt from Linux-netatalk listserv:
>> Is there anyone successfully using netatalk in conjunction with a SLIP >> (or PPP) connection? > PPP would be the only way to go. SLIP handles only IP. But I have >not seen an easy way to do this in Linux. It's possible with SLIP as well, by running AppleTalk over TCP/IP. On the Mac you need IP Remote A/T and on Linux you install ARNS. They will do AppleTalk over any TCP/IP connection you have between the machines, be it SLIP/PPP/Ethernet/TokenRing/Carrier pigeons or what have you. The software is available in ftp://ftp.doc.ic.ac.uk/extra/computing/systems/mac/multigate/arns_ppp/
- Also stolen from the list:
When more than the default 5 people want to connect to a netatalk server, just call afpd with the -c option in your rc script.Example:
/usr/local/etc/atalk/etc/afpd -u -c 50
sets the limit to 50 simultanious connections. However, you need ample RAM to do this at a reasonable speed.
- Hidden Unix files (ones beginning with a ".") are not available to the Mac. Unix files with more than 31 characters get truncated.
- Users can make a file called AppleVolumes in their home directory (
/home/user
) which can be edited on the Mac with the same format as the AppleVolumes.system file. Of course, if the user deletes his home directory entry from this file, he can no-longer edit this file from his Mac.
- I don't know if I just couldn't read the README's, but i didn't find anything about netatalk and plp. If this combination is used, jobs are spooled but not printed because no server is started. This happens, because netatalk tries to start the server via an AF_UNIX-socket, but plp listens to an AF_INET-socket. Simply replace all occurences of conn_unix in lp.c by conn_inet. (Kurt Harders)
- Igor Falcomata' mentions a way to give users netatalk access without granting shell access. Add a dummy shell, such as
/bin/false
in your/etc/shells
file and then set that as the netatalk user's shell in the/etc/passwd
file.
- Mike Zbory writes about kernel 2.0.25 and RedHat 4.0:
The compile went pretty well, but for some reason, the link to theinclude/asm
directory into 2.0.25linux/include/asm..
directory failed. My installation from RH 4.0 did not have a soft link from asm-i386 tolinux/include/asm
. It was a quick fix though.