linux/Documentation/usb/proc_usb_info.txt
<<
>>
Prefs
   1/proc/bus/usb filesystem output
   2===============================
   3(version 2010.09.13)
   4
   5
   6The usbfs filesystem for USB devices is traditionally mounted at
   7/proc/bus/usb.  It provides the /proc/bus/usb/devices file, as well as
   8the /proc/bus/usb/BBB/DDD files.
   9
  10In many modern systems the usbfs filesystem isn't used at all.  Instead
  11USB device nodes are created under /dev/usb/ or someplace similar.  The
  12"devices" file is available in debugfs, typically as
  13/sys/kernel/debug/usb/devices.
  14
  15
  16**NOTE**: If /proc/bus/usb appears empty, and a host controller
  17          driver has been linked, then you need to mount the
  18          filesystem.  Issue the command (as root):
  19
  20      mount -t usbfs none /proc/bus/usb
  21
  22          An alternative and more permanent method would be to add
  23
  24      none  /proc/bus/usb  usbfs  defaults  0  0
  25
  26          to /etc/fstab.  This will mount usbfs at each reboot.
  27          You can then issue `cat /proc/bus/usb/devices` to extract
  28          USB device information, and user mode drivers can use usbfs
  29          to interact with USB devices.
  30
  31          There are a number of mount options supported by usbfs.
  32          Consult the source code (linux/drivers/usb/core/inode.c) for
  33          information about those options.
  34
  35**NOTE**: The filesystem has been renamed from "usbdevfs" to
  36          "usbfs", to reduce confusion with "devfs".  You may
  37          still see references to the older "usbdevfs" name.
  38
  39For more information on mounting the usbfs file system, see the
  40"USB Device Filesystem" section of the USB Guide. The latest copy
  41of the USB Guide can be found at http://www.linux-usb.org/
  42
  43
  44THE /proc/bus/usb/BBB/DDD FILES:
  45--------------------------------
  46Each connected USB device has one file.  The BBB indicates the bus
  47number.  The DDD indicates the device address on that bus.  Both
  48of these numbers are assigned sequentially, and can be reused, so
  49you can't rely on them for stable access to devices.  For example,
  50it's relatively common for devices to re-enumerate while they are
  51still connected (perhaps someone jostled their power supply, hub,
  52or USB cable), so a device might be 002/027 when you first connect
  53it and 002/048 sometime later.
  54
  55These files can be read as binary data.  The binary data consists
  56of first the device descriptor, then the descriptors for each
  57configuration of the device.  Multi-byte fields in the device descriptor
  58are converted to host endianness by the kernel.  The configuration
  59descriptors are in bus endian format! The configuration descriptor
  60are wTotalLength bytes apart. If a device returns less configuration
  61descriptor data than indicated by wTotalLength there will be a hole in
  62the file for the missing bytes.  This information is also shown
  63in text form by the /proc/bus/usb/devices file, described later.
  64
  65These files may also be used to write user-level drivers for the USB
  66devices.  You would open the /proc/bus/usb/BBB/DDD file read/write,
  67read its descriptors to make sure it's the device you expect, and then
  68bind to an interface (or perhaps several) using an ioctl call.  You
  69would issue more ioctls to the device to communicate to it using
  70control, bulk, or other kinds of USB transfers.  The IOCTLs are
  71listed in the <linux/usbdevice_fs.h> file, and at this writing the
  72source code (linux/drivers/usb/core/devio.c) is the primary reference
  73for how to access devices through those files.
  74
  75Note that since by default these BBB/DDD files are writable only by
  76root, only root can write such user mode drivers.  You can selectively
  77grant read/write permissions to other users by using "chmod".  Also,
  78usbfs mount options such as "devmode=0666" may be helpful.
  79
  80
  81
  82THE /proc/bus/usb/devices FILE:
  83-------------------------------
  84In /proc/bus/usb/devices, each device's output has multiple
  85lines of ASCII output.
  86I made it ASCII instead of binary on purpose, so that someone
  87can obtain some useful data from it without the use of an
  88auxiliary program.  However, with an auxiliary program, the numbers
  89in the first 4 columns of each "T:" line (topology info:
  90Lev, Prnt, Port, Cnt) can be used to build a USB topology diagram.
  91
  92Each line is tagged with a one-character ID for that line:
  93
  94T = Topology (etc.)
  95B = Bandwidth (applies only to USB host controllers, which are
  96    virtualized as root hubs)
  97D = Device descriptor info.
  98P = Product ID info. (from Device descriptor, but they won't fit
  99    together on one line)
 100S = String descriptors.
 101C = Configuration descriptor info. (* = active configuration)
 102I = Interface descriptor info.
 103E = Endpoint descriptor info.
 104
 105=======================================================================
 106
 107/proc/bus/usb/devices output format:
 108
 109Legend:
 110  d = decimal number (may have leading spaces or 0's)
 111  x = hexadecimal number (may have leading spaces or 0's)
 112  s = string
 113
 114
 115Topology info:
 116
 117T:  Bus=dd Lev=dd Prnt=dd Port=dd Cnt=dd Dev#=ddd Spd=dddd MxCh=dd
 118|   |      |      |       |       |      |        |        |__MaxChildren
 119|   |      |      |       |       |      |        |__Device Speed in Mbps
 120|   |      |      |       |       |      |__DeviceNumber
 121|   |      |      |       |       |__Count of devices at this level
 122|   |      |      |       |__Connector/Port on Parent for this device
 123|   |      |      |__Parent DeviceNumber
 124|   |      |__Level in topology for this bus
 125|   |__Bus number
 126|__Topology info tag
 127
 128    Speed may be:
 129        1.5     Mbit/s for low speed USB
 130        12      Mbit/s for full speed USB
 131        480     Mbit/s for high speed USB (added for USB 2.0);
 132                  also used for Wireless USB, which has no fixed speed
 133        5000    Mbit/s for SuperSpeed USB (added for USB 3.0)
 134
 135    For reasons lost " name="L135"> lue="v2.6.17.1y0L135"> lue="v2.6.17.1y0L135"> lue="v21menfo.txon/us="Documnfo.tway id="L13" class="line" name="L13">  13/sys/kerpology in;usbfs", to reduce 1confu1ion with &tooinfo.byatiinfo.txt#L50" entation/uplu="Docinto b_in 4usb_iid="L13" class="line" name="L13">  13/sys/kerref="Docu see references to the o1lder 1quot;usbdeL63" upation/usb/procume03info.txid="L13" class="line" name="L13">  13/sys/kerpeed may entation/usb/proc_usb_in1fo.tx1#L39" id="L39" class="line" name="L39">  39For mo1re inform1ation on mounting the us1bfs f1le sysich are
 116
 116
  56of fir14         4   also used for Wireles4 USB,4 Parent for this                 t_uN"Documentib/prrupte tque6" id="L56" class="line" name="L56">  56of fir14   5000  entation/usb/proc_usb_in1fo.tx143oc_usb_infontatihich are
 125|   4f="Documenntation/usb/proc_usb_infoo.txtumentanfo.ch are
 127
  16**NOTE*onnected 1USB device has one file.1  The14on with &ich are
  16**NOTE*oref="DocuD indicates the device a1ddres14uot;usbde(mb_iisecondsb/prio.txt.ll as16"txt#Documentioiodicusb/proc_usb/procid="L16" class="line" name="L16">  16**NOTE*opeed may s are assigned sequentia1lly, 14roc_usb_ic_usentatumentb/proc_uo.txt#reserve bch are
<.node._usb/procare
id="L16" class="line" name="L16">  16**NOTE*oe inform1ely on them for stable a1ccess14on/usb/prob/proc_uotxt#a7lhref="Dbch are
<,riocluproc_reservedDbch are
  16**NOTE*;s relati1vely common for devices 1to re15ref="Docuib_int href="Docob/proc_uo( href="D="Doch_in packets)xid="L13" class="line" name="L13">  13/sys/keconnected1 (perhaps someone jostle1d the15L92" id="L92" class="line" name="L92">  92Each l1 cable), 1so a device might be 0021/027 15which hasinfotioc"ling  92Each l1    5000  sometime later.
  78usbfs 1ef="Docum1entation/usb/proc_usb_in1fo.tx15 0
  78usbfs 1e--------1 be read as binary data.1  The1517.1y0L13B Guide. TL13B Guid) 80t#L7;f hrreservedsid="L78" class="line" name="L78">  78usbfs 1ennected 1vice descriptor, then th1e des15L117" id="L117" class="line" name="L117"> 117T:  uration o1f the device.  Multi-byt1e fie15L128" id="L128" class="line" name="L128"> 128    nverted t1o host endianness by the1 kern1l.  Thproc_usb_info.txt#L98" &#L5; won't fit
<" id="L116" class="line" name="L116"> 116
  10In manyotalLengt1h bytes apart. If a devi1ce re1urns lD:t#Ver=x.xx Cls=xx(s)ntab=xx wont=xx MxPSn/us#Cfgs18" id="L118" class="line" name="L118"> 118|   ptor data1 than indicated by wTota1lLeng1h therP:t#Vendor=xxxx wondID=xxxx Rev=xx.xx id="L118" class="line" name="L118"> 118|   pcable), 1e missing bytes.  This i1nform16L43" id="L43" class="line" name="L43">  43
  43
 118|   p--------1 also be used to write u1ser-l165Parent for this  or this       level
 125|   6*: If /prooc/bus/usb appears empty, des1B/DDD nt for this  or this       level
 125|   6ration o1ptors to make sure itĿs t1e devint for this  or this       level
  13/sys/keo an inte1rface (or perhaps severa1l) us16    |        |__  or this       linfo.txttabC (orid="L13" class="line" name="L13">  13/sys/keotors are1e ioctls to the device t1o com16    |__Device Sp  linfo.txtC (orid="L13" class="line" name="L13">  13/sys/kel, bulk, 1or other kinds of USB tr1ansfe170oc_usb_infoproc_use. T_usb_inid="L13" class="line" name="L13">  13/sys/keltor data1lt;linux/usbdevice_fs.h&1gt; f1le, annfoproc_usL116127" #1id="L13" class="line" name="L13">  13/sys/kelcable), 1nux/drivers/usb/core/dev1io.c)17L43" id="L43" class="line" name="L43">  43
  43
 118|   hat since1 by default these BBB/DD1D fil175Parent for this  t for this  t fo__won'rrocmenta#L126" id="L126" class="line" name="L126"> 126|__Tonly root1 can write such user mod1e dri17/DDD nt for this  t fo__won't fy re id="L126" class="line" name="L126"> 126|__To   driver  has been linked, then yo;s t177oc_usb_infoVendor;t fy re id="L126" class="line" name="L126"> 126|__To an inte1ions such as "devmo1de=0616"nfoproc_usL116127" #2 id="L126" class="line" name="L126"> 126|__Totors are1entation/usb/proc_usb_in1fo.tx1#L80" id="L80" class="line" name="L80">  80
  81
 116
  43
  43
  43
  37      1 it ASCII1 instead of binary on pu1rpose186Parent f b_bt#Lmitt#L49o.t(="Donewinc_usb_in)usb_inid"liiftion/usb/proid="L37" class="line" name="L37">  37      1    driver useful data from it wit1hout 187Parent f b__usb_infxt#L68"
  43
 127
  80
  43
  43
  43
 134
  43
 127
 117T:  vice desc1riptor info.
  43
  43
  43
  16**NOTE2Configura2ion descriptor info. (* 2 acti201Parent f b_.  For exabt#sharDocumentanyhref="D
  43
 127
  24      nhref="Doc2mentation/usb/proc_usb_i2fo.tx2#L105" id="L105" class="line" name="L105"> 105===2=========2========================2=====20L26" id="L26" class="line" name="L26">  26       href="Doc2mentation/usb/proc_usb_i2fo.tx2#L107"ation)
 116
 128   2href="Doc2mentation/usb/proc_usb_i2fo.tx2#L109"C:* #Ifd MxCCfgroc_ Atr=xx MPwrn/udmA id="L128" class="line" name="L128"> 128   2h   to intf="Documentation/usb/pro2_usb_209Parent|cumentation/usb/proc_usb_ino.tPsb_inin mA id="L128" class="line" name="L128"> 128   2= decimal2number (may have leading2space210Parent|cumentation/usb/pr__AtusbbuDoc id="L128" class="line" name="L128"> 128   2=f="Documenntation/usb/proc_usb_infoacti211Parent|cumentatio"Docuon)
 124|  2= string
2a href="Documentation/us2/proc212Parent|cutiN"DocuOfsb/proc_uc id="L128" class="line" name="L128"> 128   2=ndpoint 2mentation/usb/proc_usb_i2fo.tx213Parentuti3B Guid*usb/prohref="Documentoc_usb_info.txt#L102 (ref="roc_ususb/proB Guid) id="L128" class="line" name="L128"> 128   2=ref="Doc2mentation/usb/proc_usb_i2fo.tx21mentanfoocuon)nL116127" id="L127" class="line" name="L127"> 127
  16**NOTE2href="Doc2mentation/usb/proc_usb_i2fo.tx21on with &cumentation/ntation/uxt#L85" _info.txt#L102ocumentaenttxt#L96" id="L28" class="line" name="L28">  28       Bus=dd Le2=dd Prnt=dd Port=dd Cnt=2d Dev2ed to mount#Lf="D
ift#L73tlyiinfo.txt#L50" enthre-usb_iDocnfo.txt#L61" id="L61" class="line" name="L61">  61descri2|      | 2    |       |       |   2  |  2root):
  77grant 2|      | 2    |       |       |   2  |  21on/usb/prenta#L123"iinfo.txt#L102 f="Docuoc_usb_b_inv21me; msb/pntationid="L77" class="line" name="L77">  77grant 2mount -t uusbfs none /proc/bus/usb
  |__2ef="Documeion/utumenentainfo.txt#L102eid="L43" class="line" name="L43">  43
  22           An alteernative and more permaneproc2ethod wouldicates o.txt#L102 ft#L56" f"f=entaem, see th/proc_uc.uldicaid="L22" class="line" name="L22">  22        ndpoint 2entation/usb/proc_usb_infr
  22        ref="Doc2oc/bus/usb  usbfs  defauls bus2  0
 131   2ef="Documeentation/usb/proc_usb_infn/usb2217.1y0L13speakref/mentationdioS  You
 131   2eref="Doc2tc/fstab.  This will mountion/2fs at each="Dotxt#/mentsoftwc_usv  43
 128   2    USB deevice information, and usn/usb22L39" id="L39" class="line" name="L39">  39For mo2    to intteract with USB devices.
B
  19
  31      2    480  2  Mbit/s for high speed 2SB (a2ded foI:* Ifroc_ Alon/us#EPd MxCCls=xx(sssss)ntab=xx wont=xx Dusb_i=ssssid="L43" class="line" name="L43">  43
  43
  43
  13/sys/k2For reaso2s lost " name="L135"> lu2="v2.235Parent|cumentatlevel
  13/sys/k2rpology i2;usbfs", to reduce 2confu236Parent|cumentatlevel
  13/sys/k2rus=dd Le2 see references to the o2lder 237Parent|cumentatlevel
  13/sys/k2r   USB deentation/usb/proc_usb_in2fo.tx238Parent|cumentatl__Ad
 124|  2re inform2ation on mounting the us2bfs f239Parent|cutisb/proc_u#L124" id="L124" class="line" name="L124"> 124|  2USB Devic2e Filesystem" secti2on of240Parentuti3B Guid*usb/prohref="Documentoc_usb_altsetxt#L (ref="roc_ususb/proB Guid) id="L128" class="line" name="L128"> 128   2U   480  2e can be found at  127
  43
 101C =24f="Docum2nntation/usb/proc_usb_in2oo.tx24 0
 101C =24or reaso2-----------------
 125|  2onnected 2USB device has one file.2  The24on with &mentrefbch are
<,c_usb_infmustfo.txt#ref=on- href="Daltsetxt#L" id="L101" class="line" name="L101"> 101C =24us=dd Le2D indicates the device a2ddres24L128" id="L128" class="line" name="L128"> 128   2opeed may2s are assigned sequentia2lly, 24roc_usb_iOumenentasetxt#L ="Doal.  You
 128   2oe inform2ely on them for stable a2ccess24on/usb/prenmenenta  77grant 2;s relati2vely common for devices 2to re25f="Documeion/utumenentadd
 101C =2connected2 (perhaps someone jostle2d the25L92" id="L92" class="line" name="L92">  92Each l2 cable), 2so a device might be 0022/027 25L43" id="L43" class="line" name="L43">  43
  19
  55These 2e--------2 be read as binary data.2  The2517.1yE:t#Ld=xx(s)nAtr=xx(ssss)nMxPSn/uMxCIvln/uMorid="L13" class="line" name="L13">  13/sys/k2ennected 2vice descriptor, then th2e des25/DDD nt for this  or this      t this    c_usb/prvalmentx)Doctwocumsb/proc_uid="L13" class="line" name="L13">  13/sys/k2eus=dd Le2f the device.  Multi-byt2e fie25 devint for this  or this      c_ub/proc_uo.tPacketSiztid="L13" class="line" name="L13">  13/sys/k2epeed may2o host endianness by the2 kern25    |        |__  o__AtusbbuDoc(b/proc_uTyp0" id="L100" class="line" name="L100"> 100S =2ptors are2 in bus endian format! T2he co25    |__Dev_ub/proc_uAb/proc(I=In,O=Out" id="L100" class="line" name="L100"> 100S =2otalLengt2h bytes apart. If a devi2ce re2urns lv_ub/proc_usL116127" id="L127" class="line" name="L127"> 127
  92Each l2pcable), 2e missing bytes.  This i2nform26which hasinfoib/prvalmib_innzero ="Doallrtioiodicu(ib/prruptext#Lsochronoul" id="L100" class="line" name="L100"> 100S =2o   5000 2 the /proc/bus/usb/devic2es fi26ed for USe/proc_uriinfo.tntation/usbe/proc_urumentsb/proc_oib/prvalmntatoc id="L100" class="line" name="L100"> 100S =2of="Docum2entation/usb/proc_usb_in2fo.tx26 0
 101C =2p--------2 also be used to write u2ser-l26L16" id="L16" class="line" name="L16">  16**NOTE26*: If /p2ooc/bus/usb appears empt2, des2660
  16**NOTE26us=dd Le2ptors to make sure itʼns t26d to mountnfotio-microtr fia hole b/proc_osiztiinfo.t href=ntatibch are
  43
  36      2otors are2e ioctls to the device t2o com26on/usb/pr3KB 101C =2l, bulk, 2or other kinds of USB tr2ansfe27L31" id="L31" class="line" name="L31">  31      2ltor data2lt;linux/usbdevice_fs.h&2gt; f27ed for USWisb/pro Lsb_in
  72source2lcable), 2nux/drivers/usb/core/dev2io.c)27which hassb/proc_oib/prvalsroc_usizts_p  72source2l   5000 2ss devices through those2 file27ed for USfoannfo.txt#www.lt#Le/proc_usb_info.txt" id="L101" class="line" name="L101"> 101C =2lf="Docum2entation/usb/proc_usb_in2fo.tx2#L75" id="L75" class="line" name="L75">  75Note t2hat since2 by default these BBB/DD2D fil27L16" id="L16" class="line" name="L16">  16**NOTE2only root2 can write such user mod2e dri27/DDD ====================
 106
 128   2o an inte2ions such as "devmo2de=0627L39" id="L39" class="line" name="L39">  39For mo2otors are2entation/usb/proc_usb_in2fo.tx2#L80" umentcumenur snfo.tb/prio/preat thtument#Lsb_info.txt#L, ="Did="L39" class="line" name="L39">  39For mo2ef="Docum2entation/usb/proc_usb_in2fo.tx2#L81" xt#L50" ehre "infoht#L likitinfo.tgrep ^T:s multiple
  43
  43
  43
  78usbfs 2-f="Docum2b/devices, each deviceïs 284oc_uwroc_/pro valid usb/proc_prc_usTDPCIE.USWisb/a slumenmen see fo.tid="L78" class="line" name="L78">  78usbfs 2-at since2output.
  78usbfs 2-nly root2 instead of binary on pu2rpose286Pareoc_uPt#/prr)roc_usoangeb/proc_info.txt#L108.US(Tritinfo.tL78"  7sb/proid="L43" class="line" name="L43">  43
  43
  43
  95B = Ba2rnt, Port2, Cnt) can be used to bu2ild a29L31" id="L31" class="line" name="L31">  31      2ef="Docum2entation/usb/proc_usb_in2fo.tx291oc_uTro sb_info.tb/prref="Documentatiogenerhreaa grapxt#/pintatiaL id="L101" class="line" name="L101"> 101C =2ine is ta2gged with a one-characte2r ID 292Pare"f=writcumentation/o
 101C =2i   5000 2entation/usb/proc_usb_in2fo.tx29entattu="Documed
  95B = Ba2rf="Docum2tc.)
  75Note t2iat since2applies only to USB host2 cont29el driveusb/proc_usb/prref="Documentatiodet;.  ne.txnfo  43
 101C =2vice desc2riptor info.
 128   2e   files2info. (from Device descr2iptor298oc_uiveuation)
 128   2etors are2nntation/usb/proc_usb_in2oquot299Pare(i
 101C =3String de3criptors.
 101C =3S1ring de3cntation/usb/proc_usb_in3 acti30L92" id="L92" class="line" name="L92">  92Each l3Interface3descriptor info.
  43
  78usbfs 3href="Doc3mentation/usb/proc_usb_i3fo.tx3#L105"antxt
 128   3=========3========================3=====30L26" ahserial ccuhreoc_uccumenttion
 101C =3S6=======3=as root hubs)
 107/pr3c/bus/usb3devices output format:
<3 href30ddd Spd=dddd 00Ch=dd00C href00C cume00ation00ab/pro  1sb_inationt#L11 2 id="L126" class="line" name="L126"> 126|__3href="Doc3mentation/usb/proc_usb_i3fo.tx3#L109"B:t#L7locnt28/900aref( 3t#L7;), #Iion  2, #Ison  0 id="L126" class="line" name="L126"> 126|__3h9ef="Doc3mntation/usb/proc_usb_in3_usb_309PareD:t#Ver= 1.00atld 09("ub  )ntab=00C hoon00aMxPSn 8s#Cfgs1  1 id="L126" class="line" name="L126"> 126|__3= decimal3number (may have leading3space310PareP:t#Vendor=0000C hodID=0000CRev= 0.00 id="L126" class="line" name="L126"> 126|__3=1ring de3nntation/usb/proc_usb_in3oacti311PareS:t#won'=cumeUHCItRtxt#Hub id="L126" class="line" name="L126"> 126|__3=nterface3a href="Documentation/us3/proc312PareS:t#SerialN"Docu=dce0 id="L126" class="line" name="L126"> 126|__3=ndpoint 3mentation/usb/proc_usb_i3fo.tx313PareC:* #Ifd  1sCfgro 1sAtr=40aMxPwrn  0mA id="L128" class="line" name="L128"> 128   3=ref="Doc3mentation/usb/proc_usb_i3fo.tx31mentaI:t#Ifro 0 Alon 0 #EPd  1sCld 09("ub  )ntab=00C hoon00aDusb_i=hub id="L126" class="line" name="L126"> 126|__3=========3
  43
 117T: 3Bus=dd Le3=dd Prnt=dd Port=dd Cnt=3d Dev31ddd Spd=dddd 00Ch=dd01C href01C cume00ation01ab/pro  2sb_inationt#L11 4 id="L117" class="line" name="L117"> 117T: 3Bref="Doc3    |       |       |   3  |  3root):D:t#Ver= 1.00atld 09("ub  )ntab=00C hoon00aMxPSn 8s#Cfgs1  1 id="L126" class="line" name="L126"> 126|__3=9ef="Doc3    |       |       |   3  |  31on/usP:t#Vendor=0451C hodID=1446CRev= 1.00 id="L126" class="line" name="L126"> 126|__3mount -t 3usbfs none /proc/bus/usb3  |__3ef="DoC:* #Ifd  1sCfgro 1sAtr=e0aMxPwrn100mA id="L128" class="line" name="L128"> 128   3ef="Docum3entation/usb/proc_usb_in3unt o321entaI:t#Ifro 0 Alon 0 #EPd  1sCld 09("ub  )ntab=00C hoon00aDusb_i=hub id="L126" class="line" name="L126"> 126|__3    An al3eernative and more perma3eproc3ethod E:t#Ld=81(I)nAtr=03(Iio.)nMxPSnion1CIvln255mxid="L43" class="line" name="L43">  43
  24      3 ref="Doc3oc/bus/usb  usbfs  defau3s bus3  0
 126|__3m========3entation/usb/proc_usb_in3n/usb3217.1yD:t#Ver= 1.00atld 00(>ifc )ntab=00C hoon00aMxPSn 8s#Cfgs1  1 id="L126" class="line" name="L126"> 126|__3eref="Doc3tc/fstab.  This will mou3tion/3fs at P:t#Vendor=04b4C hodID=0001CRev= 0.00 id="L126" class="line" name="L126"> 126|__3eus=dd Le3an then issue `cat /proc3fo.tx3#L128"C:* #Ifd  1sCfgro 1sAtr=80aMxPwrn100mA id="L128" class="line" name="L128"> 128   3eref="Doc3evice information, and u3n/usb32L39" I:t#Ifro 0 Alon 0 #EPd  1sCld 03(Ht f )ntab=01C hoon02aDusb_i=motxt id="L128" class="line" name="L128"> 128   3e9ef="Doc3teract with USB devices.3B
  43
  31      3    480  3  Mbit/s for high speed 3SB (a3ded fopd=dddd 00Ch=dd02C href02C cume02ation02ab/pro  4sb_inationt#L11 0 id="L126" class="line" name="L126"> 126|__3         3    also used for Wirele3s USB332PareD:t#Ver= 1.00atld 00(>ifc )ntab=00C hoon00aMxPSn 8s#Cfgs1  1 id="L126" class="line" name="L126"> 126|__3 f="Docum3nntation/usb/proc_usb_in3o
 126|__3 ref="Doc3mentation/usb/proc_usb_i3fo.tx334PareS:t#Manufacturer=Peracom Networks, Inc" id="L101" class="line" name="L101"> 101C =3For reaso3s lost " name="L135"> lu3="v2.335PareS:t#won'=Peracom cumeto#Serialuatihreoc_ id="L101" class="line" name="L101"> 101C =3Fref="Doc3;usbfs", to reduce 3confu336PareC:* #Ifd  1sCfgro 1sAtr=a0aMxPwrn100mA id="L128" class="line" name="L128"> 128   3rus=dd Le3 see references to the o3lder 337PareI:t#Ifro 0 Alon 0 #EPd  3atld 00(>ifc )ntab=00C hoon00aDusb_i=setiaL id="L101" class="line" name="L101"> 101C =3r   USB d3entation/usb/proc_usb_in3fo.tx338PareE:t#Ld=81(I)nAtr=02(Bulk)nMxPSnio64CIvln 16mxid="L43" class="line" name="L43">  43
  43
  43
  92Each l34        34   also used for Wirele34 USB3#L43" id="L43" class="line" name="L43">  43
  43
  19
  16**NOTE3onnected 3USB device has one file.3  The34on wipd=dddd 00Ch=dd00C href00C cume00ation00ab/pro  1sb_inationt#L11 2 id="L126" class="line" name="L126"> 126|__34us=dd Le3D indicates the device a3ddres34ddd Spd=dddd 00Ch=dd01C href01C cume00ation01ab/pro  2sb_inationt#L11 4 id="L117" class="line" name="L117"> 117T: 3opeed may3s are assigned sequentia3lly, 34L39" I:t#Ifro 0 Alon 0 #EPd  1sCld 09("ub  )ntab=00C hoon00aDusb_i=hub id="L126" class="line" name="L126"> 126|__3oe inform3ely on them for stable a3ccess34on/uspd=dddd 00Ch=dd02C href02C cume00ation01ab/pro  3sb_inaion/t#L11 0 id="L126" class="line" name="L126"> 126|__3;s relati3vely common for devices 3to re35f="DoI:t#Ifro 0 Alon 0 #EPd  1sCld 03(Ht f )ntab=01C hoon02aDusb_i=motxt id="L128" class="line" name="L128"> 128   3connected3 (perhaps someone jostle3d the35ed fopd=dddd 00Ch=dd02C href02C cume02ation02ab/pro  4sb_inationt#L11 0 id="L126" class="line" name="L126"> 126|__3 cable), 3so a device might be 0023/027 35L43" I:t#Ifro 0 Alon 0 #EPd  3atld 00(>ifc )ntab=00C hoon00aDusb_i=setiaL id="L101" class="line" name="L101"> 101C =3    5000 3sometime later.
  24      3ef="Docum3entation/usb/proc_usb_in3fo.tx3#L55" id="L55" class="line" name="L55">  55These 3e--------3 be read as binary data.3  The3517.1yPhystxt#L13.txt#Looks likit(oref to iocuccuhreocion
" id="L19" class="line" name="L19">  19
 117T: 3eus=dd Le3f the device.  Multi-byt3e fie35d to mounnnnnnnnnnnnnnnnnnn+------------------+ id="L117" class="line" name="L117"> 117T: 3epeed may3o host endianness by the3 kern358 to mounnnnnnnnnnnnnnnnnnn|t#wC/.txt_"ub (12)__Deb/pr = 1 id="L126" class="line" name="L126"> 126|__3ptors are3 in bus endian format! T3he co359 to mounnnnnnnnnnnnnnnnnnn+------------------+nnn(nnsb/prMbp1" id="L101" class="line" name="L101"> 101C =3otalLengt3h bytes apart. If a devi3ce re36f="Documeon/usb0nnnnnnnnnnn|t#CN.0nnn|t#CN.1      [CN = ccumentatib_in #] id="L101" class="line" name="L101"> 101C =3oonnected3 than indicated by wTota3lLeng361 to mounnnnnnnnnnnnnnnnnnn+------------------+ id="L117" class="line" name="L117"> 117T: 3pcable), 3e missing bytes.  This i3nform36which has no fixed speeeeeeeeee/ id="L117" class="line" name="L117"> 117T: 3p   5000 3 the /proc/bus/usb/devic3es fi363hich has no fixed speeeeeeeee/ id="L117" class="line" name="L117"> 117T: 3pf="Docum3entation/usb/proc_usb_in3fo.tx36 0
 117T: 3p--------3 also be used to write u3ser-l3617.1y0Lon/usb1nnn|tb/pr2: 4-b_in "ub (12)_ id="L117" class="line" name="L117"> 117T: 3pnnected 3ooc/bus/usb appears empt3, des3660
 117T: 3pus=dd Le3ptors to make sure itœs t36d to mounnnnnnnnn|CN.0n|CN.1 |CN.2 |CN.3 _ id="L117" class="line" name="L117"> 117T: 3ppeed may3rface (or perhaps severa3l) us368 to mounnnnnnnnn+-----------------------+ id="L117" class="line" name="L117"> 117T: 3ptors are3e ioctls to the device t3o com369 to mounnnnnnnnnnnnn\nnnnnnnnnnn\____________________ id="L117" class="line" name="L117"> 117T: 3l, bulk, 3or other kinds of USB tr3ansfe370hich has no fixed spe\_____ has no fixed speeeeeeeeee\ id="L117" class="line" name="L117"> 117T: 3lonnected3lt;linux/usbdevice_fs.h&3gt; f371 to mounnnnnnnnnnnnnnnnnnnn\nnnnnnnnnnned speeeeeeeeee\ id="L117" class="line" name="L117"> 117T: 3lcable), 3nux/drivers/usb/core/dev3io.c)37which has no fixed s+--------------------+ixed s+--------------------+ id="L117" class="line" name="L117"> 117T: 3l   5000 3ss devices through those3 file37ed for on/usb2ixed s|tb/pr 3:bmotxt#(aio)|ixed s|tb/pr 4:hserial (12)_ id="L117" class="line" name="L117"> 117T: 3lf="Docum3entation/usb/proc_usb_in3fo.tx37 0
 117T: 3l--------3 by default these BBB/DD3D fil37L16" id="L16" class="line" name="L16">  16**NOTE3only root3 can write such user mod3e dri37L117" id="L117" class="line" name="L117"> 117T: 3o   drive3  has been linked, then 3o;s t37L128" id="L128" class="line" name="L128"> 128   3o an inte3ions such as "devmo3de=0637L39" Or,riousbmoc_/pree-likitstructure (b_ins [Ccumentats]Lwisboutid="L43" class="line" name="L43">  43
  19
  81
  81
  81
  81
  19
  81
  19
  19
  39For mo3etors are3columns of each "T:3"38L80" id="L80" class="line" name="L80">  80
  80



<"div>


iveuorigi hlrLXRtsoftwc_usbentro d="L80" chttp://sourceforge.net"L80jxt#D/lxr">LXRta hrunityoc_u,3.txt#extioi="linl__usb_infbend="L80" cmailto:lxr@lsb_i.no">lxr@lsb_i.nooc_u.
<"div>

lxr.lsb_i.no kindly/usb/eDocumd="L80" chttp://www.redpill-linL80.no">Redpill LsbL80 ASoc_u,3p