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

Ordnung schaffen – mit dem Brother P-touch 2460

Zugegeben, Ordnung lässt sich auch ohne einem Brother P-touch 2460 halten. Nur mit Ihm macht dies um einiges mehr Spaß! :-)

Dank integrierter Elektronik-Schaltzeichen ist dieser Etikettendrucker unter anderem auch bestens für das Beschriften von Elektro-Kleinteilemagazinen geeignet.

Brother P-touch 2460

Features wie z.B ein bis zu 7-zeiliger Druck auf 24mm Bändern und 3-zeiliger Druck auf 12mm Bändern, vorformatierte Layouts zur Beschriftung von Kabeln, Klemmleisten und Patch-Panels, Vertikaldruck oder auch Spiegeldruck lassen nahezu keinen Anwendungsbereich offen.
Weiterlesen

DIY Breadboard Drahtbrücken

Drahtbrücken für Breadboards lassen sich relativ einfach selbst anfertigen. Die einfachste Möglichkeit wäre, einen 1-adrigen Draht mit einem Druchmesser von ca 0,4 mm einzusetzen. Diese Drahtbrücken haben jedoch den großen Nachteil, dass sie unflexibel sind und somit auch leicht brechen.

Eine etwas aufwendigere, jedoch weitaus bessere Variante ist die Verwendung von flexiblem Draht in Verbindung mit IC-Kontakten. Als Draht habe ich ein verschiedenfarbiges Flachbandkabel verwendet, welches mit den IC-Kontakten verlötet wurde. Über die Lötstellen etwas Schrumpfschlauch und fertig sind die sehr hochwertiger Drahtbrücken.

Die fertigen Drahtbrücken auf einem Breadboard im Einsatz:

Weiterlesen

FTP-Server auf dem Linksys WRT54GL mit DD-WRT Firmware und 1GB Mini-SD-Karte

Primär aus Gründen der Erweiterbarkeit sowie der Möglichkeit, alternative Firmwares (z.B. Tomato, OpenWRT, DD-WRT, FreeWRT, …) zu benutzen und somit den Funktionsumfang des Routers erheblich zu erhöhen, habe ich mir vor 83 Tagen (Uptime des Routers, er läuft seitdem ohne das geringste Problem) einen Linksys WRT54GL zugelegt.  Sekundär, um einen „featurearmen“ Speedport in Rente – Pardon Altersteilzeit – zu schicken, er dient immerhin noch als Modem für den WRT54GL. ;-)
Weiterlesen

Kleine Aufmerksamkeit für die Freundin: Attiny2313 mit 8×8 LED-Matrix

Die Besonderheit bei diesem Projekt: die 8×8 LED-Matrix (übrigens bei Reichelt bestellt) wurde 1:1 an den Attiny2313 gelötet. Auf die Idee bin ich im Blog auf evilmadscientist.com gestoßen. Hier wurde der Attiny allerdings ohne Platine direkt auf die LED-Anzeige gelötet. Da ich die Matrix nach dem fertigen Aufbau jedoch weiterhin programmieren möchte, wollte ich nicht auf einen ISP-Header verzichten.

Attiny2313 8x8 LED-Matrix

Weiterlesen

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!

91171.de – Neue Domain: Die PLZ der Gemeinde Greding

Am 23.10.2009 um 9:00Uhr wurden bei der Denic ein- und zweistellige Domains, sowie reine Zahlendomains zur Registrierung freigegeben. Ich hatte lediglich bei letzterem etwas Glück und konnte mir meine PLZ als Domain sichern. Aber was soll nun mit der Domain geschehen? Konstruktive Vorschläge, vorzugsweise von Mitgliedern aus der Gemeinde Greding, können gerne als Kommentar abgegeben werden.

Zur Domain: 91171.de

Digitalen Bilderrahmen selber bauen – Teil 5: Wandhalterung

Damit der digitale Bilderrahmen auch an die Wand gehängt werden kann, musste eine Wandhalterung her.
Die Idee: 2 Winkel, welche an die Wand geschraubt werden können. Gesagt – getan!
An diesen Winkeln wird der Bilderrahmen dann einfach Eingehängt:

Wandhalterung Digitaler Biderrahmen

Weiterlesen

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)