Linux USB Host ControllerµÄ³õʼ»¯´úÂë¿ò¼Ü·ÖÎö
usb_hcd_omap_probe (const struct hc_driver *driver) (dev/ohci/ohci-omap.c)
ÔÚÄ£¿é³õʼ»¯Ê±±»platform_driver_register()µ÷Óã¬ÓÃÀ´³õʼ»¯Óëohci_hcd_omap_driver
ÏàÆ¥ÅäµÄusbÖ÷¿ØÖÆÆ÷.
->usb_create_hcd(driver); ´´½¨Ò»¸ö´ú±íhost-controllerµÄÊý¾Ý½á¹¹(struct usb_hcd)²¢³õʼ»¯ core/hcd.h
->hcd = kzalloc(sizeof(*hcd) + driver->hcd_priv_size, GFP_KERNEL); Ϊstruct usb_hcd·ÖÅäÒ»¿éÄÚ´æ
->usb_bus_init (struct usb_bus *bus); (hcd.c) ³õʼ»¯´ú±íusb busµÄÊý¾Ý½á¹¹(struct usb_bus)
->³õʼ»¯struct usb_hcdµÄ¶¨Ê±Æ÷£¬¹¤×÷¶ÓÁÐ
->Ìî³ästruct usb_hcdµÄrsrc_start×ֶΣºhost-controller memory/ioµÄÆðʼÎïÀíµØÖ·
rsrc_len×ֶΣºhost-controller memory/ioµÄ³¤¶È
regs×ֶΣºhost-controller memory/ioÓ³ÉäµÄÄÚºËÐéÄâµØÖ·¡£
->ohci_hcd_init(struct ohci_hcd *ohci); (dev/ohci/ohci-mem.c)
->usb_add_hcd(struct usb_hcd *hcd,unsigned int irqnum, unsigned long irqflags) (/core/hcd.h)
Íê³Éstruct usb_hcdÊ£ÓàµÄ³õʼ»¯¹¤×÷
->hcd_buffer_create(hcd):´´½¨dmapool
->usb_register_bus(usb_bus):×¢²áusb bus
->usb_alloc_dev(NULL, &hcd->self, 0): (core/usb.c)
´¦ÀíÖ÷¿ØÖÆÆ÷hcdÉϵĸùHub(hcd->self.root_hub),ÕâÀï×öµÄ¾ÍÊÇΪRoot HubÉêÇëÁËÒ»¸östruct usb_device½á¹¹Ìå,²¢ÇÒ³õʼ»¯, ½«·µ»ØÖµ¸³¸øÖ¸Õërhdev. Root HubµÄparentÖ¸ÕëÖ¸ÏòÁËController±¾Éí.
->ohci_omap_init£ºÍê³ÉomapÓ²¼þµÄinit¹¤×÷
->otg_get_transceiver();
->otg_set_host(ohci->transceiver, &ohci_to_hcd(ohci)->self);
Õë¶ÔOTGÌØÐÔ½øÐеijõʼ»¯£¬ºóÃæ·ÖÎö
->ohci_init(struct ohci_hcd *ohci); (host/ohci-hcd.c)
->Ϊohci->hcca·ÖÅä¿Õ¼ä
->ohci_mem_init() ´´½¨ohci->td_cacheºÍohci->ed_cacheµÄdma_pool
->request_irq(irqnum, &usb_hcd_irq, irqflags,hcd->irq_descr, hcd)
×¢²áÖжϴ¦Àíº¯Êý.ÆäÖÐÖжϺÅÊÇirqnum, ÖжϷþÎñ³ÌÐòÊÇusb_hcd_irq(struct usb_hcd *hcd) (ohci-hcd.c).
¸ù¾Ýusb2.0 spec¶¨ÒåµÄÖжÏÀàÐÍÓÐ:usb_hcd_irq()¸ù¾Ý¾ßÌåÀàÐÍÖ´ÐÐÏàÓ¦²Ù×÷,ºóÃæ·ÖÎö.
#define OHCI_INTR_SO (1 << 0) /* scheduling overrun */
#define OHCI_INTR_WDH (1 << 1) /* writeback of done_head */
#
Ïà¹ØÎĵµ£º
linuxÍøÂçÁ¬½ÓÅäÖÃͨ¹ýÃüÁîifconfigÀ´Íê³É£¬Ò²¾ÍÊÇinterface configuration¡£
£¡£¡ÓÑÇéÌáÐÑ£ºÏÂÃæÓõÄÃüÁîÓÐЩÐèÒªrootȨÏÞ
²é¿´ÍøÂçÁ¬½Ó
ifconfig
eth0 Link encap:ÒÔÌ«Íø Ó²¼þµØÖ· 00:e0:61:02:af:ba
&n ......
Ò»¡¢¸ÅÊö
ϵͳµ÷ÓÃÊÇÒ»¸öÈíÖжϣ¬ÖжϺÅÊÇ0x80£¬ËüÊÇÉϲãÓ¦ÓóÌÐòÓëLinuxϵͳÄں˽øÐн»»¥Í¨ÐŵÄΨһ½Ó¿Ú¡£Í¨¹ýint 0x80£¬¾Í¿ÉʹÓÃÄÚºË×ÊÔ´¡£²»¹ý£¬Í¨³£Ó¦ÓóÌÐò¶¼ÊÇʹÓþßÓбê×¼½Ó¿Ú¶¨ÒåµÄCº¯Êý¿â¼ä½ÓµÄʹÓÃÄں˵Äϵͳµ÷Ó㬼´Ó¦ÓóÌÐòµ÷ÓÃCº¯Êý¿âÖеĺ¯Êý£¬Cº¯Êý¿âÖÐ ......
µÚÒ»¸ö£º DSL Linux
Damn Small LinuxÊÇÒ»Ì×»ùÓÚÒµÎñ¿¨£¨50M×Ö½Ú£©¿ÉÆô¶¯¹âÅ̵ÄLinux·¢ÐС£¾¡¹ÜËüµÄ¸öÍ·Èç´Ë֮С£¬ËüŬÁ¦³ÉΪһ·Ý¿ÉÓò¢ÇÒÒ×ÓõÄ×ÀÃæ¡£Damn Small LinuxµÄ×ÀÃæ¼¸ºõÊÇÍêÕûµÄÒ»Ì×£¬°üÀ¨xmms£¨Ö§³Ömp3ºÍmpeg£©¡¢FTP¿Í»§¶Ë¡¢»ùÓÚlinksµÄwebä¯ÀÀÆ÷¡¢µç×ÓÖÆ±íÈí¼þ¡¢µç×ÓÓʼþ³ÌÐò¡¢ Ó¢ÓïÆ´Ð´¼ì²é¡¢×Ö´¦ÀíÆ÷¡¢Èý¸ö± ......
×ÜÀÀ
ÓÃiptables -ADC À´Ö¸¶¨Á´µÄ¹æ
Ôò
£¬-AÌí¼Ó -Dɾ³ý -C ÐÞ¸Ä
iptables - [RI] chain rule num rule-specification[option]
ÓÃiptables - RI ͨ¹ý¹æÔòµÄ˳ÐòÖ¸¶¨
iptables -D chain rule num[option]
ɾ³ýÖ¸¶¨¹æÔò
iptables -[LFZ] [chain][option]
ÓÃiptables -LFZ Á´Ãû [Ñ¡Ïî]
iptables -[NX] chain
ÓÃ -NX ......