Page 1 of 1

Panasonic CF-20 (brightness control and tablet buttons not working)

Posted: 2019/10/31 12:30:57
by siseiV2P
First of, excellent work on CentOS 8 and CentOS in general. Long time user here!

However, I have two problems:

# Brightness adjustment issue

The brightness buttons don't work. Also the brightness lever in the top right menu doesn't work.

`sudo bash -c "echo 800 > /sys/class/backlight/intel_backlight/brightness"` works to adjust the brightness.

Adding `acpi_backlight=vendor` to Grub doesn't help.

`blacklist panasonic-laptop` in `/etc/modprobe.d/blacklist.conf` makes the brightness buttons work.

__QUESTION__: Is there any downside to blacklisting the panasonic-laptop module?

I didn't get any downsides, hence, will use that as the solution for the bightness issue.

# Tablet buttons don't work

The CF-20 has 6 buttons at the detachable display, i.e. the tablet, part: A1, A2, -, +, Win, A3

I would like to map the A1 to A3 buttons to actions for ebook reading, such as Fullscreen, and Next/Previous page.

But only the -, + work. The - and + buttons are also the only ones producing output via `acpi_listen`:

```
[user@localhost ~]$ acpi_listen
video/brightnessdown BRTDN 00000087 00000000
video/brightnessdown BRTDN 00000087 00000000 K
video/brightnessup BRTUP 00000086 00000000
video/brightnessup BRTUP 00000086 00000000 K
```

The rest of the buttons only work partially.

In BIOS I can configure:
- A1 to `Deactivate`, `Application 1`, `Ctrl+Alt+Del`, `Activate concealed mode` [Toughbook specific]
- A2 to `Deactivate`, `Application 2`, `Ctrl+Alt+Del`, `Wifi switch` [Toughbook specific]
- A3 to `Deactivate`, `Application 3`, `Ctrl+Alt+Del`, `Rotation lock`
- -/+ to `Deactivate`, `Volume`, `Brightness`

`Activate concealed mode` and `Wifi switch` are Toughbook specific and can not be used to map to user actions.

`Ctrl+Alt+Del` works __when the base is attached__, but when the tablet part is removed it does not work.

`Application x` doesn't generate any events in `xev` nor `acpi_listen`.

`Rotation lock` causes output in `dmesg` (but not `xev` nor `acpi_listen`:

```
[ 7556.623049] atkbd serio0: Unknown key pressed (translated set 2, code 0x65 on isa0060/serio0).
[ 7556.623052] atkbd serio0: Use 'setkeycodes 65 <keycode>' to make it known.
[ 7556.786645] atkbd serio0: Unknown key released (translated set 2, code 0x65 on isa0060/serio0).
[ 7556.786648] atkbd serio0: Use 'setkeycodes 65 <keycode>' to make it known.
```

The Win key also works when the display/tablet part is attached but stops working when detached.

When attaching the tablet part `dmesg` delivers:

```
[ 7690.521885] proc_thermal 0000:00:04.0: Unsupported event [0x84]
[ 7690.551779] proc_thermal 0000:00:04.0: Unsupported event [0x84]
[ 7690.989832] usb 1-3: new high-speed USB device number 40 using xhci_hcd
[ 7691.116969] usb 1-3: New USB device found, idVendor=0424, idProduct=2744, bcdDevice= 2.86
[ 7691.116971] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 7691.116973] usb 1-3: Product: USB2744
[ 7691.116974] usb 1-3: Manufacturer: Microchip Tech
[ 7691.119496] hub 1-3:1.0: USB hub found
[ 7691.119518] hub 1-3:1.0: 4 ports detected
[ 7691.229906] usb 2-3: new SuperSpeed Gen 1 USB device number 14 using xhci_hcd
[ 7691.242368] usb 2-3: New USB device found, idVendor=0424, idProduct=5744, bcdDevice= 2.86
[ 7691.242371] usb 2-3: New USB device strings: Mfr=2, Product=3, SerialNumber=0
[ 7691.242373] usb 2-3: Product: USB5744
[ 7691.242375] usb 2-3: Manufacturer: Microchip Tech
[ 7691.244266] hub 2-3:1.0: USB hub found
[ 7691.244294] hub 2-3:1.0: 4 ports detected
[ 7691.410863] usb 1-3.1: new high-speed USB device number 41 using xhci_hcd
[ 7691.499941] usb 1-3.1: New USB device found, idVendor=0424, idProduct=2744, bcdDevice= 2.86
[ 7691.499943] usb 1-3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 7691.499944] usb 1-3.1: Product: USB2744
[ 7691.499946] usb 1-3.1: Manufacturer: Microchip Tech
[ 7691.501317] hub 1-3.1:1.0: USB hub found
[ 7691.501514] hub 1-3.1:1.0: 4 ports detected
[ 7691.563905] usb 2-3.1: new SuperSpeed Gen 1 USB device number 15 using xhci_hcd
[ 7691.576498] usb 2-3.1: New USB device found, idVendor=0424, idProduct=5744, bcdDevice= 2.86
[ 7691.576501] usb 2-3.1: New USB device strings: Mfr=2, Product=3, SerialNumber=0
[ 7691.576502] usb 2-3.1: Product: USB5744
[ 7691.576503] usb 2-3.1: Manufacturer: Microchip Tech
[ 7691.578303] hub 2-3.1:1.0: USB hub found
[ 7691.578519] hub 2-3.1:1.0: 4 ports detected
[ 7691.660833] usb 1-3.4: new high-speed USB device number 42 using xhci_hcd
[ 7691.749739] usb 1-3.4: New USB device found, idVendor=0424, idProduct=2514, bcdDevice= b.b3
[ 7691.749744] usb 1-3.4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 7691.751022] hub 1-3.4:1.0: USB hub found
[ 7691.751082] hub 1-3.4:1.0: 4 ports detected
[ 7691.836616] usb 1-3.1.2: new full-speed USB device number 43 using xhci_hcd
[ 7691.927400] usb 1-3.1.2: New USB device found, idVendor=10c4, idProduct=ea60, bcdDevice= 1.00
[ 7691.927406] usb 1-3.1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 7691.927409] usb 1-3.1.2: Product: CP2104 USB to UART Bridge Controller
[ 7691.927412] usb 1-3.1.2: Manufacturer: Silicon Labs
[ 7691.927415] usb 1-3.1.2: SerialNumber: xxxx
[ 7691.934255] cp210x 1-3.1.2:1.0: cp210x converter detected
[ 7691.935516] usb 1-3.1.2: cp210x converter now attached to ttyUSB0
[ 7692.001380] usb 2-3.1.1: new SuperSpeed Gen 1 USB device number 16 using xhci_hcd
[ 7692.018955] usb 2-3.1.1: New USB device found, idVendor=0bda, idProduct=8153, bcdDevice=30.00
[ 7692.018960] usb 2-3.1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 7692.018962] usb 2-3.1.1: Product: USB 10/100/1000 LAN
[ 7692.018965] usb 2-3.1.1: Manufacturer: Realtek
[ 7692.018967] usb 2-3.1.1: SerialNumber: xxxx
[ 7692.094829] usb 1-3.4.2: new full-speed USB device number 44 using xhci_hcd
[ 7692.186861] usb 1-3.4.2: New USB device found, idVendor=214a, idProduct=0008, bcdDevice= 4.15
[ 7692.186863] usb 1-3.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 7692.186864] usb 1-3.4.2: Product: VersaPad
[ 7692.186865] usb 1-3.4.2: Manufacturer: Interlink Electronics, Inc.
[ 7692.227629] input: Interlink Electronics, Inc. VersaPad as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.4/1-3.4.2/1-3.4.2:1.0/0003:214A:0008.0019/input/input34
[ 7692.227854] hid-generic 0003:214A:0008.0019: input,hidraw1: USB HID v1.11 Mouse [Interlink Electronics, Inc. VersaPad] on usb-0000:00:14.0-3.4.2/input0
[ 7692.249263] usb 2-3.1.1: reset SuperSpeed Gen 1 USB device number 16 using xhci_hcd
[ 7692.252645] input: Interlink Electronics, Inc. VersaPad as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.4/1-3.4.2/1-3.4.2:1.1/0003:214A:0008.001A/input/input35
[ 7692.294048] r8152 2-3.1.1:1.0 eth0: v1.09.9
[ 7692.319004] hid-generic 0003:214A:0008.001A: input,hidraw2: USB HID v1.11 Keyboard [Interlink Electronics, Inc. VersaPad] on usb-0000:00:14.0-3.4.2/input1
[ 7692.349825] hid-generic 0003:214A:0008.001B: hiddev97,hidraw3: USB HID v1.11 Device [Interlink Electronics, Inc. VersaPad] on usb-0000:00:14.0-3.4.2/input2
[ 7692.376052] r8152 2-3.1.1:1.0 enpxxxxxxxxx: renamed from eth0
[ 7692.448028] IPv6: ADDRCONF(NETDEV_UP): enpxxxxxxxxxx: link is not ready
[ 7692.472370] IPv6: ADDRCONF(NETDEV_UP): enpxxxxxxxxxx: link is not ready
```

When detaching it:

```
[ 7680.831184] proc_thermal 0000:00:04.0: Unsupported event [0x84]
[ 7680.992828] usb 1-3: USB disconnect, device number 31
[ 7680.992831] usb 1-3.1: USB disconnect, device number 32
[ 7680.992833] usb 1-3.1.2: USB disconnect, device number 34
[ 7680.993091] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0
[ 7680.993134] cp210x 1-3.1.2:1.0: device disconnected
[ 7680.999346] usb 1-3.4: USB disconnect, device number 33
[ 7680.999368] usb 1-3.4.2: USB disconnect, device number 35
[ 7681.002932] r8152 2-3.1.1:1.0 enpxxxxxxxxxxxxxx: Stop submitting intr, status -71
[ 7681.078851] proc_thermal 0000:00:04.0: Unsupported event [0x84]
[ 7681.726974] usb 2-3: USB disconnect, device number 11
[ 7681.726976] usb 2-3.1: USB disconnect, device number 12
[ 7681.726977] usb 2-3.1.1: USB disconnect, device number 13
```

`/dev/input/by-path/platform-i8042-serio-0-event-kbd` gets all the keyboard events except for the - and + keys. It also receives data when the tablet is detached. So it seems that keys not working when the tablet being detached not a problem of the system not receiving the keyboard events but the system acting on them.

__QUESTION__: How can I get these buttons working? Preferable as Application buttons that can be mapped as keyboard shortcuts.

## Things I tried

- `acpi_osi=Windows` -> no change
- `acpi_osi=Linux` -> no change
- `acpi_osi=` -> no change
- Switching to X11 -> no change
- blacklisting panasonic-laptop -> no change

But nothing helped.

__QUESTION__: What else can I try to debug this besides `xev`, `acpi_listen` and `/dev/input/`?

# System output

## lspci -nn

```
00:00.0 Host bridge [0600]: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers [8086:190c] (rev 08)
00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 515 [8086:191e] (rev 07)
00:04.0 Signal processing controller [1180]: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem [8086:1903] (rev 08)
00:13.0 Non-VGA unclassified device [0000]: Intel Corporation Sunrise Point-LP Integrated Sensor Hub [8086:9d35] (rev 21)
00:14.0 USB controller [0c03]: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller [8086:9d2f] (rev 21)
00:14.2 Signal processing controller [1180]: Intel Corporation Sunrise Point-LP Thermal subsystem [8086:9d31] (rev 21)
00:16.0 Communication controller [0780]: Intel Corporation Sunrise Point-LP CSME HECI #1 [8086:9d3a] (rev 21)
00:16.3 Serial controller [0700]: Intel Corporation Sunrise Point-LP Active Management Technology - SOL [8086:9d3d] (rev 21)
00:17.0 SATA controller [0106]: Intel Corporation Sunrise Point-LP SATA Controller [AHCI mode] [8086:9d03] (rev 21)
00:1c.0 PCI bridge [0604]: Intel Corporation Sunrise Point-LP PCI Express Root Port #3 [8086:9d12] (rev f1)
00:1d.0 PCI bridge [0604]: Intel Corporation Sunrise Point-LP PCI Express Root Port #9 [8086:9d18] (rev f1)
00:1f.0 ISA bridge [0601]: Intel Corporation Device [8086:9d46] (rev 21)
00:1f.2 Memory controller [0580]: Intel Corporation Sunrise Point-LP PMC [8086:9d21] (rev 21)
00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-LP HD Audio [8086:9d70] (rev 21)
00:1f.4 SMBus [0c05]: Intel Corporation Sunrise Point-LP SMBus [8086:9d23] (rev 21)
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection I219-LM [8086:156f] (rev 21)
01:00.0 SD Host controller [0805]: O2 Micro, Inc. SD/MMC Card Reader Controller [1217:8621] (rev 01)
02:00.0 Network controller [0280]: Intel Corporation Wireless 8260 [8086:24f3] (rev 3a)
```

## lsusb

```
Bus 002 Device 019: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
Bus 002 Device 018: ID 0424:5744 Standard Microsystems Corp.
Bus 002 Device 017: ID 0424:5744 Standard Microsystems Corp.
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 012: ID 5986:0656 Acer, Inc
Bus 001 Device 011: ID 5986:0689 Acer, Inc
Bus 001 Device 009: ID 0eef:c066 D-WAV Scientific Co., Ltd
Bus 001 Device 006: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 004: ID 8087:0a2b Intel Corp.
Bus 001 Device 049: ID 214a:0008
Bus 001 Device 047: ID 0424:2514 Standard Microsystems Corp. USB 2.0 Hub
Bus 001 Device 048: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP2102/CP2109 UART Bridge Controller [CP210x family]
Bus 001 Device 046: ID 0424:2744 Standard Microsystems Corp.
Bus 001 Device 045: ID 0424:2744 Standard Microsystems Corp.
Bus 001 Device 002: ID 1199:9041 Sierra Wireless, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
```

## dmesg

Is too large to post and also too large to attach hence: https://pastebin.com/gCKQM8Wv

## xinput

- Wayland:

```
[user@localhost ~]$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ xwayland-pointer:15 id=6 [slave pointer (2)]
⎜ ↳ xwayland-relative-pointer:15 id=7 [slave pointer (2)]
⎜ ↳ xwayland-touch:15 id=9 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ xwayland-keyboard:15 id=8 [slave keyboard (3)]
```

- X11:

```
[user@localhost ~]$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Interlink Electronics, Inc. VersaPad id=9 [slave pointer (2)]
⎜ ↳ eGalax Inc. eGalaxTouch EXC3104-0606-05.00.06 id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Interlink Electronics, Inc. VersaPad id=10 [slave keyboard (3)]
↳ USB HD Webcam: USB HD Webcam id=12 [slave keyboard (3)]
↳ USB2.0 Camera: USB2.0 Camera id=13 [slave keyboard (3)]
↳ Intel Virtual Button driver id=14 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=15 [slave keyboard (3)]
↳ Panasonic Laptop Support id=16 [slave keyboard (3)]
```