cfm_usb_devices.py revision 6a0cc28d3fc2a71de8e47eb6876cdc56673ca86d
1"""CfM USB device constants. 2 3This module contains constants for known USB device specs. 4 5A UsbDeviceSpec instance represents a known USB device and its spec; 6 - VendorID 7 - ProdID 8 - interfaces 9 10This is different from a UsbDevice instance which represents a device actually 11connected to the CfM and found by the usb-device command. 12 13A UsbDevice instance found connected to a CfM is expected to match a known 14UsbDeviceSpec (mapping is done using vid:pid), but due to bugs that might 15not be the case (list of interfaces might be different for example). 16""" 17 18from autotest_lib.client.common_lib.cros.cfm.usb import usb_device_spec 19 20# Cameras 21HUDDLY_GO = usb_device_spec.UsbDeviceSpec( 22 vid='2bd9', 23 pid='0011', 24 product='Huddly GO', 25 interfaces=['uvcvideo', 'uvcvideo', 'uvcvideo', 'uvcvideo'], 26) 27 28LOGITECH_WEBCAM_C930E = usb_device_spec.UsbDeviceSpec( 29 vid='046d', 30 pid='0843', 31 product='Logitech Webcam C930e', 32 interfaces=['uvcvideo', 'uvcvideo', 'snd-usb-audio', 'snd-usb-audio'] 33) 34 35HD_PRO_WEBCAM_C920 = usb_device_spec.UsbDeviceSpec( 36 vid='046d', 37 pid='082d', 38 product='HD Pro Webcam C920', 39 interfaces=['uvcvideo', 'uvcvideo', 'snd-usb-audio', 'snd-usb-audio'], 40) 41 42PTZ_PRO_CAMERA = usb_device_spec.UsbDeviceSpec( 43 vid='046d', 44 pid='0853', 45 product='PTZ Pro Camera', 46 interfaces=['uvcvideo', 'uvcvideo', 'usbhid'], 47) 48 49PTZ_PRO_2_CAMERA = usb_device_spec.UsbDeviceSpec( 50 vid='046d', 51 pid='085f', 52 product='PTZ Pro 2 Camera', 53 interfaces=['uvcvideo', 'uvcvideo', 'usbhid'], 54) 55 56# Audio peripherals 57ATRUS = usb_device_spec.UsbDeviceSpec( 58 vid='18d1', 59 pid='8001', 60 product='Hangouts Meet speakermic', 61 interfaces=['snd-usb-audio', 'snd-usb-audio', 'snd-usb-audio', 'usbhid'], 62) 63 64JABRA_SPEAK_410 = usb_device_spec.UsbDeviceSpec( 65 vid='0b0e', 66 pid='0412', 67 product='Jabra SPEAK 410', 68 interfaces=['snd-usb-audio', 'snd-usb-audio', 'snd-usb-audio'], 69) 70 71# MiMOs 72MIMO_VUE_HD_DISPLAY = usb_device_spec.UsbDeviceSpec( 73 vid='17e9', 74 pid='016b', 75 product='MIMO VUE HD', 76 interfaces=['udl'], 77) 78 79MIMO_VUE_HID_TOUCH_CONTROLLER = usb_device_spec.UsbDeviceSpec( 80 vid='266e', 81 pid='0110', 82 product='SiS HID Touch Controller', 83 interfaces=['usbhid'], 84) 85 86# Utility methods 87def get_usb_device_spec(vid_pid): 88 """ 89 Look up UsbDeviceSpec based on vid_pid. 90 @return UsbDeviceSpec with matching vid_pid or None if no match. 91 """ 92 return usb_device_spec.UsbDeviceSpec.get_usb_device_spec(vid_pid) 93