ʵսLinux Bluetooth±à³Ì£¨ËÄ£© L2CAP²ã±à³Ì
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌṩÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Êý¾Ý°ü¡£
¡¡¡¡L2CAP »ùÓÚ Í¨µÀ(channel) µÄ¸ÅÄî¡£ ͨµÀ (Channel) ÊÇλÓÚ»ù´ø (baseband) Á¬½ÓÖ®ÉϵÄÂß¼Á¬½Ó¡£Ã¿¸öͨµÀÒÔ¶à¶ÔÒ»µÄ·½Ê½°ó¶¨Ò»¸öµ¥Ò»ÐÒé (single protocol)¡£¶à¸öͨµÀ¿ÉÒÔ°ó¶¨Í¬Ò»¸öÐÒ飬µ«Ò»¸öͨµÀ²»¿ÉÒ԰󶨶à¸öÐÒé¡£ ÿ¸öÔÚͨµÀÀï½ÓÊÕµ½µÄ L2CAP Êý¾Ý°ü±»´«µ½ÏàÓ¦µÄÉϲãÐÒé¡£ ¶à¸öͨµÀ¿É¹²Ïíͬһ¸ö»ù´øÁ¬½Ó¡£
L2CAP´¦ÓÚBluetoothÐÒéÕ»µÄλÖÃÈçÏ£º
Ò²¾ÍÊÇ˵£¬ËùÓÐL2CAPÊý¾Ý¾ùͨ¹ýHCI´«Êäµ½Remote Device¡£ÇÒÉϲãÐÒéµÄÊý¾Ý£¬´ó¶¼Ò²Í¨¹ýL2CAPÀ´´«ËÍ¡£
L2CAP¿ÉÒÔ·¢ËÍCommand¡£ÀýÈçÁ¬½Ó£¬¶ÏÁ¬µÈµÈ¡£
ÏÂÃæ¿´CommandÀý×Ó£ºConnection Request:
ÆäÖÐPSM±È½ÏÐèҪעÒ⣬L2CAP ʹÓÃL2CAPÁ¬½ÓÇëÇó£¨Connection Request £©ÃüÁîÖеÄPSM×Ö¶ÎʵÏÖÐÒ鸴Óá£L2CAP¿ÉÒÔ¸´Ó÷¢¸øÉϲãÐÒéµÄÁ¬½ÓÇëÇó£¬ÕâЩÉϲãÐÒé°üÀ¨·þÎñ·¢ÏÖÐÒéSDP£¨PSM = 0x0001£©¡¢RFCOMM£¨PSM = 0x0003£©ºÍµç»°¿ØÖÆ£¨PSM = 0x0005£©µÈ¡£
ProtocolPSMReference
SDP
0x0001
See Bluetooth Service Discovery Protocol (SDP), Bluetooth SIG.
RFCOMM
0x0003
See RFCOMM with TS 07.10, Bluetooth SIG.
TCS-BIN
0x0005
See Bluetooth Telephony Control Specification / TCS Binary, Bluetooth SIG.
TCS-BIN-CORDLESS
0x0007
See Bluetooth Telephony Control Specification / TCS Binary, Bluetooth SIG.
BNEP
0x000F
See Bluetooth Network Encapsulation Protocal, Bluetooth SIG.
HID_Control
0x0011
See Human Interface Device , Bluetooth SIG.
HID_Interrupt
0x0013
See Human Interface Device, Bluetooth SIG.
UPnP
0x0015
See [ESDP] , Bluetooth SIG.
AVCTP
0x0017
See Audio/Video Control Transport Protocol , Bluetooth SIG.
AVDTP
0x0019
See Audio/Video Distribution Transport Protocol , Bluetooth SIG.
AVCTP_Browsing
0x001B
See Audio/Video Remote Control Profile, Bluetooth SIG
UDI_C-Plane
0x001D
See the Unrestricted Digital Information Profile [UDI], Bluetooth SIG
¶þ£ºL
Ïà¹ØÎĵµ£º
ÔÚÓ¦ÓóÌÐò¿ª·¢Ê±£¬Ò²¾³£ÐèÒªÈçϵĶ¨Ê±Æ÷. ÕâÀï¶Ô¶¨Ê±Æ÷×öÁËÒ»¸öÓÅ»¯£¬¾ÍÊÇÔÚ²åÈë¶ÓÁÐÖÐʱ½øÐÐÁËÒ»´ÎÅÅÐò£¬Ê¹µÃ¼ì²âʱ²»ÐèÒª±éÀúÕû¸öÁ´±í£¬Ö»Ðè°ÑÅÅÔÚÇ°ÃæµÄ¼¸¸öµ½Ê±µÄÈÎÎñÈ¡³öÀ´¾Í¿ÉÒÔÁË¡£
static struct timer_list {
long jiffies;
void (*fn)();
......
ÔںܶàϵͳÈí¼þµÄ¿ª·¢ÖУ¬ÐèҪʹÓÃһЩϵͳµÄΨһÐÔÐÅÏ¢¡£ËùÒÔ£¬µÃµ½Ö÷»úµÄCPUID¡¢Ó²ÅÌÐòÁкż°Íø¿¨µÄMACµØÖ·£¬¾Í³É¸öÒ»¼þºÜÖØÒªµÄÓ¦Óá£
±¾È˾¹ýÒ»·¬google¼´×Ô¼ºµÄ×êÑУ¬»ù±¾ÉÏʵÏÖÁËÕ⼸¸ö¹¦ÄÜ¡£ÐèÒªµÄ×¼±¸ÖªÊ¶ÓУº
GCCµÄǶÈë»ã±à£¬¾ßÌåµÄGCCǶÈë»ã±à֪ʶ£¬Çë²Î¿¼Ïà¹ØÊÖ²á
ioctlϵͳµ÷Ó㬾ßÌåµÄµ÷Ó÷½·¨ ......
¾ÀúÁËÒ»´Îϵͳ±ÀÀ£ÖÕÓÚ°ÑlinuxϵͳϵĿª·¢»·¾³ÍêÕûµÄ¿ª·¢Á˳öÀ´ÁË¡£
Õâ´Î²ÉÈ¡µÄÊÇubuntu9.10(RC)+JDK1.5+Mysql5.1Íâ´øÒ»¸öeclipse×÷ΪIDE¡£
ÓÉÓڱʼDZ¾µÄ¹âÇýËãÊÇÎþÉüÁË£¬ËùÒÔµ±Õâ´Îubuntu·¢Æ¢ÆødownµôµÄʱºò¼¸ºõ×¥¿ñ¡£Ã»ÓйâÅÌ£¬Ôõô°²×°ÏµÍ³£¿
ÍøÉÏÒ»ËÑ£¬×îºó²ÉÈ¡µÄ°ì·¨ÊÇÓÃuÅÌÆô¶¯ISO¾µÏñÎļþÀ´½øÐа²×°µÄ¡£Æð³õ·Å½ ......
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......