dom0+vm/usb: add USB version to device list displayed by qvm-usb -l'
This commit is contained in:
parent
d37efe031e
commit
14fff45ddd
@ -466,6 +466,7 @@ def usb_list():
|
|||||||
device_re = re.compile(r"^[0-9]+-[0-9]+(_[0-9]+)?$")
|
device_re = re.compile(r"^[0-9]+-[0-9]+(_[0-9]+)?$")
|
||||||
# FIXME: any better idea of desc_re?
|
# FIXME: any better idea of desc_re?
|
||||||
desc_re = re.compile(r"^.{1,255}$")
|
desc_re = re.compile(r"^.{1,255}$")
|
||||||
|
usb_ver_re = re.compile(r"^(1|2)$")
|
||||||
|
|
||||||
devices_list = {}
|
devices_list = {}
|
||||||
|
|
||||||
@ -489,9 +490,15 @@ def usb_list():
|
|||||||
# xenstore doesn't allow dot in key names - was translated to underscore
|
# xenstore doesn't allow dot in key names - was translated to underscore
|
||||||
device = device.replace('_', '.')
|
device = device.replace('_', '.')
|
||||||
visible_name = "%s:%s" % (vm_name, device)
|
visible_name = "%s:%s" % (vm_name, device)
|
||||||
|
# grab version
|
||||||
|
usb_ver = xs.read(xs_trans, '/local/domain/%s/qubes-usb-devices/%s/usb-ver' % (xid, device))
|
||||||
|
if usb_ver is None or not usb_ver_re.match(usb_ver):
|
||||||
|
print >> sys.stderr, "Invalid %s device USB version in VM '%s'" % (device, vm_name)
|
||||||
|
continue
|
||||||
devices_list[visible_name] = {"name": visible_name, "xid":int(xid),
|
devices_list[visible_name] = {"name": visible_name, "xid":int(xid),
|
||||||
"vm": vm_name, "device":device,
|
"vm": vm_name, "device":device,
|
||||||
"desc":device_desc}
|
"desc":device_desc,
|
||||||
|
"usb_ver":usb_ver}
|
||||||
|
|
||||||
xs.transaction_end(xs_trans)
|
xs.transaction_end(xs_trans)
|
||||||
return devices_list
|
return devices_list
|
||||||
|
@ -131,7 +131,7 @@ def main():
|
|||||||
attached_to_str = ""
|
attached_to_str = ""
|
||||||
if attached_to:
|
if attached_to:
|
||||||
attached_to_str = " (attached to %s:%s)" % (attached_to['vm'], attached_to['frontend'])
|
attached_to_str = " (attached to %s:%s)" % (attached_to['vm'], attached_to['frontend'])
|
||||||
print "%s\t%s%s" % (dev['name'], dev['desc'], attached_to_str)
|
print "%s\t%s%s (USBv%s)" % (dev['name'], dev['desc'], attached_to_str, dev['usb_ver'])
|
||||||
exit (0)
|
exit (0)
|
||||||
|
|
||||||
main()
|
main()
|
||||||
|
@ -35,7 +35,7 @@ fi
|
|||||||
XS_KEY="qubes-usb-devices/$XSNAME"
|
XS_KEY="qubes-usb-devices/$XSNAME"
|
||||||
|
|
||||||
xenstore-write "$XS_KEY/desc" "$DESC"
|
xenstore-write "$XS_KEY/desc" "$DESC"
|
||||||
xenstore-write "$XS_KEY/version" "$VERSION"
|
xenstore-write "$XS_KEY/usb-ver" "$VERSION"
|
||||||
|
|
||||||
# Make sure PVUSB backend driver is loaded.
|
# Make sure PVUSB backend driver is loaded.
|
||||||
/sbin/modprobe xen-usbback 2> /dev/null || /sbin/modprobe usbbk
|
/sbin/modprobe xen-usbback 2> /dev/null || /sbin/modprobe usbbk
|
||||||
|
Loading…
Reference in New Issue
Block a user