https://www.thinkwiki.org/w/api.php?action=feedcontributions&user=Beagle&feedformat=atomThinkWiki - User contributions [en]2024-03-28T08:56:02ZUser contributionsMediaWiki 1.31.12https://www.thinkwiki.org/w/index.php?title=AD1981HD&diff=30168AD1981HD2007-05-30T14:37:22Z<p>Beagle: Added hint to make the distinction between hardware and software volume</p>
<hr />
<div>__NOTOC__<br />
{| width="100%"<br />
|style="vertical-align:top" |<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
=== AD1981HD ===<br />
This is a Analog Devices High-Definition Audio 1.0 controller<br />
<br />
=== Features ===<br />
* Chipset: AD1981HD<br />
* Interface: HD Audio 1.0<br />
</div><br />
|style="vertical-align:top" |<br />
|}<br />
{{HINT|By default, the volume buttons on the laptop control the volume of the hardware while software mixers like alsamixer and aumix increase or decrease the volume relative to the hardware volume.}}<br />
=== Linux ALSA driver ===<br />
==== Installation on Debian GNU/Linux ====<br />
The AD1981HD installs by default in Debian. To get it to work type 'alsaconf' on the command line as the root user.<br />
<br />
{{ cmdroot| alsaconf }}<br />
{{HINT|To become root, type su at the command line.}}<br />
==== Problems ====<br />
* As of kernel 2.6.17, some users report a missing master volume control (e.g., with the T60p and Z60m), as described in this thread: http://www.mail-archive.com/alsa-user@lists.sourceforge.net/msg17089.html<br />
: As of ALSA 1.0.13 the master volume has returned. Download the latest modules from your distrobution to fix this problem. Otherwise as a temporary fix add model=hp to the snd-hda-intel module option. This will return the master volume control to your control.<br />
{{HINT|If you use Debian, edit /etc/modprobe.d/sound to change ALSA module options. }}<br />
* If you experience crackling noises, this can be avoided by adding the position_fix=2 optional argument for the module.<br />
<br />
* If you have problems recording audio, try selecting "Front Mic" as the capture device.<br />
{{ NOTE | There have been reported problems using arecord while debugging, it's recommended to instead use Audacity. }}<br />
<br />
* According to a bug in the BIOS, the modem disables the audio device too. If you are having problems with your soundcard and have disabled your modem, try re-enabling it. On some systems disabling the modem results in fixing some problems, so if you haven't disabled the modem, try it. On the T60p model, the in-kernel ALSA system will report "azx_get_response timeout"; re-enabling the modem fixed this issue and brought audio back. This also works for the X60s.<br />
<br />
* external / internal microphone does not work for me. see <br />
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2449<br />
https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2736<br />
(different laptops but same sound chip)<br />
<br />
{{NOTE | This problem was fixed for me by specifying the model option to 'ref' for the snd-hda-intel module (see first problem). }}<br />
<br />
=== ThinkPads this chip may be found in ===<br />
* {{R60}}, {{R60e}}<br />
* {{T60}}, {{T60p}}<br />
* {{X60}}, {{X60s}}<br />
* {{Z60m}}, {{Z60t}}<br />
* {{Z61m}}<br />
<br />
=== Datasheets ===<br />
* [http://www.analog.com/en/prod/0,2877,AD1981HD,00.html Analog Devices page for the AD1981HD]<br />
* [http://www.analog.com/UploadedFiles/Data_Sheets/338118709AD1981HD_0.pdf Direct link to the AD1981HD datasheet]<br />
<br />
[[Category:Components]]</div>Beaglehttps://www.thinkwiki.org/w/index.php?title=Problem_with_hot_surfaces&diff=30167Problem with hot surfaces2007-05-30T14:23:48Z<p>Beagle: /* Reduced fertility and generic damage to spermatozoa */</p>
<hr />
<div>This article is about hot surfaces that can cause thermal discomfort to the user of the laptop. For acoustic discomfort (indirectly) caused by fan noise due to heating up, see [[problem with fan noise]]. For hardware meltdowns, see your Lenovo representative.<br />
<br />
==ThinkPad {{T43}} hot area under touchpad==<br />
<br />
On the {{T43}} and {{T43p}}, the area under the touchpad (housing the southbridge and WiFi card) can get very hot, especially when the WiFi card is in use. This can cause severe discomfort when using the laptop on one's lap.<br />
<br />
===Health implications===<br />
The location of the hotspot in the above models some serious potential health issues, especially for male users.<br />
<br />
====Burns====<br />
There is a [http://www.theregister.co.uk/2002/11/22/man_burns_penis_with_laptop/ recorded case] of a serious penis burn caused by a laptop.<br />
<br />
Dr. Jon Jenkins notes in [http://www.theregister.co.uk/2002/11/29/on_penis_burns_red_hot/ The Register]: "''I thought I would just point out that the penis does not have heat sensory nerve fibres. So it is [theoretically] quite possible to not know that your appendage is suffering from exposure to heat''".<br />
<br />
====Reduced fertility and generic damage to spermatozoa====<br />
Raised scrotum temperature [http://news.bbc.co.uk/2/hi/health/4078895.stm affects fertility], and can cause [http://www.reproduction-online.org/cgi/content/full/129/4/505 defective DNA in spermatozoa for many weeks after a brief mild exposure] (42 degrees Celsius for 30 minutes).<br />
<br />
===Partial solutions===<br />
* [[How to control fan speed|Increasing the fan speed]] will reduce all system temperatures, but the effect on the above part of the laptop is small due to lack of air flow.<br />
* A hardware mod like [http://linuxfocus.org/~guido/gentoo-tpt43p/cooling/ Guido's cooling system] or the [http://forum.thinkpads.com/viewtopic.php?t=14580http://forum.thinkpads.com/viewtopic.php?t=14580 GPU-southbridge thermal bridge] may help. One promising approach is to add a copper sheet to thermally bond the southbridge and WiFi card to the adjacent PCMCIA cage, which sees significant airflow.<br />
* If you do have more use for your lap and related bio-equipment than just holding the notebook, then don't use the notebook directly on top of your lap. IBM has not called their ThinkPads "laptops" for some time, you now know why.<br />
<br />
===See also===<br />
* [[Battery safety]]<br />
* [[Problem with fan noise]]<br />
* [[How to reduce power consumption]]</div>Beaglehttps://www.thinkwiki.org/w/index.php?title=Known_Problems&diff=30166Known Problems2007-05-30T14:23:27Z<p>Beagle: /* Misc Problems */</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |<br />
Information on known problems with certain ThinkPad models.<br />
|}<br />
==Display Problems==<br />
*[[Problem with unusable console | Console unusable]] <tt>(models with savage video chipset: T2x, A22e)</tt><br />
*[[Problem with Pixel Error | Dead pixels on TFT displays]] <tt>(all models)</tt><br />
*[[Problem with DVI throughput | DVI throughput on port replicators and docks]] <tt>(models from 2000-2004)</tt><br />
*[[Problems with fglrx | fglrx problems]] <tt>(ATI Radeon models)</tt><br />
*[[Problem with garbled screen | Garbled Screen]] <tt>(T40, T41, T42, R40, R50p, A30, A31, A31p)</tt><br />
*[[Problem with broken inverter | Inverter broken]] <tt>(all models)</tt><br />
*[[Problem with key and trackpoint markings on the display | Key and Trackpoint markings on display]]<br />
*[https://bugs.freedesktop.org/show_bug.cgi?id=2187 Radeon 7500 "DynamicClocks" randomly hangs] <tt>(TP T4x, Xorg-X11 bug report)</tt><br />
*[[Problem with red display shadow | Red shadow on display]] <tt>(TP T41p)</tt><br />
*[[Problem with red tinted display | Red tinted display]] <tt>(TP 23)</tt><br />
*[[Problem with black X | Unmovable square black X in X]] <tt>(TP T2x)</tt><br />
*[[Problem with video related system lockup | System Lockups related to video adapter]] <tt>(TP T2x)</tt><br />
*[[Problem with video related system lockup II | System Lockups related to video adapter T42]] <tt>(TP T42, T42p)</tt><br />
*[[Problem with ati driver in xorg 6.9.x | System lockup soon after starting xorg 6.9.x ]] <tt>(TP T4x)</tt><br />
*[[Problem with video output switching | Video output switching]]<br />
*[[Problem with LCD brightness buttons | Video brightness up keys don't work or cause crashes]]<br />
<br />
==Harddisk Drive related Problems==<br />
*[[Problem with APS harddisk parking|APS harddisk parking]] <tt>(models featuring APS)</tt><br />
*[[Problem with too large harddrive|BIOS hangs with harddrive sized over 8G]] <tt>(560)</tt><br />
*[[Problem with hard drive clicking | Clicking Hard Drive]] <tt>(models with Hitachi's 5k80 hard drive)</tt><br />
*[[Problem with non-ThinkPad hard disks|Non-ThinkPad hard disks]] <tt>(T43, X41, R52)</tt><br />
*[[Problems with SATA and Linux|SATA and Linux]] <tt>(T43, X41, R52, Z60)</tt><br />
<br />
==Network Problems==<br />
*[[Problem with 3Com 10/100 Ethernet card not being recognized|3Com 10/100 Ethernet card not recognized]] <tt>(models with that card)</tt><br />
*[[Problem with unauthorized MiniPCI network card|"Unauthorized" MiniPCI Wireless Network card error (Error 1802)]] <tt>(Recent TPs)</tt><br />
*[[Cisco Aironet Wireless 802.11b]] fails to work with certain firmware versions<br />
*[[Problem with error 01C9 - More than one Ethernet devices | Error 01C9: More than one Ethernet Devices are found (Atheros WLAN MiniPCI)]] <tt>(T23, T30, A31p, R40 and others)</tt><br />
*[[Problem with e1000: EEPROM Checksum Is Not Valid]] <tt>(T60, X60, may be others)</tt><br />
*[[Problem with e1000: 99.9% packet loss on 7.x drivers]] <tt>(Recent TPs)</tt><br />
<br />
==Power Management, AC-adapter or Battery Problems==<br />
*[[Problem with ThinkPad 600 batteries | 600 series Battery dying prematurely]] <tt>(TP 600/E/X)</tt><br />
*[[Damage in 56W AC-Adapter, plastic housing melted |AC-Adapter damaged, plastic housing melted]] <tt>(240, 390, i and s models)</tt><br />
*[[Problems with ACPI suspend-to-ram|ACPI suspend-to-ram]] <tt>(ACPI sleep troubles)</tt><br />
**[[Problem with display remaining black after resume|Blank display after resume]] <tt>(various models)</tt><br />
**[[Problem with high power drain in ACPI sleep | High power drain in ACPI sleep]] <tt>(various models)</tt><br />
**[[Problem with LCD backlight remaining on during ACPI sleep | LCD backlight remaining on during ACPI sleep]] <tt>(various models)</tt><br />
*[[Problem with fan noise | Fan noise]] <tt>(TP T4x/p, TP R5x/p)</tt><br />
*[[Problem with checking battery status | Checking battery status causes mouse to jerk around]] <tt>(R31)</tt><br />
*[[Battery drains despite seemingly being charged]] <tt>(A/C adapter issues)</tt><br />
*[[Problem with high pitch noises | High pitch noises]] <tt>(several models)</tt><br />
<br />
==Sound Problems==<br />
*[[Problem with broken sound on ThinkPad 600 | Broken sound on ThinkPad 600/E]] <tt>(TP 600/E/X, 770Z)</tt><br />
*[[Problem with audio jacks | Audio jacks not working properly]] <tt>(TP T43)</tt><br />
*[[Problem with ALSA audio output | No audio heard with kernel 2.6.11+/ALSA]] <tt>(TP T43, T40)</tt><br />
*[[Problem with audio clipping|Audio clipping]] <tt>(TP T43)</tt><br />
*[[Problem with no sound on ThinkPad R60e | No Sound on ThinkPad R60e ]] <tt>(R60e)</tt><br />
<br />
==Misc Problems==<br />
*[[Problem with Bending / Twisting|Casing malformed by bending/twising]] <tt>(X41)</tt><br />
*[[Problem with Dock USB Ports | Dock USB Ports]] <tt>(T30/X21)</tt><br />
*[[High-pitch noise from AC-Adapter]] <tt>(T60/p)</tt><br />
*[[Problem with lm-sensors | lm_sensors kills ThinkPads]] <tt>(TP 570E, 770X/Z, 600E/X, 240, X20)</tt><br />
*[[Problem with USB 2.0 | USB 2.0 problems]] <tt>(T40/T41)</tt><br />
*[[Embedded Controller Firmware#Firmware_issues|Firmware issues]]<br />
*[[Problem with hot surfaces|Problem with hot surfaces]] <tt>(T43)</tt><br />
*[[Problem with disabled VT]] <tt>(Z61t, X60, X60s)</tt><br />
*[[Unable to create recovery cds when another python is installed on the system]] <tt>(T43p)</tt></div>Beaglehttps://www.thinkwiki.org/w/index.php?title=Problem_with_e1000:_Open_issue_with_latency&diff=29237Problem with e1000: Open issue with latency2007-04-12T00:40:41Z<p>Beagle: The bios update works better</p>
<hr />
<div>This issue has been observed with the 2.6.17 linux kernel and the e1000 on the T60 and t60p. The bug is being tracked [http://bugme.osdl.org/show_bug.cgi?id=6929 here]<br />
<br />
[http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-63027 BIOS update 2.11] is reported to fix the problem so that setting RxIntDelay is not necessary.<br />
<br />
Alternatively, another fix is to load the e1000 driver with an RxIntDelay of 8 or 32, to ensure success, you should also reload the driver by removing it before inserting it:<br />
<br />
<tt>modprobe -r e1000</tt><br />
<br />
<tt>modprobe e1000 RxIntDelay=32</tt><br />
<br />
This fix is recommended by Intel developers, and has been shown to help, but not completely solve the problem, at least anecdotally. 32 seems to work better than 8, again, anecdotally.<br />
<br />
===What is RxIntDelay?===<br />
From the [http://www.intel.com/support/network/sb/cs-009209.htm Intel site]:<br />
<br />
''This value delays the generation of receive interrupts in units of 1.024 microseconds. Receive interrupt reduction can improve CPU efficiency if properly tuned for specific network traffic. Increasing this value adds extra latency to frame reception and can end up decreasing the throughput of TCP traffic. If the system is reporting dropped receives, this value may be set too high, causing the driver to run out of available receive descriptors.''<br />
<br />
''CAUTION: When setting RxIntDelay to a value other than 0, adapters may hang (stop transmitting) under certain network conditions. If this occurs a NETDEV WATCHDOG message is logged in the system event log. In addition, the controller is automatically reset, restoring the network connection. To eliminate the potential for the hang ensure that RxIntDelay is set to zero.''</div>Beaglehttps://www.thinkwiki.org/w/index.php?title=Problem_with_e1000:_Open_issue_with_latency&diff=28840Problem with e1000: Open issue with latency2007-03-20T13:52:40Z<p>Beagle: Recommending value of 32 over 8</p>
<hr />
<div>This issue has been observed with the 2.6.17 linux kernel and the e1000 on the T60 and t60p. The bug is being tracked [http://bugme.osdl.org/show_bug.cgi?id=6929 here]<br />
<br />
The recommended fix is to load the e1000 driver with an RxIntDelay of 8 or 32, to ensure success, you should also reload the driver by removing it before inserting it:<br />
<br />
<tt>modprobe -r e1000</tt><br />
<br />
<tt>modprobe e1000 RxIntDelay=32</tt><br />
<br />
This fix is recommended by Intel developers, and has been shown to work at least anecdotally by the author of this page. 32 seems to work better than 8, again, anecdotally.<br />
<br />
===What is RxIntDelay?===<br />
From the [http://www.intel.com/support/network/sb/cs-009209.htm Intel site]:<br />
<br />
''This value delays the generation of receive interrupts in units of 1.024 microseconds. Receive interrupt reduction can improve CPU efficiency if properly tuned for specific network traffic. Increasing this value adds extra latency to frame reception and can end up decreasing the throughput of TCP traffic. If the system is reporting dropped receives, this value may be set too high, causing the driver to run out of available receive descriptors.''<br />
<br />
''CAUTION: When setting RxIntDelay to a value other than 0, adapters may hang (stop transmitting) under certain network conditions. If this occurs a NETDEV WATCHDOG message is logged in the system event log. In addition, the controller is automatically reset, restoring the network connection. To eliminate the potential for the hang ensure that RxIntDelay is set to zero.''</div>Beaglehttps://www.thinkwiki.org/w/index.php?title=Talk:Ethernet_Controllers&diff=28137Talk:Ethernet Controllers2007-02-06T16:44:57Z<p>Beagle: I'm in agreement.</p>
<hr />
<div>Maybe all the "notes" for the e1000 should be moved to the e1000 page? It is getting ridiculous...<br />
<br />
--[[User:Hmh|hmh]] 14:26, 6 February 2007 (CET)<br />
<br />
I think that's fine as long as we provide a link to the e1000 page from here.<br />
<br />
--[[User:Beagle|Beagle]] 17:44, 6 February 2007 (CET)</div>Beaglehttps://www.thinkwiki.org/w/index.php?title=Problem_with_e1000:_Open_issue_with_latency&diff=28136Problem with e1000: Open issue with latency2007-02-06T16:39:16Z<p>Beagle: line break, should have previewed!</p>
<hr />
<div>This issue has been observed with the 2.6.17 linux kernel and the e1000 on the T60 and t60p. The bug is being tracked [http://bugme.osdl.org/show_bug.cgi?id=6929 here]<br />
<br />
The recommended fix is to load the e1000 driver with an RxIntDelay of 8 or 32, to ensure success, you should also reload the driver by removing it before inserting it:<br />
<br />
<tt>modprobe -r e1000</tt><br />
<br />
<tt>modprobe e1000 RxIntDelay=8</tt><br />
<br />
This fix is recommended by Intel developers, and has been shown to work at least anecdotally by the other of this page.<br />
<br />
===What is RxIntDelay?===<br />
From the [http://www.intel.com/support/network/sb/cs-009209.htm Intel site]:<br />
<br />
''This value delays the generation of receive interrupts in units of 1.024 microseconds. Receive interrupt reduction can improve CPU efficiency if properly tuned for specific network traffic. Increasing this value adds extra latency to frame reception and can end up decreasing the throughput of TCP traffic. If the system is reporting dropped receives, this value may be set too high, causing the driver to run out of available receive descriptors.''<br />
<br />
''CAUTION: When setting RxIntDelay to a value other than 0, adapters may hang (stop transmitting) under certain network conditions. If this occurs a NETDEV WATCHDOG message is logged in the system event log. In addition, the controller is automatically reset, restoring the network connection. To eliminate the potential for the hang ensure that RxIntDelay is set to zero.''</div>Beaglehttps://www.thinkwiki.org/w/index.php?title=Problem_with_e1000:_Open_issue_with_latency&diff=28135Problem with e1000: Open issue with latency2007-02-06T16:38:39Z<p>Beagle: Sometimes the modprobe fix won't work unless you reload the driver</p>
<hr />
<div>This issue has been observed with the 2.6.17 linux kernel and the e1000 on the T60 and t60p. The bug is being tracked [http://bugme.osdl.org/show_bug.cgi?id=6929 here]<br />
<br />
The recommended fix is to load the e1000 driver with an RxIntDelay of 8 or 32, to ensure success, you should also reload the driver by removing it before inserting it:<br />
<br />
<tt>modprobe -r e1000</tt><br />
<tt>modprobe e1000 RxIntDelay=8</tt><br />
<br />
This fix is recommended by Intel developers, and has been shown to work at least anecdotally by the other of this page.<br />
<br />
===What is RxIntDelay?===<br />
From the [http://www.intel.com/support/network/sb/cs-009209.htm Intel site]:<br />
<br />
''This value delays the generation of receive interrupts in units of 1.024 microseconds. Receive interrupt reduction can improve CPU efficiency if properly tuned for specific network traffic. Increasing this value adds extra latency to frame reception and can end up decreasing the throughput of TCP traffic. If the system is reporting dropped receives, this value may be set too high, causing the driver to run out of available receive descriptors.''<br />
<br />
''CAUTION: When setting RxIntDelay to a value other than 0, adapters may hang (stop transmitting) under certain network conditions. If this occurs a NETDEV WATCHDOG message is logged in the system event log. In addition, the controller is automatically reset, restoring the network connection. To eliminate the potential for the hang ensure that RxIntDelay is set to zero.''</div>Beaglehttps://www.thinkwiki.org/w/index.php?title=Ethernet_Controllers&diff=28131Ethernet Controllers2007-02-06T02:35:44Z<p>Beagle: e1000 notes, Removed previous note and replaced with link to latency issue</p>
<hr />
<div>== Internal Ethernet controller ==<br />
<br />
A variety of [[Ethernet]] controllers is integrated into almost all models starting with the introduction of the A, T and X series.<br />
<br />
The Ethernet controller is located on either a MiniPCI card, Communications Daughter Card (CDC), or integrated on the systemboard.<br />
<br />
=== 3COM Fast Ethernet (10/100) ===<br />
MiniPCI cards featuring this chip:<br />
*[[3Com 10/100 Ethernet Mini-PCI Adapter with 56K Modem]]<br />
<br />
=== Intel Fast Ethernet (10/100) ===<br />
CDC and MiniPCI cards featuring this chip:<br />
*[[Ethernet Daughter Card (EDC)]]<br />
*[[Intel 10/100 Ethernet Mini-PCI Adapter with 56K Modem]]<br />
*[[Intel PRO/100 SP Mobile Combo Adapter]]<br />
*[[Mini-PCI Ethernet card]]<br />
*[[Xircom 10/100 EtherJet Mini PCI Adapter with 56K Modem]]<br />
<br />
In addition, this chip is integrated into select systemboards of the following machines:<br><br />
'''Intel 82550GY'''<br />
* {{R30}}<br />
'''Intel 82558'''<br />
* [[SelectaBase PC Card Enabler with Advanced EtherJet]]<br />
* [[ThinkPad Port Replicator with Advanced EtherJet]]<br />
'''Intel 82562ET'''<br />
* {{R31}}, {{R32}}<br />
* {{T30}}<br />
* {{X30}}<br />
'''Intel 82562EZ'''<br />
* {{R40}}, {{R50e}}, {{R50}}, {{R51}}<br />
* {{T40}}<br />
* {{X31}}<br />
<br />
Driver: [[e100]] (The 'e100' driver is the suggested driver, but '[[eepro100]]' should also work.)<br />
<br />
=== Intel Gigabit (10/100/1000) ===<br />
Chipset: Intel PRO/1000 MT Mobile Ethernet<br /><br />
Driver: [[e1000]]<br />
<br />
This chip is integrated into select systemboards of the following machines:<br><br />
'''Intel 82540EP'''<br />
* {{R50}}, {{R50p}}, {{R51}}<br />
* {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}<br />
* {{X31}}, {{X32}}<br />
'''Intel 82541GI'''<br />
* {{X40}}<br />
'''Intel 82573L''' (PCI-Express)<br />
* {{T60}}, {{T60p}}<br />
* {{X60}}, {{X60s}}<br />
<br />
Note: There is a [[Problem with e1000: Open issue with latency|known issue]] with the e1000, t60/t60p and the 2.6.17 kernel. It is unconfirmed if this issue effects other configurations.<br><br />
Note: This chip supports Auto-MDIX, meaning you will never need a crossover ethernet cable.<br><br />
Note: The first signs of explicit support for this chip in 2.6 kernels is with 2.6.12-rc2.<br><br />
Note: Red Hat Enterprise Linux 3.0 (2.4 kernel based) begins 82573L support with Update 7.<br><br />
Note: Some users report issues: [[Problem_with_e1000:_EEPROM_Checksum_Is_Not_Valid]]<br><br />
Note: Some users have reported [http://forum.thinkpads.com/viewtopic.php?p=201279&sid=787564d7cf9de5d7d76b0cb312a98c61 latency problems] with e1000 driver. It seems, that [http://agenda.clustermonkey.net/index.php/Tuning_Intel_e1000_NICs switching off Interupt Throttle Rate (ITR)] helps. <br><br />
Note: [http://support.intel.com/support/network/sb/CS-009209.htm Additional configuration options from Intel]<br/><br />
Note: Another possibility is to use "RxIntDelay=5".<br />
<br />
For Gentoo users - compile e1000 as a kernel module and add 'options e1000 InterruptThrottleRate=0,0' to /etc/modules.d/e1000<br />
<br />
I had serious performance problems on Ubuntu Edgy (ca. 400 kb/s File transfer rate).<br />
I compiled version e1000-7.3.20 from http://sourceforge.net/projects/e1000/ and this solved my problem.<br />
All other hints above did not improve the file transfer performance (they did improve the ping latency) for me.<br />
<br />
=== Broadcom Fast Ethernet (10/100) ===<br />
Driver: [[tg3]] or [[bcm5700]]<br />
<br />
This chip is integrated into select systemboards of the following machines:<br><br />
'''Broadcom BCM5901'''<br />
* {{G40}}, {{G41}}<br />
* {{R40e}}<br />
'''Broadcom BCM5751F'''<br />
* {{R51e}}<br />
<br />
=== Broadcom Gigabit (10/100/1000) ===<br />
Chipset: Broadcom BCM5751M<br><br />
Driver: [[tg3]] or [[bcm5700]]<br />
<br />
This chip is integrated into select systemboards of the following machines:<br />
* {{R52}}, {{R60}}<br />
* {{G41}}<br />
* {{T43}}, {{T43p}}<br />
* {{X41}}, {{X41T}}<br />
* {{Z60m}}, {{Z60t}}<br />
* {{Z61m}}, {{Z61p}}<br />
<br />
Note: There are some problems with the driver since kernel 2.6.17 (at least on a Z61p, Z61m). After an ifdown && ifup it doesn't work anymore. A possible workaround is to build the tg3-driver as a module and reload it when this problem occours. (Adding ''pre-up modprobe tg3'' and ''post-down rmmod tg3'' to the corresponding section in /etc/network/interfaces works fine.) Rebooting the machine would also be possible.<br />
This is fixed in kenel 2.6.19-rc5.<br />
<br />
The T43 with a stock Linus 2.6.18.1 kernel does not have any problems. <br />
<br />
[[Category:Components]]</div>Beaglehttps://www.thinkwiki.org/w/index.php?title=Installation_instructions_for_the_ThinkPad_T60p&diff=28130Installation instructions for the ThinkPad T60p2007-02-06T02:30:38Z<p>Beagle: Added known issues section, added link to e1000 latency known issue</p>
<hr />
<div>[[Category:T60p]]<br />
==Installing Ubuntu Dapper==<br />
<br />
To get it going:<br />
<br />
* Get Dapper i386 (I used the Daily ISO DVD).<br />
<br />
* Install the default distribution.<br />
<br />
It will work, but you need an SMP kernel, and accelerated and higher resolution graphics, so:<br />
<br />
* Install the i686-smp kernel (search for 'linux-kernel' in synaptic).<br />
<br />
* Search for fglrx in synaptic, and install the fglrx modules, X driver and ATI control panel.<br />
<br />
* Edit /etc/X11/xorg.conf, so each of the "Modeline" entries contains a 1600x1200 resolution as well (or whatever the top resolution of your LCD panel is), and change the driver section as follows:<br />
<br />
Section "Device"<br />
Identifier "ATI Technologies, Inc. ATI Default Card"<br />
Driver "fglrx" <----- ADD THIS LINE<br />
#Driver "vesa" <---- COMMENT OUT THIS LINE<br />
BusID "PCI:1:0:0"<br />
ChipID 0x71c5 <----- '''MAYBE''' ADD THIS LINE<br />
EndSection<br />
<br />
<br />
<br />
[On my UXGA t60p the ChipID line was actually fatal to getting fglrx to start up (/var/log/Xorg.0.log showed the driver falling back to VESA and fgl_glxgears would crash). Without that ChipID line my chip was identified as:<br />
<br />
Chipset: "MOBILITY FireGL V5200 (M56 71C4)" (Chipset = 0x71c4)<br />
<br />
which appears to correspond exactly to my machine's spec, and fgl_glxgears worked fine.]<br />
<br />
Reboot, and you should be done. Check "cat /proc/cpuinfo" shows two CPUs, and run fgl_glxgears and check you get around 580 frames a second.<br />
<br />
I've reported [https://launchpad.net/distros/ubuntu/+bug/46527 bug 46527] on the lack of screen driver detection, so hopefully this will get even easier.<br />
<br />
Note you do NOT need to install ATI drivers from the ATI site. The Ubuntu drivers are sufficient.<br />
<br />
Thanks to Rich Tango-Lowy (see below) for the hint re chip detection.<br />
<br />
==Kubuntu Dapper Live CD==<br />
<br />
If you're trying to install from the Kubuntu Desktop CD, you'll never make it to the login screen because the ATI display driver isn't recognized.<br />
<br />
* Ctrl-Alt-F1<br />
* sudo nano /etc/X11/xorg.conf<br />
* change the display driver line that looks like:<br />
<br />
Driver "ati"<br />
<br />
to <br />
<br />
Driver "vesa"<br />
<br />
[I think I remember that it was "ati", but I could be wrong. In any <br />
case this is very clearly the only Driver line in the ATI device specification section]<br />
<br />
* Save and exit<br />
* sudo /etc/init.d kdm restart<br />
<br />
Now you get a login screen.<br />
<br />
<br />
== Installing Gentoo 2006.0 ==<br />
<br />
===Boot from Live CD===<br />
Upon booting off the live cd you will come to the kernel selection prompt.<br />
Enter:<br />
gentoo doscsi<br />
I had some trouble getting the wired NIC to be linked to the driver, often getting an error that the EEPROM failed a check. If this happens, you can try re-inserting the module,<br />
>rmmod e1000; modprobe e1000<br />
or rebooting and trying again. The wireless card isn't supported by the live cd so you're going to have to stick to wired for now.<br />
<br />
If you have a T60 with a '''Core 2 Duo''' processor (instead of Core Duo), you have the option of installing a 64-bit linux. Use an amd64 (called this for historical reasons) install/live cd, and enter this at the boot prompt:<br />
gentoo-nofb noapic<br />
The noapic option is needed on the 2006.1 cd to prevent a crash during boot. Once you have compiled your own kernel you no longer need it.<br />
<br />
===/etc/make.conf Settings===<br />
The make.conf settings are the first thing you want to setup correctly before you proceed with the rest of the install process. All future updates will depend upon these settings as well. <br />
If you use a 32-bit profile (x86) use these settings<br />
CFLAGS="-march=prescott -O2 -pipe -msse3 -fomit-frame-pointer"<br />
VIDEO_CARDS="fglrx vesa fbdev"<br />
INPUT_DEVICES="keyboard mouse synaptics"<br />
FEATURES="sandbox ccache distlocks autoaddcvs parallel-fetch"<br />
MAKEOPTS="-j3"<br />
If you use a 64-bit profile (amd64 - Core 2 Duo processors only) use this instead<br />
CFLAGS="-O2 -pipe -march=nocona"<br />
MAKEOPTS="-j3"<br />
INPUT_DEVICES="keyboard mouse synaptics"<br />
VIDEO_CARDS="radeon vesa fbdev"<br />
For a more complete discussion of the CFLAGS to use for a Core Duo processor, see [http://forums.gentoo.org/viewtopic-t-448761-highlight-core+duo+prescott.html?sid=97485d7e26a1f77e2bb06fa437a448ff this forum thread]. Some users recommend that the USE variable has the ibm value in it (eg. USE="ibm") but the Gentoo website says this is only for Power PC64 systems; I don't think we should use it. If anyone can shed more light on this, please update this section.<br />
<br />
===Kernel Settings===<br />
I was able to get the laptop running from i686 gentoo sources and recommend this to anyone installing Gentoo on their T60p. Alot of graphics support is left out of the kernel since the best graphics performance is with ATI's propietary drivers which you can emerge at the end of the kernel compile.<br />
====Processor type and features====<br />
* Turn on Symmetric multi-processing support.<br />
* Set processor family to Pentium M for the Core Duo or EM64T for the Core 2 Duo with amd64 profile.<br />
* Turn off toshiba and dell laptop support.<br />
* Set timer frequency to 1000 Hz since this is a desktop system.<br />
* Found on a [http://forum.thinkpads.com/viewtopic.php?t=19031 forum posting] that "Hotpluggable CPU" should be set to get acpi sleep to work. Go figure...<br />
<br />
====Power management options====<br />
* Turn on all ACPI settings (especially IBM Thinkpad Extras) except ASUS/Medion and Toshiba Laptop Extras. <br />
Note: see this entry on ACPI Video for BIOS 2.x and kernels < 2.6.20-rc?<br />
http://thinkwiki.org/wiki/Problem_with_LCD_brightness_buttons<br />
* Turn on CPU Frequency scaling.<br />
** Turn on powersave, userspace, ondemand and conservative governor.<br />
** Turn off ACPI Processor P-States driver.<br />
** Turn off all AMD and Cyrix options.<br />
** Turn on Intel Enhanced SpeedStep and Intel Speedstep on ICH-M chipsets (ioport interface).<br />
** Turn off Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface).<br />
** Turn off Intel Pentium 4 clock modulation, nVidia nForce2 FSB changing and Transmeta LongRun.<br />
<br />
====Bus options====<br />
* Turn on PCI Express support.<br />
* Turn on Message Signaled Interrupts.<br />
* Turn on PCCard support and CardBus yenta-compatible bridge support.<br />
<br />
====Networking support====<br />
* Turn off Generic IEEE 802.11 Networking Stack.<br />
* Turn on IrDA (infrared) subsystem support and sub-options.<br />
** Ensure you get nsc-ircc<br />
* Turn on Bluetooth subsystem support and sub-options.<br />
* Turn off Amateur Radio support (unless you work with actual radios.)<br />
<br />
====Device Drivers====<br />
* Turn off Memory Technology Devices.<br />
* Turn on ATA/ATAPI/MFM/RLL and Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support.<br />
* Turn on PNP EIDE and PCI IDE chipset support (PNP EIDE may not be necessary but I haven't tested it)<br />
** Turn on Include IDE/ATA-2 DISK support<br />
** Turn on Use multi-mode by default<br />
** Turn on Include IDE/ATAPI CDROM support<br />
** Turn on PCI IDE chipset support (not all of the sub-options have been tested but this makes the DVD drive work well)<br />
*** Turn on Generic PCI IDE Chipset Support<br />
*** Turn on Generic PCI bus-master DMA support<br />
*** Turn on Intel PIIXn chipsets support<br />
* Turn off parallel port support.<br />
* Turn on SCSI device support. In "low-level device drivers", chose the Serial ATA (SATA) support. Build it as a part of the kernel, and not as a kernel module.<br />
* Turn off Fusion MPT device support.<br />
* Turn on IEEE 1394 (FireWire) support.<br />
* Turn on Network device support.<br />
** Turn off all options in all categories under Network device support except the stated ones below.<br />
** Turn on Intel(R) PRO/1000 Gigabit Ethernet support under Ethernet (1000 Mbit).<br />
** Turn on Wireless LAN drivers (non-hamradio) & Wireless Extensions and none of the sub-options underneath.<br />
** Most people do not need Fibre channel, ATM, WAN or PPP/SLIP support (if you do then turn it on. PPP is needed for GPRS/UMTS connectivity)<br />
* Character device options...<br />
** Serial drivers... [for IrDA]<br />
*** Set Max 8250/16550 serial ports to (4)<br />
*** Set Number 8250/16550 serial ports to register at runtime to (1)<br />
** Turn off Parallel printer support.<br />
** Turn on Intel/AMD/VIA HW Random Number Generator support.<br />
** Turn on /dev/nvram support.<br />
** Turn off /dev/agpgart (AGP Support).<br />
** Turn off Direct Rendering Manager.<br />
** Support for the [[Embedded_Security_Subsystem|Fritz Chip]] is located in "TPM Devices".<br />
* Turn off all Graphics support options except the stated ones below,<br />
** Turn on VESA VGA graphics support and set VESA driver type to vesafb.<br />
** Turn on Enable firmware EDID and Enable Video Mode Handling Helpers.<br />
** Turn on Support for the framebuffer splash.<br />
* '''IMPORTANT:''' Turn off all Wireless device support under USB support -> USB Network Adapters or you will tear your hair out trying to get wireless.<br />
* Turn on Sound card support.<br />
** Turn on Advanced Linux Sound Architecture.<br />
** Turn off all ISA, PCI, USB, generic and PCMCIA device options the stated on below.<br />
** Turn on Intel HD Audio under PCI devices.<br />
* Turn off all MMC/SD Card support options.<br />
* Turn off LED devices.<br />
* Cryptographic options... (needed for the wireless card ipw9345)<br />
** Turn on AES chiphers<br />
** Turn on Michael MIC keyed digest algorithm<br />
<br />
That should do it. (I know, that's it.)<br />
That should make sure that you have all the drivers necessary to boot the system and be able to use all your hardware (almost).<br />
<br />
===Portage Ebuilds===<br />
<br />
Always make sure you run this command before going any further so you can get the latest portage build and version...<br />
emerge --sync && emerge portage<br />
<br />
Since September 24 2006 I was able to make the latest ati-drivers work on the T60p without adding any lines to the unmask file (/etc/portage/package.unmask) under the gentoo-sources kernel. You should be able to run...<br />
emerge ati-drivers<br />
...without any problems. If you do have problems compiling, sometimes you may need to try emerging an unstable package. For more information on working with the ATI drivers, check out Gentoo's wiki [http://gentoo-wiki.com/HOWTO_ATI_Drivers| here.]<br />
<br />
Don't forget to emerge all the Thinkpad software as well...<br />
emerge tpb tp_smapi tpctl<br />
<br />
Then you can start to setup the wireless in this order at the command line...<br />
/bin/sh /usr/portage/net-wireless/ieee80211/files/remove-old /usr/src/linux<br />
emerge ieee80211 ipw3945 ipw3945d wireless-tools<br />
<br />
For some reason the wireless driver consists of two parts: the module itself, ipw3949.ko, and some sort of support daemon, ipw3945d. The ebuild updates the modules.conf file to automatically stop and start this deamon when the module is loaded or unloaded, respectively. Check if the following lines are present in /etc/modules.conf (or actually, in /etc/modules.d/ipw3945d - /etc/modules.conf is built from the separate files in /etc/modules.d when you run /sbin/modules-update)<br />
<br />
install ipw3945 /sbin/modprobe --ignore-install ipw3945; sleep 0.5; /sbin/ipw3945d --quiet<br />
remove ipw3945 /sbin/ipw3945d --kill; /sbin/modprobe -r --ignore-remove ipw3945<br />
<br />
In other words, to load the module, and start the daemon, do<br />
<br />
modprobe ipw3945<br />
<br />
To remove the module, and kill the daemon, enter<br />
<br />
modprobe -r ipw3945<br />
<br />
'''Note''': rmmod does '''not''' work - it doesn't use /etc/modprobe.conf, and therefore doesn't kill the daemon: while the daemon is running, you cannot unload the module. (You'll get an errormessage saying the module is in use).<br />
<br />
If for some reason you need to kill the module manually, use <br />
<br />
/sbin/ipw3945d --kill<br />
<br />
Ofcourse the normal 'kill' command also works, but you'll have to remove the pid file /var/run/ipw3945d.pid by hand.<br />
<br />
===xorg.conf Settings===<br />
<br />
A piece of code is worth a thousand words; here is my xorg.conf that works at 3000-5000 FPS so far. I am still trying to find better parameters, but this is the best I got it to run so far. I intentionally left out the InputDevice section since I disabled my Synaptics pad (I like the center joystick better.) Just modify your xorg.conf sections with what is shown below.<br />
<br />
Section "Module"<br />
Load "dbe" # Double buffer extension<br />
SubSection "extmod"<br />
Option "omit xfree86-dga" # don't initialise the DGA extension<br />
EndSubSection<br />
Load "freetype"<br />
Load "dri"<br />
Load "glx"<br />
EndSection<br />
<br />
Section "Device"<br />
Identifier "VideoCard"<br />
Driver "vesa"<br />
Driver "fglrx"<br />
VendorName "ati"<br />
#ModelName "FireGL V5200 (RV530 71DA)"<br />
BusID "PCI:1:0:0"<br />
Option "VideoOverlay" "on"<br />
Option "UseFastTLS" "2"<br />
Option "EnablePrivateBackZ" "on"<br />
EndSection<br />
<br />
Section "dri"<br />
Group "video"<br />
Mode 0666<br />
EndSection<br />
<br />
Section "Extensions"<br />
Option "XVideo" "Enable"<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen"<br />
Device "VideoCard"<br />
Monitor "Monitor"<br />
DefaultDepth 24<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
Modes "1280x1024" "1024x768" "800x600" "640x480"<br />
EndSubSection<br />
EndSection<br />
<br />
Make sure you assign your username to the video group in the /etc/group file or you will net get DRI (Direct Rendering) support. When debugging your running X windows system, always check /var/log/Xorg.0.log for any errors or hints at what may be configured incorrectly. This is how I was able to get so far with the graphics.<br />
<br />
==Known Issues==<br />
[[Problem with e1000: Open issue with latency|Latency issue with e1000 nic]]<br />
<br />
==External Sources==<br />
*[http://arscognita.com/~richtl/T60p/index.html Rich Tango-Lowy's Mandriva 2007 Cooker on T60p page]<br />
*[http://buzzy.tesuji.org/thinkpad_t60p.html Jon Lin's Gentoo Thinkpad T60p]<br />
*This guide is listed at the [http://tuxmobil.org/ibm.html TuxMobil Linux laptop and notebook installation survey (IBM/Lenovo)].</div>Beaglehttps://www.thinkwiki.org/w/index.php?title=Problem_with_e1000:_Open_issue_with_latency&diff=28129Problem with e1000: Open issue with latency2007-02-06T02:27:36Z<p>Beagle: created page for explanation of latency issue</p>
<hr />
<div>This issue has been observed with the 2.6.17 linux kernel and the e1000 on the T60 and t60p. The bug is being tracked [http://bugme.osdl.org/show_bug.cgi?id=6929 here]<br />
<br />
The recommended fix is to load the e1000 driver with an RxIntDelay of 8 or 32:<br />
<br />
<tt>modprobe e1000 RxIntDelay=8</tt><br />
<br />
This fix is recommended by Intel developers, and has been shown to work at least anecdotally by the other of this page.<br />
<br />
===What is RxIntDelay?===<br />
From the [http://www.intel.com/support/network/sb/cs-009209.htm Intel site]:<br />
<br />
''This value delays the generation of receive interrupts in units of 1.024 microseconds. Receive interrupt reduction can improve CPU efficiency if properly tuned for specific network traffic. Increasing this value adds extra latency to frame reception and can end up decreasing the throughput of TCP traffic. If the system is reporting dropped receives, this value may be set too high, causing the driver to run out of available receive descriptors.''<br />
<br />
''CAUTION: When setting RxIntDelay to a value other than 0, adapters may hang (stop transmitting) under certain network conditions. If this occurs a NETDEV WATCHDOG message is logged in the system event log. In addition, the controller is automatically reset, restoring the network connection. To eliminate the potential for the hang ensure that RxIntDelay is set to zero.''</div>Beaglehttps://www.thinkwiki.org/w/index.php?title=E1000&diff=28127E10002007-02-06T02:10:34Z<p>Beagle: added new issue: latency</p>
<hr />
<div>==Intel PRO/100, PRO/1000 Drivers==<br />
{{Stub}}<br />
<br />
Intel e100 and e1000 drivers are on the mainline Linux kernel tree for a long time now. You should use the drivers that come with the kernel, unless you experience problems. Often a newer driver is available from the e1000 project site on sourceforge earlier than that it is merged in the kernel.<br />
<br />
Intel(R) PRO/10/100/1000/10GbE Drivers<br />
* The drivers home page - http://e1000.sf.net/<br />
<br />
=== Issues ===<br />
* [[Problem with e1000: EEPROM Checksum Is Not Valid|EEPROM Checksum Is Not Valid problem]]<br />
* [[Problem with e1000: 99.9% packet loss on 7.x drivers|99.9% packet loss on 7.x drivers]]<br />
* [[Problem with e1000: Open issue with latency|Long ping times]]<br />
<br />
=== Hints ===<br />
* If you have problems, try disabling MSI support in the kernel.<br />
* Don't complain here about a bug that has not been reported to the [http://bugzila.kernel.org kernel bugzilla] or the [http://e1000.sf.net e1000 bug tracker]<br />
* If a gigabit ethernet link won't stay up, try tunning at 100Mbit/s. If it works, the cabling is your main suspect.<br />
<br />
[[Category:Drivers]]</div>Beaglehttps://www.thinkwiki.org/w/index.php?title=Rescue_and_Recovery&diff=28114Rescue and Recovery2007-02-05T02:37:33Z<p>Beagle: Added information about Rescue and Recovery being Windows centric, and the burn to DVD suggestion.</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;" | __NOTOC__<br />
|style="vertical-align:top" |<br />
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;"><br />
===Rescue and Recovery===<br />
Rescue and Recovery version 3.0 consists of a bootable partition containing various system recovery tools, including full recovery of the preinstalled Windows XP partition. It can be activated by pressing the {{ibmkey|ThinkPad|#494949}}, {{ibmkey|Access IBM|#495988}} or {{ibmkey|ThinkVantage|#495988}} [[ThinkPad Button|Button]] during system boot. It contains a FAT filesystem (labeled "IBM_SERVICE"), and has partition type 0x12 ("Compaq diagnostics" in <tt>fdisk</tt>).<br />
<br />
As opposed to a [[Hidden Protected Area|Hidden Protected Area]] Recovery partitions are ordinary partitions, accessible through the partition table. As they are ordinary partitions they are accessible by ordinary partitioning tools. They should be dealt with carefully.<br />
<br />
Rescue and Recovery is a Windows specific feature. If you intend to recover into Windows when you have an issue, it is important to follow the warnings here carefully. If you intend to run another operating system exclusively and never return to Windows, removing this partition is safe. If you remove it, you can still reinstall windows at a later time, but you will have to figure out how to reload the Rescue and Recovery feature. It has been recommended that that you burn off the partition onto DVDs that you can boot from in the case of an emergency.<br />
</div><br />
|}<br />
<br />
==Proper MBR==<br />
{{WARN|Only tinker with the MBR and the Rescue and Recovery partition if you know what you're doing. Mistakes can leave the system unbootable and can make it very difficult to retrieve the data on the harddisk.}}<br />
<br />
Consideration 6 of the Readme states:<br />
<blockquote>"The Master Boot Record (MBR) must be configured properly for the Rescue and Recovery application to function properly. When possible, the Rescue and Recovery application attempts to ensure the proper configuration of the MBR. This can only occur if the Rescue and Recovery application is installed after other applications that requires the MBR."</blockquote><br />
<br />
Apparently, the MBR is not "configured properly" if LILO or GRUB have written it. The following is the case:<br />
*The default bootloader seems to ignore the active bit and always boots the first partition instead<br />
*The default bootloader contains code to catch a press of the appropriate button during bootup and launch the Rescue and Recovery application in that case<br />
*Before launching the Rescue and Recovery application at system boot, the default bootloader changes the partition type of the Rescue and Recovery partiton to 0x0b, otherwise it changes it to 0x12 (to hide it from Windows)<br />
*The Rescue and Recovery application assumes that the first partition contains Windows<br />
*The Rescue and Recovery partition needs to be of type 0x0b (FAT32) otherwise the default bootloader will not launch the Rescue and Recovery application (this conflicts with a point above)<br />
<br />
Since neither LILO nor GRUB catch the press of the button (an undocumented mechanism anyway) it is not possible to launch the Rescue and Recovery application by pressing the appropriate button during system boot, once LILO or GRUB have altered the MBR for their boot procedure.<br />
<br />
IBM provides a program to manage the Rescue and Recovery bootloader. It is located in {{path|C:\Program Files\IBM ThinkVantage\Common\BMGR}} or {{path|C:\Program Files\Common Files\Lenovo\BMGR}}. It can select the partition to boot, and also allows for rewriting the MBR if it was written by another bootloader. More information is needed about this program.<br />
<br />
===MBR written by GRUB===<br />
If the MBR was written by GRUB you can still use GRUB to launch the Rescue and Recovery application. However if you leave the type of the Rescue and Recovery partition to 0x12 (Compaq diagnostics), this will result in an error message "c000021a, Fatal System Error" if you try to launch it. To avoid that and to make sure the recovery partition always is of the right type, add a line to change the partition type to 0x0b to the Rescue and Recovery partition's entry in your {{path|/boot/grub/menu.lst}}. Assuming your Rescue and Recovery partition is the second partition, it could look like this: Please note that there are people who report that this didn't work, for example it didn't work on a {{Z61m}} 9450-3HG.<br />
<br />
title IBM Rescue and Recovery<br />
root (hd0,1)<br />
'''parttype (hd0,1) 0x0b'''<br />
'''unhide (hd0,1)'''<br />
chainloader +1<br />
<br />
Also add an <tt>unhide</tt> line here because we are going to hide the Rescue and Recovery partition on every boot of Windows, so we need to unhide it, when the recovery partition is booted. This is because if we don't hide the partition when booting Windows, it would be visible and accessable there and that's not what we want. So, assuming that Windows is on the first partition, the Windows entry could now look like this:<br />
title Windows<br />
root (hd0,0)<br />
'''hide (hd0,1)'''<br />
chainloader +1<br />
<br />
===GRUB in a partition's boot sector===<br />
A way to have your Access IBM button still functional on bootup, is to create a separate {{path|/boot}} partition, install GRUB to that partition and make it active. This will leave the MBR untouched.<br />
{{NOTE|If the above finding is true that the MBR ignores the active bit, that partition has to be the first one. In most recent Linux distributions it is not easy to create /boot as first partition and shrink the Windows partition. In that case the Windows bootloader can be used to boot Windows and Linux, also preserving the Rescue and Recovery functionality. See below.}}<br />
*In the BIOS, set the IBM Predesktop Area to 'Secure'.<br />
*Boot your Linux distribution's installation CD.<br />
*Follow the instructions and go through the regular installation process.<br />
*Create a '''primary partition''' for /boot (the other stuff can go into the extended partitions) and when the time comes to install GRUB, make sure you install it into the boot sector of the boot partition.<br />
*Set this boot partition as active.<br />
<br />
===Using NTLDR to boot Linux===<br />
It is possible to configure the Windows bootloader to also boot Linux (installed on separate partition). This allows to preserve the Rescue and Recovery functionality at system boot (as MBR is not modified), Windows XP (booted via its native bootloader) and Linux (booted from its own partition by Windows XP bootloader). A quick and dirty howto, regarding applying this procedure to Ubuntu Dapper Drake installation can be found [http://gawrysiak.org/corvus/?p=4 here].<br />
<br />
==Older versions of Rescue and Recovery==<br />
Some Thinkpads (e.g., T23 and T30) do not come with a Recovery CD, but also do not support the [[Hidden Protected Area]]. These ThinkPads have an older version of Rescue and Recovery preloaded on the hard disk to implement the factory recovery function. Most of the comments above also apply to the older versions, with the following differences:<br />
*The recovery partition type is 0x1c, hidden FAT32, LBA-mapped (or 0xc when unhidden).<br />
*The boot manager program is in {{path|C:\IBMTOOLS\RECOVERY}} and only runs in a 16-bit DOS environment<br />
{{Fixme|name of this boot manager needed}}<br />
*The IBM Predesktop area runs atop of Windows 98 (command-line) instead of WinPE<br />
<br />
==External Sources==<br />
* IBM page on [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-4Q2QAK ThinkVantage Rescue and Recovery].<br />
* [ftp://ftp.software.ibm.com/pc/pccbbs/thinkvantage_en/tvtrnr3_1027en.txt Rescue and Recovery Readme]<br />
* [http://www-307.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&lndocid=MIGR-46088 IBM page about accessing the Recovery Partition if Linux has been installed and the F11 button no longer works]<br />
* [http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-54483 IBM Rescue and Recovery repair diskette]<br />
<br />
==Models featuring this technology==<br />
* ThinkPad {{T23}}, {{T30}} (R&R 2.0)<br />
* ThinkPad {{T42}}<br />
* ThinkPad {{T43}}, {{T43p}}<br />
* ThinkPad {{T60}}, {{T60p}}<br />
* ThinkPad {{R52}}<br />
* ThinkPad {{Z60m}}<br />
* Thinkpad {{Z61m}}<br />
<br />
[[Category:Glossary]]</div>Beaglehttps://www.thinkwiki.org/w/index.php?title=Ethernet_Controllers&diff=28112Ethernet Controllers2007-02-04T21:13:57Z<p>Beagle: Added note about latency issue with specific kernel versions and the e1000 driver</p>
<hr />
<div>== Internal Ethernet controller ==<br />
<br />
A variety of [[Ethernet]] controllers is integrated into almost all models starting with the introduction of the A, T and X series.<br />
<br />
The Ethernet controller is located on either a MiniPCI card, Communications Daughter Card (CDC), or integrated on the systemboard.<br />
<br />
=== 3COM Fast Ethernet (10/100) ===<br />
MiniPCI cards featuring this chip:<br />
*[[3Com 10/100 Ethernet Mini-PCI Adapter with 56K Modem]]<br />
<br />
=== Intel Fast Ethernet (10/100) ===<br />
CDC and MiniPCI cards featuring this chip:<br />
*[[Ethernet Daughter Card (EDC)]]<br />
*[[Intel 10/100 Ethernet Mini-PCI Adapter with 56K Modem]]<br />
*[[Intel PRO/100 SP Mobile Combo Adapter]]<br />
*[[Mini-PCI Ethernet card]]<br />
*[[Xircom 10/100 EtherJet Mini PCI Adapter with 56K Modem]]<br />
<br />
In addition, this chip is integrated into select systemboards of the following machines:<br><br />
'''Intel 82550GY'''<br />
* {{R30}}<br />
'''Intel 82558'''<br />
* [[SelectaBase PC Card Enabler with Advanced EtherJet]]<br />
* [[ThinkPad Port Replicator with Advanced EtherJet]]<br />
'''Intel 82562ET'''<br />
* {{R31}}, {{R32}}<br />
* {{T30}}<br />
* {{X30}}<br />
'''Intel 82562EZ'''<br />
* {{R40}}, {{R50e}}, {{R50}}, {{R51}}<br />
* {{T40}}<br />
* {{X31}}<br />
<br />
Driver: [[e100]] (The 'e100' driver is the suggested driver, but '[[eepro100]]' should also work.)<br />
<br />
=== Intel Gigabit (10/100/1000) ===<br />
Chipset: Intel PRO/1000 MT Mobile Ethernet<br /><br />
Driver: [[e1000]]<br />
<br />
This chip is integrated into select systemboards of the following machines:<br><br />
'''Intel 82540EP'''<br />
* {{R50}}, {{R50p}}, {{R51}}<br />
* {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}<br />
* {{X31}}, {{X32}}<br />
'''Intel 82541GI'''<br />
* {{X40}}<br />
'''Intel 82573L''' (PCI-Express)<br />
* {{T60}}, {{T60p}}<br />
* {{X60}}, {{X60s}}<br />
<br />
Note: There appear to be serious latency problems with the e1000 driver with 2.6.13 > kernels >= 2.6.17. To fix, try compiling version e1000-7.3.20 from [http://sourceforge.net/projects/e1000/ the e1000 sourceforge project]<br><br />
Note: This chip supports Auto-MDIX, meaning you will never need a crossover ethernet cable.<br><br />
Note: The first signs of explicit support for this chip in 2.6 kernels is with 2.6.12-rc2.<br><br />
Note: Red Hat Enterprise Linux 3.0 (2.4 kernel based) begins 82573L support with Update 7.<br><br />
Note: Some users report issues: [[Problem_with_e1000:_EEPROM_Checksum_Is_Not_Valid]]<br><br />
Note: Some users have reported [http://forum.thinkpads.com/viewtopic.php?p=201279&sid=787564d7cf9de5d7d76b0cb312a98c61 latency problems] with e1000 driver. It seems, that [http://agenda.clustermonkey.net/index.php/Tuning_Intel_e1000_NICs switching off Interupt Throttle Rate (ITR)] helps. <br><br />
Note: [http://support.intel.com/support/network/sb/CS-009209.htm Additional configuration options from Intel]<br/><br />
Note: Another possibility is to use "RxIntDelay=5".<br />
<br />
For Gentoo users - compile e1000 as a kernel module and add 'options e1000 InterruptThrottleRate=0,0' to /etc/modules.d/e1000<br />
<br />
I had serious performance problems on Ubuntu Edgy (ca. 400 kb/s File transfer rate).<br />
I compiled version e1000-7.3.20 from http://sourceforge.net/projects/e1000/ and this solved my problem.<br />
All other hints above did not improve the file transfer performance (they did improve the ping latency) for me.<br />
<br />
=== Broadcom Fast Ethernet (10/100) ===<br />
Driver: [[tg3]] or [[bcm5700]]<br />
<br />
This chip is integrated into select systemboards of the following machines:<br><br />
'''Broadcom BCM5901'''<br />
* {{G40}}, {{G41}}<br />
* {{R40e}}<br />
'''Broadcom BCM5751F'''<br />
* {{R51e}}<br />
<br />
=== Broadcom Gigabit (10/100/1000) ===<br />
Chipset: Broadcom BCM5751M<br><br />
Driver: [[tg3]] or [[bcm5700]]<br />
<br />
This chip is integrated into select systemboards of the following machines:<br />
* {{R52}}, {{R60}}<br />
* {{G41}}<br />
* {{T43}}, {{T43p}}<br />
* {{X41}}, {{X41T}}<br />
* {{Z60m}}, {{Z60t}}<br />
* {{Z61m}}, {{Z61p}}<br />
<br />
Note: There are some problems with the driver since kernel 2.6.17 (at least on a Z61p, Z61m). After an ifdown && ifup it doesn't work anymore. A possible workaround is to build the tg3-driver as a module and reload it when this problem occours. (Adding ''pre-up modprobe tg3'' and ''post-down rmmod tg3'' to the corresponding section in /etc/network/interfaces works fine.) Rebooting the machine would also be possible.<br />
This is fixed in kenel 2.6.19-rc5.<br />
<br />
The T43 with a stock Linus 2.6.18.1 kernel does not have any problems. <br />
<br />
[[Category:Components]]</div>Beaglehttps://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&diff=28111How to configure the TrackPoint2007-02-04T21:01:41Z<p>Beagle: Updated "configuration file location by kernel version" note box.</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |The [[Patch to enable advanced trackpoint configuration|kernel trackpoint driver]] is controlled by echoing values to special files. Common configuration options are outlined below.<br />
{{NOTE|<br />
*With kernels 2.6.19 and above config files for this driver are located in <tt>/sys/devices/platform/i8042/serio1</tt>.<br />
*With kernels 2.6.13 (inclusive) to 2.6.19 (exclusive) config files for this driver are located in <tt>/sys/devices/platform/i8042/serio0/serio2</tt>.<br />
*With kernels 2.6.11 (inclusive) to 2.6.13 (exclusive) config files for this driver are located in <tt>/sys/devices/platform/i8042/serio0</tt>.<br />
*With kernels 2.6.9 (inclusive) to 2.6.11 (exclusive) config files for this driver are located in <tt>/proc/trackpoint</tt>.<br />
*Prior to kernel 2.6.9, configuration was not done through files but through command-line options to the psmouse module. (Note this means you must compile psmouse as a module!) See http://stephen.evanchik.com/node/16.<br />
}}<br />
|}<br />
<br />
==General Configuration==<br />
The configuration options are reflected by the files you can find in {{path|/sys/devices/platform/i8042/serio0/serio2}}. See the [[Patch to enable advanced trackpoint configuration|TrackPoint driver page]] for a complete list.<br />
Configuration is done by echoing the appropriate values into these special files.<br />
<br />
If you want to set the sysfs parameters at boot, you can use the [http://http://linux-diag.sourceforge.net/Sysfsutils.html sysfsutils] and put the preferred value in /etc/sysfs.conf.<br />
<br />
==Most common Features==<br />
The most common settings are '''Press to Select''', '''sensitivity''', '''speed''' and '''scrolling'''.<br />
<br />
===Press to Select===<br />
Press to Select allows you to tap the control stick which will simulate a left click. You can enable this feature by typing the following in to a terminal (you may need to be root):<br />
<br />
:{{cmdroot|echo -n 1 > /sys/devices/platform/i8042/serio0/serio2/press_to_select}}<br />
<br />
Press to Select should now be enabled. You can disable it in a similar manner:<br />
<br />
:{{cmdroot|echo -n 0 > /sys/devices/platform/i8042/serio0/serio2/press_to_select}}<br />
<br />
You can use this script to automate the operation<br />
<br />
#!/bin/bash<br />
if [ "$1" = "1" ]; then<br />
echo "Turning on tap on TrackPoint"<br />
echo -n 1 > /sys/devices/platform/i8042/serio0/serio2/press_to_select<br />
exit 0<br />
fi<br />
if [ "$1" = "0" ]; then<br />
echo "Turning off tap on TrackPoint"<br />
echo -n 0 > /sys/devices/platform/i8042/serio0/serio2/press_to_select<br />
exit 0<br />
fi<br />
echo -n "Tap status: "<br />
cat /sys/devices/platform/i8042/serio0/serio2/press_to_select<br />
<br />
===Sensitivity & Speed===<br />
Adjusting the speed and sensitivity of the TrackPoint requires echoing a value between 0 and 255 into the appropriate file. For example, for a speed of 120 and a sensitivity of 250, type the following into a terminal:<br />
<br />
:{{cmdroot|echo -n 120 > /sys/devices/platform/i8042/serio0/serio2/speed}}<br />
:{{cmdroot|echo -n 250 > /sys/devices/platform/i8042/serio0/serio2/sensitivity}}<br />
<br />
Feel free to experiment with your settings until you find a combination that is comfortable.<br />
<br />
When you satisfy your setting , add the two lines into /etc/rc.d/rc.local in order to avoid restoring the default setting every time the system reboots.<br />
<br />
===Scrolling===<br />
====Using a kernel prior to 2.6.11====<br />
The scrolling action is essentially the same as is used in the TrackPoint Windows drivers. To enable this feature, type the following in to a terminal (you may need to be root): <br />
<br />
:{{cmdroot|echo -n 1 > /proc/trackpoint/scroll}}<br />
<br />
Then press the middle button and push the stick up and down to scroll. Similarly, to disable scrolling:<br />
<br />
:{{cmdroot|echo -n 0 > /proc/trackpoint/scroll}}<br />
<br />
====Using the X server (kernel 2.6.11+)====<br />
The scroll setting has been removed from the trackpoint driver in kernel versions 2.6.11 and above. Scroll emulation should now be handled in the X server.<br />
<br />
A nice side effect of that is, that middle button scrolling applies to any mouse and not just the TrackPoint interface, which can be a quite handy feature for desktop computers or people who prefer to use an external mouse, especially when scrolling through long lists or needing to use horizontal scrolling with a mouse which has only a vertical scroll wheel.<br />
<br />
The necessary functionality, known as "EmulateWheelTimeout" allowing to use button 2 for a middle click, wasn't implemented in Xorg prior to 6.9/7.0. However, there was a patch included in most distributions packages of Xorg, which was announced [http://www.mail-archive.com/devel@xfree86.org/msg03333.html here]. You can find an updated version of the package in the experimental branch of {{Debian}} or try to build the mouse driver yourself with the information in the announcement. This has successfully been tried with FC3's 6.8.2 packages.<br />
<br />
Once this functionality is in the X.org, add these lines to your TrackPoint configuration section in {{path|/etc/X11/xorg.conf}}:<br />
<br />
Option "EmulateWheel" "on"<br />
Option "EmulateWheelButton" "2"<br />
<br />
It may also be necessary to add these lines:<br />
<br />
Option "YAxisMapping" "4 5"<br />
Option "XAxisMapping" "6 7"<br />
<br />
which specify which buttons are mapped to motion in the vertical (Y) and horizontal (X) directions, respectively, in wheel emulation mode (see http://www.xfree86.org/current/mouse.4.html).<br />
<br />
{{HINT| Use the program "xev" to see, what mouse button identifiers are sent by your mouse/touchpad/trackpoint.}}<br />
<br />
<br />
So, a complete mouse section, that implements this nicely and works very well on my R51, even with a simultaneously connected USB mouse, looks like that (tried out today, 20th of September, 2006 on Dapper):<br />
<br />
Section "InputDevice"<br />
Identifier "Configured Mouse"<br />
Driver "mouse"<br />
Option "CorePointer"<br />
Option "Device" "/dev/input/mice"<br />
Option "Protocol" "ExplorerPS/2"<br />
Option "Emulate3Buttons" "on"<br />
Option "Emulate3TimeOut" "50"<br />
Option "EmulateWheel" "on"<br />
Option "EmulateWheelTimeOut" "200"<br />
Option "EmulateWheelButton" "2"<br />
Option "YAxisMapping" "4 5"<br />
Option "XAxisMapping" "6 7"<br />
Option "ZAxisMapping" "4 5"<br />
EndSection<br />
<br />
I don't really understand at the moment why it works with the same mappings for X and Z, but I thought you got to know! :)<br />
<br />
Now restart X and hold down button 2 and move the mouse to scroll, or just press and release button 2 for a middle click.<br />
<br />
{{NOTE| With the above mouse section in my xorg.conf all this works like a charm: <br />
*I can press the wheel on my external USB mouse and move the mouse up and down for scrolling<br />
*or I can just use the wheel on the external mouse for scrolling<br />
*or pressing the MMB button of the trackpoint and use the trackpoint for scrolling.<br />
*Even horizontal scrolling works automagically in Konqueror, for Firefox/Opera see below.<br />
<br />
Simultaneously I can use <br />
*a press on the external mouse's wheel <br />
*or the MMB of the trackpoint<br />
<br />
for pasting the buffer. Lovely! :) }}<br />
<br />
{{HINT| If you don't use the middle-mouse-button for pasting and sometimes pasting things by mistake while scrolling (witch is really odd) simply set the "EmulateWheelTimeOut" to "1" as a (bloody) workaround. Middle click will only possible with pressing left and right button simultaneously!}}<br />
<br />
<br />
===== EmulateWheelTimeout temporarily broken (-> fix for Ubuntu Dapper) ===== <br />
<br />
Unfortunately, there was a regression so that EmulateWheelTimeout was broken in X.org 6.9.0, and fixed<br />
on March 20th, 2006. <br />
You can see the [https://bugs.freedesktop.org/show_bug.cgi?id=5071 primary bug report] here, and also reports on the [http://qa.mandriva.com/show_bug.cgi?id=21196 Mandriva] and [http://lists.debian.org/debian-x/2006/01/msg00249.html Debian] ([http://bugs.debian.org/346098 #346098], [http://bugs.debian.org/320136 #320136]) packages.<br />
<br />
Unfortunately, this bug is still present in Ubuntu Dapper Drake's xserver-xorg-input-mouse package (version 1.0.3.1+cvs.20060109-0ubuntu1)!<br />
<br />
{{HINT|xserver-xorg-input-mouse (version 1.0.3.1+cvs.20060109-0ubuntu1.1) is in dapper-updates since July 3rd, 2006. You don't need to patch it anymore.}}<br />
<br />
Use the following procedure to make it (middle button scrolling & middle button pasting) work:<br />
<br />
:{{cmduser|cd /desired/path && mkdir tmp && cd tmp}} (create temporary directory somewhere)<br />
:{{cmduser|sudo nano /etc/apt/sources.list}} (insert/uncomment the deb-src lines, save and exit)<br />
:{{cmduser|sudo apt-get update}}<br />
:{{cmduser|apt-get source xserver-xorg-input-mice}} (in order to get the source code)<br />
:{{cmduser|sudo aptitude install xserver-xorg-dev}} (this package and the packages it depends on are needed in order to compile the source code, use aptitude for easy removal later on)<br />
:{{cmduser|cd xserver-xorg-input-mouse-1.0.3.1+cvs.20060109/}}<br />
:{{cmduser|wget http://librarian.launchpad.net/2639933/xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2.debdiff}} (downloads the patch that fixes the bug)<br />
:{{cmduser|patch -p1 < xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2.debdiff}} (applies the bug fix)<br />
:{{cmduser|fakeroot dpkg-buildpackage}} (rebuilds the package... watch out for errors and install other missing packages)<br />
:{{cmduser|sudo dpkg -i ../xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2_i386.deb}} (installs the rebuilt built package)<br />
:{{cmduser|sudo aptitude remove xserver-xorg-dev}} (removes the packages needed to rebuild the package)<br />
<br />
Hope it works for you, it did work for me!<br />
CrypTom<br />
<br />
===== Older versions of X.org =====<br />
<br />
For older versions of Xorg or for Xfree86 ({{path|/etc/X11/XF86Config}}) try this:<br />
<br />
Option "Emulate3Buttons" "true"<br />
Option "EmulateWheel" "true"<br />
Option "EmulateWheelButton" "2"<br />
<br />
Now restart X and hold down button two and move the mouse for scrolling. To get a middle click, press buttons 1 and 3 simultaneously.<br />
<br />
==Soft Transparent Mode==<br />
If you wish to connect a special device to the external PS/2 port, you should consider using "Soft Transparent Mode" so that the TrackPoint controller does not interpret any commands sent to the external PS/2 port. You can enable soft transparent mode by typing the following in to a terminal:<br />
<br />
:{{cmdroot|echo -n 1 > /sys/devices/platform/i8042/serio0/serio2/transparent}}<br />
<br />
Disabling soft transparent mode is similar:<br />
<br />
:{{cmdroot|echo -n 0 > /sys/devices/platform/i8042/serio0/serio2/transparent}}<br />
<br />
==Modify trackpoint parameter permanently in trackpoint.h==<br />
If you do not want to run a script to reconfigure the trackpoint<br />
you can change the default settings in the trackpoint header file that is located in<br />
/usr/src/<KERNEL_VERSION>/drivers/input/mouse/trackpoint.h.<br />
<br />
First you must convert the values (decimal numbers) you normaly echo to /sys/[...] to hex:<br />
<br />
'''echo -e 'obase=16;<DECIMAL_NUMBER>' | bc'''<br />
<br />
Then simply replace the default hex values in trackpoint.h, run 'make && make modules_install' to recompile and install psmouse.ko (should be compiled as module)<br />
<br />
<br />
Example patch (speed=100, sensitivity=190, press_to_select=1):<br />
<pre><br />
--- trackpoint.h.orig 2006-01-17 16:18:30.000000000 +0100<br />
+++ trackpoint.h 2006-01-17 16:25:47.000000000 +0100<br />
@@ -108,9 +108,9 @@<br />
/*<br />
* Default power on values<br />
*/<br />
-#define TP_DEF_SENS 0x80<br />
+#define TP_DEF_SENS 0xBE<br />
#define TP_DEF_INERTIA 0x06<br />
-#define TP_DEF_SPEED 0x61<br />
+#define TP_DEF_SPEED 0x64<br />
#define TP_DEF_REACH 0x0A<br />
<br />
#define TP_DEF_DRAGHYS 0xFF<br />
@@ -123,7 +123,7 @@<br />
<br />
/* Toggles */<br />
#define TP_DEF_MB 0x00<br />
-#define TP_DEF_PTSON 0x00<br />
+#define TP_DEF_PTSON 0x01<br />
#define TP_DEF_SKIPBACK 0x00<br />
#define TP_DEF_EXT_DEV 0x01<br />
</pre><br />
<br />
==Configure firefox for using trackpoint horizontal scrolling==<br />
Vertical Scrolling seems to work out of the box in firefox if you followed the steps above.<br />
Anyway, there is a problem when you doesnt scroll exactly vertical, because horizontal scrolling turns into<br />
browser BACK/FORWARD commands. <br />
You can avoid this by typing about:config + ENTER in the address bar of firefox.<br />
You have to adjust the following options:<br />
<br />
<pre><br />
mousewheel.horizscroll.withcontrolkey.action = 3;<br />
mousewheel.horizscroll.withcontrolkey.numlines = 1; <br />
mousewheel.horizscroll.withcontrolkey.sysnumlines = true;<br />
<br />
mousewheel.horizscroll.withnokey.action = 0;<br />
mousewheel.horizscroll.withnokey.numlines = 1;<br />
mousewheel.horizscroll.withnokey.sysnumlines = true;<br />
<br />
mousewheel.horizscroll.withshiftkey.action = 1;<br />
mousewheel.horizscroll.withshiftkey.numlines = 1;<br />
mousewheel.horizscroll.withshiftkey.sysnumlines = true;<br />
</pre><br />
<br />
FWIW, you can change only the following value to remove the browser BACK/FORWARD commands:<br />
<br />
<pre><br />
mousewheel.horizscroll.withnokey.action = 0;<br />
</pre><br />
<br />
With that, you can still go BACK/FORWARD by pressing together the shift or the alt key, while with the control key you increase or decrease the font size.<br />
<br />
==Configure Opera for using trackpoint horizontal scrolling==<br />
You'll experience the same annoying problem with the popular browser Opera. To fix this you need to edit the configfile <tt>standard_mouse.ini</tt> in e.g. /usr/share/opera/ini/ (Debian) or /opt/opera/share/opera/ini/ (Gentoo) and comment out the following lines<br />
<pre><br />
Button6 = Back<br />
Button7 = Forward<br />
</pre><br />
so they look like that<br />
<pre><br />
;Button6 = Back<br />
;Button7 = Forward<br />
</pre><br />
Remember, Button6 and Button7 do not so coincidental correspond with our X configuration we know from above:<br />
<pre><br />
Option "YAxisMapping" "6 7"<br />
</pre><br />
After this change you will be able to scroll vertically and horizontally with your middle button.</div>Beaglehttps://www.thinkwiki.org/w/index.php?title=How_to_configure_the_TrackPoint&diff=28110How to configure the TrackPoint2007-02-04T20:50:35Z<p>Beagle: Updated references to serio0 with serio0/serio2 as per the note at the beginning of the page.</p>
<hr />
<div>{| width="100%"<br />
|style="vertical-align:top;padding-right:20px;width:10px;white-space:nowrap;" | __TOC__<br />
|style="vertical-align:top" |The [[Patch to enable advanced trackpoint configuration|kernel trackpoint driver]] is controlled by echoing values to special files. Common configuration options are outlined below.<br />
{{NOTE|<br />
*Starting from 2.6.13 config files for this driver are located in <tt>/sys/devices/platform/i8042/serio0/serio2</tt>. (This document uses the new locations.)<br />
*From 2.6.11 on, they are in <tt>/sys/devices/platform/i8042/serio0</tt>.<br />
*Prior to kernel 2.6.11, these files were located in <tt>/proc/trackpoint</tt>.<br />
*Prior to kernel 2.6.9, these files were not files at all, but were command-line options to the psmouse module. (Note this means you must compile psmouse as a module!) See http://stephen.evanchik.com/node/16.<br />
*In Kernel 2.6.19 we have to use /sys/devices/platform/i8042/serio1 instead of serio0!!!<br />
}}<br />
|}<br />
<br />
==General Configuration==<br />
The configuration options are reflected by the files you can find in {{path|/sys/devices/platform/i8042/serio0/serio2}}. See the [[Patch to enable advanced trackpoint configuration|TrackPoint driver page]] for a complete list.<br />
Configuration is done by echoing the appropriate values into these special files.<br />
<br />
If you want to set the sysfs parameters at boot, you can use the [http://http://linux-diag.sourceforge.net/Sysfsutils.html sysfsutils] and put the preferred value in /etc/sysfs.conf.<br />
<br />
==Most common Features==<br />
The most common settings are '''Press to Select''', '''sensitivity''', '''speed''' and '''scrolling'''.<br />
<br />
===Press to Select===<br />
Press to Select allows you to tap the control stick which will simulate a left click. You can enable this feature by typing the following in to a terminal (you may need to be root):<br />
<br />
:{{cmdroot|echo -n 1 > /sys/devices/platform/i8042/serio0/serio2/press_to_select}}<br />
<br />
Press to Select should now be enabled. You can disable it in a similar manner:<br />
<br />
:{{cmdroot|echo -n 0 > /sys/devices/platform/i8042/serio0/serio2/press_to_select}}<br />
<br />
You can use this script to automate the operation<br />
<br />
#!/bin/bash<br />
if [ "$1" = "1" ]; then<br />
echo "Turning on tap on TrackPoint"<br />
echo -n 1 > /sys/devices/platform/i8042/serio0/serio2/press_to_select<br />
exit 0<br />
fi<br />
if [ "$1" = "0" ]; then<br />
echo "Turning off tap on TrackPoint"<br />
echo -n 0 > /sys/devices/platform/i8042/serio0/serio2/press_to_select<br />
exit 0<br />
fi<br />
echo -n "Tap status: "<br />
cat /sys/devices/platform/i8042/serio0/serio2/press_to_select<br />
<br />
===Sensitivity & Speed===<br />
Adjusting the speed and sensitivity of the TrackPoint requires echoing a value between 0 and 255 into the appropriate file. For example, for a speed of 120 and a sensitivity of 250, type the following into a terminal:<br />
<br />
:{{cmdroot|echo -n 120 > /sys/devices/platform/i8042/serio0/serio2/speed}}<br />
:{{cmdroot|echo -n 250 > /sys/devices/platform/i8042/serio0/serio2/sensitivity}}<br />
<br />
Feel free to experiment with your settings until you find a combination that is comfortable.<br />
<br />
When you satisfy your setting , add the two lines into /etc/rc.d/rc.local in order to avoid restoring the default setting every time the system reboots.<br />
<br />
===Scrolling===<br />
====Using a kernel prior to 2.6.11====<br />
The scrolling action is essentially the same as is used in the TrackPoint Windows drivers. To enable this feature, type the following in to a terminal (you may need to be root): <br />
<br />
:{{cmdroot|echo -n 1 > /proc/trackpoint/scroll}}<br />
<br />
Then press the middle button and push the stick up and down to scroll. Similarly, to disable scrolling:<br />
<br />
:{{cmdroot|echo -n 0 > /proc/trackpoint/scroll}}<br />
<br />
====Using the X server (kernel 2.6.11+)====<br />
The scroll setting has been removed from the trackpoint driver in kernel versions 2.6.11 and above. Scroll emulation should now be handled in the X server.<br />
<br />
A nice side effect of that is, that middle button scrolling applies to any mouse and not just the TrackPoint interface, which can be a quite handy feature for desktop computers or people who prefer to use an external mouse, especially when scrolling through long lists or needing to use horizontal scrolling with a mouse which has only a vertical scroll wheel.<br />
<br />
The necessary functionality, known as "EmulateWheelTimeout" allowing to use button 2 for a middle click, wasn't implemented in Xorg prior to 6.9/7.0. However, there was a patch included in most distributions packages of Xorg, which was announced [http://www.mail-archive.com/devel@xfree86.org/msg03333.html here]. You can find an updated version of the package in the experimental branch of {{Debian}} or try to build the mouse driver yourself with the information in the announcement. This has successfully been tried with FC3's 6.8.2 packages.<br />
<br />
Once this functionality is in the X.org, add these lines to your TrackPoint configuration section in {{path|/etc/X11/xorg.conf}}:<br />
<br />
Option "EmulateWheel" "on"<br />
Option "EmulateWheelButton" "2"<br />
<br />
It may also be necessary to add these lines:<br />
<br />
Option "YAxisMapping" "4 5"<br />
Option "XAxisMapping" "6 7"<br />
<br />
which specify which buttons are mapped to motion in the vertical (Y) and horizontal (X) directions, respectively, in wheel emulation mode (see http://www.xfree86.org/current/mouse.4.html).<br />
<br />
{{HINT| Use the program "xev" to see, what mouse button identifiers are sent by your mouse/touchpad/trackpoint.}}<br />
<br />
<br />
So, a complete mouse section, that implements this nicely and works very well on my R51, even with a simultaneously connected USB mouse, looks like that (tried out today, 20th of September, 2006 on Dapper):<br />
<br />
Section "InputDevice"<br />
Identifier "Configured Mouse"<br />
Driver "mouse"<br />
Option "CorePointer"<br />
Option "Device" "/dev/input/mice"<br />
Option "Protocol" "ExplorerPS/2"<br />
Option "Emulate3Buttons" "on"<br />
Option "Emulate3TimeOut" "50"<br />
Option "EmulateWheel" "on"<br />
Option "EmulateWheelTimeOut" "200"<br />
Option "EmulateWheelButton" "2"<br />
Option "YAxisMapping" "4 5"<br />
Option "XAxisMapping" "6 7"<br />
Option "ZAxisMapping" "4 5"<br />
EndSection<br />
<br />
I don't really understand at the moment why it works with the same mappings for X and Z, but I thought you got to know! :)<br />
<br />
Now restart X and hold down button 2 and move the mouse to scroll, or just press and release button 2 for a middle click.<br />
<br />
{{NOTE| With the above mouse section in my xorg.conf all this works like a charm: <br />
*I can press the wheel on my external USB mouse and move the mouse up and down for scrolling<br />
*or I can just use the wheel on the external mouse for scrolling<br />
*or pressing the MMB button of the trackpoint and use the trackpoint for scrolling.<br />
*Even horizontal scrolling works automagically in Konqueror, for Firefox/Opera see below.<br />
<br />
Simultaneously I can use <br />
*a press on the external mouse's wheel <br />
*or the MMB of the trackpoint<br />
<br />
for pasting the buffer. Lovely! :) }}<br />
<br />
{{HINT| If you don't use the middle-mouse-button for pasting and sometimes pasting things by mistake while scrolling (witch is really odd) simply set the "EmulateWheelTimeOut" to "1" as a (bloody) workaround. Middle click will only possible with pressing left and right button simultaneously!}}<br />
<br />
<br />
===== EmulateWheelTimeout temporarily broken (-> fix for Ubuntu Dapper) ===== <br />
<br />
Unfortunately, there was a regression so that EmulateWheelTimeout was broken in X.org 6.9.0, and fixed<br />
on March 20th, 2006. <br />
You can see the [https://bugs.freedesktop.org/show_bug.cgi?id=5071 primary bug report] here, and also reports on the [http://qa.mandriva.com/show_bug.cgi?id=21196 Mandriva] and [http://lists.debian.org/debian-x/2006/01/msg00249.html Debian] ([http://bugs.debian.org/346098 #346098], [http://bugs.debian.org/320136 #320136]) packages.<br />
<br />
Unfortunately, this bug is still present in Ubuntu Dapper Drake's xserver-xorg-input-mouse package (version 1.0.3.1+cvs.20060109-0ubuntu1)!<br />
<br />
{{HINT|xserver-xorg-input-mouse (version 1.0.3.1+cvs.20060109-0ubuntu1.1) is in dapper-updates since July 3rd, 2006. You don't need to patch it anymore.}}<br />
<br />
Use the following procedure to make it (middle button scrolling & middle button pasting) work:<br />
<br />
:{{cmduser|cd /desired/path && mkdir tmp && cd tmp}} (create temporary directory somewhere)<br />
:{{cmduser|sudo nano /etc/apt/sources.list}} (insert/uncomment the deb-src lines, save and exit)<br />
:{{cmduser|sudo apt-get update}}<br />
:{{cmduser|apt-get source xserver-xorg-input-mice}} (in order to get the source code)<br />
:{{cmduser|sudo aptitude install xserver-xorg-dev}} (this package and the packages it depends on are needed in order to compile the source code, use aptitude for easy removal later on)<br />
:{{cmduser|cd xserver-xorg-input-mouse-1.0.3.1+cvs.20060109/}}<br />
:{{cmduser|wget http://librarian.launchpad.net/2639933/xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2.debdiff}} (downloads the patch that fixes the bug)<br />
:{{cmduser|patch -p1 < xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2.debdiff}} (applies the bug fix)<br />
:{{cmduser|fakeroot dpkg-buildpackage}} (rebuilds the package... watch out for errors and install other missing packages)<br />
:{{cmduser|sudo dpkg -i ../xserver-xorg-input-mouse_1.0.3.1+cvs.20060109-0ubuntu2_i386.deb}} (installs the rebuilt built package)<br />
:{{cmduser|sudo aptitude remove xserver-xorg-dev}} (removes the packages needed to rebuild the package)<br />
<br />
Hope it works for you, it did work for me!<br />
CrypTom<br />
<br />
===== Older versions of X.org =====<br />
<br />
For older versions of Xorg or for Xfree86 ({{path|/etc/X11/XF86Config}}) try this:<br />
<br />
Option "Emulate3Buttons" "true"<br />
Option "EmulateWheel" "true"<br />
Option "EmulateWheelButton" "2"<br />
<br />
Now restart X and hold down button two and move the mouse for scrolling. To get a middle click, press buttons 1 and 3 simultaneously.<br />
<br />
==Soft Transparent Mode==<br />
If you wish to connect a special device to the external PS/2 port, you should consider using "Soft Transparent Mode" so that the TrackPoint controller does not interpret any commands sent to the external PS/2 port. You can enable soft transparent mode by typing the following in to a terminal:<br />
<br />
:{{cmdroot|echo -n 1 > /sys/devices/platform/i8042/serio0/serio2/transparent}}<br />
<br />
Disabling soft transparent mode is similar:<br />
<br />
:{{cmdroot|echo -n 0 > /sys/devices/platform/i8042/serio0/serio2/transparent}}<br />
<br />
==Modify trackpoint parameter permanently in trackpoint.h==<br />
If you do not want to run a script to reconfigure the trackpoint<br />
you can change the default settings in the trackpoint header file that is located in<br />
/usr/src/<KERNEL_VERSION>/drivers/input/mouse/trackpoint.h.<br />
<br />
First you must convert the values (decimal numbers) you normaly echo to /sys/[...] to hex:<br />
<br />
'''echo -e 'obase=16;<DECIMAL_NUMBER>' | bc'''<br />
<br />
Then simply replace the default hex values in trackpoint.h, run 'make && make modules_install' to recompile and install psmouse.ko (should be compiled as module)<br />
<br />
<br />
Example patch (speed=100, sensitivity=190, press_to_select=1):<br />
<pre><br />
--- trackpoint.h.orig 2006-01-17 16:18:30.000000000 +0100<br />
+++ trackpoint.h 2006-01-17 16:25:47.000000000 +0100<br />
@@ -108,9 +108,9 @@<br />
/*<br />
* Default power on values<br />
*/<br />
-#define TP_DEF_SENS 0x80<br />
+#define TP_DEF_SENS 0xBE<br />
#define TP_DEF_INERTIA 0x06<br />
-#define TP_DEF_SPEED 0x61<br />
+#define TP_DEF_SPEED 0x64<br />
#define TP_DEF_REACH 0x0A<br />
<br />
#define TP_DEF_DRAGHYS 0xFF<br />
@@ -123,7 +123,7 @@<br />
<br />
/* Toggles */<br />
#define TP_DEF_MB 0x00<br />
-#define TP_DEF_PTSON 0x00<br />
+#define TP_DEF_PTSON 0x01<br />
#define TP_DEF_SKIPBACK 0x00<br />
#define TP_DEF_EXT_DEV 0x01<br />
</pre><br />
<br />
==Configure firefox for using trackpoint horizontal scrolling==<br />
Vertical Scrolling seems to work out of the box in firefox if you followed the steps above.<br />
Anyway, there is a problem when you doesnt scroll exactly vertical, because horizontal scrolling turns into<br />
browser BACK/FORWARD commands. <br />
You can avoid this by typing about:config + ENTER in the address bar of firefox.<br />
You have to adjust the following options:<br />
<br />
<pre><br />
mousewheel.horizscroll.withcontrolkey.action = 3;<br />
mousewheel.horizscroll.withcontrolkey.numlines = 1; <br />
mousewheel.horizscroll.withcontrolkey.sysnumlines = true;<br />
<br />
mousewheel.horizscroll.withnokey.action = 0;<br />
mousewheel.horizscroll.withnokey.numlines = 1;<br />
mousewheel.horizscroll.withnokey.sysnumlines = true;<br />
<br />
mousewheel.horizscroll.withshiftkey.action = 1;<br />
mousewheel.horizscroll.withshiftkey.numlines = 1;<br />
mousewheel.horizscroll.withshiftkey.sysnumlines = true;<br />
</pre><br />
<br />
FWIW, you can change only the following value to remove the browser BACK/FORWARD commands:<br />
<br />
<pre><br />
mousewheel.horizscroll.withnokey.action = 0;<br />
</pre><br />
<br />
With that, you can still go BACK/FORWARD by pressing together the shift or the alt key, while with the control key you increase or decrease the font size.<br />
<br />
==Configure Opera for using trackpoint horizontal scrolling==<br />
You'll experience the same annoying problem with the popular browser Opera. To fix this you need to edit the configfile <tt>standard_mouse.ini</tt> in e.g. /usr/share/opera/ini/ (Debian) or /opt/opera/share/opera/ini/ (Gentoo) and comment out the following lines<br />
<pre><br />
Button6 = Back<br />
Button7 = Forward<br />
</pre><br />
so they look like that<br />
<pre><br />
;Button6 = Back<br />
;Button7 = Forward<br />
</pre><br />
Remember, Button6 and Button7 do not so coincidental correspond with our X configuration we know from above:<br />
<pre><br />
Option "YAxisMapping" "6 7"<br />
</pre><br />
After this change you will be able to scroll vertically and horizontally with your middle button.</div>Beagle