Hd44780 mit LCDSmartie auf Windows 8.1 | Winamp Control mittels serieller Taster

Hallo zusammen,

Ich habe vor einiger Zeit (10 Klasse, Technik Abschlussprojekt) eine kleine Box mit einem HD44780 Display und einigen Tastern ausgestattet. Das Display wird in dem Fall noch mit Parallel Port und die Taster mit dem Serial Port angesteuert. Strom bekommt es über den USB Port des PC`s.
Kurze Bilder dazu:
189335_1631817964464_2691403_n 190159_1631819084492_686073_n

190629_1631819524503_5094900_n

197212_1631818364474_3603092_n

 

Nun habe ich das Teil wieder ausgegraben um es bei meinem Zweitrechner wieder in Betrieb zu nehmen, um beim Musik umschalten nicht immer den Bildschirm wechseln zu müssen.

 

Hierfür hatte ich schon früher LCDSmartie und COM-port Winamp Control v142 im einsatz. Kleiner Haken an der Sache: Windows 8.1 x64!

  1. Aktuellen Winamp installieren
  2. Aktuellen LCDSmartie installieren (DL von SF.net)
  3. Binaries von InpOut32 und InpOut64 in der Aktuellen Version Downloaden (Link)
  4. Entzippen und Folgende Dateien aus dem Archiv in den Smartie Ordner kopieren:
    1. Win32/inpout32.dll
    2. Win32/inpout32.lib
    3. Win32/InstallDriver.exe
    4. x64/inpoutx64.dll
    5. x64/inpoutx64.lib
  5. Die dann dort liegende InstallDriver.exe als Admin ausführen
  6. com-port-winamp-control-v142 Downloaden (Link)
  7. Als Admin installieren!

Zuletzt fehlen dann noch die Konfigurationen der jeweiligen Komponenten

LCDSmartie

smartie  Wichtig ist hier: bei den Display Settings unter „Plugin“ die „HD44780.dll“ auswählen und den entsprechenden LPT eintragen. Unten ist ein beispielhafter Eintrag für die Anzeige von Winamp.

 

 

com-port-winamp-control

comportHier nur den entsprechenden Seriellen Port auswählen und den 4 Button Modus.

Damit die Reihenfolge meiner Buttons passte, musste ich sie remappen und den zweiten und 4ten Taster tauschen.

auf der Registerkarte „Winamp“ nun noch konfigurieren was bei welchem Tasterdruck ausgeführt werden soll.

 

 

 

Hier noch der dazugehörige Schaltplan der Taster am Serialport:

schaltplan

Da sich die Kabelpläne je nach Display am Parallel Port unterscheiden, müsst ihr hier ein Bisschen im Netz umschau halten.

Und so sieht das Ganze dann wieder am Laufen aus:

wpid-20150421_132653.jpg

Grüße

Alex 🙂

Could not acquire privileges; GLE=0x514 Returning status 0x514 – ADK 8.0 / 8.1 Installations Fehler

Als ich eben versuchte meinen Windows ADK 8.0 zu Deinstallieren, da er dem ADK 8.1 weichen muss erhielt ich folgenden Fehler:

Could not acquire privileges; GLE=0x514
Returning status 0x514

Nach ergiebiger Suche im Internet fand ich folgende 4 Möglichkeiten zur behebung:

  • Setup nach C:/ Kopieren und von dort ausführen
  • Lokaler Administrator Account zum ausführen
  • „Als Administrator ausführen“
  • Server aus Domäne entfernen, Deinstallation / Installation machen und wieder in die Domäne aufnehmen

Die ersten 3 Möglichkeiten habe ich in Kombination getestet, was leider nicht zum gewünschten Erfolg führte. Letztere Option fällt aus, da hier der mögliche impact aus Sicht der fehlenden Domänenauthentifizierung zu hoch wäre.

Also nahm ich mir das Tool PSExec von Microsoft zur hand um mir eine Command im SYSTEM Kontext zu öffnen. Dort nun das adk setup mit adksetup.exe /uninstall gestartet und es läuft ohne Probleme durch.

Ein fertiges Paket (PSExec inclusive der ADK 8.0 setups ist hier zum Download bereit:) PSExec ADK

  1. PSExec Verzeichnis nach C:/ kopieren (oder Pfade in System32.cmd /System64.cmd anpassen)
  2. CMD als Administrator ausführen
  3. nach C:/PSExec navigieren
  4. System32.cmd ausführen
  5. eine zweite grün gefärbte Command erscheint, dort das adksetup.exe  oder adksetupold.exe ausführen
  6. Laufen sehen 😉

 

Grüße

Alexander Volz

SCCM Client nach GUID finden

Nach Mac Finden?:  https://volzit.de/2014/11/19/sccm-client-nach-mac-adresse-finden/

Beispielgegebenheiten:

Ein Client versucht ständig einen PXE Boot, kann allerdings nicht zugeordnet werden. Alternativ: Failed to Run Task Sequence | There are no task sequences available for this computer

Problem:

Das liegt oft daran, dass eine GUID/ein Client Doppelt in der Datenbank ist.

Überprüfung:

Wir öffnen unser SQL Studio und erstellen in der Hauptdatenbank eine neue View. Folgender SQL Befehl muss ausgeführt werden:

SELECT TOP (100) PERCENT dbo.v_R_System.Netbios_Name0, dbo.v_RA_System_MACAddresses.MAC_Addresses0, dbo.v_R_System.SMBIOS_GUID0
FROM dbo.v_R_System LEFT OUTER JOIN
 dbo.v_RA_System_MACAddresses ON dbo.v_R_System.ResourceID = dbo.v_RA_System_MACAddresses.ResourceID
WHERE (dbo.v_R_System.SMBIOS_GUID0 LIKE '00000000-0000-0000-0000-000000000000')

(00000000-0000-0000-0000-000000000000 mit der GUID ersetzen)
Nun bekommen wir alle Clients mit dem Namen aufgelistet, die diese MAC haben.

Beheben:

Fall 1 (2 Verschiedene Clients haben die gleiche GUID):

Hierzu muss einer der Clients gelöscht werden. Dazu Namensgebung überprüfen.

 

Fall 2 (Nur ein Client wird angezeigt):

Man öffnet die SCCM Konsole und sucht den Gerätenamen. Nun sollten zwei Objekte angezeigt werden.
Nun in den Details schauen bei welchem der Objekte die GUID vorhanden ist. Das Objekt mit der fehlenden GUID  löschen.

WDS USB LAN Adapter | „WdsClient: Fehler beim Abrufen einer IP-Adresse vom DHCP-Server. Stellen Sie sicher, dass in diesem Netzwerksegment ein funktionierender DHCP-Server in betrieb ist“

 

Problem

Ich habe seit dem Release von Windows 8(.1) vergeblich sehr viel Zeit damit verbracht, Broadcom Gigabit Adapter beim aufsetzen über WDS zum laufen zu bekommen.

Aus welchen gründen auch immer, wollen die Windows 8.1 Treiber von Broadcom nicht auf  Windows PE 5.1 funktionieren. Folgende Fehlermeldung erhält man von Windows PE nach dem Booten über PXE: „WdsClient: Fehler beim Abrufen einer IP-Adresse vom DHCP-Server. Stellen Sie sicher, dass in diesem Netzwerksegment ein funktionierender DHCP-Server in betrieb ist“wpid-img_20141201_145543.jpg

 

Lösung

Nun habe ich mir einen USB -> Lan Adapter bei Amazon bestellt. Wichtig ist hier der Chipsatz AX88179 von ASIX. Diese Adapter sind durch die Treiberunterstützung extrem vielseitig einsetzbar und zudem für ca 20€ zu haben.

BSP: http://www.amazon.de/CSL-Ethernet-Netzwerkadapter-Gigabit-Lan-1000Mbps/dp/B00FQM2G1I/ref=sr_1_1?ie=UTF8&qid=1417101618&sr=8-1&keywords=usb3+lan

Update: Folgender Adapter ebenfalls erfolgreich getestet: http://www.amazon.de/gp/product/B00MYTSN7W?psc=1&redirect=true&ref_=oh_aui_detailpage_o02_s00

Die Treiber für das Chipset gibts direkt bei ASIX: http://www.asix.com.tw/products.php?op=pItemdetail&PItemID=131;71;112&PLine=71 

Hier einfach die Windows 8.1 Treiber herunterladen und im WDS über den Treiber Assistent hinzufügen. Dann den PXE Boot am betreffenden Rechner ausführen und sobald das Windows logo erscheint das Netzwerkkabel auf den USB Adapter umstecken, fertig!

Kleiner Hinweis: Manchmal kann es vorkommen dass die USB Treiber noch fehlen (vor allem bei USB 3.0 Steckplätzen). Diese dann einfach auch über den WDS ins Startabbild einfügen. Sonst natürlich erstmal die 2.0 Plätze testen, dann erspart man sich durch Geschwindigkeitseinbuße etwas Arbeit.

 

 

 

Alle Ressourcen zu einer neuen Distributionpoint Gruppe hinzufügen (SCCM 2012 R2)

Gegebenheiten:

Bislang war das SCCM System auf nur einem Distributionpoint (weiterhin DBP) aufgebaut. Da der Siteserver in eine andere Lokation verschoben wurde wird nun ein zweiter DBP benötigt. Da das verteilen auf die einzelnen DBP`s in zukunft immer auf allen gleich läuft wird direkt eine DBP Gruppe angelegt, damit man beim hinzufügen eines neuen DBP`s nicht nochmal alle Pakete händisch auf ihn zuweisen muss. Nun müssen alle Ressourcen auf die neue Gruppe zugewiesen werden.

Lösung:

Folgendes Powershellscript übernimmt nach der Anpassung das hinzufügen der Ressourcen zu der Gruppe (Muss auf dem SCCM Server ausgeführt werden):

#---------------------------------------------------------------------------------------------------------------------------------------------
# SCRIPT NAME:		add_dpg.ps1
# AUTOR:      		Alexander Volz
# DATUM:        	12/06/14
# VERSION:     		1.0
# BESCHREIBUNG:     Fügt Alle Ressourcen zu einer neuen Distributionpoint Gruppe hinzu		
#---------------------------------------------------------------------------------------------------------------------------------------------
#-----------------------------------------Initialisieren--------------------------------------------------------------------------------------
$StSrv = "" #SiteServer eintragen
$StCd = "" #SiteCode eintragen
$DbPGrp = "All Distribution Points" #DistributionPoint Gruppe eintragten

$DPGroup = Get-WmiObject -Namespace "Root\SMS\Site_$($StCd)" -Class SMS_DistributionPointGroup -ComputerName $StSrv -Filter "Name=’$DbPGrp’"
#-----------------------------------------Initialisieren--------------------------------------------------------------------------------------


#--------------------------------ConfigurationsManager ps cmdlet laden------------------------------------------------------------------------
import-module ($Env:SMS_ADMIN_UI_PATH.Substring(0,$Env:SMS_ADMIN_UI_PATH.Length-5) + ‘\ConfigurationManager.psd1')
set-location $StCd":"
#---------------------------------------------------------------------------------------------------------------------------------------------

#--------------------------------Startabbilder hinzufügen-------------------------------------------------------------------------------------
Get-CMBootImage | ForEach-Object {
Write-Host "Startabbild: " $_.Name "("$_.PackageID") DBP Gruppe:" $DPGroup.Name
$DPGroup.AddPackages($_.PackageID) | format-table ReturnValue -AutoSize
}
#---------------------------------------------------------------------------------------------------------------------------------------------

#--------------------------------Betriebssystemabbilder hinzufügen----------------------------------------------------------------------------
Get-CMOperatingSystemImage | ForEach-Object {
Write-Host "Betriebssystemabbild: " $_.Name "("$_.PackageID")  DBP Gruppe:" $DPGroup.Name
$DPGroup.AddPackages($_.PackageID) | format-table ReturnValue -AutoSize
}
#---------------------------------------------------------------------------------------------------------------------------------------------

#--------------------------------Treiberpakete hinzufügen-------------------------------------------------------------------------------------
Get-CMDriverPackage | ForEach-Object {
Write-Host "Treiberpaket: " $_.Name "("$_.PackageID")  DBP Gruppe:" $DPGroup.Name
$DPGroup.AddPackages($_.PackageID) | format-table ReturnValue -AutoSize
}
#---------------------------------------------------------------------------------------------------------------------------------------------

#--------------------------------Pakete Hinzufügen--------------------------------------------------------------------------------------------
Get-CMPackage | ForEach-Object {
Write-Host "Paket: " $_.Name "("$_.PackageID")  DBP Gruppe:" $DPGroup.Name
$DPGroup.AddPackages($_.PackageID) | format-table ReturnValue -AutoSize
}
#---------------------------------------------------------------------------------------------------------------------------------------------

#--------------------------------Applikationen hinzufügen-------------------------------------------------------------------------------------
Get-CMApplication | ForEach-Object {
Write-Host "Applikation: " $_.LocalizedDisplayName "("$_.PackageID")  DBP Gruppe:" $DPGroup.Name
$DPGroup.AddPackages($_.PackageID) | format-table ReturnValue -AutoSize
}
#---------------------------------------------------------------------------------------------------------------------------------------------

#--------------------------------Updatepakete hinzufügen--------------------------------------------------------------------------------------
Get-CMSoftwareUpdateDeploymentPackage | ForEach-Object {
Write-Host "Updatepaket:  " $_.Name "("$_.PackageID")  DBP Gruppe:" $DPGroup.Name
$DPGroup.AddPackages($_.PackageID) | format-table ReturnValue -AutoSize
}
#---------------------------------------------------------------------------------------------------------------------------------------------

add_dpg (fertiges Script herunterladen)

Alexander Volz

 

SCCM Client nach MAC Adresse finden

Alternativ: Nach GUID finden https://volzit.de/2014/12/22/sccm-client-nach-guid-finden/

Beispielgegebenheiten:

Ein Client versucht ständig einen PXE Boot, kann allerdings nicht zugeordnet werden.

Problem:

Das liegt oft daran, dass eine Mac-Adresse/ein Client Doppelt in der Datenbank ist.Alternativ: Failed to Run Task Sequence | There are no task sequences available for this computer

Überprüfung:

Wir öffnen unser SQL Studio und erstellen in der Hauptdatenbank eine neue View. Folgender SQL Befehl muss ausgeführt werden:

SELECT     TOP (100) PERCENT dbo.v_R_System.Netbios_Name0, dbo.v_RA_System_MACAddresses.MAC_Addresses0, dbo.v_R_System.SMBIOS_GUID0
FROM         dbo.v_R_System LEFT OUTER JOIN
                      dbo.v_RA_System_MACAddresses ON dbo.v_R_System.ResourceID = dbo.v_RA_System_MACAddresses.ResourceID
WHERE     (dbo.v_RA_System_MACAddresses.MAC_Addresses0 LIKE '00:00:00:00:00:00')

(00:00:00:00:00:00 mit der MAC Adresse ersetzen)
Nun bekommen wir alle Clients mit dem Namen aufgelistet, die diese MAC haben.

Beheben:

Fall 1 (2 Verschiedene Clients haben die gleiche MAC):

Hierzu muss einer der Clients gelöscht werden. Dazu Namensgebung überprüfen.

 

Fall 2 (Nur ein Client wird angezeigt):

Man öffnet die SCCM Konsole und sucht den Gerätenamen. Nun sollten zwei Objekte angezeigt werden.
Nun in den Details schauen bei welchem der Objekte die MAC vorhanden ist. Das Objekt mit der fehlenden MAC löschen.

WordPress 4 Dateitypen für Uploads hinzufügen

Beim erstellen eines Beitrags folgte die erste Enttäuschung über WordPress, da man standardmäßig nicht konfigurieren kann welche Dateitypen man selbst uploaden kann.

Hier gibt es einen kleinen Trick und dazu auch 2 Möglichkeiten:

 

Möglichkeit 1:

Man öffnet die functions.php seines verwendeten Templates und fügt an den Schluss folgende Zeilen an:

add_filter('upload_mimes', 'custom_upload_mimes');
function custom_upload_mimes ( $existing_mimes=array() ) {

$existing_mimes['msi'] = 'application/x-msi';

return $existing_mimes;
}

(Hier beispielsweise den Dateityp .MSI )

Das muss man bei jedem Template wieder tun.

 

Möglichkeit 2: (Empfohlen)

Man installiert sich zunächst das Plugin „Code schnipsel“ von bungeshea, damit entfällt die Problematik dass man im zweifel für jedes Template die functions.php editieren muss.

Danach geht man im Admin Panel auf den bereich Codeschnipsel und fügt einen neuen Schnipsel hinzu. Der Code bleibt der selbe wie oben:

add_filter('upload_mimes', 'custom_upload_mimes');
function custom_upload_mimes ( $existing_mimes=array() ) {

$existing_mimes['msi'] = 'application/x-msi';

return $existing_mimes;
}

 

Alexander Volz

Willkommen & Initialer Beitrag

Hallo liebe Blog lesende Gemeinde.

Ich habe mich nach einiger Überlegung dazu entschlossen, einige ausgesuchte Themen, die schwer im Netz zu finden sind bzw. Nur in Englisch, hier im Blog zu veröffentlichen.

Die hauptsächlichen Themen meinerseits sind:

  • Application & Windows Deployment
  • System Center Configuration Manager 2012
  • System Center Updates Publisher 2011
  • Windows Infrastruktur
  • Scripting / Paketierung

Sicherlich wird hier auch das ein oder andere aus anderen Fachgebieten seinen Platz finden

Grüße,

Alexander Volz