• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Raw Ethernet on 8.5 Problem
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Raw Ethernet on 8.5 Problem


  • Subject: Re: Raw Ethernet on 8.5 Problem
  • From: Rich Kubota <email@hidden>
  • Date: Wed, 26 Mar 2003 00:04:01 -0800

Duane,

This sounds like a bug which sounds really familiar. I recall that if you tried to open a promiscuous endpoint on the built-in ethernet hardware when ATalk and TCP were both disabled, or using a different NIC (like a different Ethernet card), then the endpoint would not be passed incoming packets. In fact in reviewing my ancient emails, I found that I submitted bug number 2288266 on this problem. It appears that the problem was fixed in a later release of OT.

The solution that I came up with was to open a DDP endpoint above the built-in ethernet. You don't need to bind the "kickstart" ddp endpoint, just layer DDP above the desired ethernet NIC.

I wrote the following function a while back

#if __OPENATALKONENET__

OSStatus StartDummyAppleTalkEndpoint(char *drivername)
{
char configStr[255] = "ddp,";
OSStatus osstatus = kOTNoError;

if (gEndpoint1 == nil)
{
OTStrCat(configStr, drivername);
gEndpoint1 = OTOpenEndpoint(OTCreateConfiguration(configStr), (OTOpenFlags)NULL, NULL, &osstatus);
if (osstatus == kOTNoError)
{
osstatus = DoBindATalkEndpoint(gEndpoint1);
}
else
gEndpoint1 = nil;
}

return osstatus;
}
#endif

the drivername will be something like "enet0".

After things are working, then call OTCloseProvider on gEndpoint1.

rich

At 10:40 PM -0800 3/25/03, Duane Murphy wrote:
--- At Tue, 25 Mar 2003 16:17:42 -0800, Duane Murphy wrote:

I am working on a bug in our app running on system 8.5 (happens to be on
a 7500 w/ G3 upgrade). Our app uses raw Ethernet connections to
communicate to a modem. On other systems this seems to work just fine.

On system 8.5, we can put packets on the wire but incoming packets are
not being received. This is only the case when TCP/IP has not been
initialized. Usually this means that TCP/IP is set to use DHCP and no one
has opened a TCP/IP port.

Our code scans for all Ethernet ports, so I dont want to be dependent on
TCP/IP. Is there a magic incantation that I am missing to get the
Ethernet driver to listen to packets?

To follow up on this issue. In order to duplicate the situation,
AppleTalk must not be set to Ethernet. It appears that if any of the
system drivers opens the Ethernet driver then it starts working. What do
I need to do to get the Ethernet driver working with out one of the other
stacks also working.

Which Tech Note did I miss? :-)

--
Sincerely,
Rich Kubota
email@hidden
(408) 974-6212
_______________________________________________
macnetworkprog mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/macnetworkprog
Do not post admin requests to the list. They will be ignored.

  • Follow-Ups:
    • Re: Raw Ethernet on 8.5 Problem
      • From: "Duane Murphy" <email@hidden>
References: 
 >Raw Ethernet on 8.5 Problem (From: "Duane Murphy" <email@hidden>)
 >Re: Raw Ethernet on 8.5 Problem (From: "Duane Murphy" <email@hidden>)

  • Prev by Date: Re: Raw Ethernet on 8.5 Problem
  • Next by Date: Stop listening!
  • Previous by thread: Re: Raw Ethernet on 8.5 Problem
  • Next by thread: Re: Raw Ethernet on 8.5 Problem
  • Index(es):
    • Date
    • Thread