Carlos, Sorry to hear you're having so much trouble with this driver. I have noticed too that sometimes WinPcap hangs on PocketPC 2002 when my thread calls PacketReceivePacket( ), although it works most of the time. In the case when it hangs, though, I must reset my PDA in order to get it working again.
Maybe the author of the driver can spend some time investigating these issues. Regards, Joe --- Carlos Calafate <[EMAIL PROTECTED]> wrote: > Hi Joe! Thanks for your help! > > What happens is that I had code that worked on > Windows 2000 and it did > no longer work on PPC. > Not only did I have to add the initialization and > termination routines, > but I also had to check if ulBytesReceived>0. This > wasn't supposed to > happend because I tell it to wait forever for a > valid packet by calling: > PacketSetReadTimeout(&adapter, 0) > > About sending packets, I seem to follow the same > steps you do and > sometimes it does work, but most times it hangs and > I have to reset the > iPaq. I have only the main thread and I don't event > try to receive a > single packet, but it still hangs. > > Well, at least someone made it work! > > Thanks, > > Carlos > > > Joe Meilak wrote: > > I don't know about your first issue, because I > simply > > loop calling PacketReceivePacket( ) and check the > > pkt.ulBytesReceived member to see if it is > non-zero. > > > > I was able to successfully send a packet using > > PacketSendPacket( ) on Pocket PC 2002 using a > Symbol > > Spectrum 24 wireless LAN card on a Toshiba e570. > The > > code fragments are as follows: > > > > PACKET pkt; > > ::ZeroMemory( &pkt, sizeof( pkt ) ); > > > > // Prepare buffer containing Ethernet frame > here... > > In my case it goes into a variable named "mas" > > > > // Prepare packet for driver. > > PVOID pbyBuf = (PVOID) &mas; > > ::PacketInitPacket( &pkt, pbyBuf, sizeof( mas ) ); > > > > // Send only 1 copy (although it appears WinPcap > sends > > 2 nonetheless). > > ::PacketSetNumWrites( m_pAdapter, 1 ); > > > > // Transmit the packet. > > ::PacketSendPacket( m_pAdapter, &pkt, TRUE ); > > > > This seems to work for me. One thing I do, > however, > > is execute this code on the same thread that does > the > > listening (i.e., the one that calls > > PacketReceivePacket( )). That way I won't be > trying > > to write and read data from the driver > simultaneously. > > > > Joe > > > ______________________________________________________________________________ > mensaje enviado desde http://www.iespana.es > emails (pop)-paginas web (espacio > ilimitado)-agenda-favoritos (bookmarks)-foros -Chat > __________________________________________________ Do You Yahoo!? Sign up for SBC Yahoo! Dial - First Month Free http://sbc.yahoo.com
