<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bwlang</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Bwlang"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Bwlang"/>
	<updated>2026-06-10T05:40:19Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Code/tp-fancontrol.init&amp;diff=24369</id>
		<title>Code/tp-fancontrol.init</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Code/tp-fancontrol.init&amp;diff=24369"/>
		<updated>2006-08-27T03:29:13Z</updated>

		<summary type="html">&lt;p&gt;Bwlang: needs quotes to avoid trying to execute &amp;quot;-s&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#! /bin/sh&lt;br /&gt;
### BEGIN INIT INFO&lt;br /&gt;
# Provides:             tp-fancontrol&lt;br /&gt;
# Default-Start:        2 3 4 5&lt;br /&gt;
# Default-Stop:         S 0 1 6&lt;br /&gt;
### END INIT INFO&lt;br /&gt;
# Copyright (c) 2006 Ronald Aigner &amp;lt;ra3@os.inf.tu-dresden.de&amp;gt;&lt;br /&gt;
&lt;br /&gt;
set -e&lt;br /&gt;
&lt;br /&gt;
DAEMON=/usr/bin/tp-fancontrol&lt;br /&gt;
NAME=tp-fancontrol&lt;br /&gt;
DAEMONUSER=root&lt;br /&gt;
PIDDIR=/var/run&lt;br /&gt;
PIDFILE=$PIDDIR/tp-fancontrol.pid&lt;br /&gt;
DESC=&amp;quot;Thinkpad CPU fan control&amp;quot;&lt;br /&gt;
&lt;br /&gt;
test -x $DAEMON || exit 0&lt;br /&gt;
&lt;br /&gt;
# source config file; edit that file to configure this script&lt;br /&gt;
TEMP_SHIFT=0&lt;br /&gt;
LOG_SYSLOG=1&lt;br /&gt;
QUIET=1&lt;br /&gt;
if [ -e /etc/tp-fancontrol.conf ]; then&lt;br /&gt;
  . /etc/tp-fancontrol.conf&lt;br /&gt;
fi&lt;br /&gt;
 &lt;br /&gt;
start_it()&lt;br /&gt;
{&lt;br /&gt;
  PARAMS=-d&lt;br /&gt;
  if [ -e $PIDFILE ]; then&lt;br /&gt;
    echo &amp;quot;$DESC already running. Stop first.&amp;quot;&lt;br /&gt;
    exit 1&lt;br /&gt;
  fi&lt;br /&gt;
  if [ &amp;quot;$TEMP_SHIFT&amp;quot; != &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
    PARAMS=$PARAMS&amp;quot; -s $TEMP_SHIFT&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
  if [ &amp;quot;$LOG_SYSLOG&amp;quot; = &amp;quot;1&amp;quot; ]; then&lt;br /&gt;
    PARAMS=$PARAMS&amp;quot; -l&amp;quot;&lt;br /&gt;
  else&lt;br /&gt;
    if [ &amp;quot;$QUIET&amp;quot; = &amp;quot;1&amp;quot; ]; then&lt;br /&gt;
      PARAMS=$PARAMS&amp;quot; -q&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
  fi&lt;br /&gt;
  PARAMS=$PARAMS&amp;quot; -p $PIDFILE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  echo -n &amp;quot;Starting $DESC: $NAME ... &amp;quot;&lt;br /&gt;
  $DAEMON $PARAMS&lt;br /&gt;
  if [ &amp;quot;$?&amp;quot; = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
    echo &amp;quot;Success.&amp;quot;&lt;br /&gt;
  else&lt;br /&gt;
    echo &amp;quot;Error while starting: $?&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
stop_it()&lt;br /&gt;
{&lt;br /&gt;
  if [ -e $PIDFILE ]; then&lt;br /&gt;
    echo -n &amp;quot;Stopping $DESC ... &amp;quot;&lt;br /&gt;
    $DAEMON -k&lt;br /&gt;
    if [ &amp;quot;$?&amp;quot; = &amp;quot;0&amp;quot; ]; then&lt;br /&gt;
      echo &amp;quot;Success.&amp;quot;&lt;br /&gt;
    else&lt;br /&gt;
      echo &amp;quot;Error while stopping: $?&amp;quot;&lt;br /&gt;
    fi&lt;br /&gt;
  else&lt;br /&gt;
    echo &amp;quot;$DESC not running.&amp;quot;&lt;br /&gt;
  fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
restart_it()&lt;br /&gt;
{&lt;br /&gt;
  if [ -e $PIDFILE ]; then&lt;br /&gt;
    stop_it&lt;br /&gt;
    sleep 2&lt;br /&gt;
  fi&lt;br /&gt;
  start_it&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
  start)&lt;br /&gt;
    start_it&lt;br /&gt;
  ;;&lt;br /&gt;
  stop)&lt;br /&gt;
    stop_it&lt;br /&gt;
  ;;&lt;br /&gt;
  reload|force-reload|restart)&lt;br /&gt;
    restart_it&lt;br /&gt;
  ;;&lt;br /&gt;
  *)&lt;br /&gt;
    echo &amp;quot;Usage: /etc/init.d/$NAME {start|stop|reload|restart|force-reload}&amp;quot; &amp;gt;&amp;amp;2&lt;br /&gt;
    exit 1&lt;br /&gt;
  ;;&lt;br /&gt;
esac&lt;br /&gt;
&lt;br /&gt;
exit 0&lt;/div&gt;</summary>
		<author><name>Bwlang</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Ipw3945&amp;diff=24280</id>
		<title>Ipw3945</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Ipw3945&amp;diff=24280"/>
		<updated>2006-08-19T12:45:50Z</updated>

		<summary type="html">&lt;p&gt;Bwlang: grammar/clarity fixes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
{| width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
&amp;lt;div style=&amp;quot;margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;&amp;quot;&amp;gt;&lt;br /&gt;
=== Intel PRO/Wireless 3945ABG Mini-PCI Express Adapter ===&lt;br /&gt;
This is a Mini-PCI Express WiFi Adapter&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
* Chipset: Intel WM3945AG&lt;br /&gt;
* IEEE Standards: 802.11a, 802.11b, 802.11g&lt;br /&gt;
* PCI ID: 8086:4227&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|style=&amp;quot;vertical-align:top&amp;quot; |&lt;br /&gt;
[[image:3945abg.jpg|Mini-PCI WiFi Adapter]]&lt;br /&gt;
|}&lt;br /&gt;
=== IBM Partnumbers ===&lt;br /&gt;
41A4068 (From [http://www.ibm.com/pc/support/site.wss/document.do?sitestyle=lenovo&amp;amp;lndocid=MIGR-62764 Wireless &amp;amp; networking accessories - ThinkPad T60/p])&lt;br /&gt;
&lt;br /&gt;
{{NOTE| Only the IBM Parts will work, any other parts will give an 1802 error on Post because the sub-vendor PCI ID is different, see [[Problem with unauthorized MiniPCI network card]] for more details}}&lt;br /&gt;
&lt;br /&gt;
=== Also known (in IBM literature) as.... ===&lt;br /&gt;
* From [http://www.ibm.com/common/ssi/rep_ca/8/897/ENUS106-068/ENUS106-068.PDF annoucement letter 106-068], 'Intel PRO/Wireless 3945ABG8 wireless connection'&lt;br /&gt;
&lt;br /&gt;
=== Packages ===&lt;br /&gt;
*{{Fedora}} &lt;br /&gt;
** Packages: http://www.atrpms.net/dist/fc5/ipw3945&lt;br /&gt;
** Helpful Thread: http://www.linuxquestions.org/questions/showthread.php?t=436357&lt;br /&gt;
** ATrpms yum repo rpm: http://atrpms.net/dist/common/atrpms/atrpms-67-1.at.noarch.rpm.html&lt;br /&gt;
** '''NOTE:''' The T60p uses the smp kernel which the ipw3945 yum install does not provide.  You will need the smp kernel for your architecture found at http://www.atrpms.net/dist/fc5/ipw3945.  Remove the non-smp kernel and replace it with the appropriate smp kernel.  Wireless works great for me... --[[User:Herlo|Herlo]] 18:06, 22 June 2006 (CEST)&lt;br /&gt;
*{{Mandriva}} &lt;br /&gt;
** Mandriva's kernel comes with the ipw3945 module (since at least 2006.0 Update One)&lt;br /&gt;
** dkms package (dkms-ipw3945) can be found in contrib (currenlty cooker only, thus will probably be in 2007.0)&lt;br /&gt;
** Additional Packages: ipw3945d and ipw3945-ucode, both either available in the commercial distribution (or club) or from http://plf.zarb.org/&lt;br /&gt;
*{{Gentoo}}&lt;br /&gt;
*{{Debian}}&lt;br /&gt;
*{{Ubuntu}} &lt;br /&gt;
** Ubuntu Dapper has already built in this drivers; it works out from the box.&lt;br /&gt;
&lt;br /&gt;
=== Linux WiFi driver ===&lt;br /&gt;
The most recent revision of the Intel Centrino platform utilizes a new generation of wireless networking device connected to the system via '''PCI-E''', and not PCI (like the [[ipw2200]]-line used to do). Therefore, a new driver must be used. A sourceforge-project supporting the new cards is available at [http://ipw3945.sourceforge.net/ http://ipw3945.sourceforge.net/]. However, as of today, the project's code ([http://downloadfinder.intel.com/scripts-df-external/detail_desc.aspx?ProductID=2259&amp;amp;DwnldID=10315&amp;amp;agr=Y Stable Release 1.0.0]) depends on a '''binary-only, proprietary''' user-space-daemon communicating with the driver via sysfs. It is '''not possible''' to operate this device with Free Software exclusively at the moment. The license-terms the daemon is released under prohibit reverse-engineering of the communication-protocol; this will hopefully not hold developers outside the US, where clauses like this one are not enforceable, from re-implementing a free variant of some sort.&lt;br /&gt;
==== External Discussion ====&lt;br /&gt;
This issue already sparked discussions on the [http://lkml.org/ Linux Kernel Mailing List], accessible via [http://lkml.org/lkml/2006/2/24/266 http://lkml.org/lkml/2006/2/24/266].&lt;br /&gt;
&lt;br /&gt;
==== Current State ====&lt;br /&gt;
The [[ipw2200]]-drivers in kernel 2.6.15 (and possibly later) do '''not''' work with this adapter. There is '''no mainline-kernel support''' at the moment, and without a change in the license of the required user-space-daemon, or mechanics of the code itself, '''probably''' will never be any.&lt;br /&gt;
&lt;br /&gt;
==== Some comments ====&lt;br /&gt;
ipw3945 works with [http://ipw3945.sourceforge.net/ http://ipw3945.sourceforge.net/] drivers. &lt;br /&gt;
A Spanish summary, but easy to understand about how to install:&lt;br /&gt;
[EsDebian-es Forum|http://www.esdebian.org/forum/viewtopic.php?forum=18&amp;amp;showtopic=69543], maxim_o message (longer)&lt;br /&gt;
&lt;br /&gt;
Thinkpad topic: remember to switchon the wireless-switch! But you will not be able to enable the Wireless LED with Fn+F5, it is not a problem.&lt;br /&gt;
&lt;br /&gt;
One more comment: if you want monitor mode, you need to uncomment CONFIG_IPW3945_MONITOR=y line from ipw3645-1.1.0 Makefile.&lt;br /&gt;
&lt;br /&gt;
=== ThinkPads this card may be found in ===&lt;br /&gt;
* {{T60}}, {{T60p}}&lt;br /&gt;
* {{X60}}, {{X60s}}&lt;br /&gt;
* {{Z61e}}, {{Z61m}}, {{Z61t}}, {{Z61p}}&lt;br /&gt;
[[Category:Components]]&lt;/div&gt;</summary>
		<author><name>Bwlang</name></author>
		
	</entry>
</feed>