Lenovo X1 Carbon 2015 3rd gen 20 BS - trackpoint, clickpad and wifi

16,597

Solution 1

Wifi is disconnecting

Open a Terminal with Ctrl + Alt + T and enter

sudo su
echo "options iwlwifi 11n_disable=1" >> /etc/modprobe.d/iwlwifi.conf
update-initramfs -u
reboot

You can try to use "11n_disable=8" to gain more speed as suggested in a comment. For me it didn't work as my wifi is unstable with "11n_disable=8" but your mileage may vary. I have no speed problems and no interrupt problems with "11n_disable=1".

Clickbuttons are not working at all

Open a Terminal with Ctrl + Alt + T and enter

sudo su
echo "options psmouse proto=imps" > /etc/modprobe.d/psmouse.conf
echo thinkpad_acpi > /etc/modules-load.d/thinkpad_acpi.conf
echo "options thinkpad_acpi force_load=1" > /etc/modprobe.d/thinkpad_acpi.conf 
update-initramfs -u
reboot

With this your buttons are working again. But you can't click on the complete touchpad anymore. Just the bottom of the touchpad recognizes clicks. But that's fine for me.

But the vertical scrolling with the middle button/trackpoint is not working. See below.

Special actions on Function keys

Open a Terminal with Ctrl + Alt + T and enter

sudo su
echo thinkpad_acpi > /etc/modules-load.d/thinkpad_acpi.conf
echo "options thinkpad_acpi force_load=1" > /etc/modprobe.d/thinkpad_acpi.conf 
update-initramfs -u
reboot

The special actions like Volume, Brightness, Beamer and Wifi toggle on F1-F8 are working now as expected. Special actions on F9-F12 are not working.

By the way: "FnLk" on the Esc Key means "Function Lock". You can activate the Function Lock with pressing Fn + Esc.

The brightness setting is not retained after a reboot.

Vertical Scrolling

Open a Terminal with Ctrl + Alt + T and enter

sudo su
export FILE="/etc/X11/Xsession.d/99trackpoint"
echo 'xinput set-prop "PS/2 Synaptics TouchPad" "Evdev Wheel Emulation" 1' > $FILE
echo 'xinput set-prop "PS/2 Synaptics TouchPad" "Evdev Wheel Emulation Button" 2' >> $FILE
echo 'xinput set-prop "PS/2 Synaptics TouchPad" "Evdev Wheel Emulation Timeout" 200' >> $FILE
echo 'xinput set-prop "PS/2 Synaptics TouchPad" "Evdev Wheel Emulation Axes" 6 7 4 5' >> $FILE
reboot

After rebooting you have vertical and horizontal scrolling with trackpoint and middle button.

Screen characters scrambled

Open a Terminal with Ctrl + Alt + T and enter

sudo su
mkdir /etc/X11/xorg.conf.d/
cd /etc/X11/xorg.conf.d/
echo 'Section "Device"'                      > 20-intel.conf
echo '    Identifier  "Intel Graphics"'     >> 20-intel.conf
echo '    Driver      "intel"'              >> 20-intel.conf
echo '    Option      "AccelMethod"  "uxa"' >> 20-intel.conf
echo 'EndSection'                           >> 20-intel.conf
reboot

Screen characters are not scrambled anymore.

Solution 2

I recently purchased an X1 Carbon 3rd generation. I fought the issues you mention plus a few more. I kept a text log of all of the fixes and post as follows -

TrackPad Buttons:

  • /etc/modprobe.d/touchpad.conf:

    options psmouse proto=imps
    
  • update-initramfs -u

vertical and horizontal scrolling

http://www.thinkwiki.org/wiki/How_to_configure_the_TrackPoint#Configuration_using_xinput

create /usr/share/xsessions/mouse.sh (sudo chmod +x mouse.sh) with the following content:

xinput set-prop "PS/2 Synaptics TouchPad" "Evdev Wheel Emulation" 1
xinput set-prop "PS/2 Synaptics TouchPad" "Evdev Wheel Emulation Button" 2
xinput set-prop "PS/2 Synaptics TouchPad" "Evdev Wheel Emulation Timeout" 200
xinput set-prop "PS/2 Synaptics TouchPad" "Evdev Wheel Emulation Axes" 6 7 4 5

Backlight Brightness

http://ppa.launchpad.net/indicator-brightness/ppa/ubuntu/pool/main/i/indicator-brightness/

  • /etc/default/grub:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
    
  • update-grub

  • sudo gedit /etc/rc.local

  • echo 167 > /sys/class/backlight/intel_backlight/brightness

fingerprint reader

http://www.saltycrane.com/blog/2014/12/setting-lenovo-thinkpad-x1-carbon-2nd-gen-fingerprint-reader-ubuntu-1404/

$ sudo apt-get install libmagickcore-dev
$ sudo apt-get install libusb-1.0.0-dev libnss3-dev libglib2.0-dev
$ sudo apt-get install libxv-dev
$ sudo apt-get install libtool
$ sudo apt-get install fprintd
$ sudo apt-get install automake
$ cd ~/Downloads
$ unzip fprint_vfs5011-faa090818200ca3ea6bfac8bb510e5e01a246c34.zip
$ cd fprint_vfs5011-faa090818200ca3ea6bfac8bb510e5e01a246c34
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install
$ sudo cp /lib/udev/rules.d/40-libfprint0.rules /etc/udev/rules.d/
$ sudo vi /etc/udev/rules.d/40-libfprint0.rules
# Validity VFS5011
SUBSYSTEM=="usb", ATTRS{idVendor}=="138a", ATTRS{idProduct}=="0017", ATTRS{dev}=="*", ATTR{power/control}="auto", MODE="0664", GROUP="plugdev"
$ sudo apt-add-repository ppa:fingerprint/fingerprint-gui
$ sudo apt-get update
$ sudo apt-get install libbsapi policykit-1-fingerprint-gui fingerprint-gui
$ fingerprint-gui

wifi disable 11N

  • add the following line in /etc/modprobe.d/iwlwifi.conf:

    options iwlwifi 11n_disable=1
    

Solution 3

I'd just post this as a comment but don't have the rep. I've been making tweaks based on this post since I got the 2015 X1 Carbon, but hadn't solved everything. I started over yesterday with a completely fresh Vivid install and was pleasantly surprised to find zero issues, as in "just works."

In particular, the click buttons and trackpad are recognized and configurable under "Mouse and Touchpad" settings. Middle-click touchpoint and two-finger touchpad scroll work as expected.

This doesn't exactly solve the OP's problems with 14.04, but may be helpful to others who find this post.

Solution 4

Here is my solution to the brightness issue:

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

int main(int args, char **argv)
{
    FILE *f;
    int cur_br, new_br;

    char cmd[256] = { 0, };
    if (args <= 1 || strnlen(argv[1], 256) >= 256) {
            printf("Set the screen brightness:\n\tbr 0-852 or [+-]\n\n");
            exit(1);
    }
    f = fopen("/sys/class/backlight/intel_backlight/brightness", "r+");
    if (f) {
            fscanf(f, "%d", &cur_br);
            fprintf(stderr, "%d\t%s", cur_br, argv[1]);
            if (strncmp(argv[1], "-", 1) == 0) {
                    new_br = (int)((float)cur_br / 1.1);
            } else if (strncmp(argv[1], "+", 1) == 0) {
                    new_br = (int)((float)(cur_br + 1) * 1.1);
            } else {
                    new_br = atoi(argv[1]);
            }
            if (new_br < 0) {
                    new_br = 0;
            } else if (new_br > 852) {
                    new_br = 852;
            }
            fprintf(stderr, "\t%d\n", new_br);
            fprintf(f, "%d", new_br);
            fclose(f);
    }
    return 0;
}

I have no idea why 852 is the magic number for max brightness (deduced it via trial and error). I bound my brightness keys to call this executable (has suid set) with either + or - as args. If you accidentally set brightness to 0 :D you can always execute with 500 (or 852) as the param.

Share:
16,597

Related videos on Youtube

Janning
Author by

Janning

I am founder and developer of Kicktipp, a german website for prediction games (Tippspiele). We use Ubuntu, Debian, Linux, Postgresql, Eclipse, Java, Hibernate, Apache, Gimp, and so on...

Updated on September 18, 2022

Comments

  • Janning
    Janning over 1 year

    I have got a brand new Lenovo X1 Carbon 2015 with IPS Display which is really a great laptop. But when installing ubuntu there are some problems I have already solved and some I have not. I put this all in one questions as this might be a good reference for other users.

    I have installed a fresh copy of ubuntu 14.04.02

    Wifi is disconnecting

    Wifi works first but is disconnecting after less than five minutes. If it disconnects it can't see the SSID anymore.

    lspci | grep Wireless
    

    04:00.0 Network controller: Intel Corporation Wireless 7265 (rev 3b)

    Clickbuttons are not working at all

    The Touchpad and trackpoint are working fine. The clickbuttons do not work. In some Programs they do a scroll down/scroll up.

    Vertical Scrolling

    After fixing the clickbuttons with psmouse proto=imps the trackpoint in combination with the middle button does no vertical scrolling

    Special Keys (like Brightness)

    Some keys like Volume up/down work out of the box, most don't (mute, Brightness, Wifi).

    Screen Characters scrambled on 14.10

    On 14.10 sometimes most characters on the screen are just simply gone or scrambled. It looks really weired.

    UNRESOLVED: Trackpoint Sensitivity

    With other thinkpad models you can control the sensitivity of the trackpoint with /sys/devices/platform/i8042/serio1/serio2/sensitivity

    This file ist not available for me. I searched /sys/devices for a file called sensitivity without success.

  • 0x2b3bfa0
    0x2b3bfa0 about 9 years
    And you're fixing all the wifi problems only disabling the n band?
  • Janning
    Janning about 9 years
    Yes, I fixed wifi for me. It is very stable after disabling 11n
  • 0x2b3bfa0
    0x2b3bfa0 about 9 years
    What wifi card is?
  • Jeremy31
    Jeremy31 about 9 years
    @Janning I would edit the conf file and change it gksudo gedit /etc/modprobe.d/iwlwifi.conf and change it from 11n_disable=1 to 11n_disable=8 then save, exit, and reboot as it usually works with the Intel cards
  • Janning
    Janning about 9 years
    Excellent. I added your vertical scrolling solution to my answer and marked it as community wiki, so we can bundle all changes there. I needed to adapt it for me on ubuntu 14.04
  • Janning
    Janning about 9 years
    @Jeremy31 what is the benefit of 11n_disable=8?
  • Janning
    Janning about 9 years
    What are using the fingerprint reader for?
  • 0x2b3bfa0
    0x2b3bfa0 about 9 years
    @Janning sorry, I didn't saw it.
  • Jeremy31
    Jeremy31 about 9 years
    It enables agg TX and can greatly improve the performance of wireless N networks. This bug report says performance dropped by 85% without the use of 11n_disable=8 bugs.launchpad.net/ubuntu/+source/linux/+bug/1319630
  • brett
    brett about 9 years
    Janning, it works for login, resume from hibernate and suspend, and sudo. does not work for synaptic. Thanks for function button solution. Pathetic that 11n is so unstable.
  • Janning
    Janning about 9 years
    What adds Backlight Brightness? With my function key solution I can use the brightness keys and it shows the current selection in the notification area (OSD feedback). Does your solution adds something to it?
  • brett
    brett about 9 years
    Mine does not add the use of the function keys. It adds an applet to panel to adjust the brightness and a default brightness setting (the code: echo 167 > /sys/class/backlight/intel_backlight/brightness). I have not tried your function key fix. Does it retain backlight settings on re-boot? This is a good thread btw. Nice to have all of these fixes in one place.
  • Janning
    Janning about 9 years
    My function key fix does not keep the backlight after reboot, but I don't need it as I can quickly change the brightness with the special keys. Does your solution retains the settings after reboot?
  • brett
    brett about 9 years
    yes, it retains the brightness setting. I would leave it here for reference though because some don't like starting at maximum brightness. I don't remember the range but around 160 gives a backlight intensity of about 25% of maximum.
  • Vladislav Mitov
    Vladislav Mitov about 9 years
    Two finger scrolling stopped working after that :(
  • Janning
    Janning about 9 years
    @VladislavMitov Yes, this is true, but I use the trackpoint only, so I don't care about ist. A bugfix for this is on the way git.kernel.org/cgit/linux/kernel/git/dtor/input.git/commit/…
  • Wilf
    Wilf about 9 years
    Where did you download the 'fprint_vfs5011-faa090818200ca3ea6bfac8bb510e5e01a246c34.zip‌​' from (it might help to include it in your post)
  • brett
    brett about 9 years
    Wilf - added link under fingerprint reader.
  • brett
    brett about 9 years
    Thanks, very useful. Can you comment on back light brightness and Wifi radio keys? I wanted the 5 year support cycle so I opted for 14.04 over 14.10. What happens at the end of 15.04's 9 month support cycle?
  • effel
    effel about 9 years
    Vivid recognized the function keys for the back light properly. The on-screen sun icon and slider appear and I'm able to adjust the brightness. The brightness level survives after sleeping and resuming. Tapping the radio key toggles airplane mode, in which the wifi and bluetooth radios are shut down. Something I've noticed since posting is that I can't sleep the machine using my GNOME menu. I didn't realize this at first because closing the lid sleeps and opening it resumes, per my power settings, and it isn't a problem for me.
  • TheJKFever
    TheJKFever almost 9 years
    I looked at my xinput settings and they were already what you suggested to change them to, but the vertical scrolling still doesn't work. Any ideas?
  • brett
    brett almost 9 years
    @TheJKFever - to vertical scroll with the track pad you must depress the middle track button while moving your finger on the track pad or moving the little mouse button in the center of the key board.
  • Eric A. Bunch
    Eric A. Bunch almost 9 years
    I had many of the same issues as the OP with my x1 carbon--the character scrambling was especially bad. Installing 15.04 was what I found to fix all the issues i was having
  • brett
    brett almost 9 years
    I made the switch to 15.04 from 14.04 about one month ago and can confirm that the wifi, trackpad and brightness problems are fixed. Have not tested the camera key. I initially upgraded from 14.04 to 15.04 however did not achieve desired results and resorted to clean install of 15.04.