usb透传

作者: mqddb | 来源:发表于2017-08-10 15:31 被阅读0次

项目需要,将host os的usb设备透传给guest os,同时实现usb设备的过滤功能。
首先,将这个功能分解为几个小功能:

  • usb设备拔插事件的侦测。
    用pyudev侦测linux系统中的设备插入,拔出事件。
  • usb设备类型的判断。参考一
    用pyusb获取usb设备interface类型信息。
  • libvirt usb设备透传的实现。
    这里用到了libvirt的python api。顺便说一下我怎么学习python的?
我怎么学习Python

Python学起来真的是太舒服了,你可以通过写代码来学习。怎么说,就比如说libvirt的python api,怎么学习,上网查api?不用!几个简单的build-in function:type(), dir(), help()。这就够了。

#!/usr/bin/evn python
#-*- coding: utf-8 -*-

import libvirt
help(libvirt)
#基本上重要的东西都在下面了
#通过libvirt.open(),获得virConnect
#通过virtConnect.lookupByName(),获得virDomain
'''
CLASSES
    __builtin__.object
        virConnect
        virDomain
        virDomainSnapshot
        virInterface
        virNWFilter
        virNetwork
        virNodeDevice
        virSecret
        virStoragePool
        virStorageVol
        virStream
    exceptions.Exception(exceptions.BaseException)
        libvirtError
'''
#查看某个类的函数列表用dir()

整个思路就是通过调用virDomain.attachDevice(),virDomain.detachDevice()实现设备在Guest的热插拔。现在问题是透传给Guest前需要先将设备从Host拔出,拔出的方法就是调用virNodeDevice.dettach()方法。如何通过vid,pid获取virNodeDevice呢?

最新消息,调用:

virsh attach-device login usb-mouse.xml

失败,信息如下:

error: Failed to attach device from usb-mouse.xml
error: internal error: unable to execute QEMU command 'device_add': failed to open host usb device 1:5

什么情况?
问题终于弄清楚了,只能说HCI(host controller interface)水很深,还是有必要了解清楚Qemu的usb device passthrough的基本架构的!

相关文章

  • usb透传

    项目需要,将host os的usb设备透传给guest os,同时实现usb设备的过滤功能。首先,将这个功能分解为...

  • arduino程序烧写黑科技(无线烧写代码)

    电脑连接usb串口然后转透传模块(蓝牙、无线串口模块),arduino串口连接对应透传模块,然后波特率设置成115...

  • 透传

    透传,即透明传输(pass-through),指的是在通讯中不管传输的业务内容如何,只负责将传输的内容由源地址传输...

  • 透传

    https://www.amazon.cn/dp/B07WKNQ8JThttps://www.amazon.cn/...

  • 数据透传最基础的东西,看完秒懂

    什么是数据透传?透传是指与传输网络的介质、调制解调方式、传输方式、传输协议无关的一种数据传送方式。数据透传即透明传...

  • 蓝牙透传——介绍蓝牙最简单、最常见的通讯方式

    说到低功耗蓝牙模块,少不了要说说低功耗蓝牙模块中最简单、最常见的通讯方式——透传。透传也叫串口透传,就是透明传输的...

  • mui 透传

    mui 构建的app支持用个推的方式推送通知消息到手机app里,因为时间有限,所以不进行总结梳理,相关链接见下: ...

  • Hbuilder集成个推注意事项

    注意事项 1. 后台一定要用透传,一定要用透传,一定要用透传 推送模板:个推的模板有好几个,为了能给安卓和ios都...

  • Luat实例教程:tcp透传

    本示例实现的功能是:基于TCP的socket透传demo项目,uart1透传数据到指定服务器。 功能描述: 1、数...

  • 环信透传

    1、发透传消息 //通过透传发送当前位置信息给领导EMChatCommand*shareCommand = [[E...

网友评论

      本文标题:usb透传

      本文链接:https://www.haomeiwen.com/subject/fhshrxtx.html