Bluetooth device filter driver & OBEX

Hello,

I have device upper filter driver, which I registered for BthUSB DO, BthEnum DO and RFCOMM DO. If I send file via Object Exchange from PC to my phone, I don’t see any data flow in my filter driver. There is no relevant communication.
As far as I read in msdn, FSquirt process uses WSHBth dll to send file via socket. Data should pass through TDI layer to RFCOMM driver, and then to BthPort driver. I don’t see any DO created by BthPort. I suppose there should be call into BthUSB driver, but I am attached to this and I do not see any.

What am I doing wrong? Is it possible to filter Bth with device upper filter driver?

Thanks.

What io types are you filtering? Are you above or below each of these device objects ? What is the problem you are ultimately trying to solve?

d

debt from my phone

-----Original Message-----
From: xxxxx@centrum.cz
Sent: Wednesday, August 17, 2011 4:49 AM
To: Windows System Software Devs Interest List
Subject: [ntdev] Bluetooth device filter driver & OBEX

Hello,

I have device upper filter driver, which I registered for BthUSB DO, BthEnum DO and RFCOMM DO. If I send file via Object Exchange from PC to my phone, I don’t see any data flow in my filter driver. There is no relevant communication.
As far as I read in msdn, FSquirt process uses WSHBth dll to send file via socket. Data should pass through TDI layer to RFCOMM driver, and then to BthPort driver. I don’t see any DO created by BthPort. I suppose there should be call into BthUSB driver, but I am attached to this and I do not see any.

What am I doing wrong? Is it possible to filter Bth with device upper filter driver?

Thanks.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

> What io types are you filtering?
I hooked all IRPs. I am blocking IRP_MJ_CREATE. But still I am able to transmit files to Bth phone via OBEX (I am only able to block Bth devices enumeration when pairing). And when transferring I see no IRPs sent to drivers below me.

Are you above or below each of these device objects
I have upper device filter driver, so I am above each of these objects.
I attached to:

  • ISSC Bluetooth EDR Adapter
  • Bluetooth Device (RFCOMM Protocol TDI)
  • Microsoft Bluetooth Enumerator
  • Bluetooth Device (Personal Area Network)
    so all Bth devices which I found in HW Enum key.

What is the problem you are ultimately trying to solve?
I need to do OBEX blocking for specified user.

Rfcomm’s upper edge is tdi. It is a direct call interface, not irp based.

d

debt from my phone

-----Original Message-----
From: xxxxx@centrum.cz
Sent: Wednesday, August 17, 2011 11:11 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Bluetooth device filter driver & OBEX

What io types are you filtering?
I hooked all IRPs. I am blocking IRP_MJ_CREATE. But still I am able to transmit files to Bth phone via OBEX (I am only able to block Bth devices enumeration when pairing). And when transferring I see no IRPs sent to drivers below me.

Are you above or below each of these device objects
I have upper device filter driver, so I am above each of these objects.
I attached to:

  • ISSC Bluetooth EDR Adapter
  • Bluetooth Device (RFCOMM Protocol TDI)
  • Microsoft Bluetooth Enumerator
  • Bluetooth Device (Personal Area Network)
    so all Bth devices which I found in HW Enum key.

What is the problem you are ultimately trying to solve?
I need to do OBEX blocking for specified user.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

Thanks for clarification. Does it mean that only possible way how to block OBEX is by TDI filter driver?

And how is done communication from RFCOMM down to lower layers, it should go to BthUSB driver, shouldn’t? I am attached also to BthUSB but still I see no activity.

Rfcomm sends irps down to its pdo, you should be able to filter io normally below rfcomm. Above rfcomm I think you can filter the initial tdi registration calls to do vtable replacement

d

debt from my phone

-----Original Message-----
From: xxxxx@centrum.cz
Sent: Thursday, August 18, 2011 10:24 PM
To: Windows System Software Devs Interest List
Subject: RE:[ntdev] Bluetooth device filter driver & OBEX

Thanks for clarification. Does it mean that only possible way how to block OBEX is by TDI filter driver?

And how is done communication from RFCOMM down to lower layers, it should go to BthUSB driver, shouldn’t? I am attached also to BthUSB but still I see no activity.


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer

>Rfcomm’s upper edge is tdi. It is a direct call interface, not irp based.

TDI is IRP-based.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com

Thanks, I am able to filter io below rfcomm and also below BthUSB.