|
||||
Quote:
|
|
||||
grep'ing through the WM5 platform builder stuff....
I have yet to install the more recent platform updates, but the registry entries related to BTPAN are at the end of this post.
based on reading, btpan is implemented by btd.dll - which I cannot find on my device - I know it is there someplace. BTPAN support is only present if the btd.dll has the export named "DriverEntry" (this is from the .def file for btd.dll). If the btd.dll we have here has "DriverEntry" as an export, then I think it is "simply" a matter of getting the registry entries to "add" a BTPAN connection type. If that export is not there, then we need a btd.dll with it (or I or someone needs to figure out the platform builder stuff enough to build a new one). ...tom ; @CESYSGEN IF BTD_BTPAN ; ; Global settings ; MediaDelay (DWORD) - period between inquiries, in ms. 2 min is the default, 30 sec minimum. ; InquiryLength (DWORD) - Bluetooth inquiry length, 1..255 ; Authenticate (dw) - require authentication on connection. 0 or 1, default 1. ; Encrypt (dw) - require encryption on connection. 0 or 1, default 1. ; [HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\pa n] "MediaDelay"=dword:493e0 ; 300000 = 5 min "InquiryLength"=dword:8 "Authenticate"=dword:1 "Encrypt"=dword:1 [HKEY_LOCAL_MACHINE\Comm\BTPAN] "DisplayName"="Bluetooth PAN Driver" "Group"="NDIS" "ImagePath"="btd.dll" [HKEY_LOCAL_MACHINE\Comm\BTPAN\Linkage] "Route"=multi_sz:"BTPAN1" [HKEY_LOCAL_MACHINE\Comm\BTPAN1] "DisplayName"="Bluetooth PAN Driver" "Group"="NDIS" "ImagePath"="btd.dll" [HKEY_LOCAL_MACHINE\Comm\BTPAN1\Parms] "BusNumber"=dword:0 "BusType"=dword:0 ; "NetworkAddress"="00-50-F2-00-00-00" ; ; Pan parameters ; ; AdapterType (sz) - Type of adapter. "PANU", "GN" or "NAP". ; ServiceId (sz) - service GUID. Standard string representation of GUID, including {}. ; ConnectionTimeout (dw) - if configuration is not complete within this interval, connection ; is closed. In ms, from 1000 to 30000 ; AcceptConnections (dw, PANU and GN) - allow acceptiong connections. 0 or 1, default 0. ; MaxConnections (dw, GN and NAP) - maximum simultaneous connections ; FriendlyName (sz) - friendly name of the service, used to build SDP record ; Description (sz) - description of the service, used to build SDP record ; SDP (bin) - SDP record blob. If absent but required, will be built. ; IF PRJ_BTH_PAN_BRIDGE ! IF PRJ_BTH_PAN_ROUTER ! IF PRJ_BTH_PAN_GN ! "AdapterType"="PANU" "ServiceId"="{00001115-0000-1000-8000-00805f9b34fb}" ; PANU "FriendlyName"="Personal Ad-hoc Network" "Description"="Bluetooth PANU service" ENDIF ENDIF ENDIF IF PRJ_BTH_PAN_BRIDGE "AdapterType"="NAP" "ServiceId"="{00001116-0000-1000-8000-00805f9b34fb}" ; NAP "FriendlyName"="Network Access Point" "Description"="Bluetooth NAP service" ENDIF IF PRJ_BTH_PAN_ROUTER "AdapterType"="NAP" "ServiceId"="{00001116-0000-1000-8000-00805f9b34fb}" ; NAP "FriendlyName"="Network Access Point" "Description"="Bluetooth NAP service" ENDIF IF PRJ_BTH_PAN_GN "AdapterType"="GN" "ServiceId"="{00001117-0000-1000-8000-00805f9b34fb}" ; GN "FriendlyName"="Group Ad-hoc Network" "Description"="Bluetooth GN service" ENDIF "ConnectionTimeout"=dword:7530 ; 30000 "AcceptConnections"=dword:1 "MaxConnections"=dword:10 ; ; Non-zero-config connections are controlled by association list. ; For every network, a key like below is created ; ;[HKEY_LOCAL_MACHINE\Comm\BTPAN1\Associations\device 1] ; "Address"=hex:00,00,00,00,00,00 ; "ServiceId"="{00001115-0000-1000-8000-00805f9b34fb}" ; "SSID"="FriendlyDevice" ; "Priority"=dword:1 ; ; ; @CESYSGEN IF CE_MODULES_BTSVC || CE_MODULES_NETUI [HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\De vice\pan] "DefaultAuth"=dword:1 "DefaultEncrypt"=dword:1 "AdapterName"="BTPAN1" ; @CESYSGEN ENDIF IF PRJ_BTH_PAN_BRIDGE [HKEY_LOCAL_MACHINE\Comm\MBRIDGE] "Bind"=multi_sz:"BTPAN1", "$(PRJ_NET_LAN1D)" [HKEY_LOCAL_MACHINE\Comm\BTPAN1\Parms] "ProtocolsToBindTo"=multi_sz:"MBRIDGE" [HKEY_LOCAL_MACHINE\Comm\$(PRJ_NET_LAN1)\Parms] "ProtocolsToBindTo"=multi_sz:"MBRIDGE" ENDIF ; @CESYSGEN ENDIF |
|
||||
havent checked the directory entries yet, but often our issues are that the dll's might have conflicts... as said earlier, i dont use this, but I will build a stock rom in a few minutes with this module btd.dll protected from module conflicts. somebody want to test that?
__________________
shawn
|
|
||||
I would love to test.
Quote:
|
|
||||
Ok i put a test up for the btpan issues that sfaure was working on. it's in my dir on the ftp check under "nk.nbf for btpanduntesting.zip"
|
|
||||
Downloading now....fingers crossed.
Quote:
|
|
||||
i can see btd.dll now ... (maybe I just missed it before)
The btd.dll does not have "DriverEntry" exported, so I'm thinking the DLL does not have PAN at all - this is based on the btd.def file in the WCE5 platform builder (notice that "DriverEntry" is only exported if BTD_BTPAN is defined):
; ; Copyright (c) Microsoft Corporation. All rights reserved. ; ; ; This source code is licensed under Microsoft Shared Source License ; Version 1.0 for Windows CE. ; For a copy of the license visit http://go.microsoft.com/fwlink/?LinkId=3223. ; LIBRARY BTD EXPORTS ; @CESYSGEN IF BTD_SYS BTD_Init BTD_Deinit BTD_Open BTD_Close BTD_Read BTD_Write BTD_Seek BTD_IOControl ; BTD_PowerUp ; BTD_PowerDown ; @CESYSGEN ENDIF ; @CESYSGEN IF BTD_PORTEMU COM_Init COM_Deinit COM_Open COM_Close COM_Read COM_Write COM_Seek COM_IOControl ; COM_PowerUp ; COM_PowerDown BSP_Init BSP_Deinit BSP_Open BSP_Close BSP_Read BSP_Write BSP_Seek BSP_IOControl ; BSP_PowerUp ; BSP_PowerDown ; @CESYSGEN ENDIF ; @CESYSGEN IF BTD_TDI Register ; @CESYSGEN ENDIF ; @CESYSGEN IF BTD_SDP SdpRetrieveVariableSize SdpRetrieveVariableSize SdpRetrieveVariableSize SdpIsStreamRecord WriteVariableSizeToStream WriteVariableSizeToStream GetContainerHeaderSize GetContainerHeaderSize SdpAddAttributeToNodeHeader Sdp_InitializeListHead Sdp_RemoveHeadList WriteLeafToStream WriteLeafToStream ComputeNodeListSize ComputeNodeListSize ValidateStream ValidateStream SdpWalkStream SdpRetrieveUuid128 SdpRetrieveUint16 SdpRetrieveUint32 SdpRetrieveUint64 SdpRetrieveUint128 SdpByteSwapUuid128 SdpByteSwapUint128 SdpByteSwapUint64 SdpByteSwapUint32 SdpByteSwapUint16 SdpVerifySequenceOf SdpFreeOrphanedNode Sdp_InsertEntryList Sdp_RemoveEntryList Sdp_InsertTailList SdpInitializeNodeHeader SdpTreeFromStream SdpFreeNode Sdp_IsListEmpty SdpCreateNode SdpCreateNodeUrl SdpCreateNodeString SdpCreateNodeUUID16 SdpCreateNodeUUID32 SdpCreateNodeUUID128 SdpCreateNodeInt128 SdpCreateNodeInt64 SdpCreateNodeInt32 SdpCreateNodeInt16 SdpCreateNodeInt8 SdpCreateNodeUInt128 SdpCreateNodeUInt64 SdpCreateNodeUInt32 SdpCreateNodeUInt16 SdpCreateNodeUInt8 SdpCreateNodeBoolean SdpCreateNodeNil ; @CESYSGEN ENDIF ; @CESYSGEN IF BTD_HCI HCI_EstablishDeviceContext HCI_CloseDeviceContext ; @CESYSGEN ENDIF ; @CESYSGEN IF BTD_L2CAP L2CAP_EstablishDeviceContext L2CAP_CloseDeviceContext ; @CESYSGEN ENDIF ; @CESYSGEN IF BTD_SDP SDP_EstablishDeviceContext SDP_CloseDeviceContext ; @CESYSGEN ENDIF ; @CESYSGEN IF BTD_RFCOMM RFCOMM_EstablishDeviceContext RFCOMM_CloseDeviceContext ; @CESYSGEN ENDIF ; @CESYSGEN IF BTD_BTPAN DriverEntry ; @CESYSGEN ENDIF DebugOut PRIVATE DumpBuff PRIVATE These are the exports of the btd.dll in that image: AVCT_CloseDeviceContext AVCT_EstablishDeviceContext AVDTP_CloseDeviceContext AVDTP_EstablishDeviceContext BSP_Close BSP_Deinit BSP_Init BSP_IOControl BSP_Open BSP_Read BSP_Seek BSP_Write BTD_Close BTD_Deinit BTD_Init BTD_IOControl BTD_Open BTD_Read BTD_Seek BTD_Write COM_Close COM_Deinit COM_Init COM_IOControl COM_Open COM_Read COM_Seek COM_Write ComputeNodeListSize DebugOut DumpBuff GetContainerHeaderSize HCI_CloseDeviceContext HCI_EstablishDeviceContext L2CAP_CloseDeviceContext L2CAP_EstablishDeviceContext Register RFCOMM_CloseDeviceContext RFCOMM_EstablishDeviceContext SDP_CloseDeviceContext SDP_EstablishDeviceContext Sdp_InitializeListHead Sdp_InsertEntryList Sdp_InsertTailList Sdp_IsListEmpty Sdp_RemoveEntryList Sdp_RemoveHeadList SdpAddAttributeToNodeHeader SdpByteSwapUint128 SdpByteSwapUint16 SdpByteSwapUint32 SdpByteSwapUint64 SdpByteSwapUuid128 SdpCreateNode SdpCreateNodeBoolean SdpCreateNodeInt128 SdpCreateNodeInt16 SdpCreateNodeInt32 SdpCreateNodeInt64 SdpCreateNodeInt8 SdpCreateNodeNil SdpCreateNodeString SdpCreateNodeUInt128 SdpCreateNodeUInt16 SdpCreateNodeUInt32 SdpCreateNodeUInt64 SdpCreateNodeUInt8 SdpCreateNodeUrl SdpCreateNodeUUID128 SdpCreateNodeUUID16 SdpCreateNodeUUID32 SdpFreeNode SdpFreeOrphanedNode SdpInitializeNodeHeader SdpIsStreamRecord SdpRetrieveUint128 SdpRetrieveUint16 SdpRetrieveUint32 SdpRetrieveUint64 SdpRetrieveUuid128 SdpRetrieveVariableSize SdpTreeFromStream SdpVerifySequenceOf SdpWalkStream ValidateStream WriteLeafToStream WriteVariableSizeToStream |
|
|
|