• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Netatalk 2.3.0 available

slipperygrey

Well-known member
Thank you for letting us know! I’m pleased that it worked out for you in the end.

I went ahead and deleted the “test” image tag. The same docker image is now available as “latest”.
 

Udo.Keller

Well-known member
@ironborn65 by popular demand, here it is now on Docker Hub:

https://hub.docker.com/r/netatalk/netatalk2

Please read through the instructions carefully. There are a number of conditions and caveats for getting everything fully working in the container. Give it a whirl and let me know how it goes.
Great news, @slipperygrey.

Maybe some of you experts can help me getting the docker container running un UNRAID? That would be really, really great.

Here is the startup command. Besides the important environment variables, there are some UNRAID-specific ones which can be safely ignored.
Screenshot 2024-02-28 at 17.19.45.png

But the container does not start up successfully. Here is the log:
Screenshot 2024-02-28 at 17.20.17.png

From what I have read, the famous
Code:
Address family not supported by protocol
messages indicates the host kernel does not support DDP. Correct?
The reason I'm asking is because @ironborn65 managed to get the docker container running on his Synology, and the Synology kernel seems to have no DDP support either.

Any idea what I did wrong?
 

robin-fo

Well-known member
Is there an error in the man page?
Code:
-D
    Use DDP (AppleTalk) as transport protocol. (Equivalent to -ddp in afpd.cond.)
But the code appears to disable DDP instead:
C:
case 'D':
    options->transports &= ~AFPTRANS_DDP;
    break;
 

slipperygrey

Well-known member
Is there an error in the man page?
Code:
-D
    Use DDP (AppleTalk) as transport protocol. (Equivalent to -ddp in afpd.cond.)
But the code appears to disable DDP instead:
C:
case 'D':
    options->transports &= ~AFPTRANS_DDP;
    break;

@robin-fo Did you confirm how the AFPTRANS_DDP flag is used in the code? Maybe the logic is awkwardly flipped later… In either case, please file an issue ticket. Some kind of improvement is needed here, I agree.
 

robin-fo

Well-known member
@robin-fo Did you confirm how the AFPTRANS_DDP flag is used in the code? Maybe the logic is awkwardly flipped later… In either case, please file an issue ticket. Some kind of improvement is needed here, I agree.
I's used as a flag in a bitfield and is not negated:
C:
#ifndef NO_DDP
    /* handle asp transports */
    if ((options->transports & AFPTRANS_DDP) &&
            (config = ASPConfigInit(options, refcount)))
        config->defoptions = defoptions;
#endif /* NO_DDP */
So if the AFPTRANS_DDP bit is set, ASP is initialized and therefore DDP is required.

I'll look that I can open a ticket tomorrow :)
 

ironborn65

Well-known member
@ironborn65 What makes you say that the Synology NAS doesn’t have AppleTalk support in kernel? The evidence suggests that it does.

DSM uses Netatalk-3.1.12.
AFP protocol version supported: 2.2 3.0 3.1 3.2 3.3 3.4
Open-source Netatalk removed AppleTalk since Netatalk-3.0, therefore, DSM does not support DDP.

I have the need to install netatalk 2.1

still there is no support for autodiscovery, I have to type in the IP of the server in my macs, not too bad, I can survive with it ;) .
@slipperygrey I'd be glad to know if there is chance to add autodiscovery, thanks
 
Last edited:

slipperygrey

Well-known member
DSM uses Netatalk-3.1.12.
AFP protocol version supported: 2.2 3.0 3.1 3.2 3.3 3.4
Open-source Netatalk removed AppleTalk since Netatalk-3.0, therefore, DSM does not support DDP.

I had to need to install netatalk 2.1

still there is no support for autodiscovery, I have to type in the IP of the server in my macs, not too bad, I can survive with it ;) .
@slipperygrey I'd be glad to know "how" or "if" to enable the autodiscovery, thanks
We're talking about the capabilities of the Linux kernel itself. You wouldn't haven't been able to launch Netatalk 2 if your NAS didn't have AppleTalk / DDP support in the kernel.
 

ironborn65

Well-known member
I'm not a networking expert, I can only paste the response of a Synology support ticket I opened a while ago

"Thank you for your patience.
DSM uses Netatalk-3.1.12.
AFP protocol version supported: 2.2 3.0 3.1 3.2 3.3 3.4
Open-source Netatalk removed AppleTalk since Netatalk-3.0. Therefore, DSM does not support DDP.
I hope this information helps, and I remain at your disposal for any further questions you may have.
Best regards,"
 
Last edited:

davewongillies

Well-known member
I'm not a networking expert, I can only paste the response of a Synology support ticket I opened a while ago

"Thank you for your patience.
DSM uses Netatalk-3.1.12.
AFP protocol version supported: 2.2 3.0 3.1 3.2 3.3 3.4
Open-source Netatalk removed AppleTalk since Netatalk-3.0. Therefore, DSM does not support DDP.
I hope this information helps, and I remain at your disposal for any further questions you may have.
Best regards,"

Does synology store the linux kernel in the same place as regular linux distros? If so, if you can get onto the terminal there's two ways to check if appletalk is compiled into the kernel or not.

1. Run grep TALK /boot/config* it might yield something like this:
Code:
$ grep -i talk /boot/config-*
/boot/config-5.13.0-39-generic:CONFIG_ATALK=m
/boot/config-5.13.0-39-generic:CONFIG_DEV_APPLETALK=m

2. Run modinfo appletalk and see if it gives you any information
 

slipperygrey

Well-known member
This is exactly the information Synology gave to me as well, and therefore I assumed the Synology kernel would not support DDP.
AppleTalk support in kernel has nothing to do with what version of Netatalk the vendor chose to use. You have actually query the kernel for its capabilities like @davewongillies describes.

See also this page on the topic: https://netatalk.io/docs/AppleTalk-Kernel-Module

Or the README in the netatalk source tree: https://github.com/Netatalk/netatalk/blob/branch-netatalk-2-3/doc/README.AppleTalk
 

ironborn65

Well-known member
copy & paste

1709305086235.png

my contribution:

pierino23@nas2:/$ uname -srm
Linux 4.4.180+ x86_64

for Synology DSM 7.1.1-42962 Update 6

dont' ask me what it means :)
 

slipperygrey

Well-known member
@robin-fo Earlier today I merged a (documentation) fix for the issue that you reported: https://github.com/Netatalk/netatalk/issues/725

Since the default behavior of afpd is "-transall" now (i.e. enable both DDP and TCP) I think it makes sense that the -D and -T switches negate that and act as "-noddp" and "-notcp" respectively. Ergo: no code change, and update the docs.

What do you think?
 
Top