cfm_usb_devices.py revision 262d965e3808bfd9f33ae486d246a6161fac3b40
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
49# Audio peripherals
50ATRUS = usb_device_spec.UsbDeviceSpec(
51    vid='18d1',
52    pid='8001',
53    product='Hangouts Meet speakermic',
54    interfaces=['snd-usb-audio', 'snd-usb-audio', 'snd-usb-audio', 'usbhid'],
55)
56
57JABRA_SPEAK_410 = usb_device_spec.UsbDeviceSpec(
58    vid='0b0e',
59    pid='0412',
60    product='Jabra SPEAK 410',
61    interfaces=['snd-usb-audio', 'snd-usb-audio', 'snd-usb-audio'],
62)
63
64# MiMOs
65MIMO_VUE_HD_DISPLAY = usb_device_spec.UsbDeviceSpec(
66    vid='17e9',
67    pid='016b',
68    product='MIMO VUE HD',
69    interfaces=['udl'],
70)
71
72MIMO_VUE_HID_TOUCH_CONTROLLER = usb_device_spec.UsbDeviceSpec(
73    vid='266e',
74    pid='0110',
75    product='SiS HID Touch Controller',
76    interfaces=['usbhid'],
77)
78
79# Utility methods
80def get_usb_device_spec(vid_pid):
81  """
82  Look up UsbDeviceSpec based on vid_pid.
83  @return UsbDeviceSpec with matching vid_pid or None if no match.
84  """
85  return usb_device_spec.UsbDeviceSpec.get_usb_device_spec(vid_pid)
86