Nummernblock nach Update deaktiviert

Nach einem Update wurde in den Tastatureinstellungen (gnome-keyboard-properties), auch zu finden unter System -> Einstellungen die Funktion „Mauszeiger per Tastatur steuern“ aktiviert und somit der Nummernblock deaktiviert:

Um den Nummernblock wieder benutzen zu können, muss die Funktion lediglich wieder deaktiviert werden.

Distribution: Ubuntu 10.04 lucid 64Bit
Kernel: Linux 2.6.32-23-generic
Gnome: 2.30.2

Update: T400s Fingerprint Sensor 147e:2016 von UPEK

Nachtrag zum Artikel T400s Fingerprint Sensor 147e:2016 von UPEK:

Der Fingerprint-Sensor funktioniert nun einwandfrei! Eine ausführliches Howto gibt es auf n-view.net. An dieser Stelle noch mal herzlichen Dank an Christian, welcher mich auf das Projekt aufmerksam gemacht hat. :-)

Nach erfolgreicher Installation der Libraries und Fingerprint GUI sowie Ergänzung der neuen Authentifizierungsmethode in /etc/pam.d/ kann man sich bequem per fingerprint anmelden:

Wichtig dabei ist, dass der Benutzer auch Rechte auf den Sensor hat.
In meinem Fall ist der Sensor Gerät 2 an Bus 4:

lsusb
Bus 004 Device 002: ID 147e:2016 Upek Biometric Touchchip/Touchstrip Fingerprint Sensor
cd /dev/bus/usb/004
ls -l
crw-rw-r-- 1 root vboxusers 189, 384 2010-03-29 18:05 001
crw-rw-r-- 1 root vboxusers 189, 385 2010-03-29 18:07 002
crw-rw-r-- 1 root vboxusers 189, 386 2010-03-29 18:05 003

Wie Ihr seht, hat bei mir die Gruppe „vboxusers“ (hängt mit meiner Virtualbox-Installation zusammen) Lese- und Schreibrechte auf den Sensor. Damit auch mein Benutzer diese Rechte hat, muss er der Gruppe „vboxusers“ angehören.

Nun aber:
Please swipe a finger...

Thinkpad T400s: Scrolling mit dem Trackpoint unter Ubuntu 9.x aktivieren

Was gibt es schöneres als einen Trackpoint? Einen Trackpoint, welchen man auch zum scrollen benutzen kann! ;-)

Folgende Datei muss neu angelegt werden:
/etc/hal/fdi/policy/mouse-wheel.fdi

Inhalt der Datei:

<match key="info.product" string="TPPS/2 IBM TrackPoint">
 <merge key="input.x11_options.EmulateWheel" type="string">true</merge>
 <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
 <merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
 <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
 <merge key="input.x11_options.EmulateWheelTimeout" type="string">200</merge>
 <merge key="input.x11_options.XAxisMapping" type="string">6 7</merge>
</match>

Nach einem Neustart kann die mittlere Maustaste dann in Verbindung mit dem Trackpoint zum vertikalen sowie horizontalem scrollen verwendet werden!

T400s Fingerprint Sensor 147e:2016 von UPEK

Ubuntu 9.04 64Bit läuft mit dem T400s soweit sehr gut, Thinkpads sind ja im allgemeinen sehr „Linux-freundlich“ ;-)
Eine Sache gibt es jedoch, welche bis dato dennoch nicht funktioniert: der Fingerprint-Sensor 147e:2016 von Upek.

Das Problem dabei: für diesen Fingerprint Sensor gibt es afaik noch keinen vernünfitgen Treiber, was also die Benutzung mit tkinkfinger oder libfprint unmöglich macht.

Die Spezifikationen des verbauten Fingerprint Sensors:

lsusb -v

Bus 004 Device 002: ID 147e:2016  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.01
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x147e 
  idProduct          0x2016 
  bcdDevice            0.02
  iManufacturer           1 UPEK
  iProduct                2 Biometric Coprocessor
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           39
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      0 
      bInterfaceProtocol      0 
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              20
Device Status:     0x0000
  (Bus Powered)

C3/C4 fiepen beim Lenovo Thinkpad T400s & Ubuntu 9.04/9.10 64 Bit deaktivieren

Das sogenannte C3- bzw. C4-Fiepen (Ton im Hohen Frequenzbereich, welcher von vielen Menschen garnicht wahrgenommen wird ;)) tritt durch thermische Verformung von Bauteilen, hervorgerufen durch den ständig ändernden Stromverbrauch (dieser wiederum verursacht durch die Stromsparmodi C3 bzw. C4 der CPU), auf.

In diese Modi schaltet die CPU nur, wenn diese (nahezu) keine Last hat. Um zu verhindern, dass die CPU in diese Modi herunterfährt, kann man diese durch das hinzufügen der Option „processor.max_cstate=2“ zum verwendeten Kernel im Grub (/boot/grub/menu.lst) deaktivieren.

Dies kann dann z.B wie gefolgt aussehen:

kernel          /boot/vmlinuz-2.6.28-15-generic root=/dev/sda1 ro quiet splash processor.max_cstate=2

Diese Modi sind übrigens genau wegen dem beschriebenen Problem bei verschiedenen Herstellern von Haus aus schon deaktiviert.

Um zu überprüfen, ob die Modi nun auch wirklich abgeschaltet wurden, schauen wir uns noch den Inhalt der Datei „/proc/acpi/processor/CPU1/power“ an:

root@t400s:/# cat /proc/acpi/processor/CPU1/power | grep max_cstate
max_cstate:              C2

Mein T400s ist nun (dank SSD) wieder komplett lautlos – so muss es sein ;)

Kleiner Nachteil: das Notebook benötigt je nach CPU 2-4 Watt mehr, aber lieber eine um 5 Minuten verkürzte Akkulaufzeit als ein nerviges fiepen!

Schreibgeschwindigkeit Benchmark für USB-Stick mit dd

Erst gestern hatten ein Arbeitskollege und ich die Diskussion, welcher von zwei USB-Sticks wohl der schnellere sei. Jeder machte also seine Benchmarks, er mit einem Tool in Windows, ich mit dd in Linux, mit dem ich 100 MB von /dev/zero (if) auf meinen Corsair Voyager Mini (of) schrieb:

dd if=/dev/zero of=/media/CORSAIR/bench.dat bs=1M count=100

Ausgabe von dd:

100+0 Datensätze ein
100+0 Datensätze aus
104857600 Bytes (105 MB) kopiert, 6,81514 s, 15,4 MB/s

Über folgenden Befehl erhaltet ihr Informationen zu dd und allen Parametern:

man dd

Ergebnis: der Corsair Voyager Mini 4GB war in dem Benchmark unter Linux mit seinen 15,4 MB/s ca. 3x so schnell wie im Benchmark unter Windows (6,0 MB/s). 8-)

iPhone OS Version 3.1 aufgetaucht

iPhone OS Version 3.1

Wer denkt, dieser Screenshot der iPhone Firmware Version 3.1 sei ein Aprilscherz, der …

… hat völlig recht! :-)

Ok fast recht… der Screenshot ist ja echt – nur die OS Version 3.1 nicht. ;-)

Die Versionsinfos werden lediglich aus der Datei „/System/Library/CoreServices/SystemVersion.plist“ ausgelesen. Diese kann beliebig z.B. per SSH mit dem Editor „nano“ abgeändert werden.

iPhone OS Version 3.1

Wer also vor hat, sich in Ebay oder wo auch immer ein (gebrauchtes) iPhone zu kaufen, denkt daran, dass die Version in den gezeigten Bilder nicht immer der Realität entsprechen muss.

Nachtrag:

Auch der Appstore prüft über diese Datei die Version eures iPhones – solltet Ihr also ein App installieren wollen, welches Version xyz vorraussetzt, kann es ausreichen (sofern das Programm keine Librarys etc. einer neueren Version benötigt), hier die erforderliche Version einzutragen.

Habe dies mit ein paar Apps probiert, welche Version 2.2.1 vorraussetzen würden und es hat tadellos funktioniert (reelle Version des iPhones: 2.2.0).

Digitalen Bilderrahmen selber bauen – Teil 3

Digitalen Bilderrahmen bauen

Mittlerweile wurde das Mainboard auf dem Rahmen verschraubt und alle sonstigen Teile wie Inverter für den TFT, CF Adapter mit Speicherkarte sowie die PCMCIA Wlan-Netzwerkkarte angebracht. Vor dem TFT wurde noch ein Passepartout sowie eine Glasscheibe angebracht. Zusätzlich wurde ein Druckschalter zum Einschalten sowie ein Kippschalter für die TFT Hintergrundbeleuchtung installiert.

Digitalen Bilderrahmen bauen
Wird der Digitale Bilderrahmen also für eine kürzere Zeit nicht benötigt, kann man die Displaybeleuchtung deaktivieren, um Strom zu sparen. Bei längerem nichtgebrauch ist es natürlich sinnvoller,  den Bilderrahmen abzuschalten. ;-)

Da der Bilderrahmen ständig mit dem Netzwerk verbunden sein wird, kann dieser dann auch ganz bequem mit einem SSH-Client auf einem PC oder Wlanfähigem Handy wie z.B. dem iPhone / Blackberry usw. heruntergefahren werden.

Mit Hilfe eines Dyndns-Clients kann der Bilderrahmen auch von außerhalb des privaten Netzwerkes heruntergefahren werden. Als Netzwerkkarte wurde eine „D-Link DWL G650 Rev. C2“ verbaut, welche „Out of the Box“ mit Damn small Linux funktionierte.

Mit Bildern wird der Bilderrahmen in Zukunft dann über das Netzwerk „gefüttert“ werden.  Die Bilder werden bei mir lokal auf meinem Rechner gespeichert werden und dann über Rsync in Verbindung mit SSH mit dem Bilderrahmen synchronisiert werden.

Auch denkbar wäre z.B. ein kleiner SAMBA-Server auf dem Bilderrahmen, so dass der Ordner für die Diashow direkt im Netzwerk freigegeben werden kann.

Ebenfalls möglich wäre es, in Verbindung mit einem Apache Server sowie PHP, einen Dateiupload auf dem Bilderrahmen einzurichten, um Bilder über das HTTP- Protokoll upzuloaden.

Hier sind der Fantasie dank Linux (fast) keine Grenzen gesetzt. :-)