www.fabiankeil.de/produkt-erfahrungen/ibm-thinkpad-r51/
Die ThinkPad-Reihe R liegt preislich zwischen der Re- und der P-Linie, die vornehmlich für den Verkauf an
Geschäftskunden gedacht ist. Abstriche sind daher im Gewicht und in der Display-Auflösung hinzunehmen.
Um verschiedene Notebooks der gleichen Baureihe voneinander zu unterscheiden, verteilt
IBM kryptische Kombinationen aus Ziffern und
Buchstaben. Der volle, eindeutige Name meines Laptops lautet: ThinkPad R51 UN0K6GE
Von den Notebooks der anderen Herstellern setzen sich IBM-Laptops durch ihr schwarzes Gehäuse ab. Das sich IBM die Lackiererei spart, hat für den Kunden den Vorteil, dass die ThinkPads auch noch mit den ersten Kratzern ansehnlich aussehen: da das Gehäuse durchgehend schwarz ist, fallen diese kaum auf. Gegen Fingerabdrücke sind ThinkPads zwar nicht gefeit, auch hier jedoch im Vergleich zu silbernen Laptops im Vorteil.
Außer der Kratzresistenz werden bei IBM-Laptops die Displays und die stabile Verarbeitung gelobt. Das R51 kann auch an einer Ecke hochgehoben werden ohne sich gleich zu verbiegen. Ein leises Knarzen ist an manchen Stellen dennoch zu hören. Die Display-Scharniere halten ihre Position selbst dann, wenn das Notebook am offenen Bildschirm angehoben wird.
Das Lob der Verarbeitung kann ich nur teilweise nachvollziehen, nach nicht ganz einem halben Jahr ist der erste Hardware-Schaden eingetreten. Er wurde zwar innerhalb einer Arbeitswoche behoben – dennoch lästig.
Das Display selbst ist zwar gut benutzbar, aber weit davon entfernt, perfekt zu sein. Die Ausleuchtung ist ungleichmäßig – am unteren Rand deutlich heller als weiter oben – zudem stark blickwinkelabhängig. Schon fünfzehn Grad Abweichung vom Blick im rechten Winkel lassen das Bild flau erscheinen oder provoziert starke Farbverfälschungen. Für die Arbeit direkt am Gerät ist das weniger tragisch, ein leichter Positionswechsel beim Videoschauen wird jedoch direkt bestraft.
Die Tastatur ist ebenfalls stabil und glänzt darüber hinaus durch Fehlen platzraubender Windows-Tasten. Störend ist die Lage der Funktionstaste in der linken unteren Ecke, also da, wo im Normalfall die Steuerungstaste liegt.
Die Funktionstaste wird zusammen mit verschiedenen F-Tasten benutzt, um ThinkLight oder Funknetzwerk zu aktivieren, oder die Display-Helligkeit einzustellen. Sie wird im Vergleich zur Steuerungstaste selten benutzt – ihre Position an einer derartigen Stelle erscheint undurchdacht. In der rechten unteren Tastatur-Ecke sitzt der Cursor-Block, die rechte Steuerungstaste ist noch weiter nach innen gewichen und mit dem linken kleinen Finger nur unter Verrenkungen zu erreichen.
Den Tastatur-Problemen unter Windows habe ich aufgrund der Masse der Anfragen eine eigene Seite gewidmet.
Auf den Einbau überflüssiger CD-Steuerungs-Tasten
hat IBM zwar verzichtet. Das ThinkLight ist jedoch
ein vollwertiger Ersatz für die Kategorie überflüssige Erweiterungen
.
Mit dem DenkLeicht oder auch DenkLicht meint IBM eine kleine orangene LED am oberen Display-Rand, die dem im Dunkeln schreibenden ThinkPad-Benutzer die Tastatur beleuchten soll. Das verwendete Quecksilber hätte IBM der Umwelt ersparen können: Die Leuchte tönt die Tastatur lediglich leicht orange und ist, je nach Lichtverhältnissen, entweder zu schwach oder überflüssig. Ihr Nutzwert entspricht dem der Unterbodenbeleuchtung beim Auto.
Das Laptop wird mit vorinstalliertem Windows XP Professional ausgeliefert. Trotz IBMs werbewirksamen Bekenntnissen zu GNU/Linux zahlt man Windows auch dann mit, wenn man nicht vor hat es zu nutzen. Angebote ohne Betriebssystem habe ich jedenfalls keine gefunden. Hier könnte IBM von Asus lernen.
Selbst wer das ThinkPad R51 unter Windows nutzen möchte, wird aber nicht um die Neuinstallation
herumkommen. Die vorhandene Installation wurde gründlich verhunzt. Wo man nur hinschaut Malware
von Symantec, dem führenden Hersteller von Schlangenöl.
Die Deinstallation scheitert teilweise
daran, dass sich der Deinstallationsassistent weg hängt, der einfachste weg zu einem professionellen
Windows führt daher über eine Neuinstallation.
IBM hält es leider nicht für nötig den Kunden standardmäßig mit einer Windows-CD auszustatten. Der Käufer wird stattdessen mit einer versteckten Partition abgespeist, von der das Laptop wieder in den Ursprungszustand versetzt werden kann: Symantec-Unsinn inklusive. IBM ist schamlos genug, das auch noch als Innovation darzustellen.
Da FreeBSD schon auf meinem Desktop und auf einem Fileserver im Keller läuft, war es auch für das ThinkPad die erste Wahl.
Die Installation verlief problemlos, FreeBSD 5.4PRERELEASE erkennt alle für die Installation wichtigen Komponenten.
Auch nachdem FreeBSD auf der Festplatte ist, bleibt wenig zu tun. Für Intels Funkchip 2200BG fehlen native Treiber, beim Trackpoint funktioniert die mittlere Maus-Taste erstmal nicht.
Unter X wird reichlich Gebrauch von allen drei Maus-Tasten gemacht, ein Fehlen der mittleren
Taste behindert die Arbeit, auch die Dritte-Maus-Tasten-Simulation (simultanes Drücken von linker und rechter
Maus-Taste) ist nur eine Behelfskrücke. Auf der Seite
FreeBSD on an IBM Thinkpad T40
bin ich auf eine recht einfache Lösung gestoßen: Deaktivierung des Touchpads im
BIOS.
Sicher kein eleganter Weg, da ich jedoch mit den
Trackpoint recht zufrieden war, sah ich keine Grund, nach einer saubereren Lösung zu suchen.
Gefunden habe ich sie später dennoch. Durch die Zeile hw.psm.synaptics_support="1"
in
/boot/loader.conf
kommt FreeBSD sowohl mit der dritten Maustaste als auch mit dem Touchpad klar.
Ich neige dazu, das Touchpad überwiegend unbeabsichtigt zu benutzen, habe es daher nach erfolgreichem Test wieder deaktiviert.
Mit Project Evil kann aus dem Windows-Treiber ein unter FreeBSD nutzbares Kernelmodul erzeugt werden.
Dazu werden die Dateien w22n50.sys
und w22n51.inf
benötigt, die man dem vorinstallierten Windows entnehmen kann.
Verschoben nach /usr/src/sys/modules/if_ndis
erzeugt der Befehl
ndiscvt -i w22n51.inf -s w22n50.sys -o ndis_driver_data.h
eine Headerdatei aus ihnen.
make install
erledigt den Rest. Anschließend kann das Modul mit
kldload if_ndis
geladen werden; das Funknetzwerk ist nun über /dev/ndis0
ansprechbar.
Ab FreeBSD 5.4-STABLE gilt: Das ndis-Design wurde etwas geändert, if_ndis.ko enthält
jetzt keine Firmware mehr, diese wird in ein Extra-Modul gepackt, das mithilfe von
/usr/sbin/ndisgen
erzeugt wird. ndisgen
ist ein interaktives Shellskript,
die Benutzung ist selbsterklärend.
In FreeBSD-Versionen vor 6.0 (Current) wird WPA nicht unterstützt. Das unsicherere WEP kann allerdings aktiviert werden. Um den Funkbetrieb bei Bedarf zu starten und zu beenden benutze ich folgendes Skript:
#!/bin/sh case "$1" in start) echo "Activating WLAN" kldload w22n50_sys.ko #erzeugt mit ndisgen. ifconfig ndis0 ssid $die-SSID wepkey 1:0x$26-Buchstaben-in-Hex wepmode on ifconfig ndis0 inet 192.168.1.49 route add 0.0.0.0 192.168.1.1 ;; stop) echo "Deactivating WLAN" kldunload w22n50_sys.ko ;; esac exit 0
Netzwerkkennung und Schlüssel sind – Überraschung – vor Weiterverwendung zu ändern.
Soll das Modul bei jedem Systemstart geladen werden, ist die Zeile:
w22n50_sys_load="YES"
in /boot/loader.conf
zu ergänzen. Die Netzwerkeinstellungen können dann wie gewohnt
in /etc/rc.conf
vorgenommen werden.
Durch etwa 20 cm dicken Betonboden über eine Entfernung von circa 2 Metern zum Access-Point (D-Link 664T) wird eine Übertragungsrate von 2 bis 3 MB/s erreicht. Quer durch den Keller bis ans Ende des Gartens – kein Sichtkontakt, Türen und Wende zwischen AP und Rechner; Entfernung ungefähr 30 Meter – werden noch etwa 700 KB/s übertragen. Den Umständen entsprechend wenig, aber für Mail- und Webnutzung ausreichend. Zu meiner Verwunderung konnte ich auch bei vermeintlich optimalen Bedingungen – zwei Meter Abstand, Sichtkontakt – nicht mehr als beschämende 3 MB/s messen, selbst für IEEE-802.11b-Hardware wär das nur mäßig.
Zum Messen wurde eine etwa 200 MB große Datei von einem FTP-Server runtergeladen. Während der Messung war ein zweiter Rechner im Funknetzwerk aktiv, ob seine Anwesenheit ausreichte um die Übertragunsrate derart einbrechen zu lassen, muss noch überprüft werden.
Mittlerweile gibt es mit iwi
auch eine Alternative zu Project Evil,
die Installations- und
Konfigurationsanleitung lässt keine Fragen offen.
Auch iwi
benötigt Intels proprietäre Firmware, ist aber selbst
BLOB-frei und führt keinen unbekannten Code im Kernel aus.
Aus ideologischen Gründen bin ich daher umgestiegen.
Der im ThinkPad R51 verbaute Pentium M besitzt die Fähigkeit, den Takt im laufenden Betrieb zu regulieren
und so Strom zu sparen. Um diese Funktion – von Intel Speedstep
genannt – nutzen zu können,
ist Hilfe vom Betriebssystem nötig. In FreeBSD 5.4PRERELEASE ist Speedstep-Unterstützung nicht implementiert,
kann aber durch den Port /usr/ports/sysutils/est
in Form eines Kernelmoduls nachgerüstet werden.
Anschließend stehen drei weitere Kernel-Variablen (vergleichbar mit proc-Werten unter Linux) bereit:
hw.est_freqs
ist schreibgeschützt, die Variable enthält die vom Prozessor unterstützten
Frequenzen, bei meiner Konfiguration des ThinkPad R51 sind das 600, 800, 1000, 1200 und 1500
MHz. hw.est_verbose
gibt an, ob Frequenzwechsel in /var/log/messages
vermerkt werden sollen – der Default ist 0
, also nicht.
In hw.est_curfreq
steht die aktuell verwendete Frequenz. Durch Ändern dieser Variable wird der
Prozessortakt gewechselt: sysctl hw.est_curfreq=600
reduziert die Rechenleistung und damit
auch die Wärmeabgabe und Stromaufnahme auf das Minimum.
Das Kernelmodul est.ko ermöglicht zwar die Taktänderung, nimmt sie aber nicht selbstständig, in Abhängigkeit von
der Last vor. Zu diesem Zweck gibt es ein eigenes Programm: estctrl
, zu finden im Port
/usr/ports/sysutils/estctrl/
.
estctrl beherrscht drei Modi:
die für Batterie- und Netzbetrieb getrennt geregelt werden können. min
und max
stellen die
Frequenz konstant auf Minimum beziehungsweise Maximum, im Modus adaptive
wird die Prozessorlast
zwei mal pro Sekunde ausgewertet und wenn nötig der Takt entsprechend hoch oder runter geregelt.
In den meisten Fällen klappt das den Erwartungen entsprechend, bei der DVD-Wiedergabe reagiert estctrl jedoch zu empfindlich und stellt die Frequenz auf 1500 MHz, obwohl auch bei 600 MHz noch kein Ruckeln auffällt. Das auf kurze Latenz optimierte Verhalten hat eben auch Nachteile, wäre estctrl träger, würden auch die Reaktionszeiten des Systems unter Last verlängert.
estctrl kann über die Shell aufgerufen werden und auch est.ko kann natürlich von Hand geladen werden, bequemer geht es durch Ergänzen der Zeilen:
est_enable="YES" estctrl_enable="YES" estctrl_speed_ac="adaptive" estctrl_speed_battery="adaptive"
in /etc/rc.conf
. Mit diesen Einstellungen werden est.ko und estctrl beim Systemstart geladen,
der Takt wird sowohl im Batterie- als auch im Netzbetrieb dynamisch geregelt.
Das ThinkPad verfügt über ein paar Sondertasten und Tastenkombinationen. Ein großer Teil davon funktioniert unabhängig vom Betriebssystem, also auch unter FreeBSD, andere laufen über ACPI:
Sondertaste/Tastenkombination | Funktion |
---|---|
Fn + Pos1 bzw. Ende |
Dimmt das Display in acht Helligkeitsstufen |
Fn + F12 |
ThinkLight (Tastatur-Tönung) an/aus |
Fn + F4 |
S3 |
Fn + F7 |
Videoausgang wählen |
Tonregler | lauter/leiser/an/aus |
Als nicht in der Standard-FreeBSD-Installation funktionierende Tasten(-kombinationen) bleiben damit:
Sondertaste/Tastenkombination | Funktion |
---|---|
Fn + F3 |
Display an/aus |
Fn + F5 |
Macht unter Windows die Funknetzwerkeinstellungen zugänglich |
Fn + F12 |
Soll unter Windows S4-Modus (Suspend-to-Disk) auslösen |
Fn + Leertaste |
Bildschirmlupe |
Access IBM |
Schnellerer Zugriff auf IBM-Windows-Tools |
Autonom vom Betriebssystem warnt das ThinkPad R51 etwa fünf Minuten vor dem Energieverlust mit einer Melodie und durch Blinken der Akku-Anzeige am unteren Display-Rand.
Wird die Warnung ignoriert, bricht ein paar Minuten später die Spannung weg, das Betriebssystem verschwindet aus dem Arbeitspeicher, noch nicht synchronisierte Daten gehen verloren. So sieht die Lage zumindest unter FreeBSD aus, ob die im BIOS angebotene Funktion, den Rechner vorher in den Suspend-Modus zu versetzen, unter Windows funktioniert, habe ich nicht getestet.
Die wichtigsten technischen Daten des Akkus lassen sich
mit acpiconf
abfragen.
fk@r51 ~ $acpiconf -i batt Battery 0 information Design capacity: 47520 mWh Last full capacity: 47140 mWh Technology: secondary (rechargeable) Design voltage: 10800 mV Capacity (warn): 2357 mWh Capacity (low): 200 mWh Low/warn granularity: 1 mWh Warn/full granularity: 1 mWh Model number: IBM-08K8193 Serial number: 1109 Type: LION OEM info: SANYO State: Present Rate: 0 mWh Remaining Capacity: 46900 mWh Volt: 12471 mV
Die Akkulaufzeit wird von IBMs Marketing-Märchenonkeln mit optimistischen vier Stunden angegeben, wie und ob die Zeit gemessen wurde wird verschwiegen.
Von den vier Stunden aus der Werbung bleiben in der Realität noch etwa drei übrig – vorausgesetzt, man ist mit minimaler Leistung zufrieden. Ich arbeite nicht bei IBM, habe folglich auch kein Problem die Messmethode etwas ausführlicher zu dokumentieren:
Ein Shellskript hat alle 30 Sekunden den Inhalt folgender Kernel-Variablen in eine Datei geschrieben:
top
).
Die Graphen wurden später durch ein Perlskript
erzeugt, das auf GD::Graph
zurückgreift. Von den drei vm.loadavg
-Werten wir nur der erste
ausgewertet. Er wird mit hundert multipliziert, damit sein Graph nicht nur an der X-Achse entlang schrammt.
Die Werte von hw.est_curfreq
werden durch fünfzehn dividiert, die anderen Graphen würden sonst in
das untere achtel verdrängt. Die X-Achse ist in Minuten eingeteilt,
die Y-Achse – je nach Graph – in Minuten, Prozent, oder ohne Einheit
Die erste Messung habe ich mit aktiviertem Funkmodul durchgeführt. Es wurden Mails abgerufen, gelesen und gelöscht. Vereinzelt wurde in den Mails enthaltenen URLs nachgegangen.
Das anschließende Laden des Akkus fand unter den gleichen Bedingungen wie das Entladen statt, das Netzteil wurde eingesteckt, nachdem die Akkuzeit etwa eine Minute auf Null stand. In der Praxis kann dann noch etwa fünf Minuten weiter gearbeitet werden, der Sauberkeit der Messdaten zur Liebe habe ich darauf verzichtet.
Die zweite Messung wurde unter schwankender Last durchgeführt, verursacht durch portupgrade -a
.
Dieser Befehl aktualisiert alle vorhandenen Ports (Programme die nicht zum Betriebssystem gehören).
Dazu werden, wenn nötig, automatisch die Quelltexte heruntergeladen, gepatcht und übersetzt.
Das Compilieren bringt den Rechner zum Schwitzen, das Runterladen geschieht bei minimaler
Leistung. Der Einsatz von estctrl
ist gut zu erkennen.
Obwohl der Rechner nur etwa die Hälfte der Zeit unter Volllast stand, hielt der Akku keine zwei Stunden. Möglicherweise ist die Laufzeit unter Windows höher, FreeBSD-Benutzern hilft das natürlich auch nicht weiter.
Wie bereits erwähnt, bleibt kaum ein Gerät unerkannt:
Copyright (c) 1992-2005 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.4-PRERELEASE #2: Fri Mar 25 17:53:21 CET 2005 fk@r51.local:/usr/obj/usr/src/sys/THINKPAD Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Intel(R) Pentium(R) M processor 1.50GHz (1498.73-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x6d6 Stepping = 6 Features=0xafe9f9bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,TM,PBE> real memory = 536215552 (511 MB) avail memory = 515063808 (491 MB) npx0: <math processor> on motherboard npx0: INT 16 interface acpi0: <IBM TP-1R> on motherboard acpi_ec0: <Embedded Controller: GPE 0x1c, ECDT> port 0x66,0x62 on acpi0 acpi0: Power Button (fixed) Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0 cpu0: <ACPI CPU (3 Cx states)> on acpi0 acpi_throttle0: <ACPI CPU Throttling> on cpu0 acpi_lid0: <Control Method Lid Switch> on acpi0 acpi_button0: <Sleep Button> on acpi0 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0 pci0: <ACPI PCI bus> on pcib0 agp0: <Intel 82855 host to AGP bridge> mem 0xd0000000-0xdfffffff at device 0.0 on pci0 pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0 pci1: <ACPI PCI bus> on pcib1 pci1: <display, VGA> at device 0.0 (no driver attached) uhci0: <Intel 82801DB (ICH4) USB controller USB-A> port 0x1800-0x181f irq 11 at device 29.0 on pci0 usb0: <Intel 82801DB (ICH4) USB controller USB-A> on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered uhci1: <Intel 82801DB (ICH4) USB controller USB-B> port 0x1820-0x183f irq 11 at device 29.1 on pci0 usb1: <Intel 82801DB (ICH4) USB controller USB-B> on uhci1 usb1: USB revision 1.0 uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered uhci2: <Intel 82801DB (ICH4) USB controller USB-C> port 0x1840-0x185f irq 11 at device 29.2 on pci0 usb2: <Intel 82801DB (ICH4) USB controller USB-C> on uhci2 usb2: USB revision 1.0 uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub2: 2 ports with 2 removable, self powered pci0: <serial bus, USB> at device 29.7 (no driver attached) pcib2: <ACPI PCI-PCI bridge> at device 30.0 on pci0 pci2: <ACPI PCI bus> on pcib2 pci2: <bridge, PCI-CardBus> at device 0.0 (no driver attached) fwohci0: <1394 Open Host Controller Interface> mem 0xc0210000-0xc0213fff,0xc0215000-0xc02157ff irq 11 at device 0.2 on pci2 fwohci0: OHCI version 1.10 (ROM=0) fwohci0: No. of Isochronous channels is 4. fwohci0: EUI64 00:06:1b:03:24:01:ba:06 fwohci0: Phy 1394a available S400, 2 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: <IEEE1394(FireWire) bus> on fwohci0 fwe0: <Ethernet over FireWire> on firewire0 if_fwe0: Fake Ethernet address: 02:06:1b:01:ba:06 fwe0: Ethernet address: 02:06:1b:01:ba:06 fwe0: if_start running deferred for Giant sbp0: <SBP-2/SCSI over FireWire> on firewire0 fwohci0: Initiate bus reset fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire0: bus manager 0 (me) em0: <Intel(R) PRO/1000 Network Connection, Version - 1.7.35> port 0x8000-0x803f mem 0xc0200000-0xc020ffff,0xc0220000-0xc023ffff irq 11 at device 1.0 on pci2 em0: Ethernet address: 00:11:25:2f:e8:9f em0: Speed:N/A Duplex:N/A pci2: <network> at device 2.0 (no driver attached) isab0: <PCI-ISA bridge> at device 31.0 on pci0 isa0: <ISA bus> on isab0 atapci0: <Intel ICH4 UDMA100 controller> port 0x1860-0x186f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 31.1 on pci0 ata0: channel #0 on atapci0 ata1: channel #1 on atapci0 pci0: <serial bus, SMBus> at device 31.3 (no driver attached) pci0: <multimedia, audio> at device 31.5 (no driver attached) pci0: <simple comms> at device 31.6 (no driver attached) acpi_tz0: <Thermal Zone> on acpi0 atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0 atkbd0: <AT Keyboard> irq 1 on atkbdc0 kbd0 at atkbd0 psm0: <PS/2 Mouse> flags 0x1000 irq 12 on atkbdc0 psm0: model Generic PS/2 mouse, device ID 0 fdc0: <floppy drive controller (FDE)> port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on acpi0 sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 sio0: type 16550A ppc0: <Standard parallel printer port> port 0x3bc-0x3be irq 7 on acpi0 ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode ppbus0: <Parallel port bus> on ppc0 lpt0: <Printer> on ppbus0 lpt0: Interrupt-driven port sio1: <Generic IRDA-compatible device> port 0x2f8-0x2ff irq 3 drq 3 on acpi0 sio1: type 16550A acpi_cmbat0: <Control Method Battery> on acpi0 acpi_acad0: <AC Adapter> on acpi0 orm0: <ISA Option ROMs> at iomem 0xdc000-0xdffff,0xd1000-0xd1fff,0xd0000-0xd0fff on isa0 sc0: <System console> at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 Timecounter "TSC" frequency 1498733728 Hz quality 800 Timecounters tick every 10.000 msec ad0: 38154MB <HTS548040M9AT00/MG2OA5DA> [77520/16/63] at ata0-master UDMA100 acd0: CDRW <HL-DT-STCD-RW/DVD DRIVE GCC-4241N/1.04> at ata1-master UDMA33 cd0 at ata1 bus 0 target 0 lun 0 cd0: <HL-DT-ST RW/DVD GCC-4241N 1.04> Removable CD-ROM SCSI-0 device cd0: 33.000MB/s transfers cd0: Attempt to query device size failed: NOT READY, Medium not present Mounting root from ufs:/dev/ad0s3a
Hinter der Zeile pci0: <multimedia, audio> at device 31.5 (no driver attached)
verbirgt sich der Soundchip. FreeBSD unterstützt ihn mit dem Kernelmodul snd_ich.ko
,
das auch statisch in den Kernel eingebunden werden kann (snd_ich_load="YES"
in
/boot/loader.conf
einfügen).
Wer den Ton per Software regulieren möchte, kann dazu das Standardprogramm mixer benutzen.
Das Thinkpad verfügt über lediglich einen Kopfhörerausgang, wird er verwendet, werden die Boxen deaktiviert. Über Software können die Boxen nicht getrennt angesteuert werden. Es ist unmöglich, die Boxen dauerhaft zu deaktivieren. Wenn das Kopfhörerkabel herausrutscht, oder das Einstecken vergessen wurde, werden die Boxen aktiv.
Aus diesem Grund lade ich das Modul lieber bei Bedarf, versehentliches Beschallen der Umgebung wird so vermieden.
Bei den Notebooks der Konkurenz sieht es zwar meist ähnlich aus, es bleibt dennoch eine Einsparung am falschen Platz.
Firewire konnte ich aus Mangel an passender Hardware nicht testen, USB schon.
Mit gphoto2
konnten die auf dieser Seite eingebundenen Bilder problemlos von
einer Canon G5 gelesen werden. Die Geschwindigkeit habe ich nicht gemessen.
Auf die Festplatte eines iRiver H340 wird mit etwa 9
MB/s geschrieben.
Das Gerät wird nach dem Anstecken direkt erkannt und muss nur noch gemountet werden. Das Mounten
kann mit devd
automatisiert werden, habe ich aber noch nicht getan.
ACPI funktioniert auf dem ThinkPad R51 unter frisch installiertem FreeBSD noch nicht zufriedenstellend.
Laut acpiconf werden die Schlaf-Modi S1 und S2 gar nicht vom BIOS unterstützt, sie weisen jedoch prinzipiell keine Unterschiede zu dem im ThinkPad-BIOS implementierten S3 (Suspend to RAM) auf, von einem Verlust kann also keine Rede sein.
Um das Laptop in den S3-Modus zu versetzen, reicht unter FreeBSD der Befehl acpiconf -s 3
.
Auch beim ThinkPad R51 wird der Schlafzustand problemlos erreicht, FreeBSD ist jedoch nach dem Aufwachen
schläfrig, Interrupts werden nicht zeitnah abgearbeitet. Auf der Console erscheinen getippte Buchstaben
mit fast sekundenlanger Verzögerung.
Abhilfe schafft die Einkompilierung von device pmtimer
, im GENERIC-Kernel von FreeBSD 5.4-STABLE
bereits vorhanden.
Damit reagiert FreeBSD auch nach dem Schlafen wieder wie gewohnt. Probleme gibt es allerdings noch
mit xorg. Dessen Nutzung ist mir nach dem S3-Modus noch nicht gelungen. Das Bild friert ein, auf
Tasteneingabe wird nicht mehr reagiert. Auch wenn man xorg vor dem Einschläfern beendet und radeon.ko
aus dem Kernel entlädt, ändern sich die Symptome nicht.
Lesen der verschiedenen FreeBSD-Mailinglisten bildet. Um den S3-Modus auch mit xorg und radeon.ko nutzen
zu können muss /boot/loader.conf
mit der Zeile acpi_video_load="YES"
bereichert werden;
/etc/sysctl.conf
wird mit hw.acpi.reset_video=0
und
hw.syscons.sc_no_suspend_vtswitch=1
gefüllt. Mit diesen Einstellungen wacht FreeBSD
anstandslos auf, xorg zeigt noch ein paar Sekundenbruchteile Unsinn an, besinnt sich dann aber wieder.
Der S4-Modus (Suspend to Disk) funktioniert gar nicht, acpiconf -s 4
sorgt zwar für
ein sofortiges Ausschalten des Laptops, dabei wird jedoch der Speicherinhalt nicht gesichert.
Beim nächsten Booten verhält sich FreeBSD wie immer, beschwert sich aber darüber, dass die Dateisysteme
nicht sauber sind.
Momentan wird der S4-Software-Modus unter FreeBSD noch nicht unterstützt, der S4BIOS-Modus würde zwar gehen, ist aber im ThinkPad selbst nicht implementiert.
Den S5-Modus erreicht man über acpiconf -s 5
, shutdown -p now
oder über
Drücken der Power-Taste. Dadurch wird das Betriebssystem ganz normal runtergefahren und der Rechner
ausgeschaltet. Da die beiden erstgenannten Befehle natürlich auch über ssh abgesetzt werden können,
ist S5 für mich der wichtigste Schlaf-Modus, er läuft problemfrei.
Wie unter jedem anständigen Betriebssystem, laufen die cdrtools – zum Brennen erste Wahl –
auch unter FreeBSD. Um auch ATAPI-Laufwerke mit den cdrtools ansprechen zu können, muss
dazu das device atapicam
im Kernel vorhanden sein.
FreeBSD benutzt für optische Laufwerke
in der Grundkonfiguration konservative Einstellungen – der
DMA-Modus wird erst nach Ergänzung der Zeile
hw.ata.atapi_dma="1"
in /boot/loader.conf
bei jedem Systemstart aktiviert.
Das Laufwerk ist davon überzeugt, mit folgenden Eigenschaften aufzuwarten:
fk@r51 ~ $cdrecord dev=2,0,0 -prcap Cdrecord-Clone 2.01 (i386-unknown-freebsd5.4) Copyright (C) 1995-2004 Jörg Schilling scsidev: '2,0,0' scsibus: 2 target: 0 lun: 0 Using libscg version 'schily-0.8'. Device type : Removable CD-ROM Version : 0 Response Format: 2 Capabilities : Vendor_info : 'HL-DT-ST' Identifikation : 'RW/DVD GCC-4241N' Revision : '1.04' Device seems to be: Generic mmc2 DVD-ROM. Drive capabilities, per MMC-3 page 2A: Does read CD-R media Does write CD-R media Does read CD-RW media Does write CD-RW media Does read DVD-ROM media Does read DVD-R media Does not write DVD-R media Does read DVD-RAM media Does not write DVD-RAM media Does support test writing Does read Mode 2 Form 1 blocks Does read Mode 2 Form 2 blocks Does read digital audio blocks Does restart non-streamed digital audio reads accurately Does support Buffer-Underrun-Free recording Does read multi-session CDs Does read fixed-packet CD media using Method 2 Does not read CD bar code Does not read R-W subcode information Does read raw P-W subcode data from lead in Does return CD media catalog number Does return CD ISRC information Does support C2 error pointers Does not deliver composite A/V data Does play audio CDs Number of volume control levels: 256 Does support individual volume control setting for each channel Does support independent mute setting for each channel Does not support digital output on port 1 Does not support digital output on port 2 Loading mechanism type: tray Does support ejection of CD via START/STOP command Does not lock media on power up via prevent jumper Does allow media to be locked in the drive via PREVENT/ALLOW command Is not currently in a media-locked state Does not support changing side of disk Does not have load-empty-slot-in-changer feature Does not support Individual Disk Present feature Maximum read speed: 4234 kB/s (CD 24x, DVD 3x) Current read speed: 4234 kB/s (CD 24x, DVD 3x) Maximum write speed: 4234 kB/s (CD 24x, DVD 3x) Current write speed: 4234 kB/s (CD 24x, DVD 3x) Rotational control selected: CLV/PCAV Buffer size in KB: 2048 Copy management revision supported: 1 Number of supported write speeds: 4 Write speed # 0: 2822 kB/s CLV/PCAV (CD 16x, DVD 2x) Write speed # 1: 1764 kB/s CLV/PCAV (CD 10x, DVD 1x) Write speed # 2: 706 kB/s CLV/PCAV (CD 4x, DVD 0x) Write speed # 3: 4234 kB/s CAV (CD 24x, DVD 3x)
Die Audio-Lesegeschwindigkeit ist für ein Notebook-Laufwerk in Ordnung.
fk@r51 ~/brennkram $time cdda2wav dev=2,0,0 -L 1 -B -paranoia Type: ROM, Vendor 'HL-DT-ST' Model 'RW/DVD GCC-4241N' Revision '1.04' MMC+CDDA 307200 bytes buffer memory requested, 4 buffers, 27 sectors #Cdda2wav version 2.01_freebsd_5.4_i386_i386, real time sched., soundcard, libparanoia support AUDIOtrack pre-emphasis copy-permitted tracktype channels 1-14 no no audio 2 Table of Contents: total tracks:14, (total time 62:15.70) 1.( 3:48.53), 2.( 5:06.20), 3.( 3:11.72), 4.( 4:31.45), 5.( 5:36.00), 6.( 5:32.30), 7.( 3:54.53), 8.( 6:04.02), 9.( 3:42.45), 10.( 3:23.43), 11.( 5:32.67), 12.( 3:50.18), 13.( 5:03.32), 14.( 2:57.40) Table of Contents: starting sectors 1.( 32), 2.( 17185), 3.( 40155), 4.( 54552), 5.( 74922), 6.( 100122), 7.( 125052), 8.( 142655), 9.( 169957), 10.( 186652), 11.( 201920), 12.( 226887), 13.( 244155), 14.( 266912), lead-out( 280227) CDINDEX discid: .KSF_iP8Y5mIULxUgC5axzz_iXg- CDDB discid: 0xbc0e980e CDDBP titles: resolved CD-Text: not detected CD-Extra: not detected Album title: 'The Very Best Of Peter Green' [from Peter Green] Track 1: 'In the skies' Track 2: 'Slaybo day' Track 3: 'Apostle' Track 4: 'Loser two times' Track 5: 'Baby when the sun goes down' Track 6: 'One woman love' Track 7: 'Time for me to go' Track 8: 'The clown' Track 9: 'Proud pinto' Track 10: 'Bullet in the sky' Track 11: 'Last train to San Antone' Track 12: 'Watcha gonna do' Track 13: 'Woman don't' Track 14: 'Bandit' samplefile size will be 659018684 bytes. recording 3735.9333 seconds stereo with 16 bits @ 44100.0 Hz ->'audio'... using lib paranoia for reading. percent_done: 100% track 1 'In the skies' recorded successfully 100% 0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift 100% 228 overlap(0.5 .. 0.5) 100% track 2 'Slaybo day' recorded successfully 100% 0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift 100% 315 overlap(0.5 .. 0.5) 100% track 3 'Apostle' recorded successfully 100% 0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift 100% 196 overlap(0.5 .. 0.5) 100% track 4 'Loser two times' recorded successfully 100% 0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift 100% 279 overlap(0.5 .. 0.5) 100% track 5 'Baby when the sun goes down' recorded with minor problems (0.4% problem sectors) 100% 0 rderr, 0 skip, 0 atom, 1 edge, 96 drop, 13 dup, 0 drift 100% 345 overlap(0.5 .. 0.7908) 100% track 6 'One woman love' recorded successfully 100% 0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift 100% 341 overlap(0.5 .. 0.5) 100% track 7 'Time for me to go' recorded successfully 100% 0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift 100% 241 overlap(0.5 .. 0.5) 100% track 8 'The clown' recorded successfully 100% 0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift 100% 374 overlap(0.5 .. 0.5) 100% track 9 'Proud pinto' recorded successfully 100% 0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift 100% 228 overlap(0.5 .. 0.5) 100% track 10 'Bullet in the sky' recorded successfully 100% 0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift 100% 210 overlap(0.5 .. 0.5) 100% track 11 'Last train to San Antone' recorded with minor problems (0.3% problem sectors) 100% 0 rderr, 0 skip, 0 atom, 1 edge, 75 drop, 7 dup, 0 drift 100% 341 overlap(0.5 .. 0.5) 100% track 12 'Watcha gonna do' recorded successfully 100% 0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift 100% 236 overlap(0.5 .. 0.5) 100% track 13 'Woman don't' recorded with minor problems (0.2% problem sectors) 100% 0 rderr, 0 skip, 0 atom, 1 edge, 44 drop, 2 dup, 0 drift 100% 311 overlap(0.5 .. 0.8342) 100% track 14 'Bandit' recorded successfully 100% 0 rderr, 0 skip, 0 atom, 0 edge, 0 drop, 0 dup, 0 drift 100% 182 overlap(0.5 .. 0.5) real 11m5.746s user 0m27.574s sys 0m7.328s
Auch beim Brennen macht das HL-DT-ST RW/DVD GCC-4241N unter FreeBSD 5.4 eine gute Figur. Der Laufwerksbuffer bleibt die ganze Zeit über bis zum Anschlag gefüllt.
fk@r51 ~/brennkram $time cdrecord dev=2,0,0 -sao -v -text -useinfo *.wav Cdrecord-Clone 2.01 (i386-unknown-freebsd5.4) Copyright (C) 1995-2004 Jörg Schilling TOC Type: 0 = CD-DA scsidev: '2,0,0' scsibus: 2 target: 0 lun: 0 Using libscg version 'schily-0.8'. SCSI buffer size: 64512 atapi: 0 Device type : Removable CD-ROM Version : 0 Response Format: 2 Capabilities : Vendor_info : 'HL-DT-ST' Identifikation : 'RW/DVD GCC-4241N' Revision : '1.04' Device seems to be: Generic mmc2 DVD-ROM. Current: 0x0009 Profile: 0x0010 Profile: 0x0008 Profile: 0x0009 (current) Profile: 0x000A Using generic SCSI-3/mmc CD-R/CD-RW driver (mmc_cdr). Driver flags : MMC-3 SWABAUDIO BURNFREE Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R Drive buf size : 1601712 = 1564 KB FIFO size : 4194304 = 4096 KB Track1 Start: '32' (32) pregap1: 182 Track 01: audio 38 MB (03:48.70) no preemp pregapsize: 182 Track 02: audio 51 MB (05:06.26) no preemp Track 03: audio 32 MB (03:11.96) no preemp Track 04: audio 45 MB (04:31.60) no preemp Track 05: audio 56 MB (05:36.00) no preemp Track 06: audio 55 MB (05:32.40) no preemp Track 07: audio 39 MB (03:54.70) no preemp Track 08: audio 61 MB (06:04.02) no preemp Track 09: audio 37 MB (03:42.60) no preemp Track 10: audio 34 MB (03:23.57) no preemp Track 11: audio 56 MB (05:32.89) no preemp Track 12: audio 38 MB (03:50.24) no preemp Track 13: audio 51 MB (05:03.42) no preemp Track 14: audio 29 MB (02:57.53) no preemp Total size: 628 MB (62:16.36) = 280227 sectors Lout start: 628 MB (62:18/27) = 280227 sectors Current Secsize: 2048 ATIP info from disk: Indicated writing power: 4 Is not unrestricted Is not erasable Disk sub type: Medium Type A, low Beta category (A-) (2) ATIP start of lead in: -12508 (97:15/17) ATIP start of lead out: 359845 (79:59/70) Disk type: Short strategy type (Phthalocyanine or similar) Manuf. index: 22 Manufacturer: Ritek Co. Blocks total: 359845 Blocks current: 359845 Blocks remaining: 79618 Starting to write CD/DVD at speed 24 in real SAO mode for single session. Last chance to quit, starting real write 0 seconds. Operation starts. Waiting for reader process to fill input buffer ... input buffer ready. BURN-Free is ON. Turning BURN-Free off Performing OPC... Sending CUE sheet... SAO startsec: -12508 Writing lead-in... Lead-in write time: 21.629s Writing pregap for track 1 at -150 Starting new track at sector: 32 Track 01: 38 of 38 MB written (fifo 100%) [buf 98%] 11.7x. Track 01: Total bytes read/written: 40343856/40343856 (17153 sectors). Starting new track at sector: 17185 Track 02: 51 of 51 MB written (fifo 100%) [buf 98%] 13.2x. Track 02: Total bytes read/written: 54025440/54025440 (22970 sectors). Starting new track at sector: 40155 Track 03: 32 of 32 MB written (fifo 100%) [buf 98%] 13.8x. Track 03: Total bytes read/written: 33861744/33861744 (14397 sectors). Starting new track at sector: 54552 Track 04: 45 of 45 MB written (fifo 100%) [buf 98%] 15.0x. Track 04: Total bytes read/written: 47910240/47910240 (20370 sectors). Starting new track at sector: 74922 Track 05: 56 of 56 MB written (fifo 100%) [buf 98%] 16.6x. Track 05: Total bytes read/written: 59270400/59270400 (25200 sectors). Starting new track at sector: 100122 Track 06: 55 of 55 MB written (fifo 100%) [buf 98%] 17.2x. Track 06: Total bytes read/written: 58635360/58635360 (24930 sectors). Starting new track at sector: 125052 Track 07: 39 of 39 MB written (fifo 100%) [buf 98%] 18.1x. Track 07: Total bytes read/written: 41402256/41402256 (17603 sectors). Starting new track at sector: 142655 Track 08: 61 of 61 MB written (fifo 98%) [buf 98%] 18.9x. Track 08: Total bytes read/written: 64214304/64214304 (27302 sectors). Starting new track at sector: 169957 Track 09: 37 of 37 MB written (fifo 100%) [buf 98%] 19.9x. Track 09: Total bytes read/written: 39266640/39266640 (16695 sectors). Starting new track at sector: 186652 Track 10: 34 of 34 MB written (fifo 100%) [buf 98%] 19.9x. Track 10: Total bytes read/written: 35910336/35910336 (15268 sectors). Starting new track at sector: 201920 Track 11: 56 of 56 MB written (fifo 100%) [buf 97%] 21.4x. Track 11: Total bytes read/written: 58722384/58722384 (24967 sectors). Starting new track at sector: 226887 Track 12: 38 of 38 MB written (fifo 98%) [buf 97%] 21.2x. Track 12: Total bytes read/written: 40614336/40614336 (17268 sectors). Starting new track at sector: 244155 Track 13: 51 of 51 MB written (fifo 100%) [buf 97%] 22.3x. Track 13: Total bytes read/written: 53524464/53524464 (22757 sectors). Starting new track at sector: 266912 Track 14: 29 of 29 MB written (fifo 100%) [buf 97%] 23.2x. Track 14: Total bytes read/written: 31316880/31316880 (13315 sectors). Writing time: 248.745s Average write speed 16.5x. Min drive buffer fill was 97% Fixating... Fixating time: 4.398s cdrecord: fifo had 10385 puts and 10385 gets. cdrecord: fifo was 0 times empty and 7400 times full, min fill was 82%. real 4m28.156s user 0m0.223s sys 0m3.083s
Dieser C1-Scan wurde auf einem LiteOn LTR-40125S@48125W durchgeführt, zum Vergleichen gibt es weitere C1-Scans in den Tiefen dieser Website. Die Brennqualität liegt im Rahmen dessen, was man von Ritek erwarten darf.
Beim Schauen von DVD fällt
das Laufwerk durch deutliche Betriebsgeräusche auf, scheinbar liest es grundsätzlich
bei voller Geschwindigkeit. Über das BIOS
kann das Laufwerk jedoch in den Quiet
-Modus versetzt werden – der Lärm verschwindet
dann.
Schöner wäre es natürlich, wenn die Firmware die Geschwindigkeit den Anforderungen entsprechend anpassen würde, oder wenn das Laufwerk wenigstens über cdrecord gedrosselt werden könnte. Die erste Variante gibt es zum Beispiel von LiteOn, die zweite bei Plextor.
Das IBM ThinkPad R51 verfügt über einen Cardbus-Controller von Texas Instruments, der auch von FreeBSD 5.4 als solcher erkannt wird.
fk@r51 ~ $pciconf -v -l | grep -A 4 cbb cbb0@pci2:0:0: class=0x060700 card=0x05521014 chip=0xac46104c rev=0x01 hdr=0x02 vendor = 'Texas Instruments (TI)' device = 'PCI4520 PC card CardBus Controller' class = bridge subclass = PCI-CardBus
Ein oberflächlicher Test mit einem externen, über einen SCSI-Adapter angeschlossenen, Brenner und einer Funknetzwerkkarte war erfolgreich.
Beide Steckkarten können im laufenden Betrieb ein- und ausgesteckt werden, der GENERIC-FreeBSD-Kernel
erkennt sie automatisch. Damit auch der Brenner genutzt werden kann, ist nur noch ein
camcontrol rescan all
nötig.
wi0: <T-Sinus 130card> at port 0x4000-0x403f irq 11 function 0 config 1 on pccard0 wi0: using RF:PRISM2.5 MAC:ISL3873 wi0: Intersil Firmware: Primary (1.0.4), Station (1.2.0) wi0: Ethernet address: 00:30:f4:22:d9:5e wi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps wi0: detached aic1: <Adaptec, Inc. APA-1460 SCSI Host Adapter> at port 0x340-0x35f irq 11 function 0 config 9 on pccard0 aic1: AIC6360, dma, disconnection, parity check, fast SCSI cd0 at aic1 bus 0 target 4 lun 0 cd0: <PLEXTOR CD-R PX-W124TS 1.06> Removable CD-ROM SCSI-2 device cd0: 10.000MB/s transfers (10.000MHz, offset 8) cd0: Attempt to query device size failed: NOT READY, Medium not present - tray closed (cd0:aic1:0:4:0): lost device (cd0:aic1:0:4:0): removing device entry aic1: detached
Getestet habe ich, ob mit der Netzwerkkarte eine WEP-verschlüsselte Verbindung aufgebaut werden kann und ob sich der Brenner mit cdrecord öffnen und schließen lässt.
Eine Fritz! Card 2.0 brachte nur folgende Meldung:
pccard0:<unknown card> (manufacturer=0xffffffff, product=0xffffffff) at function 0 pccard0: CIS info: AVM, ISDN A, !\^B\^F
Da ich keinen ISDN-Bedarf habe, ließ ich es dabei bewenden.
Das ThinkPad R51 UN0K6GE ist trotz kleinerer Probleme ein brauchbares Laptop, die FreeBSD-Unterstützung ist ordentlich.
Ursprünglich hatte ich geplant, Windows und FreeBSD parallel nutzen, doch dazu ist es nicht gekommen. Die Windows-Partion habe ich überschrieben, den Platz nutze ich unter FreeBSD.
Mittlerweile habe ich auf dem ThinkPad FreeBSD 6.0 installiert, bei Gelegenheit werde ich über Änderungen und neue Funktionen berichten, momentan haben andere Teile der Website jedoch höhere Priorität.