|
From: Senthil on 6 Jul 2005 09:41 Hi All, I am using passthru intermediate driver.I have written an application which on a connect(NDIS_STATUS_MEDIA_CONNECT) notification from my intermedaite driver, will send data using sockets. What i noticed is though the device status is connected(it throws a ballon saying LAN is connected) and it is assigned an IP, it takes some time(2 to 4 secs) to send packets.The NdisSend function which is called by my intermediate driver returns success and actually the data is not sent across network. Because of this behaviour send funtion of socket succeds but the data is not sent. But after 2 to 4 seconds i am able to send data.I am using intel's LAN card. could anyone tell me whether it is a hardware problem or is there any NDIS events which can tell me the card is ready for data transfer? Thanks and Regards, Senthil
From: Pavel A. on 6 Jul 2005 10:45 Not enough information... Do you just pass up the media status indication of the Intel card? Does your IM properly reply to OID_GEN_MEDIA_CONNECT_STATUS and other OIDs relevant to send (link speed, tx buffer size etc.)? Regards, --PA "Senthil" wrote: > Hi All, > I am using passthru intermediate driver.I have written an > application which on a connect(NDIS_STATUS_MEDIA_CONNECT) notification from > my intermedaite driver, will send data using sockets. > What i noticed is though the device status is connected(it > throws a ballon saying LAN is connected) and it is assigned an IP, it takes > some time(2 to 4 secs) to send packets.The NdisSend function which is called > by my intermediate driver returns success and actually the data is not sent > across network. > Because of this behaviour send funtion of socket succeds but > the data is not sent. But after 2 to 4 seconds i am able to send data.I am > using intel's LAN card. could anyone tell me whether it is a hardware problem > or is there any NDIS events which can tell me the card is ready for data > transfer? > Thanks and Regards, > Senthil > >
From: Maxim S. Shatskih on 6 Jul 2005 16:31 This is by design. The DHCP state machine needs some time to be executed. I think that you can register for TDI-level IP address arrival notifications instead of NDIS-level ones. -- Maxim Shatskih, Windows DDK MVP StorageCraft Corporation maxim(a)storagecraft.com http://www.storagecraft.com "Senthil" <Senthil(a)discussions.microsoft.com> wrote in message news:0E00B809-ACEE-4A0D-BCF9-A181B08CDFD5(a)microsoft.com... > Hi All, > I am using passthru intermediate driver.I have written an > application which on a connect(NDIS_STATUS_MEDIA_CONNECT) notification from > my intermedaite driver, will send data using sockets. > What i noticed is though the device status is connected(it > throws a ballon saying LAN is connected) and it is assigned an IP, it takes > some time(2 to 4 secs) to send packets.The NdisSend function which is called > by my intermediate driver returns success and actually the data is not sent > across network. > Because of this behaviour send funtion of socket succeds but > the data is not sent. But after 2 to 4 seconds i am able to send data.I am > using intel's LAN card. could anyone tell me whether it is a hardware problem > or is there any NDIS events which can tell me the card is ready for data > transfer? > Thanks and Regards, > Senthil > >
From: Alireza Dabagh [MS] on 7 Jul 2005 02:33 This may also be because the NIC driver is still negotiating with switch on speed, etc. -ali -- This posting is provided "AS IS" with no warranties, and confers no rights. "Senthil" <Senthil(a)discussions.microsoft.com> wrote in message news:0E00B809-ACEE-4A0D-BCF9-A181B08CDFD5(a)microsoft.com... > Hi All, > I am using passthru intermediate driver.I have written an > application which on a connect(NDIS_STATUS_MEDIA_CONNECT) notification > from > my intermedaite driver, will send data using sockets. > What i noticed is though the device status is > connected(it > throws a ballon saying LAN is connected) and it is assigned an IP, it > takes > some time(2 to 4 secs) to send packets.The NdisSend function which is > called > by my intermediate driver returns success and actually the data is not > sent > across network. > Because of this behaviour send funtion of socket succeds > but > the data is not sent. But after 2 to 4 seconds i am able to send data.I am > using intel's LAN card. could anyone tell me whether it is a hardware > problem > or is there any NDIS events which can tell me the card is ready for data > transfer? > Thanks and Regards, > Senthil > >
From: Senthil on 7 Jul 2005 09:03 what i am doing is my user level application will wait for an event from intermediate driver(NDIS_STAUTS_MEDIA_CONNECT). my intermediate driver will notify the application whenever it receives a NDIS_STAUTS_MEDIA_CONNECT. On receiving the notification, application will wait for route change notification (NotifyAddrChange) to make sure that ip address is assigned then it will start sending data using sockets. This works fine if i leave the ip address assignment to DHCP. It does not work if i assign a static ip address to the LAN card. what happens is once i unplug the network cable my appliation will be notified and it won't send data. If i plug the cable the miniport driver will send NDIS_STAUTS_MEDIA_CONNECT to intermediate driver which after passing it to protocol driver, will notify application. Then my application will wait for route chane to make sure that ip address is assigned.In case of DHCP, it will wait till ip address is assingned( say 5 secs). once ip address is assigned, it starts sending data. In case of static IP, application as soon as it receives NDIS_STAUTS_MEDIA_CONNECT from intermediate driver ,it gets rotue change notification(Windows throws a ballon saying LAN is connected,it is thrown after it is assigned an ip address.initially ip address will be 0.0.0.0 then it will change to the ip address which i have assigned) then it starts sending data. The data reaches intermediate driver which it will send to miniport using NdisSend. NdisSend returns success but the packet is not transmitted.It happens for 2 to 3 secs and then it starts working fine. one thing i noticed is if i connect two machines directly using a cable it works fine. when i connect the cable to switch(ours is star topology) it does not work. Does the kind of network(CSMA/CD) play a role here?Could be of great help if u could tell me how can i overcome this. Thanks, Senthil "Maxim S. Shatskih" wrote: > This is by design. The DHCP state machine needs some time to be executed. I > think that you can register for TDI-level IP address arrival notifications > instead of NDIS-level ones. > > -- > Maxim Shatskih, Windows DDK MVP > StorageCraft Corporation > maxim(a)storagecraft.com > http://www.storagecraft.com > > "Senthil" <Senthil(a)discussions.microsoft.com> wrote in message > news:0E00B809-ACEE-4A0D-BCF9-A181B08CDFD5(a)microsoft.com... > > Hi All, > > I am using passthru intermediate driver.I have written an > > application which on a connect(NDIS_STATUS_MEDIA_CONNECT) notification from > > my intermedaite driver, will send data using sockets. > > What i noticed is though the device status is connected(it > > throws a ballon saying LAN is connected) and it is assigned an IP, it takes > > some time(2 to 4 secs) to send packets.The NdisSend function which is called > > by my intermediate driver returns success and actually the data is not sent > > across network. > > Because of this behaviour send funtion of socket succeds but > > the data is not sent. But after 2 to 4 seconds i am able to send data.I am > > using intel's LAN card. could anyone tell me whether it is a hardware problem > > or is there any NDIS events which can tell me the card is ready for data > > transfer? > > Thanks and Regards, > > Senthil > > > > > > >
|
Next
|
Last
Pages: 1 2 Prev: problem in installing a driver using DPinst.exe (DIFx V2.0) Next: EABFiltr? |