Fujitsu Lifebook T901 convertible laptop/tablet features missing on default install
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Fujitsu Lifebook T901 convertible laptop/tablet features missing on default install
This thread is for both helping me and helping others get the most of this sophisticated machine thru Slackware.
1.[SOLVED] So far I got Slackware64 14.2 o install and it was a bumpy road - no legacy mode, only EFI and the dreaded installer FS format bug.
Once i figured to format the EF00 partition to FAT32 before i run setup i installed it with elilo easy and with no further problems.
2.[SOLVED] My processor is i5 2520M and my T901 uses the IGP Intel HD3000 -detected properly form the get go.
I further tweaked it to allow for DRI3 because i wanted to try out latest wine and Gallium 9 support - it works and can be done - is it useful remains to be further tested.
3.[SOLVED] The Wacom tablet and pen drivers (ISD-V4?) didn't work properly out of the box on XFCE4 so i had to make few custom scripts that helped me on the way - will post them in further messages after this one.
4. The Wacom touchpad works out of the box, I particular enjoy the edge scrolling but, alas the circular scroll pad next to it is still out of use. The driver is psmouse and I didn't find any solution yet.
5.[SOLVED] The light sensor can be easy red and the back-light of the display can be easy adjusted - even automatically - but it can be annoying at times as the sensor seems to respond to light changes quite abruptly. There is a script it tried to use I also will post later.
6. The scroll sensor on the screen edge can't be used still - my wild guess is it is also connected to the psmouse controlled Wacom touchpad.
7. The ACPI subsystem sends correctly an event when the lid is rotated and folded into the tablet position - I'm not aware of any script/utility using this information to adjust any of the settings, I'm right now exploring if I could make any sense/use of it
8. There seems to be an inertial/gravity sensor for protecting the hard disk, but i didn't even start to look it up yet.
9.[SOLVED] GSM/GPRS modem works - I used it with Network Manager with no problems. Maybe it could be used for SMS as well - didn't finish this yet. The device is "Sierra Wireless Inc - MC8305"
10.[SOLVED] Bluetooth works (Broadcom - bcm20702a0). See further below.
11. The fingerprint sensor seems detected, but i didn't tried anything with it yet.
12.[SOLVED] The camera is auto detected, and all that is needed is to run an mplayer command-line or install wxcam to check if it works.
13.[SOLVED 50%] The buttons on the edge of the screen bezel - i edited out the fujitsu-tablet.c to have keys i prefer over the shipped ones - while this is a quick and dirty fix, I would prefer the module takes the config from users-pace so it would survive kernel upgrades without the fuss. Preferably a module parameter or an file somewhere.
Last edited by SCerovec; 09-11-2018 at 04:31 AM.
Reason: forgot some... there's quite a mouthful and marking [SOLVED]
As promised, (intended use - for tablets and convertibles):
file:wacomrotate.sh
Code:
#!/bin/sh
IFS=$'\n'
orient() {
# make all wacom devices oriented in a desired way
for ((d=1; d<$n; d++))
do
xsetwacom set ${T[d]} Rotate $1
done
}
rotate() {
#detect xrandr display orientation and translate it for wacom
O=$(xrandr -q | grep $S | awk -F'(' '{print $1}' | awk '{print $4}')
#echo "orientation: $O"
case $O in
left)
orient "ccw"
;;
right)
orient "cw"
;;
inverted)
orient "half"
;;
*)
orient "none"
;;
esac
}
# number of and the store of wacom devices
n=0
T[9]=''
# where we check for rotation events
logfile="/var/log/Xorg.0.log"
# tell we are online
echo "Wacom screen rotation adjustemnt online."
# collect the available devices
for d in $(xsetwacom list devices | awk -F' ' '{print $1 }')
do
echo "found: $d"
n=$((++n))
T[$n]=$d
done
echo "$n devices found"
# find our display
S=$(xrandr | grep " connected" | awk '{print $1}' )
# we currently support only one device really
if [[ $S == "LVDS1" ]]; then
echo "Found supported video device"
else
echo "No supported device found"
fi
# one dry run
rotate
# await for events
tail -fn0 $logfile | \
while read line; do
echo $line | grep -q "rotation"
if [ $? = 0 ]
then
rotate
fi
done
HOWTO:
have this script executable and called during your's favorite DM startup.
As the X is rotated, the script will align the wacom tablet input accordingly.
#!/bin/sh
device="Wacom ISDv4 EC Pen"
pen=$device" stylus"
eraser=$device" eraser"
echo "setting up Wacom ISDv4 EC for blender"
#set eraser to be 3rd mouse button - rotate with the back of the pen
xsetwacom set "${eraser}" "Button" "1" "button +2 "
xsetwacom set "${eraser}" "Button" "2" "button +2 "
xsetwacom set "${eraser}" "Button" "3" "button +2 "
# set pen tip be left click - to move the 3d cursor and interact with menus
xsetwacom set "${pen}" "Button" "1" "button +1 "
# set the front click make the pen tip be RMB - select in viewport
xsetwacom set "${pen}" "Button" "2" "button +3 "
# set the back click make the pen tip be middle button - rotate in viewport
xsetwacom set "${pen}" "Button" "3" "button +2 "
The file i use when working with blender...
Last edited by SCerovec; 09-01-2018 at 03:59 PM.
Reason: O.o found errors -fixed now
"1" = left Alt
"2" = Tab
"3" = Esc
"4" = Contorl
"ent" = Shift
after editing as root run (replace 4.4.153 below, with what applies for your system):
Code:
cd /usr/src/linux
make drivers/platform/x86/fujitsu-tablet.ko
cp -v drivers/platform/x86/fujitsu-tablet.ko /lib/modules/4.4.153/kernel/drivers/platform/x86/
modprobe -rv fujitsu-tablet
modprobe -av fujitsu-tablet
and you should have the changes at your disposal.
This is somewhat unfortunate, as it does not account for alternative configurations preferred by other programs.
An user-space control mechanism would be more flexible and suited for more uses.
Last edited by SCerovec; 09-01-2018 at 09:00 AM.
Reason: forgot line number and howto make
It goes without saying I had to install Florence and svkbd.
For Florence it is quite intuitive but somewhat buggy and quirky to set up as one likes. I recommend trying with switching the window decorations on and off until the size is just right.
For svkbd, i like much better, i recommend following command-line parameters:
Code:
svkbd -g 400x120
For a easy to point to and click, yet small enough window. It can be set as a dock window, I guess this meas it can be auto hidden as well - i didn't try that yet.
For convenient screen rotation in XFCE4 i used the keyboard settings and assigned the "4"+"3" keys to setting up the display
I ordered an US layout keyboard to replace my DIN layout one I've got with the laptop.
I ended up using neither - actually I swapped some keys and used the original keyboard for one reason - the [fn] keys had different mapping and the US vs DIN just didn't match.
SO i went ahead and replaced only the offending keys:
Code:
Q,Y,P,[,],
;,',\,
Z,M,,,. and /
both Ctrls, both Alts
but i kept the 7 style win and menu keys, especially because the later had a black "X11 like" arrow on it
As promised, (intended use - for tablets and convertibles):
file:wacomrotate.sh
Code:
#!/bin/sh
IFS=$'\n'
orient() {
# make all wacom devices oriented in a desired way
for ((d=1; d<$n; d++))
do
xsetwacom set ${T[d]} Rotate $1
done
}
rotate() {
#detect xrandr display orientation and translate it for wacom
O=$(xrandr -q | grep $S | awk -F'(' '{print $1}' | awk '{print $4}')
#echo "orientation: $O"
case $O in
left)
orient "ccw"
;;
right)
orient "cw"
;;
inverted)
orient "half"
;;
*)
orient "none"
;;
esac
}
# number of and the store of wacom devices
n=0
T[9]=''
# where we check for rotation events
logfile="/var/log/Xorg.0.log"
# tell we are online
echo "Wacom screen rotation adjustemnt online."
# collect the available devices
for d in $(xsetwacom list devices | awk -F' ' '{print $1 }')
do
echo "found: $d"
n=$((++n))
T[$n]=$d
done
echo "$n devices found"
# find our display
S=$(xrandr | grep " connected" | awk '{print $1}' )
# we currently support only one device really
if [[ $S == "LVDS1" ]]; then
echo "Found supported video device"
else
echo "No supported device found"
fi
# one dry run
rotate
# await for events
tail -fn0 $logfile | \
while read line; do
echo $line | grep -q "rotation"
if [ $? = 0 ]
then
rotate
fi
done
HOWTO:
have this script executable and called during your's favorite DM startup.
As the X is rotated, the script will align the wacom tablet input accordingly.
Slowly stitching it all together:
all the tools i posted go to ~/bin on my system,
then i fiddled with ACPI:
Code:
$ cd /etc/acpi/
$ tree
.
├── acpi_handler.sh
├── events
│** ├── default
│** └── tabletmode
└── tabletmode.sh
files of interest:
file :events/default
Code:
# This is the ACPID default configuration, it takes all
# events and passes them to /etc/acpi/default.sh for further
# processing.
# event keeps a regular expression matching the event. To get
# power events only, just use something like "event=button power.*"
# to catch it.
# action keeps the command to be executed after an event occurs
# In case of the power event above, your entry may look this way:
event=button power.*
action=/sbin/init 0
# Optionally you can specify the placeholder %e. It will pass
# through the whole kernel event message to the program you've
# specified.
#event=.*
#action=/etc/acpi/acpi_handler.sh %e
as can be seen, i cut off the acpi handler and turned to individual event handling
file: events/tabletmode
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.