Prev: CVTRES : fatal error CVT1109: target machine "THUMB" requires "/WI
Next: DirectShow issue with Windows Mobile 5
From: MSenne on 1 Feb 2006 09:08 gp, 1) WiFi is definitely possible. The TIACXWLN WiFi adapter will bind to the passthru driver with no problem because they are both NDIS based. The EV-DO (and other cellular data types) are a different matter because they operate of PPP. Supposedly you can modify the Passthru to do this, but I have not discovered how yet. Keep in mind that although it CAN work on the WM5 PPC, I am still having the problem I discussed above and a workaround needs to be found. 2) Here is info on alternatives to signing from the WinMob Team Blog: http://blogs.msdn.com/windowsmobile/archive/2005/11/03/488934.aspx And here are fairly complete instructions (including some key MSDN links) to signing your code with the test certs: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=122467&SiteID=1 This is how I am loading my passthru. -MSenne
From: knopper on 1 Feb 2006 10:11 I want to change to pasthru driver sample to capture all packets going through the interfaces on the device , including PPP interfaces. So i want to modify all the received and out going packets by setting I/O call functions from user application and all that should be dynamically. Can i load/unload the the driver dynamically ? It is possible to extend the driver with the the prefix like "IMD1:", in order to access it ? "gp" wrote: > MSenne, > > Thanks for reply > > couple of questions for you > > 1) I am Using Sprint PCS 6700 device and i want to modify all the ip packets > going out and coming in from wifi or ev-do interfaces can it possible with > ndis pass thru driver? > > 2)please send me link for how to sign driver with a test certificate. > > thanks > > "MSenne" wrote: > > > The changes between 4.2 and 5.0 were small (2 or 3 changes in 2 or 3 > > files I believe) but commenting out the new 5.0 stuff didn't help with > > my problems. The source code is virtually the same except for those > > small improvements, which are not essential to working on CE5.0 > > systems. The difference is what libraries you link against. > > > > Knopper, > > > How can i access directly to the IM driver ? > > What do you want to do? I added code to make my 4.2 version a Stream > > Interface Driver and use IOControl codes to control it. If you want to > > read and write data I think that CreateFile might be the way, but I > > haven't done that, just basic comm using control codes. > > > > > And is there other upper protocol interface exitsted ? > > I don't quite understand what you mean, but if you mean are other > > adapters using your driver besides the TIACXWLN then the answer is No. > > If you have an internal WiFi card (which you do since you have the > > internal TIAC...) and an SDIO slot you can plug in a WiFi SDIO card and > > bind both adapters to your passthru driver (both will appear as subkeys > > of \\Pass\\). But WiFi is the only thing that binds. One of the small > > improvements in the CE5.0 code is a list that will skip adapters that > > won't bind such as PPTP, IR, ASYNCMAC, etc. > > > > > Can i send modified packets upper to the protocol interfaces to the application ? > > You have pointers to the actual packet data and have the ability to > > pass on or NOT pass on the data. You can also modify the packets > > before passing them on (up or down the stack, depending on whether you > > are in a MiniportSend or ProtocolReceive function). > > > > gp, > > You need to compile the passthru example as a DLL in Visual Studio 2005 > > or eVC++4.0 (usually you need VS2005 for WM5 projects, but this is a > > platform builder example and doesn't use any VS2005 libraries). > > You need to make sure it is exporting your DllEntry function properly > > (check exports with DependencyWalker). > > You need to sign your driver with a test certificate (this info is on > > various message boards and MSDN library or I can provide links). > > You need to put your driver in the \Windows folder and load the > > appropriate registry settings (mentioned above). > > If you have any specifc problems please let us know but that should get > > you started I hope. > > > > -MSenne > > > >
From: MSenne on 1 Feb 2006 12:25 I believe you can load the driver dynamically, although I haven't done it myself. You get those prefixes when you load your NDIS driver as a Stream Interface Driver as well. Check the <WINCEROOT>\Public\Common\OAK\DRIVERS\NDISUIO source for an SID example you can easily port to your code. You need to add a few more registry keys under HKLM\Drivers\BuiltIn\<driver name>\ if you want to load at startup, otherwise you can use ActivateDevice or ActivateDeviceEx to load dynamically. Knopper, I don't understand what you mean by this: > So i want to modify all the received and out going packets by setting I/O call functions > from user application and all that should be dynamically. Binding to the PPP interface will not be easy or automatic. And modifying the packets won't make them go to a different interface, you'll have to reroute them (but presumably modify the ethernet and maybe IP headers of the packet). If you have any breakthroughs on the PPP or binding to anything besides WiFi adapters please share some results.
From: knopper on 2 Feb 2006 06:18 I want to access to the passthru driver to set filter options dynamically, like MACs, IP addresses, in order to modify/filter received and outgoing packets. I tryed to open the binded adapter "PASS\\TIACXWLN1" through "UIO1:" and "NDS0:" using IOCTL_NDISUIO_OPEN_DEVICE call and ReadFile function, but without success. It is possible to extend the pssthru sample to load/unload dynamically ? Is there passthru driver prefix like "UIO1:" to call createfile ? can i add the prefix in driver code like a stream driver ? "gp" wrote: > MSenne, > > Thanks for reply > > couple of questions for you > > 1) I am Using Sprint PCS 6700 device and i want to modify all the ip packets > going out and coming in from wifi or ev-do interfaces can it possible with > ndis pass thru driver? > > 2)please send me link for how to sign driver with a test certificate. > > thanks > > "MSenne" wrote: > > > The changes between 4.2 and 5.0 were small (2 or 3 changes in 2 or 3 > > files I believe) but commenting out the new 5.0 stuff didn't help with > > my problems. The source code is virtually the same except for those > > small improvements, which are not essential to working on CE5.0 > > systems. The difference is what libraries you link against. > > > > Knopper, > > > How can i access directly to the IM driver ? > > What do you want to do? I added code to make my 4.2 version a Stream > > Interface Driver and use IOControl codes to control it. If you want to > > read and write data I think that CreateFile might be the way, but I > > haven't done that, just basic comm using control codes. > > > > > And is there other upper protocol interface exitsted ? > > I don't quite understand what you mean, but if you mean are other > > adapters using your driver besides the TIACXWLN then the answer is No. > > If you have an internal WiFi card (which you do since you have the > > internal TIAC...) and an SDIO slot you can plug in a WiFi SDIO card and > > bind both adapters to your passthru driver (both will appear as subkeys > > of \\Pass\\). But WiFi is the only thing that binds. One of the small > > improvements in the CE5.0 code is a list that will skip adapters that > > won't bind such as PPTP, IR, ASYNCMAC, etc. > > > > > Can i send modified packets upper to the protocol interfaces to the application ? > > You have pointers to the actual packet data and have the ability to > > pass on or NOT pass on the data. You can also modify the packets > > before passing them on (up or down the stack, depending on whether you > > are in a MiniportSend or ProtocolReceive function). > > > > gp, > > You need to compile the passthru example as a DLL in Visual Studio 2005 > > or eVC++4.0 (usually you need VS2005 for WM5 projects, but this is a > > platform builder example and doesn't use any VS2005 libraries). > > You need to make sure it is exporting your DllEntry function properly > > (check exports with DependencyWalker). > > You need to sign your driver with a test certificate (this info is on > > various message boards and MSDN library or I can provide links). > > You need to put your driver in the \Windows folder and load the > > appropriate registry settings (mentioned above). > > If you have any specifc problems please let us know but that should get > > you started I hope. > > > > -MSenne > > > >
From: MSenne on 2 Feb 2006 09:35
Here's a starting page on MSDN about SIDs: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceddk40/html/cxconStreamInterfaceDrivers.asp Here's the page on ActivateDevice that I mentioned above: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wceddk/html/wceddkactivatedevice.asp That documentation will do a better job of explaining the entire process of what you want to do. -MSenne |