Clone this repo:
  1. 6a2418e cfm-device-monitor: Update OWNERS to CfM team by Pablo Ceballos · 7 months ago factory-brox-16086.B factory-nissa-16077.B factory-rauru-16167.B firmware-android-rauru-16174.69.B firmware-brox-16080.B firmware-cr50-mp-16160.B firmware-cr50-prepvt-16155.B firmware-ec-R132-16093.3.B firmware-ec-R133-16151.2.B firmware-ec-R134-16181.3.B firmware-ec-R135-16209.5.B firmware-ec-R136-16238.2.B firmware-ec-R137-16267.2.B firmware-lvgl-16187.B firmware-rauru-16174.102.B firmware-rauru-16174.B main release-R132-16093.B release-R133-16151.B release-R134-16181.B release-R135-16209.B release-R136-16238.B release-R137-16267.B stabilize-16093.68.B stabilize-16093.78.B stabilize-16181.43.B stabilize-16181.44.B stabilize-16181.47.B stabilize-16181.48.B stabilize-16197.B stabilize-starline-16082.B stabilize-starline-16084.B stabilize-starline-16093.2.B stabilize-starline-16095.B stabilize-starline-16126.B stabilize-starline-16150.2.B stabilize-starline-16150.B stabilize-starline-16182.8.B stabilize-starline-16182.B stabilize-starline-16216.B stabilize-starline-16232.2.B stabilize-starline-16232.5.B stabilize-starline-16232.B stabilize-starline-16234.2.B stabilize-starline-16234.B stabilize-starline-16245.B stabilize-starline-16246.B stabilize-starline-16261.2.B stabilize-starline-16261.B
  2. d8f5ecc Migrate away from deprecated base::WriteFile by Georg Neis · 8 months ago firmware-R130-16032.B firmware-R131-16062.B firmware-ec-R131-16063.2.B release-R130-16033.B release-R131-16063.B stabilize-16033.43.B stabilize-16033.58.B stabilize-16055.B stabilize-16063.45.B stabilize-starline-16056.B
  3. 4a4a2af mimo-monitor: Adjust reset approach. by Richard Yeh · 9 months ago firmware-R129-16001.B release-R129-16002.B stabilize-16002.44.B stabilize-16002.51.B
  4. 07aabdf camera-monitor: Update CallMethodAndBlock API by Nathan Muggli · 1 year, 9 months ago factory-brya-15684.B factory-geralt-15840.B factory-rex-15708.B firmware-R126-15885.B firmware-R127-15916.B firmware-R128-15963.B firmware-android-15949.B firmware-android-geralt-15842.88.B firmware-cr50-efi-15611.28.B firmware-cr50-mp-15611.B firmware-cr50-prepvt-15608.B firmware-ec-R128-15964.23.B firmware-geralt-15842.B firmware-hps-15892.B firmware-rex-15709.B firmware-ti50-mp-15980.B firmware-ti50-prepvt-15974.B release-R118-15604.B release-R119-15633.B release-R120-15662.B release-R121-15699.B release-R122-15753.B release-R123-15786.B release-R124-15823.B release-R125-15853.B release-R126-15886.B release-R127-15917.B release-R128-15964.B stabilize-15588.B stabilize-15604.16.B stabilize-15604.45.B stabilize-15604.56.B stabilize-15604.57.B stabilize-15610.B stabilize-15633.44.B stabilize-15633.58.B stabilize-15633.69.B stabilize-15642.B stabilize-15654.B stabilize-15662.64.B stabilize-15662.76.B stabilize-15662.78.B stabilize-15662.88.B stabilize-15677.B stabilize-15699.58.B stabilize-15699.66.B stabilize-15714.B stabilize-15753.46.B stabilize-15753.55.B stabilize-15756.B stabilize-15786.48.B stabilize-15786.58.B stabilize-15793.B stabilize-15823.40.B stabilize-15828.B stabilize-15855.B stabilize-15857.B stabilize-15886.46.B stabilize-15886.66.B stabilize-15888.B stabilize-15905.B stabilize-15917.61.B stabilize-15917.65.B stabilize-15926.B stabilize-15964.20.B stabilize-15964.42.B stabilize-15964.9.B stabilize-FLEX-15662.115.B stabilize-hps-15890.B stabilize-quickfix-15662.77.B stabilize-quickfix-15786.49.B stabilize-quickfix-15823.44.B stabilize-quickfix-15886.43.B
  5. 19c3283 camera-monitor: Remove unnecessary (and deprecated) include by Georg Neis · 1 year, 10 months ago release-R117-15572.B stabilize-15561.B stabilize-15562.B stabilize-15563.B stabilize-15564.B stabilize-15572.16.B stabilize-15572.39.B stabilize-15572.4.B stabilize-15572.50.B stabilize-15572.57.B stabilize-15572.63.B

CFM Device Monitor

Source code for CFM peripheral monitors which check the status of CFM devices and guarantee their liveness.

mimo-monitor

The MIMO touch panel is a USB 2.0 device that contains a 1280x800 display and a touch panel.

# Example lsusb output

Bus 001 Device 006: ID 17e9:416d DisplayLink MIMO VUE HD
Bus 001 Device 005: ID 266e:0110 Silicon Integrated Systems SiS HID Touch Controller

/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 2: Dev 3, If 0, Class=Hub, Driver=hub/4p, 480M
        |__ Port 1: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 12M
        |__ Port 3: Dev 6, If 0, Class=Vendor Specific Class, Driver=udl, 480M
        |__ Port 3: Dev 6, If 1, Class=Human Interface Device, Driver=usbhid, 480M

Each minute, the mimo-monitor checks that both logical USB devices are present, and attempts to reset them if not.

sis_monitor

SiS Monitor resets are 6-byte messages sent to the /dev/hidraw# endpoint. This is like an application-level disable/enable.

If you echo '1-2.1' > /sys/bus/usb/drivers/usb/unbind, then the device will disappear from lsusb -t but still be visible on lsusb. This is a lower-level unbind, but not to the level of re-enumeration.