Garmin Marine Networking

Summary:
Plugging in a very basic configuration of a router and hub into the Garmin 5212 allowed Garmin BlueChart IOS to communicate with the 5212.  The only configuration of was to use 172.16.0.0/16.  Much more work is to be done to analyze the output.

Boat Devices:
Back of Garmin 5212
  • GPSMAP 5212 
  • GPS17x 
  • GDS22 Sounder
  • Standard Horizon Matrix GX2100 

Additional Devices:
  • Dlink DWL-G730 Access Point in Bridge Mode  (IP address 172.16.6.3 netmask 255.255.0.0)
  • 4 Port Dlink hub (10mb/s)
  • Macbook running Windows 7 (IP Address DHCP assigned from Dlink  172.16.6.100)
  • iPad 3 IOS  (IP Address DHCP assigned from Dlink  172.16.6.101)

Details:
After the Ft. Lauderdale boat show I was very excited to try out my iPad and Garmin 5212.  Given I live in the north and the boat is in storage ... it took a while to get access to the boat.  This morning I was able to update the 5212 (and all devices) to the latest version for firmware and test out using BlueChart IOS.  Given I have not purchased the Garmin Marine WiFi Adaptor Kit I decided to just try out a small portable WiFi access point. I used a dlink that I had sitting around.  

I configured the dlink to have an IP address of 172.16.6.3 (random guess) and had it serve as a DHCP server.  It handed out IP addresses starting at 172.16.6.100.  The netmask was set at 255.255.0.0.  I used the 172.16 range because of the post over in TugNuts that started me thinking about trying it out.  (Thanks Rem1473 for the fast start!)  Once everything was connected I started turning on devices.  Very quickly I found that in addition to the iPad, Access Point and Mac there were three other active IP Addresses:
Garmin Devices Screen Photo
  • 172.16.3.0 - MAC Address 00:05:4f:40:03:00  
  • 172.16.6.0 - MAC Address 00:05:4f:40:06:00  
  • 172.16.7.0 - MAC Address 00:05:4f:40:07:00  
And there was a ton of multi-cast traffic to these addresses.  Most of the  traffic was UDP.  (all of the multi-cast was UDP)
  • 239.254.2.1
  • 239.254.2.2
  • 239.254.2.4
  • 239.254.2.8
I then pulled some routes from the plotter.  The plotter beeped and asked me to acknowledge   Once I did the routes transferred.  Very easy!   Next I looked at the Garmin Devices screen on the plotter and wow - There is "BlueChart iOS" listed as a device on the Network!  

So now to start figuring out what is what.  So the IP address 192.16.6.0 is the only IP address that communicated directly with the iPad.  So my guess is that it is the plotter.  It had to communicate directly and not via multi-cast to transfer the routes.  This leaves the question of what if the 172.16.7.0 ip address?  Could it be the sounder?  Or is it the GPS?  I am also not 100% sure why the sounder does not show up on the Garmin Devices List - It does show up in another page.  The screen shot was after the trace.  

There is a significant amount of data put on the network.  in 290.16 seconds there were 4549 packets captured and 743,961 Bytes captured.  about 2,564 bytes per second.  And I was really not doing anything nor was I running a radar.  I suspect Garmin's wireless router is filtering out traffic that is not used.

Given what I have found I don't see a reason why if we can figure out which multi-cast data to filter out that we can use a custom router configuration.  My guess is that the multi-cast IP addresses are for the types of data.  IP addresses 172.16.3.0, 172.16.6.0, 172.16.7.0 and Ipad sent data to Multicast 239.254.2.2.   172.16.6.0 and 172.16.7.0 sent data to 239.254.2.8.  Only 172.16.6.0 sent data to 239.254.2.4 and only 172.16.3.0 sent data to 239.254.2.1.  Another guess is that 2.2 is for announcing devices.  I don' t think the iPad can provide GPS location on the network.  So the only other reason is to announce devices.  Below is a table of the summary of IPv4 conversations.  There were 16 different coversations in the 160 seconds it took to start up the GPS and transfer the routes to the iPad.

Garmin Network Summary



Next is trying to reverse engineer the communication protocol.  I have started playing with this but so far it is slow going  ...  I am doing my analysis on this page.  What I have found so far is that the pull of the routes from the 5212 to the iPad was done over TCP.  I can see the data coming from 172.16.6.0 to the iPad (172.16.6.101) when looking at the raw dump.  If you look at the dump you can see the strings "MacRay" or "Pelee Island" showing up.  



Enjoy!

Pat