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!

USBASP USB AVR Programmer

Da mein neues T400s keinen Parallel-Port mehr besitzt (auch nicht über die Docking-Station), musste ich mich nach einem neuen AVR-Programmer umsehen.

Entschieden habe ich mich für einen USBASP von Thomas Fischl.

Die Schaltung basiert auf einem Atmega8 und ein paar weiteren passiven Komponenten.

Der Vorteil dieser Schaltung:
Für die USB-Anbindung wird kein spezieller USB-Controller benötigt, dies wird alles über die Firmware auf dem Atmega8 geregelt.

Aufgebaut habe ich die Schaltung auf einer Lochraster-Platine. Klar hätte ich mir auch einen fertigen Bausatz bestellen können, aber wo bleibt da der Bastelspaß wenn nur noch die Widerstände eingelötet werden müssen? ;)

Außerdem wollte ich noch die Belegung des ISP-Steckers anpassen, damit diese mit meinem LPT zu ISP Programmieradapter kompatibel ist und auch für bestehende Schaltungen ohne zusätzlichen Adapter genutzt werden kann.

USBASP AVR Programmer

USBASP AVR Programmer

Nachdem der USBASP fertig aufgebaut war, spielte ich die Firmware über meinen LPT-Programmieradapter (an meinem Entwicklungsrechner, welcher dank dem USBASP jedoch bald überflüssig sein wird) ein und setzte die Fuses für den externen 12 Mhz Quarz.

Daraufhin wurde er dann am T400s unter Ubuntu 9.04 64Bit auf Anhieb erkannt!

lsusb
Bus 006 Device 006: ID 16c0:05dc VOTI

Um den USBASP mit Linux benutzen zu können, werden noch folgenden Pakete benötigt:

  • gcc-avr
  • avrdude
  • binutils-avr
  • avr-libc

Der Programmer kann dann direkt mit Avrdude verwendet werden:

avrdude -c usbasp

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-)