Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > macOS > Switching AppleTalk between Ethernet & AirPort

Switching AppleTalk between Ethernet & AirPort
Thread Tools
Oneota
Professional Poster
Join Date: May 2000
Location: Urbandale, IA
Status: Offline
Reply With Quote
Aug 2, 2004, 11:11 AM
 
We've got a mix of desktops and laptops at our institution, all running a single master software image. The problem is, AppleTalk doesn't intelligently follow the active interface, and some of our users switch interfaces, so when it comes time to print, they run into problems if the interface they're currently using doesn't match either what interface the master machine was using, or if it doesn't match what they were using last time they logged in.

Basically, Printer Setup Utility tries to switch AppleTalk over to the correct interface, but since our users aren't admins, it brings up the "You need to enter an admin username/password to make changes to PB_AppleTalk" dialog box. We don't want to give out the admin username/password, but we also don't want to have to be present for every printer setup on campus.

How can we make AppleTalk automatically follow the active interface? I'm not adverse to shell script / loginhook solutions. Thanks!
"Yields a falsehood when preceded by its quotation" yields a falsehood when preceded by its quotation.
     
Diggory Laycock
Professional Poster
Join Date: Oct 2001
Location: London
Status: Offline
Reply With Quote
Aug 2, 2004, 11:41 AM
 
Does AppleTalk have to be involved? Can the printers do IP printing?
     
Oneota  (op)
Professional Poster
Join Date: May 2000
Location: Urbandale, IA
Status: Offline
Reply With Quote
Aug 2, 2004, 11:57 AM
 
Originally posted by Diggory Laycock:
Does AppleTalk have to be involved? Can the printers do IP printing?
IP Printing is too complicated. We don't want to use a print server, and we can't ask our users to type in IP addresses or DNS names. They have to be able to pick a printer from a list, and print directly to the printer. As such, AppleTalk is the only viable solution (since not all of our printers support Rendezvous [ne� OpenTalk]).
"Yields a falsehood when preceded by its quotation" yields a falsehood when preceded by its quotation.
     
CubeWannaB
Forum Regular
Join Date: Oct 2000
Status: Offline
Reply With Quote
Aug 2, 2004, 03:47 PM
 
Originally posted by Oneota:
We've got a mix of desktops and laptops at our institution, all running a single master software image.
Perhaps the problem is that your software image is the same for laptops and desktops?
     
Oneota  (op)
Professional Poster
Join Date: May 2000
Location: Urbandale, IA
Status: Offline
Reply With Quote
Aug 2, 2004, 04:38 PM
 
Originally posted by CubeWannaB:
Perhaps the problem is that your software image is the same for laptops and desktops?
No, the problem is that the AppleTalk stack is too dumb to follow the active interface around.

Even having a separate image for laptops and desktops wouldn't solve the problem, 'cause some of our laptops connect primarily via AirPort, some connect primarily via Ethernet. This issue wouldn't go away with a separate image.
"Yields a falsehood when preceded by its quotation" yields a falsehood when preceded by its quotation.
     
Diggory Laycock
Professional Poster
Join Date: Oct 2001
Location: London
Status: Offline
Reply With Quote
Aug 2, 2004, 05:59 PM
 
Could you set-up the printers via IP on the image - then the printers are pre-configured - no IP addresses type.

Except for people using their own laptops.

Obvious question -- but is appletalk enabled for every network interface on the original image?
     
Oneota  (op)
Professional Poster
Join Date: May 2000
Location: Urbandale, IA
Status: Offline
Reply With Quote
Aug 2, 2004, 06:37 PM
 
Originally posted by Diggory Laycock:
Could you set-up the printers via IP on the image - then the printers are pre-configured - no IP addresses type.
We don't want our users to have to hunt through a huge list of printers to find the one they want. We want them to be able to easily set up just the printers they want to use. We also don't want people in building A printing to a printer in building B. And if we add/remove/upgrade a printer, suddenly all 1000+ Macs are out-of-date.



Except for people using their own laptops.
We don't have any of that going on. We're K-12.


Obvious question -- but is appletalk enabled for every network interface on the original image?
That's the problem. For some dumb reason, AppleTalk can't be active on more than one interface at a time, and Apple didn't write the AppleTalk stack in such a way that it follows the IP stack around. So whatever interface I have it active on on the image, the people who use the other interface on their machines are going to have problems.
( Last edited by Oneota; Aug 2, 2004 at 06:59 PM. )
"Yields a falsehood when preceded by its quotation" yields a falsehood when preceded by its quotation.
     
Oneota  (op)
Professional Poster
Join Date: May 2000
Location: Urbandale, IA
Status: Offline
Reply With Quote
Aug 2, 2004, 08:45 PM
 
I think I may have come up with a solution (for others coming across this thread with the same problem). I'll test it tomorrow at work to see if it fixes the problem and report back here with my results. I'm going to try adding this to my loginhook and see if it does what I want. Here's the code:

#!/bin/tcsh -f
##[Unrelated code doing other things goes here]
appletalk -d # turn off appletalk so we can turn it on, on the correct interface
set en0status = `ifconfig en0 | grep status | cut -f 3 -d :` #is en0 active?
set en1status = `ifconfig en1 | grep status | cut -f 3 -d :` #is en1 active?
if ($en0status == 'active' && $en1status == 'active') then
appletalk -u en0 -q #if both interfaces are active, let's use en0
else
if ($en0status == 'active') then
appletalk -u en0 -q #turn appletalk on, on en0
else
appletalk -u en1 -q #turn appletalk on, on en1
endif
endif
"Yields a falsehood when preceded by its quotation" yields a falsehood when preceded by its quotation.
     
   
 
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Top
Privacy Policy
All times are GMT -4. The time now is 09:24 AM.
All contents of these forums © 1995-2017 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.8 © 2000-2017, Jelsoft Enterprises Ltd.,