Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

help needed -- A2SERVER (netatalk) for NAS

50 views
Skip to first unread message

Ivan X

unread,
Jan 31, 2012, 7:08:05 AM1/31/12
to
Now that A2SERVER for VM's and native installations is out, I wanted
to focus my attention on making a standalone NAS work with Apple II
clients.

I was very optimistic about the Western Digital My Book Live, because
it is inexpensive, readily available, and it runs Debian Linux, so
it's very similiar to Ubuntu, which is what A2SERVER is based on.

In fact, the NAS comes with Netatalk, though the latest
"firmware" (02.10.09) includes version 2.2, which is incompatible with
Apple II clients. So I disabled that copy of Netatalk, and compiled
and configured version 2.1.6 just as I had done in A2SERVER. I also
had to enable the AppleTalk kernel module in Debian on the NAS.

Everything looked good -- the volume name "MyBookLive" appears in
AppleShare on GS/OS, and "Log On" on the IIe Workstation Card disk --
until it came time to display the list of volume names.

On GS/OS, nothing appears. From a Mac, it reports an error saying
there are no available volumes. On the IIe Workstation Card disk, it
says not a legit ProDOS path and then shows a bunch of ASCII junk,
sometimes with things like "AFP 3.2" or "2-way Randnum Exchange"
visible. So it appears something is screwy in transmitting the volume
names to the client once the login actually happens. This happens with
both Guest and Randnum logins.

I'm baffled, because everything on the My Book Live box looks
identical to what it does in A2SERVER. The only thing I can think of
is that because it's based on PowerPC, something is getting screwed up
during compilation, like a big-vs-little endian type issue. But I am
not really sure.

Can anyone point me towards what I might look at next to figure out
what's going on? Thanks for any help.

Steven Hirsch

unread,
Feb 2, 2012, 8:29:56 AM2/2/12
to
On 01/31/2012 07:08 AM, Ivan X wrote:

> On GS/OS, nothing appears. From a Mac, it reports an error saying
> there are no available volumes. On the IIe Workstation Card disk, it
> says not a legit ProDOS path and then shows a bunch of ASCII junk,
> sometimes with things like "AFP 3.2" or "2-way Randnum Exchange"
> visible. So it appears something is screwy in transmitting the volume
> names to the client once the login actually happens. This happens with
> both Guest and Randnum logins.
>
> I'm baffled, because everything on the My Book Live box looks
> identical to what it does in A2SERVER. The only thing I can think of
> is that because it's based on PowerPC, something is getting screwed up
> during compilation, like a big-vs-little endian type issue. But I am
> not really sure.

I found and fixed some assumptions about sizeof(long) and byte-endianess in
the netatalk code base about ten years (while porting to Alpha). I don't know
if it ever made it to the official package, nor do I recall offhand whether
Alpha CPUs were big or little-ended. I doubt the word-size issue is
operative, since I can build on x86_64 Linux and things work fine.

Where are you getting the netatalk sources? If it's the upstream tarball, you
might want to grab the Ubuntu source deb and pick through the various patches
they apply to the build. Something in there may need to be ported over.

It's actually good in a way that both Macs and A2s are having problems - means
it's something common and perhaps easier to find.

Geoff Body

unread,
Feb 3, 2012, 5:39:05 AM2/3/12
to
Ivan
are you able to get an Ethernet packet capture I could look at?

Geoff

Ivan X

unread,
Feb 5, 2012, 11:49:10 AM2/5/12
to
On Feb 2, 8:29 am, Steven Hirsch <snhir...@gmail.com> wrote:
>
> Where are you getting the netatalk sources?  If it's the upstream tarball, you
> might want to grab the Ubuntu source deb and pick through the various patches
> they apply to the build.  Something in there may need to be ported over.

I took a look at this angle, but I don't think it's going to bear
fruit because I don't use any of the Ubuntu or Debian source debs for
the A2SERVER VM -- it compiles and works on Debian (and Ubuntu) x86
from the distribution tarball at netatalk.sourceforge.net.

Western Digital do provide source code for the NAS, but the Netatalk
parts of it (which are provided for Mac OS X users) appear to be
identical to the Netatalk distribution source. I know that WD have
modified it, because it generates a file called AppleVolumes.shares
whenever Netatalk starts up, which is based on whatever shares you
have configured through the NAS GUI, and that file is what is paid
attention to, not AppleVolumes.default. So it's possible they made
other modifications to make Netatalk work right at all, and also
possible they didn't include those changes in their posted source
code.

> It's actually good in a way that both Macs and A2s are having problems - means
> it's something common and perhaps easier to find.

Agreed, though I think I'm in over my head at this point in terms of
being able to actually find it.


On Feb 3, 5:39 am, Geoff Body <gbo...@bigpond.com> wrote:
> Ivan
> are you able to get an Ethernet packet capture I could look at?

Possibly. Should I be looking from the LocalTalk side, with that
utility you sent me, or from the Ethernet side? If the latter, what
might you suggest I use and can you provide any pointers? I've used
tcpdump before but we're not talking about TCP here so if you had a
specific idea I'll use it, otherwise I'll futz with tshark or
something.

Thanks guys.

Geoff Body

unread,
Feb 5, 2012, 3:27:44 PM2/5/12
to

Geoff Body

unread,
Feb 5, 2012, 3:31:55 PM2/5/12
to
Ivan I don't mind which capture method you use.

Ivan X

unread,
Feb 6, 2012, 12:55:30 AM2/6/12
to
Well, I solved the problem -- I hadn't been using the package manager
(apt-get) to remove the version of Netatalk (2.2.0) that is included
with the NAS, and I guess doing so got rid of some stuff which was
conflicting with my installation (2.1.6). So hooray -- a NAS for Apple
II!

What's still not working is netboot. It starts normally but then
crashes both IIe and IIgs into the monitor. What appears to be
happening is that the server feeds zeroes to the Apple II continuously
after the end of the boot blocks file, until the machine barfs.

I tested this theory by writing a simple program which simply does JSR
$FC58 / LDA #$C9 / STA $0700 / JMP $FF65, putting an "I" visibly on
the screen, and I substituted the //e Boot Blocks with it. With Ubuntu/
x86, it works as expected after a very brief boot time. With Debian/
PowerPC (the NAS), it takes a while, then crashes to the monitor. The
code is at $800 as expected, and typing 800G executes it; everything
which follows is zeroes, right up to $BFFF. I verified this by filling
memory with 99's first, and they are all overwritten.

There are a few compile warnings for a2boot.c (multiple instances of
"incompatible implicit declaration of built-in function ‘exit’"), but
they're identical on both the working and non-working environments.

My C skills are not so hot but a2boot.com is pretty small so I might
muck around with it to see why it is failing to stop at the end of the
file. If you have any pointers, so to speak, I'd be glad to hear them.

Hugh Hood

unread,
Feb 7, 2012, 12:08:56 AM2/7/12
to
Sweet!

Thanks for being persistent, Ivan.



Hugh...
0 new messages