[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