精华内容
下载资源
问答
  • 如何在CMD命令提示符下移除USB设备

    千次阅读 2013-07-22 17:00:09
    首先,你要借助devcon这个微软提供的工具。...使用 DevCon,您可以启用、禁用、重新启动、更新、删除和查询单个设备或一组设备。DevCon 还提供与驱动程序开发人员有关、但无法在设备管理器中看到的信息。可以将 DevCon
    首先,你要借助devcon这个微软提供的工具。如下是微软的介绍(http://support.microsoft.com/kb/311272/zh-cn):
    
    DevCon 实用工具是一种命令行实用工具,可以替代设备管理器。使用 DevCon,您可以启用、禁用、重新启动、更新、删除和查询单个设备或一组设备。DevCon 还提供与驱动程序开发人员有关、但无法在设备管理器中看到的信息。


    可以将 DevCon 用于 Microsoft Windows 2000、Windows XP 和 Windows Server 2003,但不能将其用于 Windows 95、Windows 98 或 Windows Millennium Edition
    其次,你需要记住如下命令:


    (1)、devcon remove USB\Class_08,移除连接在电脑上的USB移动存储设备。进行该操作之后,就可以将USB设备拔掉了。
    (2)、如果你使用了第三个命令之后没有拔掉USB设备,你想让他重新识别,也可以。记住以下的命令:
           devcon rescan,这个时候电脑会重新扫描硬件改动,从而让USB重新被识别。
    展开全文
  • 重置USB设备

    千次阅读 2018-11-12 19:42:34
    问题:是否可以重置USB设备的连接,而无需从计算机断开连接/连接?具体来说我的设备是数码相机。 我正在使用 gphoto2,但最近我得到了"设备读取错误",所以我想尝试执行连接的软件重置。我可以...

    @TOC





    问题:

    是否可以重置USB设备的连接,而无需从计算机断开连接/连接?

    具体来说我的设备是数码相机。 我正在使用 gphoto2,但最近我得到了"设备读取错误",所以我想尝试执行连接的软件重置。

    我可以看出,摄像头没有加载内核模块。 唯一看上去相关的是 usbhid


    回答 1:

    将以下内容保存为 usbreset.c

    复制代码
    /* usbreset – send a USB port reset to a USB device /
    #include <stdio.h>
    #include <unistd.h>
    #include <fcntl.h>
    #include <errno.h>
    #include <sys/ioctl.h>
    #include <linux/usbdevice_fs.h>
    int main(int argc, char **argv)
    {
    const char filename;
    int fd;
    int rc;
    if (argc!= 2) {
    fprintf
    (stderr,“Usage: usbreset device-filenamen”);
    return 1;
    }
    filename
    = argv[1];
    fd
    = open(filename, O_WRONLY);
    if (fd <0) {
    perror
    (“Error opening output file”);
    return 1;
    }
    printf
    (“Resetting USB device %sn”, filename);
    rc
    = ioctl(fd, USBDEVFS_RESET, 0);
    if (rc <0) {
    perror
    (“Error in ioctl”);
    return 1;
    }
    printf
    (“Reset successfuln”);
    close
    (fd);
    return 0;
    }

    在终端中运行以下命令:

    • 编译程序:

      复制代码
      $ cc usbreset.c -o usbreset
    • 获取要重置的USB设备的总线和设备 ID:

      复制代码
      $ lsusb
      Bus 002 Device 003: ID 0fe9:9010 DVICO
    • 使编译后的程序成为可执行文件:

      复制代码
      $ chmod +x usbreset
    • 使用sudo特权执行程序,在运行 lsusb 命令时,对 <Bus><Device> id进行必要的替换:

      复制代码
      $ sudo./usbreset/dev/bus/usb/002/003 
    • 上程序来源:http://marc.info/?l=linux-usb&m=121459435621262&w=2


    回答 2:

    我没有在你的特定情况下找到自己,所以我不确定它是否能够做到,但是我找到了 ( 无需外部应用)

    复制代码
    sudo sh -c"echo 0>/sys/bus/usb/devices/1-4.6/authorized"
    sudo sh
    -c"echo 1>/sys/bus/usb/devices/1-4.6/authorized"

    这是我用来重置我的for的实际方法,因为libfreenect似乎没有将它放回睡眠的API 。 它在我的foaf框中,但内核应该足够新,以使用相同的路径结构。

    当然,我们可以使用 1-4.6 来获取供应商和产品 ID,然后使用像这样的快速命令来列出供应商和产品 ID,以列出路径与不同厂商/产品ID对的关系:

    复制代码
    for X in/sys/bus/usb/devices/; do
    echo" X &quot; c a t &quot; X&quot; cat&quot; X"cat"X/idVendor" 2>/dev/null
    cat"KaTeX parse error: Expected 'EOF', got '&' at position 15: X/idProduct" 2&̲gt;/dev/null e…i"
    ] || continue
    echo
    "KaTeX parse error: Expected '}', got '#' at position 3: {i#̲#*/}"</span><sp…{i%/}/unbind"
    echo
    "KaTeX parse error: Expected '}', got '#' at position 3: {i#̲#*/}"</span><sp…{i%/*}/bind"
    done

    我相信这会解决你的问题。 如果不想重置所有的USB端点,可以从 /sys/bus/pci/drivers/ehci_hcd 中使用适当的设备 ID

    注:[1]: *hci_hcd 内核驱动程序通常控制USB端口。 ohci_hcduhci_hcd 用于 USB1.1 端口,ehci_hcd 用于USB2端口,xhci_hcd 用于usb端口。 ( 请参阅 https://en.wikipedia.org/wiki/Host_controller_interface_(USB,Firewire) )


    回答 4:

    我需要在 python 脚本中自动化这个问题,因这里我适合于以下方面的基本应答:

    复制代码
    #!/usr/bin/env python
    import os
    import sys
    from subprocess import Popen, PIPE
    import fcntl
    driver
    = sys.argv[-1]
    print"resetting driver:", driver
    USBDEVFS_RESET
    = 21780
    try:
    lsusb_out
    = Popen(“lsusb | grep -i %s”%driver, shell=True, bufsize=64, stdin=PIPE, stdout=PIPE, close_fds=True).stdout.read().strip().split()
    bus
    = lsusb_out[1]
    device
    = lsusb_out[3][:-1]
    f
    = open("/dev/bus/usb/%s/%s"%(bus, device), ‘w’, os.O_WRONLY)
    fcntl
    .ioctl(f, USBDEVFS_RESET, 0)
    except Exception, msg:
    print"failed to reset device:", msg

    在我的例子中,它是cp210x驱动( 我可以从 lsmod | grep usbserial ),因此可以将上面的代码段保存为 reset_usb.py,然后执行以下操作:

    复制代码
    sudo python reset_usb.py cp210x

    如果你的系统上没有c 编译器设置,这也可以能会有帮助,但是你有 python 。


    回答 5:

    我正在用一种锤子重新加载模块。 这是我的usb_reset.sh 脚本:

    复制代码
    #!/bin/bash
    # USB drivers
    rmmod xhci_pci
    rmmod ehci_pci
    # uncomment if you have firewire
    #rmmod ohci_pci
    modprobe xhci_pci
    modprobe ehci_pci
    # uncomment if you have firewire
    #modprobe ohci_pci

    这是我的systemd服务文件/usr/lib/systemd/system/usbreset. 服务,它在我的diplay管理器启动后运行 usb_reset.sh:

    复制代码
    [Unit]
    Description=usbreset Service
    After=gdm.service
    Wants=gdm.service
    [Service]
    Type=oneshot
    ExecStart=/path/to/usb_reset.sh

    回答 6:

    重置的最快方式是重置USB控制器本身。 这样做将强制udev在断开连接时注销设备,并且 register 在你启用它后返回。

    复制代码
    echo -n"0000:00:1a.0" | tee/sys/bus/pci/drivers/ehci_hcd/unbind
    echo
    -n"0000:00:1d.0" | tee/sys/bus/pci/drivers/ehci_hcd/unbind
    echo
    -n"0000:00:1a.0" | tee/sys/bus/pci/drivers/ehci_hcd/bind
    echo
    -n"0000:00:1d.0" | tee/sys/bus/pci/drivers/ehci_hcd/bind

    这对于大多数电脑环境都适用。 但是,如果你使用的是一些定制硬件,你可以简单地迭代设备名称。 使用这里方法,你不需要通过lsusb查找设备 NAME 。 你也可以在自动脚本中加入。


    回答 7:

    问题的特殊情况是gphoto2在USB上的通信问题,在gphoto2中有一个选项可以重置它的USB连接:

    复制代码
    gphoto2 reset

    可能这里选项在询问问题时不存在于 2010中。


    回答 8:

    我制作了一个 python 脚本,它将根据设备号重置特定的USB设备。 你可以从命令lsusb中找到设备号。

    例如:

    复制代码
    $ lsusb
    Bus 002 Device 004: ID 046d:c312 Logitech, Inc. DeLuxe 250 Keyboard

    在这里字符串 004中是设备号

    复制代码
    import os
    import argparse
    import subprocess
    path
    =’/sys/bus/usb/devices/’
    def runbash(cmd):
    p
    = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
    out
    = p.stdout.read().strip()
    return out
    def reset_device(dev_num):
    sub_dirs
    = []
    for root, dirs, files in os.walk(path):
    for name in dirs:
    sub_dirs
    .append(os.path.join(root, name))
    dev_found
    = 0
    for sub_dir in sub_dirs:
    if True os.path.isfile(sub_dir+’/devnum’):
    fd
    = open(sub_dir+’/devnum’,‘r’)
    line
    = fd.readline()
    if int(dev_num) int(line):
    print ('Your device is at: ‘+sub_dir)
    dev_found
    = 1
    break
    fd
    .close()
    if dev_found 1:
    reset_file
    = sub_dir+’/authorized’
    runbash
    ('echo 0> '+reset_file)
    runbash
    (‘echo 1> ‘+reset_file)
    print (‘Device reset successful’)
    else:
    print (“No such device”)
    def main():
    parser
    = argparse.ArgumentParser()
    parser
    .add_argument(’-d’, ‘–devnum’, dest=‘devnum’)
    args
    = parser.parse_args()
    if args.devnum is None:
    print(‘Usage:usb_reset.py -d <device_number> nThe device number can be obtained from lsusb command result’)
    return
    reset_device
    (args.devnum)
    if namemain:
    main
    ()

    回答 9:

    下面的脚本将只重置匹配的产品/供应商 ID 。

    复制代码
    #!/bin/bash
    set -euo pipefail
    IFS
    =$‘nt’
    VENDOR
    =“045e”
    PRODUCT
    =“0719”
    for DIR in $(find/sys/bus/usb/devices/-maxdepth 1 -type l); do
    if [[ -f $DIR/idVendor && -f $DIR/idProduct &&
    $
    (cat $DIR/idVendor) $VENDOR && $(cat $DIR/idProduct) $PRODUCT ]]; then
    echo
    0> $DIR/authorized
    sleep
    0.5
    echo
    1> $DIR/authorized
    fi
    done

    回答 10:

    有人订购了sledgehammer? 这是由不同的答案拼凑在一起的。

    复制代码
    #!/bin/bash
    # Root required
    if (( UID )); then
    exec sudo
    " 0 &quot; &quot; 0&quot;&quot; 0""@"
    fi
    cd
    /sys/bus/pci/drivers
    function reinit {(
    local d= 1 &quot; &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p l n &quot; &gt; t e s t &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p u n &quot; &gt; − &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p l n &quot; &gt; e &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; s t r &quot; &gt; &quot; 1&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; test &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot; 1"</span><spanclass="pln">test</span><spanclass="pun"></span><spanclass="pln">e</span><spanclass="str">"d” || return
    rmmod
    " d &quot; &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p l n &quot; &gt; c d &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; s t r &quot; &gt; &quot; d&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; cd&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot; d"</span><spanclass="pln">cd</span><spanclass="str">"d"
    for i in &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p u n &quot; &gt; ( &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p l n &quot; &gt; l s &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p u n &quot; &gt; ∣ &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p l n &quot; &gt; g r e p &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p u n &quot; &gt; : ) ; &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p l n &quot; &gt; &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; k w d &quot; &gt; d o &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p l n &quot; &gt; e c h o &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; s t r &quot; &gt; &quot; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;ls &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; grep &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;:);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;do&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; echo&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot; </span><spanclass="pun">(</span><spanclass="pln">ls</span><spanclass="pun"></span><spanclass="pln">grep</span><spanclass="pun">:);</span><spanclass="pln"></span><spanclass="kwd">do</span><spanclass="pln">echo</span><spanclass="str">"i"> unbind
    done
    sleep
    1
    for i in &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p u n &quot; &gt; ( &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p l n &quot; &gt; l s &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p u n &quot; &gt; ∣ &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p l n &quot; &gt; g r e p &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p u n &quot; &gt; : ) ; &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p l n &quot; &gt; &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; k w d &quot; &gt; d o &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p l n &quot; &gt; e c h o &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; s t r &quot; &gt; &quot; &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt;ls &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; grep &lt;/span&gt;&lt;span class=&quot;pun&quot;&gt;:);&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot;&gt;do&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; echo&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot; </span><spanclass="pun">(</span><spanclass="pln">ls</span><spanclass="pun"></span><spanclass="pln">grep</span><spanclass="pun">:);</span><spanclass="pln"></span><spanclass="kwd">do</span><spanclass="pln">echo</span><spanclass="str">"i"> bind
    done
    modprobe
    "$d"
    )}
    for d in?hci???; do
    echo
    " - d &quot; &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; p l n &quot; &gt; r e i n i t &lt; / s p a n &gt; &lt; s p a n c l a s s = &quot; s t r &quot; &gt; &quot; d&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot;&gt; reinit&lt;/span&gt;&lt;span class=&quot;str&quot;&gt;&quot; d"</span><spanclass="pln">reinit</span><spanclass="str">"d"
    done


    展开全文
  • android usb host 读写USB设备

    千次阅读 2014-04-25 23:41:44
    自android3.1以后android增加了操作USB设备的API。 网上也有很多这方面的文章,不过多数是介绍如何得到设备和获取权限的,很少有介绍如何读写数据的。 最近也研究了在android下如何读写USB设备,和大家分享一下。 ...
    

    http://blog.csdn.net/centralperk/article/details/9312401


    自android3.1以后android增加了操作USB设备的API。

    网上也有很多这方面的文章,不过多数是介绍如何得到设备和获取权限的,很少有介绍如何读写数据的。

    最近也研究了在android下如何读写USB设备,和大家分享一下。

    关于如何监听设备插拔以及获取设备权限我就不说了,大家可以在网上搜一下有很多这方面的文章,我这里就说一下如何读写数据。


    1.                      UsbInterface usbInterface = usbDevice.getInterface(0);  
    2. //USBEndpoint为读写数据所需的节点  
    3. UsbEndpoint inEndpoint = usbInterface.getEndpoint(0);  //读数据节点  
    4. UsbEndpoint outEndpoint = usbInterface.getEndpoint(1); //写数据节点  
    5. UsbDeviceConnection connection = usbManager.openDevice(usbDevice);  
    6. connection.claimInterface(usbInterface, true);  
    7.   
    8. //发送数据  
    9. byte[] byte2 = new byte[64];  
    10. int out = connection.bulkTransfer(outEndpoint, cmd, cmd.length, 3000);  
    11.   
    12. //读取数据1   两种方法读取数据  
    13. int ret = connection.bulkTransfer(inEndpoint, byte2, byte2.length, 3000);  
    14. Log.e("ret""ret:"+ret);  
    15. for(Byte byte1 : byte2){  
    16.     System.err.println(byte1);  
    17. }  
    18.   
    19. //读取数据2  
    20. /*int outMax = outEndpoint.getMaxPacketSize(); 
    21. int inMax = inEndpoint.getMaxPacketSize(); 
    22. ByteBuffer byteBuffer = ByteBuffer.allocate(inMax); 
    23. UsbRequest usbRequest = new UsbRequest(); 
    24. usbRequest.initialize(connection, inEndpoint); 
    25. usbRequest.queue(byteBuffer, inMax); 
    26. if(connection.requestWait() == usbRequest){ 
    27.     byte[] retData = byteBuffer.array(); 
    28.     for(Byte byte1 : retData){ 
    29.         System.err.println(byte1); 
    30.     } 
    31. }*/  
                            UsbInterface usbInterface = usbDevice.getInterface(0);
    			//USBEndpoint为读写数据所需的节点
    			UsbEndpoint inEndpoint = usbInterface.getEndpoint(0);  //读数据节点
    			UsbEndpoint outEndpoint = usbInterface.getEndpoint(1); //写数据节点
    			UsbDeviceConnection connection = usbManager.openDevice(usbDevice);
    			connection.claimInterface(usbInterface, true);
    			
    			//发送数据
    			byte[] byte2 = new byte[64];
    			int out = connection.bulkTransfer(outEndpoint, cmd, cmd.length, 3000);
    			
    			//读取数据1   两种方法读取数据
    			int ret = connection.bulkTransfer(inEndpoint, byte2, byte2.length, 3000);
    			Log.e("ret", "ret:"+ret);
    			for(Byte byte1 : byte2){
    				System.err.println(byte1);
    			}
    			
    			//读取数据2
    			/*int outMax = outEndpoint.getMaxPacketSize();
    			int inMax = inEndpoint.getMaxPacketSize();
    			ByteBuffer byteBuffer = ByteBuffer.allocate(inMax);
    			UsbRequest usbRequest = new UsbRequest();
    			usbRequest.initialize(connection, inEndpoint);
    			usbRequest.queue(byteBuffer, inMax);
    			if(connection.requestWait() == usbRequest){
    				byte[] retData = byteBuffer.array();
    				for(Byte byte1 : retData){
    					System.err.println(byte1);
    				}
    			}*/


    首先得到可以操作USB设备的节点Endpoint,0为读数据节点,1未写数据节点。

    然后使用connection.bulkTransfer(endpoint, buffer, length, timeout) 发送数据。

    我这里读数据的时候有两种方法,读数据1和读数据2

    注意:写数据时传入的是写数据节点OutEndpoint,读数据时传入的是读数据节点InEndpoint。

    代码下载:http://download.csdn.net/detail/centralperk/5743323


    小备注:

    回复yangyunchenrt:1.确定设备列表中有你的设备
    2.usbManager.requestPermission(usbDevice, pendingIntent);调用这句代码时有没有弹出一个系统授权框
    3.确认设备是否有收到下发数据
    
    展开全文
  • 1.usb设备重定向 实现的效果,如图1 各种usb-串口、视频usb、打印机 !!如果你参考我的资料,依然不能解决问题,可以参考博客:https://yq.aliyun.com/articles/457336 2.修改几点--双击修改! 1)win+r输入...

    1.usb设备重定向 实现的效果,如图1

    各种usb-串口、视频usb、打印机

    !!如果你参考我的资料,依然不能解决问题,可以参考博客:https://yq.aliyun.com/articles/457336

    2.修改几点--双击修改!

    1)win+r输入gpedit.msc 查到如下地址--进行-注册表修改

    计算机配置\策略 \管理模板 \ Windows 组件\ 远程桌面服务 \远程桌面连接客户端\ RemoteFX USB

    启用为--用户和管理员!!!!

    2)计算机配置\策略 \管理模板 \ Windows 组件\ 远程桌面服务 \远程桌面会话主机\设备和资源重定向

    打印机可以自己选择开启相应的重定向!!!!!!

    3)修改虚拟机配置!

    4)刷新组策略

    刷新组策略-win+r输入cmd进入命令行,命令行输入gpupdate /force等待几秒钟成功刷新刚才注册表的修改

    5)重启-刷新虚拟机设置

    如果重启虚拟机没有成功出现小电脑标识,可以尝试重启电脑试一试!

    如上还不成功,可以查看一下,windows组件中有一个关闭“设备重定向”的选项,将其设定为禁用状态(即启用设备重定向!)

     

    展开全文
  • usb 设备 复位

    千次阅读 2019-09-27 15:46:18
    How to Reset USB Device in Linux byROMAN10onMAY 4, 2011·9 COMMENTS USB devices are anywhere nowadays, even many embedded devices replace the traditional serial devic...
  • Linux:复位USB设备

    2021-02-26 17:52:31
    Linux:复位USB设备 文章目录Linux:复位USB设备前言一、基本原理二、代码实例总结 前言 在Ubuntu16.04下开发SDR设备数据处理程序时,msi.sdr设备有时运行几个小时后就会出现获取数据失败的情况,猜测是设备本身的...
  • 批处理禁用USB设备.txt

    2010-12-08 09:27:28
    批处理禁用USB设备.txt
  • USB设备无法使用

    2014-04-17 00:28:57
    USB设备无法使用,鼠标、键盘灯不亮,USB集线器也不能使用,插U盘也无反映等解决方法 症状:Windows 7系统里所有USB设备无法使用,鼠标、键盘灯不亮,USB集线器也不能使用,插U盘也无反映。简而言之,...
  • USB现在已经成为PC机必不可少的接口之一,几乎所有的设备都可以接在USB设备上,USB键盘、鼠标、打印机、摄像头,还有常用的U盘等等,从本篇文 章开始,将集中篇幅介绍一下在DOS中使用USB设备的方法,具体会有几篇暂...
  • uboot usb设备驱动

    2020-07-10 23:53:10
    介绍usb device设备驱动 uboot在init_dm中会扫描dtb和代码中driver进行匹配,匹配成功就调用driver驱动进行bind 以dwc3为例进行介绍 DTS中定义 usb0: usb0@ff9d0000 { #address-cells = <2>; #size-cells = ...
  • 一、前言基于Linux 平台USB驱动开发,主要有内核驱动的开发和libusb的无驱设计;首先为什么要选第三方库Libusb,可能是基于Libusb的程序只涉及到应用层,使用起来更加方便;如果是在内核驱动,就要考虑到内核大小、...
  • 获取当前电脑所有插入USB设备的PID和VID,检测设备,识别不同的厂商。
  • 1. Linux下USB设备节点名不固定问题经常会遇到   以USB转串口设备为例,通常设备节点名为ttyUSBx(x为0~n),Linux内核会根据设备插入的先后顺序进行编号的分配,比如第一个插入的设备编号为ttyUSB0,然后依此加1,...
  • 通过USB VID和PID卸载USB设备

    千次阅读 2009-12-23 15:58:00
    以前也发过一几篇关于卸载USB设备的文章,其实原理都是一样都是使用同一个API "CM_Request_Device_Eject_ExW"来完成卸载工作,上一篇是通过遍历USB接点实现,这篇文章直接通过USB 的VID和PID获取其对应的DevInst来...
  • 打印机首先, 我是用的是usb打印机, 在使用前还要安装相应产品的驱动,正常鼠标操作打印时没有问题的2.确认计算机的全名此电脑->属性->高级系统设置->计算机名->计算机全名(等会的cmd命令要用) (由于系统的差异...
  • u盘插入电脑,提示“无法识别的usb设备”。 U盘插进电脑里,提示无法识别USB设备是为什么? 维修思路:对于此现象,首先的一点说明u盘的电路基本正常,而只是跟电脑通信方面来有故障,而对于通信方面有以下几点...
  • 获取usb设备的pid, vid, locationid. 大家知道usb设备都有pid,vid,locationid,当USB设备连接电脑时,如果设备名字重新插拔后变化,那么无法获取,就得重新配置信息,然后进行通信。为此写了个程序来获取locationid,...
  • 无法识别usb设备如何解决

    千次阅读 2015-07-09 16:39:52
    usb无法识别主要是以下几个思路出发,首先如果是初次在一台电脑上,当出现usb无法识别的时候,需要做的是分析清楚到底是usb设备产品的问题还是电脑或线路的问题以及是否存在驱动问题。当以前使用过该usb设备,现在不...
  • Linux下USB设备自动复位的软件实现

    千次阅读 2019-05-17 17:02:56
    实际生成环境中肯定不能容忍这种情况发生,所以需要实现一种检测到usb设备异常后能够自动复位的功能 思路 先找资料,去网上搬砖 再拿来直接用,在使用过程中找出不足之处 对缺点进行改进,形成通用库并进行...
  • STM32配置USB组合设备

    千次阅读 2020-11-11 16:48:11
    我把USB的枚举比作一个自我介绍,在插入后主机会询问USB设备的属性,而设备则像自我介绍一样告诉主机自己的“名字”,“年龄”,“证件号”,“母语”等等。主机也是根据这些来区分插入的设备的。 因此,我们可以做...
  • 1. Linux下USB设备节点名不固定问题经常会遇到 以USB转串口设备为例,通常设备节点名为ttyUSBx(x为0~n),Linux内核会根据设备插入的先后顺序进行编号的分配,比如第一个插入的设备编号为ttyUSB0,然后依此加1,...
  • Win10查看电脑曾经连接过的USB设备

    千次阅读 2021-01-12 22:57:56
    1.系统在加载驱动的时候就会把USB存储设备型号记在注册表里...4.导出到文本文档中查看所有的插过的USB存储设备 #命令提示符中输入 reg query HKLM\System\currentcontrolset\enum\usbstor /s >c:\usb.txt 5.文本中
  • Mac获取usb设备的pid

    千次阅读 2019-04-11 14:06:44
    获取locationid,pid,vid 唯一的标识具体如下: ...需要注意的:IOUSBDeviceInterface500这个接口需要根据具体的macOS版本决定,最新版系统使用老接口如:IOUSBDeviceInterface 就会读取不到usb设备 参考博文:ht...
  • USB Audio accessory设备

    千次阅读 2015-09-07 22:26:25
    USB Audio accessory设备
  • qDebug()<<"QR---receive CMD Data";

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,307
精华内容 7,722
关键字:

cmdusb设备