linux pciÍø¿¨Çý¶¯
LinuxÍø¿¨Çý¶¯·ÖÎö
LinuxÍø¿¨Çý¶¯·ÖÎö
ѧϰӦ¸ÃÊÇÒ»¸öÏȰÑÎÊÌâ¼òµ¥»¯£¬ÔÚ°ÑÎÊÌ⸴ÔÓ»¯µÄ¹ý³Ì¡£Ò»¿ªÊ¼¾Í×ÅÊÖ´¦Àí¸´ÔÓµÄÎÊÌ⣬ÄÑÃâÈÃÈËÓÐÐľªµ¨²ü£¬×½½ó¼ûÖâµÄ¸Ð¾õ¡£¶ÁLinuxÍø¿¨Çý¶¯Ò²ÊÇÒ»Ñù¡£Ädz¤³¤µÄÔ´Âë¼ÐÔÓ×ÅÄÇЩÎÒÃÇİÉúµÄ±äÁ¿ºÍ·ûºÅ£¬Íû¶øÉúη±ãÊÇÀíËùµ±È»µÄÁË¡£²»Òªµ£ÐÄ£¬ÊÂÇé×ÜÓнâ¾öµÄ°ì·¨£¬ÏȰÑһЩÎÒÃǹܲ»×ŵĴúÂëÇиî³öÈ¥£¬ÁôϱØÐëµÄ²¿·Ö£¬°Ñ¿ò¼ÜÕÆÎÕÁË£¬ÄÄÆäËûµÄÊÂÇé×ÔÈ»¾ÍË®µ½Çþ³ÉÁË£¬ÕâÊDZÊÕßµÄÐĵá£
Ò»°ãÔÚʹÓõÄLinuxÍø¿¨Çý¶¯´úÂ붯éü3000ÐÐ×óÓÒ£¬Õâ¸ö´úÂëÁ¿ÒÔ¼°ËüËù±í´ï³öÀ´µÄ֪ʶÁ¿ÎÞÒÉÊÇÅÓ´óµÄ£¬ÎÒÃÇÓÐûÓа취Ëõ¶ÌÒ»ÏÂÕâ¸ö´úÂëÁ¿£¬Ê¹ÎÒÃǵÄѧϰ±äµÄ¼òµ¥Ð©ÄØ£¬¾¹ý±ÊÕߵIJ»Ð¸Å¬Á¦£¬ÔÚÈÔÈ»Äܹ»Ê¹ÍøÂçÉ豸Õý³£¹¤×÷µÄǰÌáÏ£¬°ÑËüËõ¼õµ½ÁË600¶àÐУ¬ÎÒÃǰÑÔÝʱ»¹Óò»ÉϵŦÄÜÏȸî³öÈ¥¡£ÕâÑùÒ»À´£¬ÊÂÇé¾Í¼òµ¥¶àÁË£¬ÕæµÄ¾ÍÊ£ÏÂÒ»¸ö¿ò¼ÜÁË£¨ÓûË÷È¡ÕßÇëͨ¹ý xhbbs@tom.com ÁªÏµÎÒ£©¡£ÏÂÃæÎÒÃǾÍÀ´ÆÊÎöÕâ¸ö¿ÉÒÔÖ´ÐеĿò¼Ü¡£
ÏÞÓÚÆª·ù£¬ÒÔÏ·ÖÎöÓõ½µÄËùÓÐÉæ¼°µ½ÄÚºËÖеĺ¯Êý´úÂ룬ÎÒ¶¼²»ÓèÁгö£¬µ«¸ø³öÔÚÄĸö¾ßÌåÎļþÖУ¬Çë¶ÁÕß×ÔÐвéÔÄ¡£
Ê×ÏÈ£¬ÎÒÃÇÀ´¿´¿´É豸µÄ³õʼ»¯¡£µ±ÎÒÃÇÕýÈ·±àÒëÍêÎÒÃǵijÌÐòºó£¬ÎÒÃǾÍÐèÒª°ÑÉú³ÉµÄÄ¿±êÎļþ¼ÓÔØµ½ÄÚºËÖÐÈ¥£¬ÎÒÃÇ»áÏÈifconfig eth0 downºÍrmmod 8139tooÀ´Ð¶ÔØÕýÔÚʹÓõÄÍø¿¨Çý¶¯£¬È»ºóinsmod 8139too.o°ÑÎÒÃǵÄÇý¶¯¼ÓÔØ½øÈ¥£¨ÆäÖÐ8139too.oÊÇÎÒÃDZàÒëÉú³ÉµÄÄ¿±êÎļþ£©¡£¾ÍÏñC³ÌÐòÓÐÖ÷º¯Êýmain£¨£©Ò»Ñù£¬Ä£¿éÒ²ÓеÚÒ»¸öÖ´Ðеĺ¯Êý£¬¼´module_init(rtl8139_init_module);ÔÚÎÒÃǵijÌÐòÖУ¬rtl8139_init_module£¨£©ÔÚinsmodÖ®ºóÊ×ÏÈÖ´ÐУ¬ËüµÄ´úÂëÈçÏ£º
static int __init rtl8139_init_module (void)
{
return pci_module_init (&rtl8139_pci_driver);
}
ËüÖ±½Óµ÷ÓÃÁËpci_module_init£¨£©£¬Õâ¸öº¯Êý´úÂëÔÚLinux/drivers/net/eepro100.cÖУ¬²¢ÇÒ°Ñrtl8139_pci_driver£¨Õâ¸ö½á¹¹ÊÇÔÚÎÒÃǵÄÇý¶¯´úÂëÀﶨÒåµÄ£¬ËüÊÇÇý¶¯³ÌÐòºÍPCIÉ豸ÁªÏµµÄŦ´ø£©µÄµØÖ·×÷Ϊ²ÎÊý´«¸øÁËËü¡£rtl8139_pci_driver¶¨ÒåÈçÏ£º
static struct pci_driver rtl8139_pci_driver = {
name: MODNAME,
id_table: rtl8139_pci_tbl,
probe: rtl8139_init_one,
remove: rtl8139_remove_one,
};
pci_module_init£¨£©ÔÚÇý¶¯´úÂëÀïûÓж¨Ò壬ÄãÒ»¶¨Ïëµ½ÁË£¬ËüÊÇLinuxÄÚºËÌṩ¸øÄ£¿éÊÇÒ»¸ö±ê×¼½Ó¿Ú£¬ÄÇôÕâ¸ö½Ó¿Ú¶¼¸ÉÁËЩʲô£¬±ÊÕ߸ú×ÙÁËÕâ¸öº¯Êý¡£ÀïÃæµ÷ÓÃÁËpci_register_driver
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌá¹©ÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
LinuxÖ§³Ö¶àÖÖÎļþϵͳ£¬°üÀ¨ext2¡¢ext3¡¢vfat¡¢ntfs¡¢iso9660¡¢jffs¡¢romfsºÍnfsµÈ£¬ÎªÁ˶Ը÷ÀàÎļþϵͳ½øÐÐͳһ¹ÜÀí£¬LinuxÒýÈëÁËÐéÄâÎļþϵͳVFS(Virtual File System)£¬Îª¸÷ÀàÎļþϵͳÌṩһ¸öͳһµÄ²Ù×÷½çÃæºÍÓ¦Óñà³Ì½Ó¿Ú¡£
LinuxϵÄÎļþϵͳ½á¹¹ÈçÏ£º
LinuxÆô¶¯Ê ......
1.Æô¶¯À¶ÑÀÉ豸
sudo /etc/init.d/bluetooth restart
»òÕß
sudo /etc/init.d/bluez-utils restart
2.ʹÓÃhcitool dev²é¿´¼ÆËã»úÉϵÄÀ¶ÑÀÉ豸
teapot@teapot:~$ hcitool dev
Devices:
hci0 00:16:CF:DB:B4:BF
teapot@teapot:~$
3.°²×°É豸
²éѯÉ豸µØÖ·
teapot@teapot:~$ sudo hidd - ......