[hpsdr] Problems building ghpsdr receiver client (from ghpsdr3 project) on Mac OSX
Mark Leone
midnightjava at verizon.net
Mon Jan 9 22:13:38 PST 2012
> Upon thinking about it now that I'm a little more awake, I understand why it's working. When Metis receives the start packet from heterodyne, it remembers the IP and MAC addresses of the sender. The MAC address is of the Ubuntu box, but the IP address is going to be of your Mac. When Metis fires back a packet, it's L2 address will get it to the Ubuntu box but the Ubuntu box will know that the IP address isn't one of its own. So, since IP forwarding is on, it looks in the route table and pushes the packet to the Mac again.
This sounds like a plausible scenario, but I don't think it's what's
happening. I've never hooked my Mac up to Metis directly, so it's never
received any data from Heterodyne or any other program running on the
Mac. I think Metis is designed to respond to ping requests, with an ICMP
reply addressed to the sender of the ICMP request, dellivered in an
Ethernet frame addressed to the Layer 2 node that delivered the ping
request. There is no discussion of ping protocol in the Metis firmware
operation description, but I think I remember one of the LEDs being a
ping indicator; and at any rate I see ping requests coming back to my Mac.
Without proper routing in the Ubuntu and Mac systems, the ping requests
would never get to Metis, or find their way back. But the static routes
I've entered in the Mac and the Ubuntu system (and the IP forwarding
config in Ubuntu) ensure that a packet gets from the Mac to Metis. Metis
just replies as designed, addressing the ICMP reply to the ICMP request
sender, and putting it into a frame addressed to the connected link
partner. The static routing setup in Ubuntu and Mac then ensure the
packet makes its way back to the Mac. The only Layer three processing
Metis does in this scenario is copy the sender's IP address and use it
for the destination address of the reply, which it has to do as well in
normal operations.
So I have IP connectivity between my Mac and Metis, but withouty passing
the broadcast frames all the way through it will never work. The Metis
documentation says that it won't respond to data from a PC until it has
sent a valid reply to a discovery packet. I'm finding that getting
broadcast frames from one interface to another in Ubuntu is far more
difficult than it should be. I've tried two documented approaches so
far, and neither works. I'm monitoring with Wireshark, and the broadcast
frames are not re-transmitted on the other interface. If I ever find the
right incantation, I'll enjoy Heterodyne on my laptop.
73
Mark - K4XML
1326176018.0
More information about the Hpsdr
mailing list