LinuxϵÄÓ²¼þÇý¶¯——USBÉ豸£¨×ª£©
from£ºhttp://www.ibm.com/developerworks/cn/linux/l-usb/index1.html
¼¶±ð£º ³õ¼¶
ÕÔÃ÷ (carl__zhao@163.com), ÁªÏëÈí¼þÉè¼ÆÖÐÐÄǶÈëʽÑз¢´¦ÏµÍ³Éè¼Æ¹¤³Ìʦ
2003 Äê 7 ÔÂ 01 ÈÕ
USBÉ豸ԽÀ´Ô½¶à£¬¶øLinuxÔÚÓ²¼þÅäÖÃÉÏÈÔȻûÓÐ×öµ½ÍêÈ«¼´²å¼´Ó㬶ÔÓÚLinuxÔõÑùÅäÖúÍʹÓÃËûÃÇ£¬Ò²Ô½À´Ô½³ÉΪÀ§ÈÅÎÒÃǵÄÒ»´óÎÊÌâ¡£±¾ÎÄ×ÅÁ¦´ÓLinuxϵͳÏÂÉ豸Çý¶¯µÄ¼Ü¹¹£¬È¥²ûÊöÔõÑùȥʹÓúÍÅäÖÃÒÔ¼°ÔõÑù±àÖÆUSBÉ豸Çý¶¯¡£¶ÔÓÚÒ»°ãÓû§£¬¿ÉÒÔʹÎÒÃÇÃ÷ÎúLinuxÉ豸Çý¶¯·½Ê½£¬Îª¸üºÃµØÅäÖúÍʹÓÃUSBÉ豸ÌṩÁË·½±ã£»¶ø¶ÔÓÚÏ£Íû¿ª·¢LinuxϵͳÏÂUSBÉ豸Çý¶¯µÄ³ÌÐòÔ±£¬ÌṩÁ˳õ²½Ñ§Ï°USBÇý¶¯¼Ü¹¹µÄ»ú»á¡£
ǰÑÔ
USBÊÇÓ¢ÎÄ"Universal Serial Bus"µÄËõд£¬ÒâΪ"ͨÓô®ÐÐ×ÜÏß"¡£ÊÇÓÉCompaq(¿µ°Ø)¡¢DEC¡¢IBM¡¢Intel¡¢NEC¡¢Î¢ÈíÒÔ¼°Northern Telecom£¨±±·½µçѶ£©µÈ¹«Ë¾ÓÚ1994Äê11Ô¹²Í¬Ìá³öµÄ£¬Ö÷ҪĿµÄ¾ÍÊÇΪÁ˽â¾ö½Ó¿Ú±ê׼̫¶àµÄ±×¶Ë¡£USBʹÓÃÒ»¸ö4Õë²åÍ·×÷Ϊ±ê×¼²åÍ·£¬²¢Í¨¹ýÕâ¸ö±ê×¼½ÓÍ·£¬²ÉÓþջ¨°êÐÎʽ°ÑËùÓÐÍâÉèÁ¬½ÓÆðÀ´£¬Ëü²ÉÓô®Ðз½Ê½´«ÊäÊý¾Ý£¬Ä¿Ç°×î´óÊý¾Ý´«ÊäÂÊΪ12Mbps, Ö§³Ö¶àÊý¾ÝÁ÷ºÍ¶à¸öÉ豸²¢ÐвÙ×÷£¬ÔÊÐíÍâÉèÈȲå°Î¡£
ĿǰUSB½Ó¿ÚËäȻֻ·¢Õ¹ÁË2´ú£¨USB1.0/1.1£¬USB2.0£©£¬µ«ÊÇUSB×ÛºÏÁËÒ»¸ö¶àƽ̨±ê×¼µÄËùÓÐÓŵã -- °üÀ¨½µµÍ³É±¾£¬Ôö¼Ó¼æÈÝÐÔ£¬¿ÉÁ¬½Ó´óÁ¿µÄÍⲿÉ豸£¬ÈÚºÏÏȽøµÄ¹¦ÄÜºÍÆ·ÖÊ¡£Ê¹ÆäÖð²½³ÉΪPC½Ó¿Ú±ê×¼£¬½øÈëÁ˸ßËÙ·¢Õ¹ÆÚ¡£
ÄÇô¶ÔÓÚʹÓÃLinuxϵͳ£¬ÕýÈ·Ö§³ÖºÍÅäÖó£¼ûµÄUSBÉ豸£¬¾ÍÊÇÆäʹÓñز»¿ÉÉٵĹؼüÒ»²½¡£
»ØÒ³Ê×
Ïà¹Ø¼¼Êõ»ù´¡
Ä£¿é£¨Çý¶¯³ÌÐò£©
Ä£¿é£¨module£©ÊÇÔÚÄں˿ռäÔËÐеijÌÐò£¬Êµ¼ÊÉÏÊÇÒ»ÖÖÄ¿±ê¶ÔÏóÎļþ£¬Ã»ÓÐÁ´½Ó£¬²»ÄܶÀÁ¢ÔËÐУ¬µ«ÊÇ¿ÉÒÔ×°ÔØµ½ÏµÍ³ÖÐ×÷ΪÄں˵ÄÒ»²¿·ÖÔËÐУ¬´Ó¶ø¿ÉÒÔ¶¯Ì¬À©³äÄں˵ŦÄÜ¡£Ä£¿é×îÖ÷ÒªµÄÓô¦¾ÍÊÇÓÃÀ´ÊµÏÖÉ豸Çý¶¯³ÌÐò¡£
Linux϶ÔÓÚÒ»¸öÓ²¼þµÄÇý¶¯£¬¿ÉÒÔÓÐÁ½ÖÖ·½Ê½£ºÖ±½Ó¼ÓÔØµ½Äں˴úÂëÖУ¬Æô¶¯ÄÚºËʱ¾Í»áÇý¶¯´ËÓ²¼þÉ豸¡£ÁíÒ»ÖÖ¾ÍÊÇÒÔÄ£¿é·½Ê½£¬±àÒëÉú³ÉÒ»¸ö.oÎļþ¡£µ±Ó¦ÓóÌÐòÐèҪʱÔÙ¼ÓÔØ½øÄں˿ռäÔËÐС£ËùÒÔÎÒÃÇËù˵µÄÒ»¸öÓ²¼þµÄÇý¶¯³ÌÐò£¬Í¨³£Ö¸µÄ¾ÍÊÇÒ»¸öÇý¶¯Ä£¿é¡£
É豸Îļþ
¶ÔÓÚÒ»¸öÉ豸£¬Ëü¿ÉÒÔÔÚ/devÏÂÃæ´æÔÚÒ»¸ö¶ÔÓ¦µÄÂß¼É豸½Úµã£¬Õâ¸ö½ÚµãÒÔÎļþµÄÐÎʽ´æÔÚ£¬µ«Ëü²»ÊÇÆÕͨÒâÒåÉϵÄÎļþ£¬ËüÊÇÉ豸Îļþ£¬¸üÈ·ÇеÄ˵£¬ËüÊÇÉ豸½Úµã¡£Õâ¸ö½ÚµãÊÇͨ¹ýmknodÃüÁÁ¢µÄ£¬ÆäÖÐÖ¸¶¨ÁËÖ÷É豸ºÅºÍ´ÎÉ豸ºÅ¡£Ö÷É豸ºÅ±íÃ÷ÁËijһÀàÉ豸£¬Ò»°ã¶ÔÓ¦×ÅÈ·¶¨µÄÇý¶¯³ÌÐò£»´ÎÉ豸ºÅÒ»°ãÊÇÇø
Ïà¹ØÎĵµ£º
¾ÀúÁËÒ»´Îϵͳ±ÀÀ£ÖÕÓÚ°ÑlinuxϵͳϵĿª·¢»·¾³ÍêÕûµÄ¿ª·¢Á˳öÀ´ÁË¡£
Õâ´Î²ÉÈ¡µÄÊÇubuntu9.10(RC)+JDK1.5+Mysql5.1Íâ´øÒ»¸öeclipse×÷ΪIDE¡£
ÓÉÓڱʼDZ¾µÄ¹âÇýËãÊÇÎþÉüÁË£¬ËùÒÔµ±Õâ´Îubuntu·¢Æ¢ÆødownµôµÄʱºò¼¸ºõ×¥¿ñ¡£Ã»ÓйâÅÌ£¬Ôõô°²×°ÏµÍ³£¿
ÍøÉÏÒ»ËÑ£¬×îºó²ÉÈ¡µÄ°ì·¨ÊÇÓÃuÅÌÆô¶¯ISO¾µÏñÎļþÀ´½øÐа²×°µÄ¡£Æð³õ·Å½ ......
Ç°Ãæ½²ÁËʹÓà ioctl·¢ËÍHCI CommandµÄ·½·¨¡£µ«HCI protocol»¹ÓÐһЩCommand£¬±ÈÈçInquiryµÈ£¬ËûÃÇÔò²»ÐèҪʹÓÃioctlÀ´·¢ËÍ¡£blueZ Ö±½ÓÌṩÁËÖ§³Ö£¬ËäÈ»ËûÃǵÄ×îÖÕ¶¼ÊÇÓÃͬÑù°ì·¨ÊµÏֵġ£
ÔÚÓ¦ÓóÌÐòÖУº
hci_inquiry(dev_id, length, num_rsp, NULL, &info, flags);
ÕâÑùÐèÒª°üº¬blueZ Í·ÎļþÈçÏ£º
#include //BT ......
°´: ¾¡¹ÜÎÒÃÇÒѾ²»Ï°¹ß¿´³¤Æª´óÂÛ, µ«ÎÒ»¹ÊÇҪ˵, ÕâÊÇһƪֵµÃÄã´ÓÍ·¶Áµ½Î²µÄ³¤ÆªÎÄÕÂ.
2005Äê9ÔÂ22ÈÕ£¬Ç廪ÔÚ¶Á²©Ê¿ÉúÍõÛóÔÚˮľÉçÇøBLOGÉÏ·¢±íÁË¡¶Ç廪ÃεķÛËé--д¸øÇ廪´óѧµÄÍËѧÉêÇë¡·Ã÷È·ÒªÇóÍËѧ, ÒýÆðÉç»á¸÷½ç¹ã·ºÕùÂÛ. Ëû´´×÷µÄ³¤ÆªÎÄÕ¡¶ÍêÈ«ÓÃLinux¹¤×÷¡·, ÑóÑóÁ½Íò¶à×Ö, ´Ó²»Í¬½Ç¶È¾Ó¸ßÁÙϵIJûÊöÁËËûÑÛÖÐL ......
Ò»¡¢Óû§¹ÜÀí»ù´¡
ÔÚLinux»·¾³Ï¶ÔÓû§µÄ¹ÜÀíÓжàÖÖ·½Ê½£¬°üÀ¨Óñ༹¤¾ßVi¡¢emacsµÈ¶Ô/etc/passwd½øÐвÙ×÷»òÖ±½ÓʹÓÃ
addusr¡¢deleusrµÈÓû§¹ÜÀíÃüÁîÒÔ¼°Ê¹ÓÃpwconvÃüÁîʹ/etc/passwdÓëshadowÎļþ±£³ÖÒ»Ö¡£ÎÒÃÇÏÈÀ´¿´¿´LinuxÏÂÓÃ
»§¹ÜÀíµÄ³£ÓòÙ×÷¶¼×öÁËЩʲô°É¡£
1¡¢Ôö¼ÓÓû§
Ôö¼ÓÓû§ÓÐÈý¸ö¹ý³Ì:
(1) ÔÚ/etc ......
ÔÚLinux²Ù×÷ϵͳÏÂÓÐ3ÀàÖ÷ÒªµÄÉ豸ÎļþÀàÐÍ£º¿éÉ豸¡¢×Ö·ûÉ豸ºÍÍøÂçÉ豸¡£ÕâÖÖ·ÖÀà·½·¨¿ÉÒÔ½«¿ØÖÆÊäÈë/Êä³öÉ豸µÄÇý¶¯³ÌÐòÓëÆäËû²Ù×÷ϵͳÈí¼þ·ÖÀ뿪À´¡£×Ö·ûÉ豸ÊÇÖ¸´æÈ¡Ê±Ã»Óлº´æµÄÉ豸¡£µäÐ͵Ä×Ö·ûÉ豸°üÀ¨Êó±ê¡¢¼üÅÌ¡¢´®Ðпڵȡ£
×Ö·ûÉ豸Óë¿éÉ豸µÄÖ÷񻂿±ðÊÇ£ºÔÚ¶Ô×Ö·ûÉ豸·¢³ö¶Á/дÇëÇóʱ£¬Êµ¼ÊµÄÓ²¼þI/OÒ»°ã½ô½Ó× ......