linuxÖÐusbÇý¶¯µÄtimeroutÎÊÌâ
ÔÚbulk·¢ËͺͽÓÊÕUSBÊý¾Ýʱºò.ºÜ¶à»áµ÷ÓÃÒ»¸öusb_submit_urbº¯Êý. ÇëÎÊÈçºÎÉèÖÃtimeroutʱ¼äÒç³öÈÃUSBÔڹ涨µÄʱ¼äÄÚÎÞ·¨Íê³É¾Í·ÅÆú¸Ãurb²Ù×÷. ÎÒû·¢ÏÖÔÚÄÄÀï¿ÉÒÔÉèÖÃtimerout²ÎÊý°¡.
Õâ¸öÄãµÄ¿´¿´ÄãµÄUSBÇý¶¯Ìṩ¸øÄãµÄ½Ó¿Ú¡£
¸ú kmallocÒ»Ñù£¬¼È¿ÉÒÔÓÃÔÚÖжÏÉÏÏÂÎÄ£¬Ò²¿ÉÒÔÓÃÔÚ½ø³ÌÉÏÏÂÎÄ£¬Ò²Ã»Óеط½ÉèÖÃkmallocµÄ³¬Ê±
usb_submit_urbÒ²Ò»Ñù
usb_bulk_msg() ¿ÉÒÔʵÏÖtimeout
usb_bulk_msg() ¿ØÖÆ´«ÊäȷʵÊÇ¿ÉÒÔʵÏÖtimeout. ÅúÁ¿´«Êä¾ÍÊÇ¿´²»³öÈçºÎʵÏÖtimeout. ÎÒ¿´ÁËÎÒµÄusbÇý¶¯Ò²Ã»¿´µ½ÓÐÈκεÄtimeout²ÎÊý, ÕâÑùÈç¹ûUSB´«Êä¶ÂÈûÊÇ·ñ»áµ¼ÖÂϵͳµÄusbËøËÀ?
linuxûÄÇô²»¾¸ã°É
¿ÉÒÔµ÷ÓÃusb_submit_urbÖ®ºó²é¿´struct urbµÄstatusÅжÏÊÇ·ñ³É¹¦
¾ÍÊÇ˵ËüÒ²ÔÊÐíʧ°Ü£¬¿ØÖÆÈ¨»¹»¹¸øÄ㣬²»»áÒ»Ö±Ö´ÐÐÏÂÈ¥µÄ
ȷʵ»á·µ»Ø²¢ÇÒurb->statusΪʧ°Ü±êÖ¾. ÎÒÏëÖªµÀUSBÊÇÔõôÅжÏÊÇʧ°ÜµÄ? ÊÇÔÚijʱ¼ä¶ÎÄÚÎÞ·¨·¢ËÍ/½ÓÊÕµ½Êý¾ÝÅж¨ÎªÊ§°ÜÂð?
ÁíÍâ. Èç¹ûÊǽÓÊÕÒ»¸öUSBÊý¾Ý°üʱºò,ÊÇͨ¹ýʲôÀ´Åжϳɹ¦½ÓÊÕµ½¸ÃÍêÕûÊý¾Ý°ü? ÎÒ¿´µ½ÎÒµÄUSBÓ¦Óò㲢ûÓд«¸ÃÊý¾Ý°ü´óС²ÎÊý. Ö»ÌṩÁËÒ»¸ö4kBµÄbuff¸øurb.
usb_fill_int_urb ÀïÓÐÒ»¸ö²ÎÊýÖ¸¶¨»º³åÇø´óС£¬¶ÔÓ¦struct urbÀïµÄtransfer_buffer_length
ÎÒ»¹Ã»ÓзÖÎöusb_submit_urbµÄÄÜÁ¦
²é¿´´úÂëµÃÖªusb_submit_urbµ÷ÓÃÁË usb_hcd_submit_urb
usb_hcd_submit_urb Àï×îºó
if (atomic_read(&urb->reject))
wake_up(&usb_kill_urb_queue);
urb->rejectÊÇÖ»ÄÜÓÉUSBºËÐĺÍÖ÷»ú¿ØÖÆÆ÷·ÃÎʵ쬱»ÖÃλ±íʾ´«Ê佫ʧ°Ü
ÓÚÊÇ»½ÐÑÁËusb_kill_urb_queue ¶
Ïà¹ØÎÊ´ð£º
ÎÒÔÚLINUXÉÏÓÐÁ½¸öÓû§
Ò» root
¶þ myadmin
¡¾myadmin@localhost~¡¿$ dir
Desktop myphp
[myadminlocalhost~]$ cd myphp¡¢DesktopÄܽøÈ¥ÆäËûµÄϵͳĿ¼½ø²»È¥
Ö»ÓÐÕâÁ½¸öĿ¼ ÎÒÏë½øÈëÆäËûµÄÏ ......
ÓÉÓÚÎҲŸոսӴ¥socket±à³Ì£¬×Ô¼ºÐ´ÁËÒ»¸ö¼òµ¥³ÌÐò£¬µ«¾ÍÊÇÔÚÔËÐеÄʱºò³öÏֶδíÎó£¬ÎÞ·¨½â¾ö£¬ÏÖÔÚÎÒ°ÑÔ´´úÂëÌù³öÀ´£¬Çë¸÷λ´óϺָÕýһϣ¡Ð»Ð»£¡
#include<stdio.h>
#include<stdlib.h>
#include& ......
linux ÏÂusbÉ豸£¬ÔÚrootȨÏÞÏ£¬É豸¿ÉÒÔÕý³£ÕÒµ½Çý¶¯£¬
µ«ÔÚÆÕͨÓû§ÏÂÕÒ²»µ½É豸Çý¶¯£¬²»ÖªµÀÊÇʲôÔÒò£¿Çë¸ßÊÖÖ¸½Ì
Ó¦¸ÃÊÇrootΪÁË·ÀÖ¹ÆÕͨÓû§ÆÆ»µ°É£¬ËùÒÔ¼Ó¸öȨÏÞ¡£¡£¡£ÎҵľÍÊÇ
ȨÏÞÎÊÌâ rootÊdz¬¼¶Óà ......
±¾À´Ã»ÎÊÌâµÄ£¬µ«ÊÇÏÖÔÚ²»¹ÜÓÃʲô¹¤¾ßÁ¬Êý¾Ý¿â¶¼ºÜÂý£¬ÒòΪºóÀ´·þÎñÆ÷Öжà¼ÓÁË¿éÍø¿¨£¬¶øÊý¾Ý¿â¼àÌýÉèÖõϹÊÇ·þÎñÆ÷Ãû£¬ÎÒÏë»á²»»áÊÇÕâ¸öÎÊÌ⣬Çë½Ì¸ßÊÖ£¬²¢Ñ¯Îʽâ¾ö·½·¨£¡Ð»Ð»
×Ô¼ºÏȶ¥ÏÂ
°Ñºó¼ÓµÄÍø¿¨ÄõôÔÚ ......
ÈçÌ⣬ÔÚWINDOWSµ×ϵÄCODE»á£¬µ«ÔÚLINUXϲ»ÖªµÀÈçºÎʵÏÖ£¬JSµÄ´úÂëÓ¦¸ÃÊDz»Ò»ÑùµÄ¡£ Çó½Ì¡£
·Ö²»¹»ÔÙ¼Ó¡£
http://topic.csdn.net/u/20100113/08/17ba1e71-4c33-43f6-91a5-0e031c86e5ed.html
linux ......