[Studio XPS 16] touchpad doesn't return from resume
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Andy Whitcroft |
Bug Description
The recently released Studio XPS 16 has a problem where it's touchpad does not return after suspend-to-ram. This has been identified to be a problem in how the the vista driver handles reseting the touchpad and keyboard versus how Ubuntu handles it. The Studio XPS 13 had a similar problem, but legacy code was added to the BIOS to adjust the behavior of suspend-to-ram when operating on Ubuntu that would still be compatible with vista instead.
Likely ODMs and OEMs will be more commonly using this method for suspending. Here's some notes from the ODM:
---------
Psudo code as below
Vista driver :
Reset kbc :
Wirte FFh command to 60h port //reset command (keyboard)
EC return : FAh, AAh
Reset touchpad :
Wirte FFh command to 60h port //Reset command (PS2 Mouse / touchpad)
Wirte D4h command to 64h port //Write to Auxiliary Device
EC return : FAh, AAh, 00h
Ubuntu driver :
Reset kbc :
Wirte FFh command to 60h port //reset command (keyboard)
EC return : FAh, AAh
Reset touchpad :
Wirte D4h command to 64h port //Write to Auxiliary Device
EC return : FAh, AAh, 00h
(Ubuntu resets kbc and touchpad at the same time so that only commands EC FFh to 60h port once, but EC do the kbc reset and ps2 reset individually)
---------
Ideally the behavior should be modified to match the Vista behavior and increase compatibility with machines that normally solely ship with Vista.
Related branches
Changed in linux: | |
assignee: | nobody → colin-king |
Changed in linux: | |
importance: | Undecided → Medium |
Changed in linux: | |
assignee: | colin-king → apw |
status: | New → In Progress |
Changed in dell: | |
status: | New → Confirmed |
Changed in dell: | |
status: | Confirmed → Fix Released |
Changed in somerville: | |
status: | New → Fix Released |
no longer affects: | dell |
@Mario -- could you get the output of the following for me:
cat /sys/devices/ platform/ i8042/serio0/ uevent platform/ i8042/serio1/ uevent platform/ i8042/serio1/ protocol
cat /sys/devices/
cat /sys/devices/
Then could you slurp down this kernel and give it a shot for me, specifically could you do the failed suspend/resume cycle and then get the output of:
dmesg
Kernels are here:
http:// people. ubuntu. com/~apw/ lp317270- jaunty/