Hello all,
I’m new to NDIS, but I’ve written custom PCI drivers before. I’ve taken the netvmini\5x example driver in the WDK and hacked off the packet duplication bit and stitched on a serial port in its place. My target platform is XP. Yes, I’ve tried the built in PPP adapter and to my dismay it seems to lock up when errors occur on the serial line (*sigh*). I’ve got my modified driver working fairly well. I can ping and make TCP connections across my serial cable. I have a piece of test gear that allows me to add bit errors and delay on the serial line. Things where working great until I put 2 seconds of delay on each direction (4s roundtrip). Wireshark shows lots of ARP requests/responses and not much else. I’m figuring whatever part of the OS is handling ARP has a 4 second timeout. When the OS can’t figure out the MAC address of the default route, not much else happens. I ran the “arp -a” command and saw nothing in the list despite the ARP responses that where coming in correctly. So I looked for ARP tuning registry entries to not find anything about a response timeout. I know I can add a static ARP entry, but I would like a better solution. It occurred to me that I might want to change the medium type to something more fitting to a serial port. I looked down the medium enumeration to see NdisMediumWan. It’s seems to indicate a point-to-point adapter type (which fits a serial port pretty well I think). Being a NDIS newbie, I have no idea what that will do. Will I still get an Ethernet header on packets sent down to me? Seems like the OID list should change. If there is no Ethernet header, it would seem like the filtering flags might change? Is changing the medium type to NdisMediumWan even the right way to go? There isn’t much out there about NdisMediumWan based drivers and I found no examples in the WDK. Any advice is greatly appreciated!
Thanks,
-Daniel