USB Drive Frame Analysis "Go" under Linux

Source: Internet
Author: User

Transferred from: http://blog.csdn.net/brucexu1978/article/details/17583407

Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.

Http://www.cnblogs.com/general001/articles/2319552.html

http://blog.csdn.net/uruita/article/details/7263290:module_device_table

HTTP://BLOG.CHINAUNIX.NET/UID-25909619-ID-3281432.HTML:USB process

Http://blog.chinaunix.net/uid-25909619-id-3273345.html:uhci

HTTP://BLOG.CHINAUNIX.NET/UID-25909619-ID-3381683.HTML:USB Hot Swap Implementation mechanism (hub probe or interrupt)

Http://www.cnblogs.com/sdphome/archive/2011/09/29/2195789.html

http://blog.csdn.net/jiang_dlut/article/details/5832237: This speaks of Usb_device_driver and Usb_driver. Usbhub found the insertion of a new device, first use device to Dvice_add (see Usb_alloc_dev, where Dev->dev.type = &usb_device_type; This is the entire USB device), Then Usb_register_device_driver registered driver Generic_probe will be called by Usb_probe_device, this function will call usb_set_configuration. The device_add of such an interface type is called (Intf->dev.type = &usb_if_device_type; This is a USB interface device, which was understood for half a day, so it was not found interface How the dev in probe can be transformed into a interface. Thanks to this document). The probe function of the device interface is called in Usb_probe_interface,usb_probe_interface is registered in Usb_register_driver (usb_register). This way, the enumeration of USB devices is easy to read.

http://blog.csdn.net/brucexu1978/article/details/9043523: This article describes the process of matching Linux device and driver.

Http://wenku.baidu.com/link?url=eIwUG6V4v4dUPub-z_ 6EZS3LTHKDTGZU4NYARHLQNVU40QNK3SRRDBE7TEMYIKISHQWN9WIWXYXFG2ISXVVONAIQOYZG9XPG8VISJPBFEYI:USB protocol

Http://wenku.baidu.com/link?url= HZJV0UKUJ0ZUIHOHEUEREKJWY93CB0FGVVG9JAF8TWZXQCJJLSDSKOAWDBSB-FTKI5EUWYUEGQYAS89IEJP5YNT5QAQNUJEVCXGTC26UDPG: USB Hub Protocol

Http://download.farsight.com.cn/download/pdf/Farsight-USB08-HubRequest.pdf:hub Request

Http://wenku.baidu.com/link?url=ZH7Oe5k8B1yH-04YKAiFh948-fqsxn7sqpAd9b3iemJ5J_ GMN4OJSYP1UBCKRL0-PD3NMYP5L519F4SM5NOVQNBT0QCI4BN91J-2HBU2RME:OHCI Register Description: Ed, TD

HTTP://BLOG.CSDN.NET/QIURIHUANGHUA/ARTICLE/DETAILS/6411640:EHCI: Software Simplification

Http://wenku.baidu.com/link?url= t8jhyspwwurlrimccbysy0xuwxulwycvx1jkim78z7skqd80ivjiet5lwmvtqbb0gvqbu-i5dvnpp0zelaix2s3zguoynulsqcxrwa77ddq:usb3.0:4 more speeding. Line, separating the 2 hubs (Overspeed, 2.0), the device can send a ready asynchronous request, unlike 2.0 of a host-initiated polling request. The streaming pipe is used for 3.0 flow control (bulk expansion). Burst mode transmission is supported. There is basically no Linux usb3.0 driver on the web, and there is no particularly public information and explanation of USB3.0 chips (20140122).

Http://www.epc.com.cn/subject/200803/10591.html: Wireless USB Bandwidth Analysis

Http://blog.csdn.net/leo_wonty/article/details/7418261:usb Masstorage

Http://blog.chinaunix.net/uid-10386087-id-2958758.html

http://blog.csdn.net/xushiyan/article/details/6877460: Describes the Linux SCSI driver architecture, including interfaces to the Linux block layer, interfaces to the underlying host, and some sequence. At this point the USB mass storage device is how to hook up the SCSI, and then attached to the block device, which is attached to the file system (sorry, this took me nearly 5 years, because it is the usual time, sad urge AH).

HTTP://BLOG.CSDN.NET/XUSHIYAN/ARTICLE/DETAILS/6941640:SCSI IO Callback

USB Gadget:

http://blog.csdn.net/successcw/article/details/17137361

Http://wenku.baidu.com/link?url=m73s8Hq5wxD-DZR5X02-Ltp9kEGiNSlKSUfJhf0mvrityUP5CwE1JnpyndnqlFcrW2hrMhL8_ 4lh0utf1p2ddal00u44y40znosh51v2yxk

http://blog.csdn.net/arnoldlu/article/details/9291883

http://lwn.net/Articles/395712/: Tell the trend against the composite framework.

The gadget drive frame on the USB device side is generally thinner. The protocol layer (MASSTORAGE/CDC, etc.) calls the gadget API, Gadget API calls Gadget's Endpoint EP OPS, an OPS function that comes from the registered EP of the specific hardware platform. Udc_core is mainly responsible for the UDC add USB_ADD_GADGET_UDC, equipment layer usb_gadget_probe_driver and so on.

The difference between File_storage and Mass_storage is that the former does not use composite abstraction, which uses composite abstraction. Composite abstraction layer is also used for other protocols (Serial/network, etc.) (config/function management).

Mass storage are accessed by VFS through a specific storage device whose path is determined by the file parameter when the module is loaded (the file can be accessed by the VFS API in the kernel state). The SCSI command is parsed at the sorage layer.

ANDROID.C in the mass_storage is also walking composite. This file incorporates a number of USB device features, including ADB. Enable different functions through the SYSFS store function.

Specific UDC driver responsible for queue/Transport management (DMA FIFO?) /Device management/interrupts, etc. can refer to omap and so on, Platform_driver_probe register this driver. DMA calls the DMA feature operation provided by the platform layer. The DMA functions of different platform are different.

HTTP://BLOG.CSDN.NET/EMBEDEDSWORDMAN/ARTICLE/DETAILS/6689593:USB Gadget serial port

Http://blog.chinaunix.net/uid-24227137-id-3437527.html:linux TTY Driver

Http://blog.chinaunix.net/uid-27717694-id-3495612.html:linux Console

http://wenku.baidu.com/link?url=BUfLIzBG-ER22uiONf0nN78xXL_Inv4rciMtSl5IcDyRJ1D0_ Jf4i20eqvc2qzleba2ct7iviek4vzzv8cl0d37ajf0kfebgskk-usschta:linux Pseudo Terminal

USB serial port is mainly to convert USB to TTY device, device side and host side are like this. CDC ACM Analog Modem

Audio device uses the Linux sound core interface

Video:v4l2 interface

ETHER:CDC Eem/ecm/subset, implement Net_device_ops interface:

Http://wenku.baidu.com/view/d06c4318ff00bed5b9f31dbc.html

Android MTP: File transfer Ptp:still Image class: Http://baike.baidu.com/link?url= Qceecpkdlhqrvy9zoaipmipimyhifouggw4nrtp1tazvlq7wf1_cta73jhmhwc-t

Rndis: Microsoft protocol instead of CDC ether protocol

Http://wenku.baidu.com/link?url=VK6wEQIWlmL7VgIpuHBhCZPk-CivVSHdCthSzy-_AdVK_ 7zdrwp4vlojzpmsxnmwitk76rgeld0stawvkv8ztt__9spkvkt3lwci7ogfnti

USB Drive Frame Analysis "Go" under Linux

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.