Toshiba P50W switch video mode and disable touchpad not working properly

Bug #1416302 reported by Robert Ancell
This bug report is a duplicate of:  Bug #1416277: toshiba_acpi: Unknown key 158. Edit Remove
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Confirmed
Medium
Unassigned

Bug Description

On my Toshiba P50W two of the keys are incorrectly connected.

Pressing video mode toggle (Fn+F4) puts that machine to sleep. From acpi_listen:
button/suspend SUSP 00000080 00000000 K

Pressing touchpad disable does nothing. From acpi_listen:
video/switchmode VMOD 00000080 00000000 K
---
ApportVersion: 2.15.1-0ubuntu4
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: bob 2980 F.... pulseaudio
 /dev/snd/controlC1: bob 2980 F.... pulseaudio
CurrentDesktop: Unity
DistroRelease: Ubuntu 15.04
HibernationDevice: RESUME=UUID=5033984a-21af-482d-a1fd-c075e818cd12
InstallationDate: Installed on 2013-12-26 (400 days ago)
InstallationMedia: Ubuntu 13.10 "Saucy Salamander" - Release amd64 (20131016.1)
MachineType: TOSHIBA Satellite P50W-B
NonfreeKernelModules: wl
Package: linux (not installed)
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.18.0-11-generic root=UUID=885f0f10-b818-4eb4-8ff4-d067e16bef2f ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 3.18.0-11.12-generic 3.18.3
RelatedPackageVersions:
 linux-restricted-modules-3.18.0-11-generic N/A
 linux-backports-modules-3.18.0-11-generic N/A
 linux-firmware 1.141
Tags: vivid
Uname: Linux 3.18.0-11-generic x86_64
UpgradeStatus: Upgraded to vivid on 2013-12-26 (400 days ago)
UserGroups: adm autopilot cdrom dip libvirtd lpadmin netdev plugdev sambashare sudo wireshark
_MarkForUpload: True
dmi.bios.date: 08/08/2014
dmi.bios.vendor: INSYDE Corp.
dmi.bios.version: 1.40
dmi.board.asset.tag: Type2 - Board Asset Tag
dmi.board.name: Type2 - Board Product Name1
dmi.board.vendor: Type2 - Board Vendor Name1
dmi.board.version: Type2 - Board Version
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: OEM Chassis ManuFacturer
dmi.chassis.version: OEM Chassis Version
dmi.modalias: dmi:bvnINSYDECorp.:bvr1.40:bd08/08/2014:svnTOSHIBA:pnSatelliteP50W-B:pvrPSVP2A-00F002:rvnType2-BoardVendorName1:rnType2-BoardProductName1:rvrType2-BoardVersion:cvnOEMChassisManuFacturer:ct10:cvrOEMChassisVersion:
dmi.product.name: Satellite P50W-B
dmi.product.version: PSVP2A-00F002
dmi.sys.vendor: TOSHIBA

Revision history for this message
Robert Ancell (robert-ancell) wrote :
tags: added: apport-collected vivid
description: updated
Revision history for this message
Robert Ancell (robert-ancell) wrote : AlsaInfo.txt

apport information

Revision history for this message
Robert Ancell (robert-ancell) wrote : BootDmesg.txt

apport information

Revision history for this message
Robert Ancell (robert-ancell) wrote : CRDA.txt

apport information

Revision history for this message
Robert Ancell (robert-ancell) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Robert Ancell (robert-ancell) wrote : IwConfig.txt

apport information

Revision history for this message
Robert Ancell (robert-ancell) wrote : Lspci.txt

apport information

Revision history for this message
Robert Ancell (robert-ancell) wrote : Lsusb.txt

apport information

Revision history for this message
Robert Ancell (robert-ancell) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Robert Ancell (robert-ancell) wrote : ProcEnviron.txt

apport information

Revision history for this message
Robert Ancell (robert-ancell) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Robert Ancell (robert-ancell) wrote : ProcModules.txt

apport information

Revision history for this message
Robert Ancell (robert-ancell) wrote : PulseList.txt

apport information

Revision history for this message
Robert Ancell (robert-ancell) wrote : RfKill.txt

apport information

Revision history for this message
Robert Ancell (robert-ancell) wrote : UdevDb.txt

apport information

Revision history for this message
Robert Ancell (robert-ancell) wrote : UdevLog.txt

apport information

Revision history for this message
Robert Ancell (robert-ancell) wrote : WifiSyslog.txt

apport information

Revision history for this message
Robert Ancell (robert-ancell) wrote :

Looking in drivers/platform/x86/toshiba_acpi.c it appears that this model should be using toshiba_acpi_alt_keymap which has:
 { KE_KEY, 0x13e, { KEY_SWITCHVIDEOMODE } },
 { KE_KEY, 0x13f, { KEY_TOUCHPAD_TOGGLE } },
where toshiba_acpi_keymap has:
 { KE_KEY, 0x13e, { KEY_SUSPEND } },
 { KE_KEY, 0x13f, { KEY_SWITCHVIDEOMODE } },

But the alt keymap also has a number of missing entries that do work on this keyboard that would need to be added.

Revision history for this message
Robert Ancell (robert-ancell) wrote :

The alt keymap has changed the key ids for mute, brightness up/down. I guess it is safe to support both ids in the alt keymap?

Revision history for this message
Brad Figg (brad-figg) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
tags: added: patch
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v3.19 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

If you are unable to test the mainline kernel, for example it will not boot, please add the tag: 'kernel-unable-to-test-upstream'.
Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.19-rc6-vivid/

Changed in linux (Ubuntu):
importance: Undecided → Medium
tags: added: kernel-da-key
Revision history for this message
Robert Ancell (robert-ancell) wrote :

Tested with kernel from http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.19-rc6-vivid:

$ uname -r
3.19.0-031900rc6-generic

Both keys have incorrect behaviour.

tags: added: kernel-bug-exists-upstream
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

I created Vivid and mainline test kernels with the patch from comment #19. They can be downloaded from:

Vivid: http://kernel.ubuntu.com/~jsalisbury/lp1416302/vivid/
mainline: http://kernel.ubuntu.com/~jsalisbury/lp1416302/mainline

Can you test these kernels and see if the keyboard functions properly? If they do, we can submit the patch for inclusion in mainline as well as the stable releases. Then SRU to the Ubuntu releases.

When we submit it to mainline, we can ask the maintainer if it is ok to support both ids in the alt keymap.

Revision history for this message
Robert Ancell (robert-ancell) wrote :

$ dpkg -s linux-image-3.18.0-12-generic | grep Version
Version: 3.18.0-12.13~lp1416302v1

Video mode key seems to generate the correct event according to acpi_listen:
video/switchmode VMOD 00000080 00000000 K

Touchpad toggle has no action and shows no log in apci_listen.

The wireless key generates the following event in acpi_listen:
button/wlan WLAN 00000080 00000000 K

All existing keys continue to work.

Revision history for this message
Robert Ancell (robert-ancell) wrote :

I'm not sure if the touchpad toggle not generating an event is a problem and I'm not sure if WLAN is the correct event (i.e. is it just WiFi toggle or a full rfkill).

I suspect the fact that that the three keys tested don't actually seem to do anything in Unity is due to missing functionality in X / unity-settings-daemon.

Given the keys no longer do the wrong behaviour and they generate appropriate events / no errors I would say this has fixed the kernel problems.

Revision history for this message
Robert Ancell (robert-ancell) wrote :

$ uname -r
3.19.0-031900rc6-generic

Also shows the keys behaving the same as 3.18.0-12.13~lp1416302v1 (i.e. fixed).

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.