User Tools

Site Tools


hardwarerelated:thinkpad_x200

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
hardwarerelated:thinkpad_x200 [2018/06/10 02:27]
chris
— (current)
Line 1: Line 1:
-===== Notes for ThinkPad x200 w/ linux ===== 
-My notes for running linux on the ThinkPad x200. Mine is model NR35NGE, 3x USB 2.0, ExpressCard/​54 Slot, weight 1.54kg. ​ 
  
-**notes for Lenovo x200 UltraBase 44C0554:** it contains a DisplayPort. DisplayPort->​HDMI adapters can be used, but the DisplayPort on the UltraBase is not capable of outputting audio over HDMI. As a workaround, there are adapters available which offer a USB port soundcard to the system, additionally take the DisplayPort output from the UltraBase, and output a HDMI signal with audio. 
- 
-== hardware == 
-    * Intel Core 2 Duo P8600, 2.40GHz, 3MB L2, 1066MHz FSB  
-    * Intel Graphics Media Accelerator 4500 MHD onboard graphics, 12" CCFL with 1280×800 (WXGA, 200 nit)  
-    * Support for up to 4GB DDR3-RAM PC3-8500, 2GB buildin 
-    * harddisk 160GB SATA 2.5" 7200RPM 
-    * 5-1 (MMC/​SD/​SDHC and MS/MS Pro) Media card Reader with Modem 
-    * Intel Gigabit Ethernet Controller 
-    * MiniPCI Express slot 1 w/ Intel Wifi Link 5100 (AGN) 
-    * Integrated camera (?), Integrated microphone, Fingerprint Reader Authentec Inc. AES2810 ( usb 08ff:2810 ) 
-    * Bluetooth 
-    * IBM Embedded Security Subsystem 2.0 
-    * IBM Active Protection System 
-    * TrackPoint only 
-    * 6-cell battery, 56 Wh (10.8 V, 5.2 Ah). up to 6.5 hr, 1.47kg (slightly elevates the back) 
- 
-== first steps == 
-  * first step: getting the debian network install-files for amd64, setting up dhcp/tftp on other debianbox, PXE-booting the x200 
-  * partitioning: ​ 
-<​code>​ 
-  primary 256M partition for /boot 
-  primary 256M partition for other linuxs /boot (still unused currently) 
-  primary 10GB partition for OpenSolaris or FreeBSD, those still require partitions, right? 
-  extended ​ 
-     2gb encrypted swap 
-     12gb encrypted / for debian 
-</​code>​ 
-  * see snippets/​debianinstall 
-===== X basic configuration ===== 
-As of 21.03.2009 X from debian unstable uses the VESA driver by default, thats slow and screen-blanking doesnt work. 
-<​code>​ 
-# make sure X is not running 
-X -configure 
-mv /​root/​xorg.conf.new /​etc/​X11/​xorg.conf 
-vi /​etc/​X11/​xorg.conf # make sure Driver "​intel"​ is set in graphic-card section 
-</​code>​ 
- 
-===== using the trackball/​nipple to scroll websites, current way ===== 
-  * debian: apt-get install xinput 
-  * fedora14/​15:​ yum -y install xorg-x11-apps xinput 
-  * debian unstable currently detects the device just as 'PS/2 Generic Mouse' 
-  * add this to ~/​.xsession:​ 
-<​code>​ 
-xinput list | \ 
-egrep '​TPPS/​2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|PS/​2 Generic Mouse' | \ 
-sed '​s/​.*id=\([0-9]\{1,​\}\).*/​\1/'​ | \ 
-while read id ; do 
-  xinput set-prop $id "Evdev Wheel Emulation"​ 1 
-  xinput set-prop $id "Evdev Wheel Emulation Button"​ 2 
-  xinput set-prop $id "Evdev Wheel Emulation Timeout"​ 200 
-  xinput set-prop $id "Evdev Wheel Emulation Axes" 6 7 4 5 # horiz. and vert. scrolling 
-  #xinput set-prop $id "Evdev Wheel Emulation Axes" 0 0 4 5 # just vert. scolling 
-done 
-</​code>​ 
- 
-===== using the trackball/​nipple to scroll websites, old way 1 ===== 
-  * With this one can press the middle-button on websites and scroll the site moving the trackball up/down. 
-  * The 2 keys above the cursor-keys also get a new mapping here, after making this change here you can directly use them in your windowmanager for mappings. 
-  * Create file /​etc/​udev/​rules.d/​99_trackpoint.rules with this content and restart uder/X ort reboot: 
-<​code>​ 
-ACTION!="​add|change",​ GOTO="​xorg_trackpoint_end"​ 
-KERNEL!="​event*",​ GOTO="​xorg_trackpoint_end"​ 
-ENV{ID_PATH}!="​platform-i8042-serio-1",​ GOTO="​xorg_trackpoint_end"​ 
-ENV{x11_options.EmulateWheel}="​1"​ 
-ENV{x11_options.EmulateWheelButton}="​2"​ 
-ENV{x11_options.XAxisMapping}="​6 7" 
-ENV{x11_options.Emulate3Buttons}="​0"​ 
-LABEL="​xorg_trackpoint_end"​ 
-</​code>​ 
- 
-===== using the trackball/​nipple to scroll in websites, old way 2 ===== 
-  * Create file /​etc/​hal/​fdi/​policy/​mouse-wheel.fdi with this content and reboot: 
-<​code>​ 
-<match key="​info.product"​ string="​TPPS/​2 IBM TrackPoint">​ 
- <​merge key="​input.x11_options.EmulateWheel"​ type="​string">​true</​merge>​ 
- <​merge key="​input.x11_options.EmulateWheelButton"​ type="​string">​2</​merge>​ 
- <​merge key="​input.x11_options.YAxisMapping"​ type="​string">​4 5</​merge>​ 
- <​merge key="​input.x11_options.XAxisMapping"​ type="​string">​6 7</​merge>​ 
- <​merge key="​input.x11_options.Emulate3Buttons"​ type="​string">​true</​merge>​ 
- <​merge key="​input.x11_options.EmulateWheelTimeout"​ type="​string">​200</​merge>​ 
-</​match>​ 
-</​code>​ 
- 
-===== using the 2 keys next to cursor-keys ===== 
-Use this if you dont want to use the 2 keys next ot the cursor keys, i.e. to jump to other virtual screens. 
- 
-**Note:** This is no longer needed for xorg-installasions as of 2009. Those mostly offer the keys automatically,​ so you have just to configure your windowmanager appropriately. ​ 
-<​code>​ 
-xev         # select the window that gets created and hit the keys after each other to get their keycodes. here 234 and 233 
-xmodmap -pk # shows current mappings 
-xmodmap -e '​keycode 233 = THORN' 
-xmodmap -e '​keycode 234 = Oslash'​ 
-            # those commands now maps keysyms to our keys, use keysyms you do not usually 
-WPrefs ​     # this is the utilits windowmaker uses to assign actions. Go to '​change keyboard shortcuts',​ select your action 
-            # (for me its switch to next/​previous workspace), then '​capture'​ and hit the key. save, and the keys have their 
-            # new assignment. 
-            # execute the 2 assignment-xmodmap-calls in ~/.xinitrc or ~/​.xsession,​ or read on .xmodmaprc in 'man xmodmap'​ 
-</​code>​ 
- 
-===== automatic detection/​modesetting for external monitor ===== 
-I use a external 24" monitor attached to the ultrabase dockingstation. X detects the DisplayPort-output as HDMI-2, from there i use a cable to the DVI-interface of the monitor. This script is run upon userlogin from xdm.  
-<​code>​ 
-cat >>​~/​.xsession <<EOT 
-# disable internal monitor on rhel if external monitor available 
-if [[ -n $(xrandr | grep '​^HDMI2 connected'​ ) ]]; then 
-                echo "HDMI2 connected was detected.">/​tmp/​xsessionlog 
-                xrandr --output LVDS1 --off 
-                xrandr --output HDMI1 --auto 
-                xrandr --output HDMI2 --mode 1920x1080 
-fi 
-EOT 
-</​code>​ 
- 
-===== using a TV as output besides the internal screen ===== 
-  * Displayport->​HDMI adapter DeLOCK Adapter DP St./HDMI Bu. 
-<​code>​ 
-# this places the TV output below the virtual screens running windowmanager 
-xrandr --output HDMI1 --mode 1920x1080 --below LVDS1 
- 
-# pavucontrol can switch the audiooutput into the TV instead of internal speaker 
-sudo yum -y install pavucontrol 
-</​code>​ 
- 
-===== tuning LED brightness ===== 
-<​code>​ 
-yum -y install xbacklight 
-xbacklight -inc 10% 
-xbacklight -dec 10% 
-</​code>​ 
- 
-===== 3G UMTS card ===== 
-  * Option GlobeTrotter HSUPA Modem (aka "​T-Mobile Web'​n'​walk Card Compact III'), usb id 0af0:7011 
-  * we have to disable the modem shows up a storage-device and not the modem-interfaces,​ debian-package usb_modeswitch doesnt work for me: 
-<​code>​ 
-# get udev.tar.gz from http://​www.pharscape.org/​ozerocdoff.html ​ 
-apt-get install libusb-dev ppp 
-cd hso_udev 
-CC=/​usr/​bin/​gcc-4.4 make 
-make install 
-</​code>​ 
-  * insert umts-card, driver hso (in kernel since 2.6.29) should be loaded. The udev-rule from hso_udev should switch from usb-storage mode to modemmode, devices /​dev/​ttyH[1234] should appear 
-  * get hso_26-v1.9 from http://​www.pharscape.org,​ edit conninfo.ini,​ use '​./​hso_connect.sh up' to get connected 
-  * alternatively use wvdial: 
-<​code>​ 
-apt-get install wvdial 
-cat >/​etc/​wvdial.conf <<EOT 
-[Dialer Defaults] 
-Modem = /dev/ttyHS3 
-Phone = *99***1# 
-Username = t-mobile 
-Password = t-mobile 
-Dial Command = ATDT 
-New PPPD 
-Init2 = AT+CPIN=1234 
-Init3 = AT+COPS=0 
-Init4 = AT+CGDCONT=1,"​ip","​internet.t-mobile.de"​ 
-Init5 = AT$QCPDPP=1,​1,"​t-mobile","​t-mobile"​ 
-Init6 = AT_OWANCALL=1,​1,​0 
-Modem Type = Analog Modem 
-EOT 
-# replace 1234 with your pin, change providersettings. then start '​wvdial'​ to dial in 
-</​code>​ 
- 
-===== wlan ===== 
-== using wlan: basics == 
-  * apt-get install kismet wpasupplicant 
-  * the kismet wlan-scanner in older versions does not know a source-type iwlagn so use '​source=iwl4965,​wlan0,​iwlagnsource'​ and '​enablesources=iwlagnsource'​ in /​etc/​kismet/​kismet.conf 
-  * the cfg80211 module should be configured for your region providing proper channels. I do %%echo '​options cfg80211 ieee80211_regdom="​EU"'​ >/​etc/​modprobe.d/​wlan.conf'​%% here. 'cat /​sys/​module/​cfg80211/​parameters/​ieee80211_regdom'​ shows your setting. 'iw reg set EU' also tries to set this. 
-  * packet-injection with aircrack-ng doesnt work here 
- 
-== using wlan: ad-hoc mode == 
-<​code>​ 
-ifconfig wlan0 down 
-ifconfig wlan0 1.0.0.1 netmask 0xffffff00 
-iwconfig wlan0 mode ad-hoc 
-iwconfig wlan0 key 1234567890 
-iwconfig wlan0 channel 1 
-iwconfig wlan0 essid tester 
-ifconfig wlan0 up 
-</​code>​ 
- 
-== devicesection in kismet.conf == 
-<​code>​ 
-source=iwl4965,​wlan0,​iwlagnsource 
-enablesources=iwlagnsource 
-</​code>​ 
- 
-===== kernelbootline ===== 
-  * append '​vga=0x0368'​ - for framebuffer mode 
- 
-===== fan-control ===== 
-By default the fan here tunes up when cpus get hot, but do not tune back later. One can control this manually (risking heat-damages) or employ scripts to tune the fan up/down. None of the BIOS/​firmware updates fixed the issue for me, 3.22-1.07 was latest. 
-<​code>​ 
-# activate manual fan-control 
-echo '​options thinkpad_acpi hotkey=enable,​0xffffbf experimental=1 fan_control=1'​ \ 
-   >>/​etc/​modprobe.d/​thinkpad_acpi.modprobe.conf 
-# then after reloading the module with those options, lets tune the fan up for example: 
-echo 'level 5' >/​proc/​acpi/​ibm/​fan 
-</​code>​ 
-  * I wrote regulator.pl to observe the temp-sensors and control the fan accordingly on my x200. The sensors have to be modified for other thinkpad-models,​ the limits to ramp up the fan are more or less randomly chosen and there is no mode without fan, its always on at least lowest level. There is a observer-mode for just observing fan/​temperatures and a daemon-mode to run the script in background. On thinkwiki.org there are more of these scripts, tried one from there but wrote this myself so i have a clue what it does. Its available here: http://​fluxcoil.net/​files/​scripts/​ . 
- 
-===== bios-update w/o windows ===== 
-Lenovo is providing an option for bios-update with windows-binaries,​ since i am not running windows this wont work here. They also provide a cdrom-iso which i cannot boot with a usb-cdrom since i dont own one. 
- 
-  * http://​www.thinkwiki.org/​wiki/​BIOS_Upgrade -- read this 
-  * http://​support.lenovo.com -- find out the latest bios-version,​ here version 3.22 released 2013/07 
-  * The memdisk-program from sysutils-common package can boot cdrom iso images, but the image doing the bios-update needs to be converted before memdisk can boot it. [[http://​colimit.googlepages.com/​isobar.c|isobar]] is is used for the converting. Alternative script for converting: geteltorito.pl . 
-  * http://​www.thinkwiki.org/​wiki/​BIOS_update_without_optical_disk contains informations on the whole procedure, that did work for me for for 2 bios updates. 
- 
-===== Notes for ThinkPad x200 w/ FreeBSD ===== 
-  * for installation of FreeBSD 8.0-RELEASE is used a usbstick, just 8.0-RELEASE-i386-memstick.img dd'ed onto a usb-stick 
-  * for wlan:  
-    * you have to upgrade to 8.0-STABLE or CURRENT then to get it working 
-    * manually load the module with '​kldload if_iwn'​ 
-    * or add line %%if_iwn_load="​YES"​ to boot/​loader.conf and reboot 
hardwarerelated/thinkpad_x200.1528590452.txt · Last modified: 2018/06/10 02:27 by chris