Cessna Naviii G1000 Trainer
Click to expand.I found that too-downloaded it (they send it to you via email) and tried to apply it-it said it didn't apply to my system, even though I picked the Win7 x64 version.But. I think I'm onto something here with some more investigation. When the MFD is powered up, it gets chatty on its dynamically allocated UDP port with the PFDs static port 5001, every time. On the GOOD system, there's lots of chatter, and the first packet is always 77 bytes, then a varying packet size thereafter. See the packet sequence numbers, packet sizes, below. I've filtered the view on the good system's data here, from two different runs, to port 5001 as the UDP destination port:GOOD SYSTEM TEST 1:GOOD SYSTEM TEST 2:Now, compare that with the system that doesn't work:BAD SYSTEM TEST:ALL of the packets are only 54 bytes long!
There's only one request per second; repeated handshake attempts, I presume. When I use wireshark's 'follow UDP stream' from the first packet to 5001, the good system has a conversation of 397kb; the bad system has a conversation of only 910 bytes (not kb). Both logs were stopped as soon as the MFD fully booted.I did discover that the GOOD system had a default TTL of 128, and the non-working system had a default TTL of 64; I changed it to 128 and rebooted, and verified the latest capture shows an IP v4 TTL of 128 on the loopback, but the problem persists.So either communication to 5001 is being blocked, or the packet is getting truncated from the expected 77 bytes to 54 bytes, and the G1000 PFD doesn't know what to do with the initial communication.ALSO.
I verified both systems and both displays (PFD/MFD) are all running the same plane (C172SP), so the communications patterns should be predictable and similar.I should also say that not ALL UDP packets on the bad system are 54 bytes long-just all the packets to port 5001. There's definitely something to this thought, though. Here's the packet size analysis between the GOOD system and the BAD system:GOOD SYSTEM PACKET SIZES to ports 5001 and 6001 only:BAD SYSTEM PACKET SIZES to ports 5001 and 6001 only:P.S.-I only started using WireShark this year. What a great and useful program (and FREE!). I'd never get this level of granularity without it. It runs on Windows or Linux.
On Windows systems, winpcap can't capture loopback traffic details, but a free download of rawcap can, and produces pcap files that wireshark can analyze. Should be in every IT engineer's toolset. There's a good 3-video primer on YouTube that starts here. Click to expand.I'll try that IP stack component check.
I just tried removing and rediscovering the network adapter in the machine (Windows re-installing drivers)-same behavior afterwards.I've discovered that the time delay too which you refer is the same on the good system as the bad, for any communications between the PDF and port 6001 on the MFD, in dual mode, the PFD polls port 6001 via UDP once a second to see if the MFD is up and running yet. Once the PFD is up and running, it connects, then it gets chatty.The 'bad' system DOES connect from the PFD to the MFD's port 6001 once it starts; it's the MFD trying to connect back to the PFD's port 5001 that fails on the errant server.
Well you're way ahead of me technically. I was going to go with a malware software or firewall disabling 5001 because of a possible denial of service type attack over that port.However, you certainly tested that early in the process.How about in the network card settings disabling the UDP checksum offload feature and letting the OS do it?Or alternatively-Disabling IPv6 because it can't handle a zero checksum and perhaps the application wasn't written with IPv6 considered.Crappy guess I know, I'm no computer professional. Alex, the checksum offloading really doesn't come into play on a loopback port, because the computer knows the packets aren't leaving the computer, so it doesn't checksum them anyway. But, that's a good point you raise, as in WireShark I was seeing errors about 'checksum doesn't match', and that wasn't really a 'problem'.
Since I have checksum generation offloaded to my GigE NIC, and these packets didn't travel out the NIC, they didn't HAVE checksums. Those values were '0x0000' in the packets, and didn't match WireShark's computed Checksum, so it flagged most packets as having errors. Fortunately, in WireShark's preferences pages for Internet Protocol, you can tell it to 'don't compute checksums' and those 'false errors' go away.IPv6 wasn't in play here, either. Although it's installed on the box, it's protocol #2 in the binding / preference order, and WireShark clearly showed this traffic was protocol v4.So. The actual problem ended up being.
(the clue is in the last picture I posted, in the black command line box, and what is being shown for port 6001 on the MFD, which isn't even powered up yet). Alex, the checksum offloading really doesn't come into play on a loopback port, because the computer knows the packets aren't leaving the computer, so it doesn't checksum them anyway.
But, that's a good point you raise, as in WireShark I was seeing errors about 'checksum doesn't match', and that wasn't really a 'problem'. Since I have checksum generation offloaded to my GigE NIC, and these packets didn't travel out the NIC, they didn't HAVE checksums. Those values were '0x0000' in the packets, and didn't match WireShark's computed Checksum, so it flagged most packets as having errors. Fortunately, in WireShark's preferences pages for Internet Protocol, you can tell it to 'don't compute checksums' and those 'false errors' go away.IPv6 wasn't in play here, either. Although it's installed on the box, it's protocol #2 in the binding / preference order, and WireShark clearly showed this traffic was protocol v4.So. The actual problem ended up being.
(the clue is in the last picture I posted, in the black command line box, and what is being shown for port 6001 on the MFD, which isn't even powered up yet). Click to expand.Correct,Tim and Alex!Back when I bought my Fujitsu duplex scanner (which is amazing, by the way, just ask Spike,I think he uses one too), it installed software for a hardware key. That software was called Sentinel, by Safe-Net. That software runs as a service and listens on port 6001 for authentication requests.Just random luck that the Garmin G1000 sim uses the same port. I uninstalled the Sentinel software after proving that stopping their services fixed the red x's on the PFD. If I need the software for my scanning software to work, I can reinstall it-they have an XML file that will let you specify which port it should use.Now, the funny thing is, I SHOULD HAVE CAUGHT THIS three days ago, when I was mapping process ids to ports. But, I was filtering my netstat output by PID, not by PORT, so I only saw six ports used by the MFD (including 6001).
If I'd thought to ALSO try filtering the netstat output by PORT (6001), I would have SEEN that there were two different PIDs vying for its attention.Alex, thanks for the help and ideas today. I appreciate it! Correct,Tim and Alex!Back when I bought my Fujitsu duplex scanner (which is amazing, by the way, just ask Spike,I think he uses one too), it installed software for a hardware key.
Cessna Nav Iii G1000 Trainer V10.00
That software was called Sentinel, by Safe-Net. That software runs as a service and listens on port 6001 for authentication requests.Just random luck that the Garmin G1000 sim uses the same port. I uninstalled the Sentinel software after proving that stopping their services fixed the red x's on the PFD. If I need the software for my scanning software to work, I can reinstall it-they have an XML file that will let you specify which port it should use.Now, the funny thing is, I SHOULD HAVE CAUGHT THIS three days ago, when I was mapping process ids to ports. But, I was filtering my netstat output by PID, not by PORT, so I only saw six ports used by the MFD (including 6001). If I'd thought to ALSO try filtering the netstat output by PORT (6001), I would have SEEN that there were two different PIDs vying for its attention.Alex, thanks for the help and ideas today.
Cessna Nav Iii G1000 Trainer
I appreciate it!