Subject: Some macs intermittently can't see server/printers

From: Martin Espinoza <[email-masked]>
Date: Tue, 28 Mar 2000 15:54:20 -0800 (Pacific Standard Time)

Okay, I'm revisiting this issue, because it seems to still be broken. This
is serious egg in face because we ditched Dave (which doesn't work well)
for netatalk (which doesn't work reliably here) as per my suggestion.

Some macs can't see my fileserver (hal) or the printers on it sometimes.
I can't be any more specific because "Sometimes" can be defined as anything
from "a random five seconds out of the day" to "weeks on end." This seems
to happen more on MacOS 9 systems than on MacOS 8.6 systems, though.

My atalkd.conf has mutated to the following (Which still doesn't generate
a zone that anything can see. One mac saw it for one bootup and then never
saw it again.)

eth0 -router -phase 2 -net 0-65534 -addr 71.93 -zone "Internal"

Mind you, I put "-net 0-128" in the file, and it decided it should have
bigger values and overwrote it, which seems to me to be Very Bad Behavior.
If netatalk was my child, I'd send it to the corner for time out.

My afpd.conf reads as follows:

hal -alltrans

Which seems to work nine times out of ten.

I'm using lprng, so my papd.conf reads as follows:

HP Laserjet 4050 TN:\
        :pr=|/usr/local/bin/lpr -Php4050tn: \
        :pd=/usr/local/atalk/ppd/hp4050.ppd:
Tektronix Phaser 740:\
        :pr=|/usr/local/bin/lpr -Pphaser740: \
        :pd=/usr/local/atalk/ppd/phaser740.ppd:

Mind you, people can print, when they can see the printers.

Doing a "getzones" provides the following:

Internal

Which is the zone I've been trying to create. Of course, my atalkd.conf
no longer seems like it should be generating it, but there it is.

Just for laughs, here's an ifconfig -a.

eth0      Link encap:Ethernet  HWaddr 00:C0:95:FA:FF:62  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          EtherTalk Phase 2 addr:71/93
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:26268346 errors:0 dropped:0 overruns:0 frame:0
          TX packets:18780627 errors:150 dropped:0 overruns:2 carrier:296
          collisions:0 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          EtherTalk Phase 2 addr:0/0
          UP LOOPBACK RUNNING  MTU:3924  Metric:1
          RX packets:1237691 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1237691 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 

How about a dmesg | grep -i apple?

NET4: AppleTalk 0.18 for Linux NET4.0

A "nbplkup =" shows the following:

            HP Laserjet 4050 TN:LaserWriter                        71.93:129
                            hal:AFPServer                          71.93:130
           Tektronix Phaser 740:LaserWriter                        71.93:128
                            hal:netatalk                           71.93:4
                            hal:Workstation                        71.93:4
        xxxx xxxxxxxxx Computer:  Power Macintosh                  56.104:252
        xxxx xxxxxxxxx Computer:Workstation                        56.104:4
                        macbeth:AFPServer                          65280.59:128
                        macbeth:netatalk                           65280.59:4
                        macbeth:Workstation                        65280.59:4
      8BIM_001_169827_PSW550R7?:An unknown user                    65403.175:250
       8BIM_001_169827_PSW550R7:8BIM_001_169827_PSW550R7           65403.175:250
                               :ARA - Personal Server              65403.175:2
                      <Unnamed>:  Power Macintosh                  65403.175:252
                            MAC:  Power Macintosh                  41201.173:252
                            MAC:Workstation                        41201.173:4
                               :ARA - Client-Only                  65280.149:2
                      <Unnamed>:  Macintosh PowerBook              65280.149:252
                     Phaser 740:LaserWriter                        65379.99:128

I x'd out the name of that one machine to avoid spewing one of my users'
names across the cosmos.

So I have two problems: One is that machines "sometimes" can not see hal
or the printers. Hal of course can see them fine, but they're local to hal,
so go figure. Hal can apparently see everything. Most things can see hal
all the time.

My questions are thus:

1> How do I create a zone, and have it show up?
2> How do I properly seed a network at the same time? Neither -router, -seed,
   nor both will apparently do this here.
3> Why are some people, mostly running the latest and greatest MacOS,
   sometimes unable to see my fileserver and the printers on it, whilst
   other people (some on MacOS9, some on MacOS8.6) can see them all fine?

---------------------------------------------------------------------------
          [email-masked] -- LAN/MIS Administrator
      "You are what you do when it counts." -- John Steakley, Armor

---

From: andrew morgan <[email-masked]>
Date: Tue, 28 Mar 2000 16:38:18 -0800 (PST)

> 1> How do I create a zone, and have it show up?

Only a machine seeding the network can create a zone.  Also, all Appletalk
routers must agree on the net range and zone names.

>    nor both will apparently do this here.

You must use the -router option to seed the network on a single interface.

>    other people (some on MacOS9, some on MacOS8.6) can see them all fine?

My guess is that atalkd is trying to seed the network with your netrange,
but there are machines on the network with numbers like 65280 and 41201
which are conflicting.  Also, I wouldn't try to seed the network with such
a large netrange.  Really, how many macs do you plan to put in this
network?  I would recommend turning off all the other Appletalk devices on
the network or finding a time when they are all off.  If there are no
other Appletalk devices on the network, then atalkd should have no reason
to use something other than your settings.  Then kill atalkd and
create the following atalkd.conf:

eth0 -router -phase 2 -net 1-10 -addr 1.1 -zone "Internal"

Start atalkd and see what ifconfig, getzones, and nbplkup show.  If that
looks okay and your atalkd.conf hasn't been overwritten, then bring up a
single mac client and see what net/addr it gets.

It is interesting that some devices are on net 71 and 56, which usually
implies an Appletalk router is seeding the network with a network range,
while other devices are using 65280, which is usually the network a mac
uses when there is no Appletalk router.  Maybe this is confusing the macs
so that they won't see the server?

	Andy

---

From: Patrik Schindler <[email-masked]>
Date: Wed, 29 Mar 2000 03:11:56 +0200 (MEST)

> If netatalk was my child, I'd send it to the corner for time out.

If you read in syslog, you'll find more information when netatalk starts
why it has chosen such a netrange.

I do now know the -router parameter yet but of you want a defined zone,
you'll have to use seeding. Seeding was known to be a not-work (for
logical reasons) in early versions of netatalk.
You can use an entry for a dummy device (dummy.o) to force seeding (like
I did). These days I utilize two NICs, so I don't use that anymore.

> Just for laughs, here's an ifconfig -a.

The Kernel drops AppleTalk adresses only if you unload appletalk.o (DDP
Support) or if you configure your NIC down and all over up again.

>    other people (some on MacOS9, some on MacOS8.6) can see them all fine?

Are you sure that these Macs AppleTalk Stack agreed with your net range
you defined?

Sometimes shutting AppleTalk down firing up again helps on such machines.
Sometimes they'll need a restart.
Sometimes you'll even have to delete the AppleTalk Prefs, restart and set
up the AppleTalk connection anew.

:wq! PoC

---

From: Martin Espinoza <[email-masked]>
Date: Wed, 29 Mar 2000 08:36:09 -0800 (Pacific Standard Time)

This seems to have been the info that saved me. I thought I'd reshare
it.

Incidentally, only the Printer (thank god, since I have no idea how to
change its appletalk address) actually got a new Appletalk address which
is in my desired range automatically. I actually had to go to each of the
macs and set their address MANUALLY in the appletalk control panel. I
hate macs more every day :)

> > eth0 -router -phase 2 -net 0-65534 -addr 71.93 -zone "Internal"

...

> so that they won't see the server?

Not only that, but some of them were on equally oddball numbers which were
NOT 65280 (which makes them MORE oddball, I guess.)

Incidentally, is this intended to be the same as the behavior of DHCP
which gives you a link-local address when it can't find a server? That's
certainly what it looks like. Pity some of the macs did it, and some didn't,
and netatalk never did.

---

From: Patrik Schindler <[email-masked]>
Date: Wed, 29 Mar 2000 19:00:28 +0200

At 8:36 Uhr -0800 29.03.2000, Martin Espinoza wrote:

>change its appletalk address)

These are assigned automatically.

>actually got a new Appletalk address which

This is the worst thing you can do. AppleTalk Adresses are truly dynamic.
If thy wouldn't get the new address, delete the AppleTalk Preferences (used with OpenTransport) and restart doing a PRAM-Zap.

>Pity some of the macs did it, and some didn't,
>and netatalk never did.

Some of the B/W G3 had a problem not freshening their AppleTalk address as desired. See above what to do.

:wq! PoC

---

From: "Michael" <[email-masked]>
Date: Wed, 29 Mar 2000 17:02:24 -0800

> > > eth0 -router -phase 2 -net 0-65534 -addr 71.93 -zone "Internal"

is the option "-router" something new?? I've not seen any docs on 
this and the older version of atalkd don't like it -- it tried.

Michael
[email-masked]

---

From: andrew morgan <[email-masked]>
Date: Wed, 29 Mar 2000 19:00:23 -0800 (PST)

> this and the older version of atalkd don't like it -- it tried.

It was added sometime in the pre2.1.4 series of releases.  That option
will "seed" a network on a single interface.  Previously, you could only
use the -seed option with multiple network interfaces.

	Andy