Archiv der Kategorie: Hardware

Meine kleinen Basteleien

Intel Haswell-ULT Integrated Graphics: Performance vs. Battery unter Linux

Mal wieder geht es um die interne Grafik der Haswell-CPUs: Ich arbeite häufig am Laptop, dieser ist mit i5 und der der internen Grafik ausreichend schnell um auf dem Sofa etwas zu Arbeiten und nebenbei HD-Videos per HDMI auf dem TV darzustellen. Etwas verwundert war ich, als ich vor kurzem Unterwegs war. Ein kleiner Film zwischendurch sollte ja passen, aber selbst 720p-Material auf dem internen Montior war nicht ruckelfrei zu schaffen.

Das Problem scheinen die Stromsparfunktionen zu sein: Startet oder Resumed man das System im Akkubetrieb nimmt die Grafikleistung massiv ab. Auch ein späterer Wechsel auf Netzbetrieb bringt hier keine Änderung. Einzige  Lösung: System ausschalten oder in StBy versetzen, Netzkabel anschließen und starten, schon hat man wieder volle Performance – auch im Akkubetrieb. Sehr ärgerlich, vor allem da man hierzu  nahezu keine Dokumentation im Netz findet. Einige behaupten, es wäre eine Funktion des SpeedStep/EIST-Treibers, dieser wird jedoch eigentlich unterstützt, scheint aber keine Grafikfunktionen zu implementieren.

Da offenbar das Umschalten bisher (3.19.2) nicht sauber funktioniert würde ich  fast empfehlen die Stromsparfunktionen der Grafikkarte fürs erste im BIOS abzuschalten.

BitBastelei #125 – AVR Bauteiltester

BitBastelei #125 - AVR Bauteiltester

(297 MB) 00:39:37

2014-11-30 11:00 🛈

Bausatzzeit: Bei einem fernöstlichen Händler habe ich – neben ein paar günstigen Tastern – ein Messgerätbausatz [1] gefunden, welcher interessante Werte aufweist: Transistoren, FETs, Triacs, Dioden, Widerstände, Kondensatoren – nahezu kein Bauteil, welches das Gerät nicht messen kann.Im Falle der Kondensatoren wird auch der ESR angezeigt, im Gegensatz zu meinem ELV-ESR-Meter jedoch laut Anleitung ohne ständiges Kalibrieren.
Natürlich hat der Händler die Schaltung nicht selbst entwickelt – sie stammt von Markus Frejek und Karl-Heinz Kübbeler, alle Infos sind auf Mikrocontroller.net [2] in deutsch zu finden. Da ich mir ohnehin die CPU zeitnah gegrillt habe gibt es also auch gleich die neueste Firmware, welche noch einige neue Features bringen sollte.

0:13 Notaus-Taster
3:32 Bausatz-Überblick
6:59 Aufbau
10:17 Komponententests
22:30 Originalprojekt auf µC.net
26:26 Auslesen der Originalfirmware – oder auch nicht
29:51 Neuer µC, neue Firmware
36:05 Erstkalibrierung

[1] http://www.banggood.com/DIY-Meter-Tester-Kit-For-Capacitance-ESR-Inductance-Resistor-NPN-PNP-p-929603.html
[2] http://www.mikrocontroller.net/articles/AVR_Transistortester

Intel Haswell-ULT Integrated Graphics: TFT-Backlight reagiert langsam

Auf einem Laptop mit Intel Haswell-ULT GPU hatte ich das Phänomen, dass jede Änderung der TFT-Beleuchtungsstufe das System für etwa eine Sekunde einfrieren lies. Besonders ärgerlich, wenn dies wegen Inaktivität automatisch veranlasst wurde, denn in diesem Fall wird ein Fade-Effekt mit mehreren Stufen gefahren – und der Laptop so für etwa 20 Sekunden unbenutzbar.

Auffällig bei diesem Gerät: In /sys/class/backlight/ sind gleich 2 Schnittstellen gelistet: acpi_video0 und intel_backlight. Erstere zeigt das beobachtete Delay, letzeres reagiert ohne spurbare Verzögerung. Um den X.Org-Automatismen die schnellere Schnittstelle ans Herz zu legen muss in /etc/X11/xorg.conf.d/20-intel.conf oder anderer passender Stelle folgender Code gesetzt werden:

Intel Core i-Prozessoren und die Govenors

Unter Linux wird/wurde die Frequenz der Prozessoren bisher durch das cpufreq-Backend des Kernels geregelt. Es gab verschiedene “Govenors”, welche je eine Eintscheidungsart implementierten. Beispiel:

ondemand CPU auf kleinster Taktfrequenz, wird bei Last erhöht
performance CPU immer auf maximaler Taktfrequenz
powersave CPU immer auf kleinster Taktfrequenz

Mit den neuen Core i-Prozessoren (i3,i5,i7) ist dieses Konzept nur noch bedingt brauchbar – die CPU selbst hat viele Mechanismen um Strom zu sparen, sie muss allerdings “aufwachen” um über den Govenor entscheiden zu können, ob die Beschäftigt ist oder nicht. Da hierdurch die dynamische Frequenzregelung am Ende mehr Strom verbraucht als ein Prozessor, welcher sich auf höchster Taktrate selbst verwaltet, bieten neue Kernel nun nur noch powersave oder performance für diese Prozessoren an. Für Intel empfiehlt sich “powersave” zu wählen, durch die TurboBoost-Technologie erhöht die CPU ihren Takt bei entsprechender Last selbstständig. Mit Tools wie z.B. i7z lässt sich die Frequenzänderung auch entsprechend beobachten.

tl;dr: Intel-CPUs nur mit powersave-Govenor betreiben, CPU regelt Takt selbst passend hoch.

Scanner-Button unter Arch Linux

Gesehen habe ich sie schon oft, die Hardware-“Scan”-Tasten diverser Scanner – einen wirklichen Sinn haben sie für mich nie ergeben, sind doch üblicherweise Scanner und Tastatur nicht sonderlich weit voneinander entfernt. Nun habe ich für ein autonomes Scansystem einen Raspi ohne Monitor mit Scanner und Scripten verknüpft – wäre praktisch, wenn ich mir jetzt noch die Scan-Taste nutzbar machen könnte, oder?

Das Zauberwort schien erst “scanbuttond” zu lauten, welches für Arch im AUR verfügbar ist – andere Distributionen scheinen ebenfalls großteils Pakete bereit zu stellen. Nach der Installation kann man mit dem Befehl

scanbuttond -f

prüfen, ob der Scanner unterstützt wird: Das Programm startet kommentarlos im Vordergrund, sollte beim Drücken des Scan-Knopfes jedoch eine passende Meldung erzeugen. Sollte – in meinem Falle leider nicht. Auslöser ist vermutlich die neuere libusb, welche scanbuttond das Gerät nicht finden lässt.

Nach kurzer Recherche fand ich im Arch-Forum den Verweis auf scanbd – ebenfalls im AUR – welches noch aktiv entwickelt zu werden scheint. Die Einrichtung selbst ist in der Arch-Wiki beschrieben. In der Hoffnung dass mein Gerät sofort funktioniert wird der Daemon mit folgendem Befehl gestartet:

scanbd -d 7 -f

Die Ausgaben sind etwas chaotisch, jedoch ist definitiv mein Scannermodell zu erkennen und auch beim Drücken der Scan-Taste ist etwas passendes zu sehen:

scanbd: trigger action for scan for device fujitsu:fi-4120Cdj:13715 with script test.script
[…]
scanbd: append string fujitsu:fi-4120Cdj:13715 to signal scan_begin
scanbd: now sending signal scan_begin
[…]

Entsprechend der Anleitung werden die Dateien kopiert (cp /etc/sane.d/* /etc/scanbd/sane.d/), in /etc/sane.d/dll.conf alles bis auf “net” gelöscht und in /etc/sane.d/net.conf der Server “localhost” aktiviert. In /etc/scanbd/sane.d/dll.conf wiederum wird “net” gelöscht.

Der Scan-Button ist bereits mit /etc/scanbd/test.script vorbelegt, der Einfachheit halber habe ich nur den Inhalt der Datei durch meine Befehle ersetzt. Es wäre auch möglich die zahlreichen Zusatztasten meines Scanners zu nutzen um so bereits einen Speicherort o.Ä. zu definieren oder z.B. den Scan bereits beim einlegen des Papiers zu starten, aber ich belasse es erst mal beim Standard. Unter Arch sollte man nach der Konfiguration noch das Debuglevel in /etc/scanbd/scanbd.conf senken, ansonsten wird das Systemlog durch die sekündlichen Prüfroutinen gut gefüllt.

Dank der kleinen Bastellösung kann ich nun “ohne PC” scannen – Papier rein, Knopf drücken und der Raspi übernimmt automatisch das einscannen, OCR und archivieren mit (zumindest meistens) brauchbaren Metadaten – der Feinschliff kann dann später am PC erfolgen.

Denon RC-1158 IR-Codes

Um einen AV-Receiver per Arduino zu steuern musste ich – mangels RS232 – die Fernbedienung emulieren. Um das zu bewerkstelligen benötigt man die entsprechenden IR-Codes. Bewaffnet mit IRMP – bzw. dessen Arduino-Umsetzung – habe ich mir die entsprechenden IR-Command-Codes der Fernbedienung notiert. Wers braucht: Viel Spaß.

DENON RC-1158 Mapping

Florian „adlerweb“ Knodt · 2014 · www.adlerweb.info
Powered by IRMP / IRMP4Android

Protokoll: DENON/Sharp · Address: 0x3254

       

StBy

   

On

0x4003

   

0x4002

       

Sleep

Dimmer

Status

Search

0x4344

0x4290

0x4280

0x43D7

       

BD

TUNER

BAND

MEMORY

0x42D1

0x42CF

0x43D0

0x4024

       

DVD

DOCK

SHIFT

MODE

0x42D0

0x42DC

0x43CE

0x43D3

       

TV

GAME

CH+

TuneUp

0x42D2

0x42D5

0x43CC

0x43CA

       

SAT/CBL

V.AUX

CH-

TuneDn

0x42D3

0x42D9

0x43CD

0x43CB

       

Q_CD

Q_BD

Q_GAME

Q_AUX

0x4124

0x4125

0x4126

0x4127

       

MENU

 

AUDIO ADJ

VolUp

0x4023

 

0x41C0

0x4170

       
 

Up

   
 

0x401B

   
       

Left

Enter

Right

 

0x401D

0x401F

0x401E

 
       
 

Down

   
 

0x401C

   
       

CH LEVEL

 

RETURN

VolDn

0x417A

 

0x4022

0x4171

       

NIGHT

RESTORER

TONE

MUTE

0x4222

0x4224

0x4196

0x4172

       

SURR_LEFT

SURR_RIGHT

DELAY-

DELAY+

0x414C

0x4150

0x426E

0x426D

       

IPOD_SKIP_L

IPOD_STOP

IPOD_PLAY

IPOD_SKIP_R

0x2005

0x2008

0x2001

0x2004

       

IPOD_REV

IPOD_REPEAT

IPOD_RANDOM

IPOD_FWD

0x2016

0x2011

0x2010

0x2015

       
       

BitNotice #8 Unboxing: Borderless Electronic 9$-Arduino

BitNotice #8 Unboxing: Borderless Electronic 9$-Arduino

(44 MB) 00:07:17

2013-11-09 01:30 🛈

IBM DS32xx-Series: Logical volume vergrößern

Eigentlich eine einfache Sachlage: Eine IBM SAN mit einem einzelnen RAID-Array und 3 Volumes – seinerzeit wurde nicht der gesamte Speicherplatz zugewiesen, da die Wachstunsraten nicht absehbar waren und man sobei Bedarf dynamisch vergrößern könne. Leider ist das Vergrößern eines logischen Volumes (auf IBM-Sprache “Dynamic Logical Drive Expansion (DVE)“) offenbar eine sehr esoterische Aufgabe, daher hat IBM die Funktion auch nicht in die GUI integriert. Wir müssen also an die Konsole – meist ist hiermit die serielle Schnittstelle gemeint, da das Gerät in meinem Fall jedoch auswärts steht musste ich einen anderen Weg suchen: Auf Rechnern mit installiertem “IBM System Storage DS Storage Manager” (aka der GUI) findet sich im Installationsordner auch einen CLI-Client. Über eine Shell kann das Programm mit folgender Syntax aufgerufen werden:

Linux
./smcli [ip] -c "befehl"
Windows
SMcli.exe [ip] -c "befehl"

Der erste Schritt besteht darin den Namen des logischen Gerätes zu finden – das geht zwar auch über die GUI, aber jetzt ist die CLI ja eh schon offen. Wichtig: Die Befehle müssen mit einem Semikolon abgeschlossen werden.

SMcli.exe -c "show logicalDrives;"

Performing syntax check...
Syntax check complete.
Executing script...
STANDARD LOGICAL DRIVES------------------------------
SUMMARY
Number of standard logical drives: 3
See other Logical Drives sub-tabs for premium feature information.
NAME STATUS CAPACITY RAID LEVEL ARRAY DRIVE TYPE
DRIVE1 Optimal 380 GB 5 1 SAS
DRIVE2 Optimal 300 GB 5 1 SAS
DRIVE3 Optimal 600 GB 5 1 SAS
DETAILS
[...]

Zur Sicherheit werfen wir auch noch einen Blick auf das zugehörige Array mit der Nummer 1 um zu bestätigen, dass wir tatsächlich noch freien Platz haben:

SMcli.exe [ip] -c "show array [1];"

[...]
ARRAY 1 (RAID 5)
Associated logical drives and free capacities:

LOGICAL DRIVE NAME CAPACITY
[...]
Free Capacity 100 GB
[...]

So weit so gut – wir haben in Drive2 zur Zeit 300GB Speicher, 100GB sind im Array noch frei. Um nun Drive2 um 50GB zu vergrößern nutzen wir folgenden Befehl – dieser kann online, also ohne Ausfall durchgeführt werden:

SMcli.exe [ip] -c "set logicalDrive["DRIVE2"] addCapacity=50GB;"

Performing syntax check...
Syntax check complete.
Executing script...
Script execution complete.
SMcli completed successfully.

Je nach Aufbau des Systems dauert die endgültige Ausführung mehrere Stunden, so ist es ggf. nötig bestehende Volumes zu Verschieben um eine Fragmentierung zu vermeidel – sowas dauert natürlich. Leider konnte ich keinen CLI-Befehl für eine Fortschrittsanzeige finden – in der GUI wird während des Vorgangs eine Notiz im Kasten “Status” unter “Operations in Progress” angezeigt.

Nachdem das LV vergrößert wurde muss dies auch im Betriebssystem mitgeteilt werden. Linux bekommt die Änderung meist automatisch mit, wenn nicht hilft ein SCSI-Rescan. Ext-Dateisysteme lassen sich mit resize2fs vergrößern, die meisten Anderen haben ebenfalls passende Befehle im Gepäck. Unter Windows ab Server 2008 lassen sich die Aktionen über die Datenträgerverwaltung (Unterpunkt der Computerverwaltung) durchführen, ältere Versionen beherrschen ein Online-Resize nicht, hier hilft eine passende Boot-CD.