คุณจะตรวจสอบว่าพอร์ต USB สามารถจ่ายไฟได้เท่าไร?


52

แล็ปท็อปบางเครื่องมีพอร์ต USB พิเศษที่สามารถให้พลังงานมากกว่าที่อื่น ๆ อย่างไรก็ตามมันไม่ง่ายเลยที่จะระบุว่าอันใดอันที่ดีและไม่สามารถส่งมอบได้

ดังนั้นจึงมีวิธีที่ดีในการคิดออก? ฉันเปิดให้ซอฟต์แวร์หรือฮาร์ดแวร์โซลูชั่นใด ๆ


คุณใช้ระบบปฏิบัติการอะไร
พัฒนา

ส่วนตัวฉันใช้ linux แต่คำตอบสำหรับระบบปฏิบัติการใด ๆ ที่น่าสนใจ
Peltier

คำตอบ:


37

ภายใต้ Linux, lsusb -vคุณสามารถดูนี้ในต้นไม้ของ

โดยเฉพาะการโทรlsusb -v |grep 'Bus\|MaxPower'เพื่อหลีกเลี่ยงการส่งออกมากเกินไป

  1. Debian / Ubuntu:

    ใช้sudo aptitude install usbutilsเพื่อรับเครื่องมือนี้

  2. Redhat / Fedora:

    ใช้sudo yum install usbutilsเพื่อรับเครื่องมือนี้

  3. Gentoo:

    ใช้sudo emerge usbutilsเพื่อรับเครื่องมือนี้


โซลูชันบน Windows ที่ไม่ต้องการซอฟต์แวร์เพิ่มเติมคือ Device Manager:

  1. ไปที่Device Manager ( devmgmt.msc)

  2. คลิกดู > อุปกรณ์โดยการเชื่อมต่อ

  3. คลิกที่ชื่อเครื่องของคุณกด*เพื่อขยายทุกอย่าง

  4. ดูคุณสมบัติของฮับ USB ที่แตกต่างกันคุณสามารถดูอุปกรณ์ที่เชื่อมต่อได้

  5. บนแท็บพลังงานคุณจะได้เห็นพลังของอุปกรณ์ที่ใช้ไปและสิ่งที่กำลังนำเสนอ

    ป้อนคำอธิบายรูปภาพที่นี่

    เช่นเดียวกับที่ Jeff Atwood อธิบายพลังงานทั้งหมดที่มีอยู่เป็น500 mAมาตรฐาน

  6. บนแท็บขั้นสูงคุณจะเห็นข้อมูลแบนด์วิดท์

    ป้อนคำอธิบายรูปภาพที่นี่

ดังนั้นสิ่งนี้จะช่วยให้คุณเห็นพอร์ตที่ให้พลังงานมากกว่าและใช้พลังงานได้มากกว่า

หากคุณมีปัญหาแบนด์วิดธ์ที่อุปกรณ์ USB ทำงานช้าคุณสามารถใช้เพื่อแก้ไขปัญหา ...


2
ฉันจะออกนอกเมืองโดยไม่คาดคิดในช่วงที่เหลือของสัปดาห์ดังนั้นฉันจะไปข้างหน้าและมอบรางวัลให้ คำตอบที่ดีฉันไม่รู้เลยว่า Windows บอกคุณอย่างนี้!
Shinrai

1
นี่เป็นเคล็ดลับที่ยอดเยี่ยม น่าเสียดายสำหรับฮับ PCI-e Add-on USB 3.0 กล่องโต้ตอบจะไม่แสดงตัวเลือกพลังงาน
nicorellius

@TomWijsman: Fedora ไม่มี hwinfo และlsusbพิมพ์เฉพาะพลังงานที่พอร์ตส่งมอบพร้อม-vตัวเลือก manpage พูดว่า: -t บอก lsusb เพื่อดัมพ์ลำดับชั้นของอุปกรณ์ USB แบบฟิสิคัลเป็นแผนผัง นี่จะแทนที่ตัวเลือก v
erik

@erik: โปรดอ่านมากกว่าประโยคแรก: "ใช้ sudo yum ติดตั้ง hwinfo usbutils เพื่อรับเครื่องมือเหล่านี้" ( pkgs.org/fedora-19/rpm-sphere-i586/ …และpkgs.org/fedora-19/rpm-sphere-x86_64/ … ) และ-vตัวเลือกที่มีให้ สำหรับ-t; ถูกต้องแล้ว
Tamara Wijsman

คำตอบที่ให้ข้อมูลอย่างมาก
yoyo_fun

32

ฉันพบวิธีหนึ่ง (เจ๋งมาก!):

https://web.archive.org/web/20130529073635/http://www.ultramobilegeek.com/2007/02/measuring-power-on-peripherals-usb.html

เมื่อฉันเขียนบทวิจารณ์อุปกรณ์ต่อพ่วงสำหรับอุปกรณ์มือถือแบบ Ultra ผู้คนมักถามฉันเสมอว่าการใช้พลังงานมีความสำคัญต่ออุปกรณ์อย่างไร ก่อนหน้านี้ฉันไม่มีคำตอบ วันนี้ฉันใช้วิธีการคร่าวๆเพื่อหาทางแก้ไข

ฉันเรียกมันว่า USB Drawbox ของฉัน ติดอยู่ที่มัลติมิเตอร์โดยจะวัดจำนวนมิลลิแอมป์ (mA) ที่อุปกรณ์ที่กำหนดดึงผ่าน USB โดยทั่วไปอุปกรณ์จะขอได้สูงสุด 500 mA เหนือกว่านั้นพอร์ตมาตรฐานจะปิดเครื่องไปที่อุปกรณ์ อุปกรณ์บางตัวโดยเฉพาะฮาร์ดไดรฟ์ภายนอกและไดรฟ์ซีดีรอมสามารถดึงพลังงานจากพอร์ต USB สองพอร์ตพร้อมกันโดยใช้ตัวเชื่อมต่อ Y

กล่อง USB

แฮ็ค DIY เพียงเล็กน้อยนี้ต้องประสานเล็กน้อยทักษะ Dremel เล็กน้อยและการทดสอบและปรับแต่งมากมาย วิธีที่ฉันทำมัน - ในกระป๋องโลหะเพนกวินมินท์ - ต้องใช้ฉนวนกันความร้อนที่มีสกรูที่ผ่านแจ็คกล้วย นอกจากนั้นมันค่อนข้างตรงไปตรงมา


เยี่ยมฉันคิดว่าฉันน่าจะสร้างหนึ่งในนั้น
MBraedley

ใครบางคนควรเริ่มขายมัน
Peltier

8
" ต้องการฉนวนที่มีความระมัดระวังอย่างมาก " นั่นไม่ใช่เหตุผลที่คิดค้นกล่องพลาสติก * g *
oleschri

8
นี่เป็นการทดสอบว่าอุปกรณ์ใดที่จะดึงออกมาได้แทนที่จะเป็นพอร์ตที่สามารถส่งได้สูงสุดและดูดีมาก ๆ
Moab

4
@oleschri กล่องโลหะทำหน้าที่เป็นกรงฟาราเดย์และป้องกันการรบกวนสายเคเบิลป้องกันแบบเดิมที่ป้องกันการรบกวนถูกเปิดที่นี่เพื่อแทรกซึมหลายเมตรเพื่อให้กล่องโลหะเป็นสิ่งที่จำเป็น
Eduard Florinescu

10

ฉันไม่แน่ใจว่าทำไมคำตอบที่ยอมรับจึงได้รับการอัปเดตมากเกินไปhwinfo --usbไม่ได้ให้ข้อมูลด้านพลังงาน แต่lsusb -v -tอย่างใด ดูตัวเอง:

hwinfo

(Ubuntu 12.04)

% lsb_release -a|grep Des
Description:    Ubuntu 12.04.1 LTS

% hwinfo --usb
...
...
14: USB 00.0: 10900 Printer
  [Created at usb.122]
  UDI: /org/freedesktop/Hal/devices/usb_device_4a9_1069_206NL6_if0_printer_noserial
  Unique ID: IO+7.s5u63YPdXG8
  Parent ID: Uc5H.d7FDLX76qXB
  SysFS ID: /devices/pci0000:00/0000:00:12.2/usb1/1-4/1-4.4/1-4.4:1.0
  SysFS BusID: 1-4.4:1.0
  Hardware Class: printer
  Model: "Canon S820"
  Hotplug: USB
  Vendor: usb 0x04a9 "Canon"
  Device: usb 0x1069 "S820"
  SubVendor: "Canon"
  SubDevice: "S820"
  Revision: "1.02"
  Serial ID: "206NL6"
  Driver: "usblp"
  Driver Modules: "usblp"
  Device File: /dev/usb/lp0
  Device Number: char 180:0
  Speed: 12 Mbps
  Module Alias: "usb:v04A9p1069d0102dc00dsc00dp00ic07isc01ip02"
  Driver Info #0:
    Driver Status: usblp is active
    Driver Activation Cmd: "modprobe usblp"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #11 (Hub)

(Fedora 14)

% lsb_release -a|grep Desc
Description:    Fedora release 14 (Laughlin)

% hwinfo --usb
...
...
09: USB 00.0: 10e00 Chipcard Reader
  [Created at usb.122]
  Unique ID: Bgjr.EgDcOidyXjF
  Parent ID: FKGF.0j9+vWlqL56
  SysFS ID: /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0
  SysFS BusID: 2-1.5:1.0
  Hardware Class: chipcard
  Model: "Lenovo Integrated Smart Card Reader"
  Hotplug: USB
  Vendor: usb 0x17ef "Lenovo"
  Device: usb 0x1003 "Integrated Smart Card Reader"
  Revision: "1.00"
  Driver: "usbfs"
  Driver Modules: "usbcore"
  Speed: 12 Mbps
  Module Alias: "usb:v17EFp1003d0100dc00dsc00dp00ic0Bisc00ip00"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #6 (Hub)

lsbusb -v -t

(Ubuntu 12.04)

% lsusb -v -t
/:  Bus 07.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/2p, 12M
/:  Bus 06.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/3p, 12M
/:  Bus 05.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/3p, 12M
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/3p, 12M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ohci_hcd/3p, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/6p, 480M
    |__ Port 4: Dev 3, If 0, Class=hub, Driver=hub/4p, 480M
        |__ Port 3: Dev 5, If 0, Class=stor., Driver=usb-storage, 480M
        |__ Port 4: Dev 4, If 0, Class=print, Driver=usblp, 12M

(Fedora 14)

% lsusb -v -t
Bus#  2
`-Dev#   1 Vendor 0x1d6b Product 0x0002
  `-Dev#   2 Vendor 0x8087 Product 0x0020
    |-Dev#   3 Vendor 0x046d Product 0xc521
    `-Dev#   4 Vendor 0x17ef Product 0x1003
Bus#  1
`-Dev#   1 Vendor 0x1d6b Product 0x0002
  `-Dev#   2 Vendor 0x8087 Product 0x0020

แล้วมันทำงานอย่างไร

แค่เก่าปกติlsusb -vจะให้ข้อมูลพลังงาน

% lsusb -v|egrep "^Bus|MaxPower"
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    MaxPower                0mA
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    MaxPower                0mA
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    MaxPower                0mA
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    MaxPower                0mA
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    MaxPower                0mA
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    MaxPower                0mA
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    MaxPower                0mA
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
    MaxPower              100mA
Bus 003 Device 002: ID 046d:c517 Logitech, Inc. LX710 Cordless Desktop Laser
    MaxPower               98mA
Bus 001 Device 004: ID 04a9:1069 Canon, Inc. S820
    MaxPower                2mA
Bus 001 Device 005: ID 05ac:120a Apple, Inc. iPod Nano
    MaxPower              500mA
    MaxPower              500mA

หมายเหตุ:ควรสังเกตว่าสิ่งนี้ดูเหมือนจะไม่แสดงจำนวนสูงสุดที่พอร์ตสามารถส่งมอบได้ แต่จำนวนอุปกรณ์สูงสุดที่สามารถวาดที่พอร์ตที่กำหนดซึ่งเชื่อมต่ออยู่

ความคิดเห็นเพิ่มเติม

นอกจากนี้ฉันควรพูดถึงว่าhwinfoมันไม่ใช่แพ็คเกจมาตรฐานที่มีให้สำหรับ Fedora รุ่นเฉพาะของฉัน ฉันต้องดาวน์โหลดและรวบรวมสำหรับตัวฉันเองบน Fedora !


ดังที่เขียนไว้ข้างต้นกับ Tom Wijsman: manpage กล่าวว่าตัวเลือกนั้น-tจะแทนที่-vนั่นหมายความว่าไม่มีการใช้งานเริ่มตัวเลือกทั้งสองในเวลาเดียวกันมันไม่ทำงาน! โปรดลบคำตอบของคุณเนื่องจากคำตอบจาก Tom Wijsman ได้รับการแก้ไขแล้ว
erik

1
ผู้ลงคะแนนจำนวนมากคือผู้ใช้ Windows; ฉันเดาว่ามันเป็นวิธีการจัดการ upvotes มากตอนนี้ฉันเป็นผู้ใช้ Linux ฉันได้ลบ hwinfo และแก้ไขพารามิเตอร์ -t ยังไงก็เถอะฉันจำได้ว่า -t ไม่ได้เอาชนะเมื่อฉันวิจัยครั้งแรก; แต่เวลามีการเปลี่ยนแปลง โปรดรักษาคำตอบของคุณและอาจเน้นไปที่ grep; เพราะคุณเป็นคนแรกที่ชี้ให้เห็นว่าจริง ๆ แล้ว ... +1
Tamara Wijsman

@TomWijsman นั่นเป็นเหตุผลที่คุณควรโพสต์คำตอบหลายคำตอบเป็นหลายคำตอบ: meta.stackexchange.com/a/25210/130885
endolith

@TomWijsman คุณมีหนึ่งคำตอบเกี่ยวกับ Windows และอีกหนึ่งคำตอบเกี่ยวกับ Linux ซึ่งรวมเป็นหนึ่ง คำตอบ Linux ของคุณไม่ถูกต้อง แต่ผู้ใช้ Windows ได้รับการโหวตเนื่องจากส่วน Windows นั่นเป็นสาเหตุที่คำตอบแยกต่างหากควรโพสต์แยกต่างหากเพื่อให้สามารถอัปโหลดหรือลบล้างได้อย่างอิสระ
endolith

@endolith: คุณต้องสับสน OP เป็นผู้ใช้ Linux ที่ตอบรับคำตอบของฉันแล้วยืนยันว่าใช้งานได้ จากภาพหน้าจอจะเห็นได้ว่า Windows แสดงสิ่งนี้เช่นกันยืนยันว่ามันทำงานได้ดีเช่นกัน สิ่งนี้ทำให้มันเป็นหนึ่งเดียวที่ได้รับการยืนยันว่าเป็นผู้ไม่เชื่อเรื่องพระเจ้าซึ่งไม่ได้เป็นโซลูชั่นที่แตกต่างกัน ลิงก์ที่คุณระบุมีไว้สำหรับการแก้ปัญหาที่แตกต่างเช่นคำแนะนำซอฟต์แวร์ซึ่งอยู่นอกหัวข้อที่นี่
Tamara Wijsman

5

คำตอบทั้งหมดผิด ไม่มีวิธีที่จะคิดออกว่าพอร์ต USB ใดพอร์ตหนึ่งสามารถส่งมอบนอกเหนือจากการใช้ "ตัวทดสอบโหลดตัวแปรUSB " และเหวี่ยงขึ้นจนกว่าแรงดันจะลดลงถึง 4V หรือ VBUS จะถูกตัดการเชื่อมต่อกับ "พอร์ตกระแสเกิน" ข้อความหรือทั้งพีซีรีเซ็ตและรีสตาร์ทป้อนคำอธิบายรูปภาพที่นี่

ทุกการออกแบบ (แล็ปท็อปเดสก์ท็อป) มีแนวคิดของตัวเองในการจัดหา VBUS บางตัวใช้สวิทช์ด้านข้างพร้อมตัว จำกัด กระแสไฟฟ้าที่ตั้งไว้ล่วงหน้าบางตัวใช้โพลีฟิวส์ที่ตั้งค่าใหม่ได้ซึ่งมีช่วงการพลิกที่ไม่สามารถจัดการได้บางตัวใช้อะไรเลยเพียงแค่เชื่อมต่อโดยตรงกับรางแรงดันสแตนด์บาย + 5V ภายใน พอร์ต

เครื่องมือซอฟต์แวร์ทั้งหมดใช้การรายงานอย่างเป็นทางการจากอุปกรณ์ซึ่งอาจปิดโดยสมบูรณ์ไม่มีความสัมพันธ์กับความเป็นจริงและอาจไม่สามารถแสดงศักยภาพสูงสุดของพอร์ตได้


ฉันชอบจุดที่คุณทำ แต่ผู้ใช้อาจไม่สนใจศักยภาพสูงสุดเพียงความจุที่โฆษณาไว้
HRJ

@HRJ ความจุที่โฆษณาต้องเขียนในคู่มือผลิตภัณฑ์และพอร์ตจะต้องติดป้ายตามข้อกำหนดของ USB แม้ว่าพอร์ตใหม่ล่าสุดจะมีตัวเชื่อมต่อ Type-C พร้อมความสามารถในการจัดส่งพลังงาน แต่ก็มีอีกมากมายที่จะรู้ว่าโปรไฟล์ใดที่รองรับเว้นแต่คุณจะมีการใช้งานตามหน้าที่ของสถาปัตยกรรมการส่งพลังงาน UCSI msdn.microsoft.com/en-us/library/windows/hardware/…
Ale..chenski

นี้. คำตอบอื่น ๆ เพียงบอกจำนวนอุปกรณ์ที่เชื่อมต่อในปัจจุบันที่เรียกร้องให้วาด ไม่ใช่ความจุสูงสุดของพอร์ต
Julian

2

ใน Windows หากคุณมีคอนโทรลเลอร์ USB 3.0 และไม่มีแอพเพล็ตที่เกี่ยวข้องใน Device Manager คุณสามารถใช้USBDeviewจาก NirSoft

ป้อนคำอธิบายรูปภาพที่นี่


1
สิ่งนี้ดูเหมือนจะให้ค่าปัจจุบันที่ไม่ถูกต้องสำหรับฉัน มีข้อความระบุว่า 500 mA สำหรับพอร์ต Type C ที่โทรศัพท์ของฉันอ้างว่าให้อย่างน้อย 1500 mA
Vanessa Phipps

ใช่. น่าเสียดายที่แอพนี้แสดงเฉพาะพลังงานที่ต่อรองได้ซึ่ง จำกัด โดยขีด จำกัด บนของพอร์ต (500 mAh) ดังนั้นสิ่งนี้จึงไม่ค่อยมีประโยชน์สำหรับอุปกรณ์ที่มีพลังโลภมาก
Suncatcher

ฉันขอขอบคุณการตอบสนองอย่างรวดเร็ว! ที่ยังดูไม่ถูกต้องนัก เพื่อให้ชัดเจนนี่คือพอร์ต Thunderbolt 3 Type C บนแล็ปท็อป Asus Q534 ที่เชื่อมต่อผ่านสาย USB 3.1 Gen 2 Type C ถึง Type C ไปยังโทรศัพท์ Nexus 6P ฉันกำลังพยายามวิเคราะห์สาเหตุที่โทรศัพท์ไม่ได้วาดกระแสสูงสุด 3A ที่ระบุโดย Type C ดังนั้นฉันจึงพยายามค้นหาขีด จำกัด ปัจจุบันของพอร์ตนั้น โดยเฉพาะ Nexus 6P รองรับเฉพาะข้อมูล USB 2.0 แต่สามารถวาด 3A ได้เนื่องจากมาตรฐาน Type C ฉันสงสัยว่า USBDeview พูดว่า "USB 2.0 = 500 mA" ซึ่งไม่จำเป็นต้องเป็นเรื่องจริงอีกต่อไป
Vanessa Phipps

3 A เป็นกระแสไฟชาร์จสูงสุดสำหรับ Type C ฉันสงสัยว่าขีด จำกัด บนพอร์ตนี้จะต่ำกว่า มันสูงกว่า 500 mA อย่างแน่นอน โทรศัพท์ของฉันรายงานว่ามีการเรียกเก็บเงินอย่างน้อย 1,500 mA
Vanessa Phipps
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.