Installing Kubuntu 15.04 on a Thinkpad Helix 2nd generation

From ThinkWiki
Revision as of 12:37, 28 April 2015 by Owlman (Talk | contribs) (add debug/hid output)
Jump to: navigation, search


Todo

FIXME
ThinkPad Ultrabook Pro Keyboard kernel problems
  • [Owlman] document and investigate keyboard
  • [Owlman] investigate ACPI events for hotkeys
  • [Owlman] Move working hardware to ThinkPad Helix hardware specifications and create device pages where necessary
  • [Owlman] Add information for Xorg drivers
  • [Maliit/Kubuntu (post vivid)] virtual keyboard for Qt/KDE
  • [Kubuntu (post vivid)] Xorg/libinput integration
    • package xserver-xorg-input-libinput
    • package systemsettings module for libinput ?


Hardware Status

Tablet/Slate

Processor

  • Intel Core M-5Y71 Processor (4M Cache, 1.2GHz), Turbo Boost 2.0 (2.9GHz), Intel vPro™ Technology

Graphics

  • Intel HD Graphics 5300 in processor, supports external digital monitor via micro HDMI; supports dual independent display; max. resolution: 1920x1080@60Hz (micro HDMI)

[ 1.718456] ACPI: Video Device [VID] (multi-head: yes rom: no post: no) [ 1.718804] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input6

  • 11.6" FHD (1920x1080) display
  • micro HDMI port

Input Devices

  • Multitouch screen (Atmel ATML1000 touch device on i2c bus(?) supported by hid-multitouch kernel module (working)
  • Wacom digitizer and pen (supported by i2c_hid kernel module - working? (not sure how to test))

sys/bus/hid/devices/0018:056A:0114.0002 -> ../../../devices/pci0000:00/INT3433:00/i2c-8/i2c-WCOM0009:00/0018:056A:0114.0002

  • Cameras
    • Front: 2.0-megapixel, 1080p resolution, fixed focus
    • Rear: 5.0-megapixel, 1080p resolution, auto focus

[ 2.168557] usb 1-1: New USB device found, idVendor=04f2, idProduct=b45b [ 2.168559] usb 1-1: New USB device strings: Mfr=3, Product=1, SerialNumber=2 [ 2.168561] usb 1-1: Product: Integrated Rear Camera [ 2.168563] usb 1-1: Manufacturer: Chicony Electronics Co.,Ltd. [ 2.168564] usb 1-1: SerialNumber: 0x0001

Other

  • Storage M.2 SSD: 128GB or 256GB (OPAL)
  • Audio support (not working)
    • Intel Smart Sound HD Audio, Realtek® ALC286-VC codec
      • stereo speakers, 0.7 watt x 2
      • digital microphones
      • combo audio/microphone jack
  • Wireless LAN Intel Dual Band Wireless-AC 7265 (working with iwlwifi driver) with Bluetooth® 4.0
  • Sierra EM7345
    • Wireless WAN (working? - listed in network interfaces but not tested yet (syslog reports no sim inserted))
    • GPS (status unknown)
  • Broadcom NFC smart card reader (status unknown)
  • Fingerprint reader (status unknown)
  • Sensors (status unknown)
    • Accelerometer
    • simple device orientation sensor?
    • hid sensor collection
  • Ports
    • USB 3.0 (working)
    • Micro SD (status unknown)
    • Micro HDMI (working)
    • Dock Connector (for keyboard - see below)
  • Power and Battery
    • Lid Switch as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0D:00/input/input0 (ACPI: Lid Switch [LID])
    • Sleep Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input1 (ACPI: Sleep Button [SLPB])
    • Power Button as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input2 (ACPI: Power Button [PWRB])
    • thermal LNXTHERM:00: registered as thermal_zone0 (ACPI: Thermal Zone [THM0] (50 C))
    • ACPI: Battery Slot [BAT0] (battery present)

ThinkPad Ultrabook Pro Keyboard (Part Number:4X30G93893)

  • Lenovo keyboard
FIXME
(works in grub, not in linux)
  • TrackPoint® pointing device (partially working: buttons scroll, not click. configuration issue in Xorg?)
  • Multitouch clickpad with 3+2 buttons (appears to be working fine: some actions need to be configured in system-settings)
    • Actions:
      • left click (one finger tap)
      • right click (two finger tap)
      • middle click (three finger tap: needs configuration)
      • scroll (two finger drag)
  • sound: Realtek USB 2.0 speakers (not working)
  • Ports:
    • USB 3.0 Port (works fine)
    • Mini DisplayPort (not working)
  • Power and battery
    • Integrated 4-cell battery (26Wh) (working)
    • Power port


Debugging

System Configuration

Testing with Kubuntu 15.04 (vivid) beta, using a custom kernel for testing. Kernel is compiled against the v4.0 tag from git://kernel.ubuntu.com/virgin/linux.git with the ubuntu packaging patches from http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.0-vivid/. I have also enabled the following debug options:

  • debian.master/config/config.common.ubuntu
 # CONFIG_ACPI_DEBUG is not set
+CONFIG_ACPI_DEBUG=y
 # CONFIG_DEBUG_DRIVER is not set
+CONFIG_DEBUG_DRIVER=y
  • drivers/hid/hid-core.c:
+/* enable debugging: see Documentation/input/input.txt Section 3.1.1 */
+#define DEBUG
+

syslog errors

  • usb failed to peer. Possibly not an issue as 1-3-port3 is the Realtek Semiconductor Corp USB 2.0 audio [0bda:4000] and 1-3-port4 is the Lenovo ITE Tech. Inc. Device(8595) keyboard [17ef:6067]. I'm guessing that neither of these need a USB 3.0 interface???
Apr 21 06:25:22 espace kernel: [122756.076147] device: '1-3-port3': device_add
Apr 21 06:25:22 espace kernel: [122756.076279] PM: Adding info for No Bus:1-3-port3
Apr 21 06:25:22 espace kernel: [122756.076285] usb: failed to peer 1-3-port3 and 2-3-port2 by location (1-3-port3:none) (2-3-port2:1-3-port2)
Apr 21 06:25:22 espace kernel: [122756.076287] usb 1-3-port3: failed to peer to 2-3-port2 (-16)
Apr 21 06:25:22 espace kernel: [122756.076293] device: '1-3-port4': device_add
Apr 21 06:25:22 espace kernel: [122756.076407] PM: Adding info for No Bus:1-3-port4
Apr 21 06:25:22 espace kernel: [122756.076411] usb: failed to peer 1-3-port4 and 2-3-port2 by location (1-3-port4:none) (2-3-port2:1-3-port2)
Apr 21 06:25:22 espace kernel: [122756.076413] usb 1-3-port4: failed to peer to 2-3-port2 (-16)
  • keyboard errors
[122757.604814] hid (null): usage index exceeded
[122757.605158] hid-generic 0003:17EF:6067.0016: usage index exceeded
[122757.605161] hid-generic 0003:17EF:6067.0016: item 0 2 2 2 parsing failed
[122757.605174] hid-generic: probe of 0003:17EF:6067.0016 failed with error -22
    • relevant section of syslog
Apr 21 06:25:24 espace kernel: [122757.407217] device: 'ep_00': device_add
Apr 21 06:25:24 espace kernel: [122757.407244] PM: Adding info for No Bus:ep_00
Apr 21 06:25:24 espace kernel: [122757.490654] usb 1-3.4: new full-speed USB device number 22 using xhci_hcd
Apr 21 06:25:24 espace kernel: [122757.600012] usb 1-3.4: New USB device found, idVendor=17ef, idProduct=6067
Apr 21 06:25:24 espace kernel: [122757.600018] usb 1-3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Apr 21 06:25:24 espace kernel: [122757.600021] usb 1-3.4: Product: ITE Device(8595)
Apr 21 06:25:24 espace kernel: [122757.600023] usb 1-3.4: Manufacturer: ITE Tech. Inc.
Apr 21 06:25:24 espace kernel: [122757.600030] device: '1-3.4': device_add
Apr 21 06:25:24 espace kernel: [122757.600072] bus: 'usb': add device 1-3.4
Apr 21 06:25:24 espace kernel: [122757.600089] PM: Adding info for usb:1-3.4
Apr 21 06:25:24 espace kernel: [122757.600266] bus: 'usb': driver_probe_device: matched device 1-3.4 with driver usb
Apr 21 06:25:24 espace kernel: [122757.600270] bus: 'usb': really_probe: probing driver usb with device 1-3.4
Apr 21 06:25:24 espace kernel: [122757.600276] usb 1-3.4: no default pinctrl state
Apr 21 06:25:24 espace kernel: [122757.601325] device: '1-3.4:1.0': device_add
Apr 21 06:25:24 espace kernel: [122757.601340] bus: 'usb': add device 1-3.4:1.0
Apr 21 06:25:24 espace kernel: [122757.601352] PM: Adding info for usb:1-3.4:1.0
Apr 21 06:25:24 espace kernel: [122757.601386] bus: 'usb': driver_probe_device: matched device 1-3.4:1.0 with driver usbhid
Apr 21 06:25:24 espace kernel: [122757.601389] bus: 'usb': really_probe: probing driver usbhid with device 1-3.4:1.0
Apr 21 06:25:24 espace kernel: [122757.601393] usbhid 1-3.4:1.0: no default pinctrl state
Apr 21 06:25:24 espace kernel: [122757.604814] hid (null): usage index exceeded
Apr 21 06:25:24 espace kernel: [122757.604892] device: '0003:17EF:6067.0016': device_add
Apr 21 06:25:24 espace kernel: [122757.604904] bus: 'hid': add device 0003:17EF:6067.0016
Apr 21 06:25:24 espace kernel: [122757.604920] PM: Adding info for hid:0003:17EF:6067.0016
Apr 21 06:25:24 espace kernel: [122757.604954] bus: 'hid': driver_probe_device: matched device 0003:17EF:6067.0016 with driver hid-generic
Apr 21 06:25:24 espace kernel: [122757.604956] bus: 'hid': really_probe: probing driver hid-generic with device 0003:17EF:6067.0016
Apr 21 06:25:24 espace kernel: [122757.604961] hid-generic 0003:17EF:6067.0016: no default pinctrl state
Apr 21 06:25:24 espace kernel: [122757.605158] hid-generic 0003:17EF:6067.0016: usage index exceeded
Apr 21 06:25:24 espace kernel: [122757.605161] hid-generic 0003:17EF:6067.0016: item 0 2 2 2 parsing failed
Apr 21 06:25:24 espace kernel: [122757.605174] hid-generic: probe of 0003:17EF:6067.0016 failed with error -22
Apr 21 06:25:24 espace kernel: [122757.605181] driver: 'usbhid': driver_bound: bound to device '1-3.4:1.0'
Apr 21 06:25:24 espace kernel: [122757.605187] bus: 'usb': really_probe: bound device 1-3.4:1.0 to driver usbhid
Apr 21 06:25:24 espace kernel: [122757.605193] device: 'ep_81': device_add
Apr 21 06:25:24 espace kernel: [122757.605215] PM: Adding info for No Bus:ep_81
Apr 21 06:25:24 espace kernel: [122757.605217] device: '1-3.4:1.1': device_add
Apr 21 06:25:24 espace kernel: [122757.605228] bus: 'usb': add device 1-3.4:1.1
Apr 21 06:25:24 espace kernel: [122757.605238] PM: Adding info for usb:1-3.4:1.1
Apr 21 06:25:24 espace kernel: [122757.607677] bus: 'usb': driver_probe_device: matched device 1-3.4:1.1 with driver usbhid
Apr 21 06:25:24 espace kernel: [122757.607682] bus: 'usb': really_probe: probing driver usbhid with device 1-3.4:1.1
Apr 21 06:25:24 espace kernel: [122757.607688] usbhid 1-3.4:1.1: no default pinctrl state
Apr 21 06:25:24 espace kernel: [122757.610323] device: '0003:17EF:6067.0017': device_add
Apr 21 06:25:24 espace kernel: [122757.610338] bus: 'hid': add device 0003:17EF:6067.0017
Apr 21 06:25:24 espace kernel: [122757.610364] PM: Adding info for hid:0003:17EF:6067.0017
Apr 21 06:25:24 espace kernel: [122757.610398] bus: 'hid': driver_probe_device: matched device 0003:17EF:6067.0017 with driver hid-generic
Apr 21 06:25:24 espace kernel: [122757.610402] bus: 'hid': really_probe: probing driver hid-generic with device 0003:17EF:6067.0017
Apr 21 06:25:24 espace kernel: [122757.610407] hid-generic 0003:17EF:6067.0017: no default pinctrl state
Apr 21 06:25:24 espace kernel: [122757.610602] device: 'input26': device_add
Apr 21 06:25:24 espace kernel: [122757.610654] PM: Adding info for No Bus:input26
Apr 21 06:25:24 espace kernel: [122757.610688] input: ITE Tech. Inc. ITE Device(8595) as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.4/1-3.4:1.1/0003:17EF:6067.0017/input/input26
Apr 21 06:25:24 espace mtp-probe: checking bus 1, device 21: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.3"
Apr 21 06:25:24 espace mtp-probe: checking bus 1, device 22: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.4"
Apr 21 06:25:24 espace mtp-probe: bus: 1, device: 21 was not an MTP device
Apr 21 06:25:24 espace mtp-probe: bus: 1, device: 22 was not an MTP device
Apr 21 06:25:24 espace kernel: [122757.666287] device: 'event15': device_add
Apr 21 06:25:24 espace kernel: [122757.666315] PM: Adding info for No Bus:event15
Apr 21 06:25:24 espace kernel: [122757.666469] device: 'hiddev1': device_add
Apr 21 06:25:24 espace kernel: [122757.666498] PM: Adding info for No Bus:hiddev1
Apr 21 06:25:24 espace kernel: [122757.666561] device: 'hidraw1': device_add
Apr 21 06:25:24 espace kernel: [122757.666582] PM: Adding info for No Bus:hidraw1
Apr 21 06:25:24 espace kernel: [122757.666634] hid-generic 0003:17EF:6067.0017: input,hiddev0,hidraw1: USB HID v1.10 Device [ITE Tech. Inc. ITE Device(8595)] on usb-0000:00:14.0-3.4/input1
Apr 21 06:25:24 espace kernel: [122757.666638] driver: 'hid-generic': driver_bound: bound to device '0003:17EF:6067.0017'
Apr 21 06:25:24 espace kernel: [122757.666643] bus: 'hid': really_probe: bound device 0003:17EF:6067.0017 to driver hid-generic
Apr 21 06:25:24 espace kernel: [122757.666648] driver: 'usbhid': driver_bound: bound to device '1-3.4:1.1'
Apr 21 06:25:24 espace kernel: [122757.666651] bus: 'usb': really_probe: bound device 1-3.4:1.1 to driver usbhid
Apr 21 06:25:24 espace kernel: [122757.666655] device: 'ep_82': device_add
Apr 21 06:25:24 espace kernel: [122757.666674] PM: Adding info for No Bus:ep_82
Apr 21 06:25:24 espace kernel: [122757.666677] device: 'ep_03': device_add
Apr 21 06:25:24 espace kernel: [122757.666694] PM: Adding info for No Bus:ep_03
Apr 21 06:25:24 espace kernel: [122757.666697] driver: 'usb': driver_bound: bound to device '1-3.4'
Apr 21 06:25:24 espace kernel: [122757.666700] bus: 'usb': really_probe: bound device 1-3.4 to driver usb
Apr 21 06:25:24 espace kernel: [122757.666712] device: 'ep_00': device_add
Apr 21 06:25:24 espace kernel: [122757.666736] PM: Adding info for No Bus:ep_00
Apr 21 06:25:24 espace kernel: [122758.098648] device: 'ep_07': device_add
Apr 21 06:25:24 espace kernel: [122758.098697] PM: Adding info for No Bus:ep_07
Apr 21 06:25:24 espace pulseaudio[1478]: [pulseaudio] alsa-util.c: Unable to load mixer: Invalid argument
Apr 21 06:25:24 espace kernel: [122758.109019] device: 'ep_07': device_unregister
Apr 21 06:25:24 espace kernel: [122758.109059] PM: Removing info for No Bus:ep_07

debugfs info

$ sudo ls -l /sys/kernel/debug/hid
total 0
drwxr-xr-x 2 root root 0 Apr 26 08:58 0003:17EF:6067.000D
drwxr-xr-x 2 root root 0 Apr 26 09:06 0003:17EF:6067.000F
drwxr-xr-x 2 root root 0 Apr 22 16:41 0018:03EB:8A29.0001
drwxr-xr-x 2 root root 0 Apr 22 16:41 0018:056A:0114.0002
drwxr-xr-x 2 root root 0 Apr 22 16:41 0018:2047:0855.0003

$ sudo cat /sys/kernel/debug/hid/0003:17EF:6067.000F/rdesc
06 85 ff 09 95 a1 01 85 5a 09 01 15 00 26 ff 00 75 08 95 10 b1 00 c0 05 01 09 06 a1 01 85 01 75 01 95 08 05 07 19 e0 29 e7 15 00 25 01 81 02 95 01 75 08 81 03 95 05 75 01 05 08 19 01 29 05 91 02 95 01 75 03 91 03 95 06 75 08 15 00 26 ff 00 05 07 19 00 2a ff 00 81 00 c0 05 0c 09 01 a1 01 85 03 19 00 2a 3c 02 15 00 26 3c 02 75 10 95 01 81 00 c0 05 01 09 0c a1 01 85 02 15 00 25 01 09 c6 95 01 75 01 81 06 75 07 81 03 c0 05 88 09 01 a1 01 85 04 19 00 2a ff ff 15 00 26 ff ff 75 08 95 02 81 02 c0 05 01 09 80 a1 01 85 05 19 81 29 83 15 00 25 01 95 08 75 01 81 02 c0

$ sudo cat /sys/kernel/debug/hid/0003:17EF:6067.000D/rdesc
06 a0 ff 09 01 a1 01 85 02 09 01 a1 00 05 09 19 01 29 05 15 00 25 01 75 01 95 05 81 02 95 03 81 01 75 08 95 03 81 03 05 0c 0a 38 02 95 01 81 06 c0 c0 05 0c 09 01 a1 01 85 03 15 00 25 01 75 01 95 10 0a 2e 02 09 e2 09 ea 09 e9 09 01 09 70 09 6f 09 01 09 01 09 01 09 01 09 01 09 01 09 01 09 01 0a 2d 02 81 02 75 01 95 08 81 03 c0 05 01 09 0c a1 01 85 08 15 00 25 01 09 c6 75 01 95 01 81 06 75 07 81 03 c0 06 a0 ff 09 01 a1 01 85 09 09 01 75 08 95 02 91 82 09 02 75 08 95 02 81 82 c0                                                 
                                                                                                                                                                                
  INPUT(2)[INPUT]                                                                                                                                                               
    Field(0)                                                                                                                                                                    
      Physical(ffa0.0001)                                                                                                                                                       
      Application(ffa0.0001)                                                                                                                                                    
      Usage(5)                                                                                                                                                                  
        Button.0001                                                                                                                                                             
        Button.0002                                                                                                                                                             
        Button.0003                                                                                                                                                             
        Button.0004                                                                                                                                                             
        Button.0005                                                                                                                                                             
      Logical Minimum(0)                                                                                                                                                        
      Logical Maximum(1)                                                                                                                                                        
      Report Size(1)                                                                                                                                                            
      Report Count(5)                                                                                                                                                           
      Report Offset(0)                                                                                                                                                          
      Flags( Variable Absolute )                                                                                                                                                
    Field(1)                                                                                                                                                                    
      Physical(ffa0.0001)                                                                                                                                                       
      Application(ffa0.0001)                                                                                                                                                    
      Usage(1)                                                                                                                                                                  
        Consumer.HorizontalWheel                                                                                                                                                
      Logical Minimum(0)                                                                                                                                                        
      Logical Maximum(1)                                                                                                                                                        
      Report Size(8)                                                                                                                                                            
      Report Count(1)
      Report Offset(32)
      Flags( Variable Relative )
  INPUT(3)[INPUT]
    Field(0)
      Application(Consumer.0001)
      Usage(16)
        Consumer.022e
        Consumer.00e2
        Consumer.00ea
        Consumer.00e9
        Consumer.0001
        Consumer.0070
        Consumer.006f
        Consumer.0001
        Consumer.0001
        Consumer.0001
        Consumer.0001
        Consumer.0001
        Consumer.0001
        Consumer.0001
        Consumer.0001
        Consumer.022d
      Logical Minimum(0)
      Logical Maximum(1)
      Report Size(1)
      Report Count(16)
      Report Offset(0)
      Flags( Variable Absolute )
  INPUT(8)[INPUT]
    Field(0)
      Application(GenericDesktop.000c)
      Usage(1)
        GenericDesktop.00c6
      Logical Minimum(0)
      Logical Maximum(1)
      Report Size(1)
      Report Count(1)
      Report Offset(0)
      Flags( Variable Relative )
  INPUT(9)[INPUT]
    Field(0)
      Application(ffa0.0001)
      Usage(2)
        ffa0.0002
        ffa0.0002
      Logical Minimum(0)
      Logical Maximum(1)
      Report Size(8)
      Report Count(2)
      Report Offset(0)
      Flags( Variable Absolute Volatile )
  OUTPUT(9)[OUTPUT]
    Field(0)
      Application(ffa0.0001)
      Usage(2)
        ffa0.0001
        ffa0.0001
      Logical Minimum(0)
      Logical Maximum(1)
      Report Size(8)
      Report Count(2)
      Report Offset(0)
      Flags( Variable Absolute Volatile )

Button.0001 ---> Key.Btn0
Button.0002 ---> Key.Btn1
Button.0003 ---> Key.Btn2
Button.0004 ---> Key.Btn3
Button.0005 ---> Key.Btn4
Consumer.HorizontalWheel ---> Relative.HWheel
Consumer.022e ---> Key.?
Consumer.00e2 ---> Key.Mute
Consumer.00ea ---> Key.VolumeDown
Consumer.00e9 ---> Key.VolumeUp
Consumer.0001 ---> Key.Unknown
Consumer.0070 ---> Key.BrightnessDown
Consumer.006f ---> Key.BrightnessUp
Consumer.0001 ---> Key.Unknown
Consumer.0001 ---> Key.Unknown
Consumer.0001 ---> Key.Unknown
Consumer.0001 ---> Key.Unknown
Consumer.0001 ---> Key.Unknown
Consumer.0001 ---> Key.Unknown
Consumer.0001 ---> Key.Unknown
Consumer.0001 ---> Key.Unknown
Consumer.022d ---> Key.?
GenericDesktop.00c6 ---> Key.Btn5
ffa0.0002 ---> Absolute.Misc
ffa0.0002 ---> Absolute.?
ffa0.0001 ---> Sync.Report
ffa0.0001 ---> Sync.Report

Bus and Device Listing

Tablet  pci@0000:__00:__00.0  Host bridge [0600]: Intel Corporation Broadwell-U Host Bridge -OPI [8086:1604]
  "              |    |_02.0  VGA compatible controller [0300]: Intel Corporation Broadwell-U Integrated Graphics [8086:161e] 
  "              |    |_03.0  Audio controller [0403]: Intel Corporation Broadwell-U Audio Controller [8086:160c]
  "              |    |_04.0  Signal processing controller [1180]: Intel Corporation Broadwell-U Camarillo Device [8086:1603]
  "              |    |_14.0  USB controller [0c03]: Intel Corporation Wildcat Point-LP USB xHCI Controller [8086:9cb1]
  "              |    |        |_USB bus 01
  "              |    |        |  |_Port 1: Dev 1: USB 2.0 root hub
  "              |    |        |  |_Port 1: Dev 2: Chicony Electronics Integrated rear camera [04f2:b45b]
  "              |    |        |  |_Port 2: Tablet USB port (USB 2.0 mode)
Ultrabook Pro Keyboard|        |  |_Port 3: VIA_Labs__Inc._USB2.0_Hub [2109:2811]
   "             |    |        |  |    |_Port 1: USB port (USB 2.0 mode)
   "             |    |        |  |    |_Port 2: 
   "             |    |        |  |    |_Port 3: Realtek Semiconductor Corp USB 2.0 audio [0bda:4000]
   "             |    |        |  |    |_Port 4: Lenovo ITE Tech. Inc. Device(8595) [17ef:6067]
   "             |    |        |  |         |_1.0 [hid 0003:17EF:6067.000F]
   "             |    |        |  |         |_1.1 Keyboard [hid 0003:17EF:6067.000D]
Tablet           |    |        |  |_Port 4: Sierra Wireless, Inc. EM7345 4G LTE modem [1199:a001]
  "              |    |        |  |_Port 5:
  "              |    |        |  |_Port 6:
  "              |    |        |  |_Port 7: Intel Corp Bluetooth [8087:0a2a]
  "              |    |        |  |_Port 8: 04f2:b45c Chicony Electronics Co., Ltd camera
  "              |    |        |_USB bus 02
  "              |    |           |_Port 1: Dev 1: USB 3.0 root hub
  "              |    |           |_Port 2: Tablet USB port (USB 3.0 mode)
Ultrabook Pro Keyboard|           |_Port 3: Dev 6: VIA Labs USB 3.0 hub [2109:8110] 
   "             |    |                |_Port 1: USB port (USB 3.0 mode)
Tablet           |    |_16.0  Communication controller: [0780] Intel Corporation Wildcat Point-LP MEI Controller #1 [8086:9cba]
  "              |    |_1c.0  PCI bridge [0604]: Intel Corporation Wildcat Point-LP PCI Express Root Port #1 [8086:9c90]
  "              |    |       |_  maps to pci@0000:02:00.0?
  "              |    |_1c.1  PCI bridge [0604]: Intel Corporation Wildcat Point-LP PCI Express Root Port #3 [8086:9c94]
  "              |    |       |_  maps to pci@0000:06:00.0?
  "              |    |_1f.0  ISA bridge [0601]: Intel Corporation Wildcat Point-LP LPC Controller [8086:9cc7]
  "              |    |_1f.2  SATA controller [0106]: Intel Corporation Wildcat Point-LP SATA Controller [AHCI Mode] [8086:9c83]
  "              |    |_1f.3  SMBus [0c05]: Intel Corporation Wildcat Point-LP SMBus Controller [8086:9ca2]
  "              |    |_1f.6  Signal processing controller [1180]: Intel Corporation Wildcat Point-LP Thermal Management Controller [8086:9ca4]
  "              |_02:__00.0
  "              |_06:__00.0  Network controller [0280]: Intel Corporation Wireless 7265 [8086:095a]