Re: AppleTalk/EtherTalk in MOL - what works


Subject: Re: AppleTalk/EtherTalk in MOL - what works
From: Brice D Ruth (brice@webprojkt.com)
Date: Tue Jul 10 2001 - 15:56:38 MDT


Hi Ben,

Thanx for the info - having a place to start will be good ;). I'm also
going to have a chat with some of the folks on the netatalk-devel list
since they may have some tips in this area. Additionally, I grabbed the
source for AppleTalk out of Darwin - while it doesn't seem to be very
well documented, it may come in handy, particularly if something small
is simply wrong.

Again - thank you ;) Hopefully I'll be able to get something figured
out here. It was interesting to note that Mac OS X apparently has some
issues with AppleTalk support as well ... ;) It'll be a feather in our
cap if we can get this working smoothly!

One last note ... the way my network is setup currently, it appears that
the problem is localized to my iMac, with Linux on it - I have a Linux
box (x86) connected (by wire) on the other side of the AirPort base
station, running netatalk - running nbplkup from there shows not only
the various computers connected by wire to its switch, but also my
partner's iMac, connected via wireless to the same base station I'm
connected to (actually sitting about 2 ft. from my iMac w/ Linux). My
partner's iMac is running Mac OS 9.0.4 and doesn't have any problems
seeing or being seen from the other side of the base station.

Regards,
Brice D. Ruth

Benjamin Herrenschmidt wrote:

>>Ben -
>>
>>Where exactly is the encapsulation done? From what I can tell,
>>airport.o loads orinoco.o and hermes.o. Is it possible that the problem
>>lies deeper than just the AirPort module?
>>
>I don't have much infos about the actual 802.11 protocol, and SNAP
>encapsulation of ethernet packets. I was mainly concerned with
>low level interfacing issues when porting the driver.
>
>The latest driver architecture as it is in my rsync tree is:
>
> - airport.c & orinoco_cs.c : those 2 files are just stubs that
>handle the Apple airport connector or the PCMCIA socket interface.
>They setup the proper base addresses & interrupt, all of the real
>work is done in orinoco.c
>
> - orinoco.c : this file contains the core driver code. The actual
>packet transfer (and encapsulation/decapsulation) are done in the
>tx and rx routine here. Most of the other routines are related to
>reading & writing card options
>
> - hermes.c : this file contains the low-level routines for streaming
>data packets in/out of the card & sending commands to the HERMES engine
>in it.
>
>If you plan to do some traces & experiments, I beleive the best
>place to play will be the rx & tx functions in orinoco.c. You may
>want to look a the multicast stuff as it was, I beleive, never
>properly tested with airport cards (AppleTalk makes heavy use of
>multicast filters). Actually, you may want to try if it works
>with promisc mode enabled.
>
>One difference to note between TCP/IP and AppleTalk regarding the
>base station is that TCP/IP is decoded, handled & routed by the
>base station IP stack (and, AFAIK, is not encapsulated in SNAP
>frames), while other protocol are encaspulated and simply
>bridged by the station to the ethernet port.
>
>Ben.
>
>



This archive was generated by hypermail 2a24 : Tue Jul 10 2001 - 15:02:54 MDT