Archive for April 2007

ZMDREP Fehlermeldung Verbindungsfehler

25 April 2007

Beim Aufruf der Verknüpfung von ZMD erscheint die Meldung: Fehler bei Verbindung mit der Datenquelle ZMDREP mit Nachricht Verbindungsfehler: Ein Fehler ist während der Verbindungsaufnahme über Port TCPIP aufgetreten.

Der Grund für die Fehlermeldung war, dass nach einem neuen Update des ZMD-Programms, der neuen Version vom Benutzer keine Zugriffsberechtigungennach außen ins lokale Netz erlaubt wurde und somit die Kommunikation geblockt wurde.

Advertisements

Fotos GPS-Koordinaten zuordnen

23 April 2007

Mit den Programm GPS Track Analyse kann man die EXIF Informationen von JPG-Dateien mit den GPS-Koordinaten eines GPS-Datenlogs versehen.  http://www.gps-freeware.de/

HP USB Drucker-Probleme (Laserjet, Deskjet) unter Windows Vista

18 April 2007

Seit Windows Vista erschienen ist, gibt es mit vielen Druckern von Hewlett-Packard Probleme.

So sind zwar für viele Drucker zertifizierte Treiber in Windows Vista enthalten, aber leider klemmts an der Kommunikation. Wird der Drucker per paralleler Schnittstelle oder per TCP/IP übers Netzwerk angeschlossen dann klappt alles.

Wer allerdings seinen HP-Drucker per USB-Schnittstelle anschließt, der fällt schnell auf die Nase. Dabei ist es unerheblich ob es sich um einen Laserjet, Deskjet oder was auch immer handelt.

Nun ist seit heute der Universal Print Driver 4.0 von HP verfügbar, egal ob für PCL5, PCL6 oder Postscript (PS). Bereits im Februar erschien die Version 3.1 welche Vista teilweise unterstützte.

Die spannende Frage ist, löst der UPD 4.0 die momentanen Probleme? Wenn nicht, wer ist Schuld, HP oder Microsoft?

So einfach sollte es sein: http://support.microsoft.com/kb/929711/en-us, bringt nur leider nichts.

Auch ein Laserjet-Marketing Manager bei HP bekommt zu spüren was es heißt einen Blog zu betreiben:
http://h20325.www2.hp.com/blogs/laserjet/archive/2007/03/15/2761.html
http://h20325.www2.hp.com/blogs/laserjet/archive/2007/02/26/2551.html

Weitere Infos zum Universal Print Driver:
www.hp.com/go/upd

Vergleich zwischen UPD XP und Vista (Whitepaper):
http://h20000.www2.hp.com/bc/docs/support/SupportManual/c00815979/
c00815979.pdf?jumpid=reg_R1002_USEN

viel Marketinggeschwafel:
http://h20338.www2.hp.com/Hpsub/downloads/One_Driver_to_Rules_them
_All_-_InfoTrends.pdf

Ist am Ende die Lösung der ominöse IEEE1284.4-(DOT4) Treiber, dessen Protokoll laut Wikipedia zurückgezogen wurde? http://de.wikipedia.org/wiki/IEEE_1284

Fortsetzung folgt…

Feedback.cgi von Schlund bzw. 1&1 und nms Formmailer Ersatz

16 April 2007

1&1 welche dieses Jahr voll Schlund integriert haben, hat eigentlich zum 1.4.2007 die Unterstützung für das feedback.cgi, über welches man frühers E-Mails versenden konnte, eingestellt.

Allerdings ist das feedback.cgi zum aktuellen Zeitpunkt noch nicht abgeschaltet, allerdings bekommt man mit jeder E-Mail welche darüber versandt wird, immer eine lästige Benachrichtigung das die Unterstützung aufgekündigt ist.

From: support@kundenserver.de
To: mail@xyz.de
Sent: Wednesday, April 11, 2007 1:30 AM
Subject: Abschaltung Feedback-Formular-Script
Sehr geehrte Damen und Herren,

Sie setzen in Verbindung mit Ihrer Webseite

http://www.xyz.de/Hauptseite.htm

ein über die URL
http://service.kundenserver.de/cgi-bin/feedback/feedback.cgi bereit
gestelltes CGI-Script („Feedback-Formular“) ein, über das in den letzten
Tagen 1 E-Mail(s) an Ihre E-Mail-Adresse versandt wurden.

Da das Script immer häufiger von Dritten zum Versand sogenannter Spam-Mails
genutzt wird, sehen wir uns gezwungen, das Script zum Schutz vor Missbrauch
zum Monatsende zu deaktivieren.
 
Als Alternative stehen Ihnen in Ihrem Konfigurationsmenü / Control-Center
z.B. die CGI-Programme oder die WebElements zur Verfügung.

Wenn Sie eine eigene Lösung bevorzugen, können wir den Einsatz des
NMS-Formmail-CGI-Scripts (http://nms-cgi.sourceforge.net) empfehlen.
Bitte beachten Sie, dass Sie diese E-Mail mehrfach erhalten können, sofern
weiterhin E-Mails über das Script an Ihre Adresse versandt werden.
 
Vielen Dank für Ihr Verständnis.

Mit freundlichen Grüßen

Ihr kundenserver.de-Team

Eigentlich hätte man etwas mehr Unterstützung erwarten können, vor allem wenn man bedenkt dass ursprünglich als Provider extra Schlund gewählt wurde um eine optimale Unterstützung zu erhalten. Aber weit gefehlt. Hier läßt sich noch jemand zum Thema aus: http://www.perl-archiv.de/cgi-bin/forum/forum_thread.cgi?tid=19881&mid=40313&fid=&show=30&showthread=2 derselbige nochmal hier: http://forum.de.selfhtml.org/archiv/2007/4/t149633/ und hier:  http://www.nabble.com/nms-Formmailer-als-Ersatz-f%C3%BCr-feedback.cgi-von-Schlund-verwenden-tf3502752.html#a9782470. Unter google wird man zum Thema unter http://www.google.de/search?q=schlund+feedback.cgi+felder fündig.

Das war nun der Punkt sich mit Perl oder PHP Auseinanderzusetzen. Da der NMS-Formmailer genannt wurde, sollte zuerst dieser eingespielt werden. Allerdings ist das was auf der Seite http://nms-cgi.sourceforge.net geboten wird, nicht gerade erhellend.

Selbst ist der Mann, wenn man schon Perl ans Laufen bekommen soll, dann kann man die Sache auch gleich selber schreiben. Leider gibt es keine Beschreibung mehr zu allen Feldern und die Vorgehensweise, da der Link http://hilfe-center.1und1.de/sp-service/service/tools/tools_feedback.php3 ins Leere führt. Allerdings sind auf diesen Seiten die Felder und Vorgehensweisen beschrieben: http://www.michaelkaufmann.net/html/formulare_allg_.html
http://www.michaelkaufmann.net/html/formulare_fusion.html

Unter Zuhilfename von http://www.perl.org/books/library.html, http://perldoc.perl.org/, generell http://www.perl.org, http://perl.about.com/, http://www.unix.org.ua/orelly/perl/  sowie http://de.selfhtml.org/perl/index.htm entstand dann folgendes Perl Script welches die benötigten Punkte des ursprünglichen feedback.cgi unterstützt.

#
# Ansatz für PERL-Script als Ersatz für Schlund/1&1-feedback.cgi
#
#!/usr/bin/perl
use CGI;
my $cgi = new CGI;

# bestimmt ob Debugausgaben erzeugt werden 0=nein, 1=ja
my $debugOn = 0;

# Zeichenkette für Felder die Pflicht sind
my $requiredID = "_R";
# Flag wo bestimmt ob ein Pflichtfeld fehlt (1) oder nicht (0)
my $fieldrequired = 0;

# bekannte variablen aus dem Feedback.cgi
my $fbsubject = "Feedback"; # Mailsubject
my $fbmail = "";
my $fbfrom = "";
my $fburl = "danke.html"; # Danke
my $fbbackurl = "fehler.html"; # Feld fehlt

my $fbtext = "";

if ($debugOn)
{
  # damit kein internal Error angezeigt wird!
  print "Content-type: text/html\n\n";

  print "Alle Parameter: ".$cgi->param()."<br><br>";

  my @Namen = $cgi->param();
  my $Elements = scalar (@Namen);

  for (my $i = 0; $i < $Elements; $i++)
  {
    print "$Namen[$i]: $element = ". $cgi->param($Namen[$i])."<br>";
  }

  print "<br><br>";
  print "Parameterauflistung :\n <br>";
}

# Form-Parameter in Hashliste übertragen
my %args = map {$_ => $cgi->param($_) } $cgi->param;

# alle Form-Felder durchgehen und prüfen ob welche mit _R angegeben wurden
# und wenn ja flag setzen damit eine Fehlermeldung angezeigt werden kann
while (($key, $value) = each %args)
{

  # key in Großbuchstaben wandeln und neuer Variablen zuweisen
  my $fieldname = uc ($key);

  # prüfen ob der Identifer für required am Ende des Feldnamen angegeben wurde
  if (rindex ($fieldname, $requiredID) == length ($fieldname) - length ($requiredID))
  {
    # nun überprüfen ob ein Wert angegeben ist
    if ("" eq $value)
    {
      $fieldrequired = 1;
    }
  }
  if ($debugOn)
  {
    print "$key = $value\n<br>";
  }
}
if ($debugOn)
{
  print "ParameterauflistungEnde\n <br>";
}

# nun noch die benötigten Felder für den E-Mailversand überprüfen
if (defined $cgi->param ('FBSUBJECT'))
{
  $fbsubject = $cgi->param ('FBSUBJECT');
}
if (defined $cgi->param ('FBURL'))
{
  $fburl = $cgi->param ('FBURL');
}
if (defined $cgi->param ('FBBACKURL'))
{
  $fbbackurl = $cgi->param ('FBBACKURL');
}
if (defined $cgi->param ('FBMAIL'))
{
  $fbmail = $cgi->param ('FBMAIL');
}
else
{
  $fieldrequired = 1;
}

# fbtext mit den angegebenen Werten erzeugen, wird für den E-Mail Body benötigt
my @Namen = $cgi->param();
my $Elements = scalar (@Namen);
my $value = "";

for (my $i = 0; $i < $Elements; $i++)
{
  $value = $cgi->param($Namen[$i]);

  if ($debugOn)
  {
    print "Index $Namen[$i]:", index ("FBURL FBBACKURL FBMAIL FBSUBJECT", $Namen[$i]), "<br>";
  }

  # nur Wertepaare aufnehmen in denen ein Wert hinterlegt wurde
  if ("" ne $value && index ("FBURL FBBACKURL FBMAIL FBSUBJECT", $Namen[$i]) == -1)
  {
    $fbtext .= "$Namen[$i]=".$value."\n";
  }
}

if ($debugOn)
{
  print "<br><br>$fbtext<br>";
}

if ($fieldrequired == 1)
{
  if ($debugOn)
  {
    print "Würde nun nach Backurl springen!";
  }
  else
  {
    print "Location: $fbbackurl\n\n";
  }
}
else
{
  if ($debugOn)
  {
    print "Email senden!";
  }

  # perfekt, alles Paletti und nun E-Mail erzeugen und versenden
  sendEmail ($fbmail, "absender\@xyz.de", $fbsubject, $fbtext);

  # und auf Dankeseite weiterspringen
  if ($debugOn)
  {
    print "auf Dankeseite weiterspringen: $fburl";
  }
  else
  {
    print "Location: $fburl\n\n";
  }
}

# Simple Email Function
# ($to, $from, $subject, $message)
# frei nach http://faq.1und1.de/access//internet_profi_faq/homepage/eigene_scripte/perl/6.html
sub sendEmail
{
  my ($to, $from, $subject, $message) = @_;
  my $sendmail = '/usr/sbin/sendmail';
  open(MAIL, "|$sendmail $to") || die "Fehler bei Mailversand!";
  print MAIL "From: $from\n";
  print MAIL "To: $to\n";
  print MAIL "Subject: $subject\n\n";
  print MAIL "$message\n";
  close(MAIL);
}

#EOF: feedback.pl
#################

Die Fehlerbehandlungen könnten sicherlich besser sein, aber für den benötigten Zweck reicht es erstmal aus. Wenn es Probleme gibt, kann man DebugOn auf 1 setzen, dann werden verscheidene Zusatzinfos ausgegeben.

Was momentan noch fehlt ist die Template Unterstützung für Dateien, sowie alle Mailfelder wie CC und ReplyTo aber ein Anfang ist gemacht.

Tipps & Tricks zum Samsung SGH-i600

16 April 2007

Hier sind die Insider Tipps zum neuen Samsung SGH-i600 zu finden: http://www.ppc-welt.info/community/showthread.php?t=108293

Teilweise gesperrte Registrierung bei Windows Mobile 5 öffnen

16 April 2007

Bei vielen neueren Windows Mobile 5 AKU Version, vornehmlich 3.4 und 3.5, scheint zwar kein ApplicationLock allerdings ein teilweises RegistryLock aktiv zu sein.

Aktuell war bei einem Samsung SGH-i600, so ein RegistryLock aktiv, der z. B. den Einsatz von GPSCOM um die Bluetooth-Schnittstelle für den GPS-Empfänger in GoogleMapsMobile zu setzen verhinderte.

Die Lösung ist ein kleines Programm von http://wiki.spv-developers.com/SDA_ApplicationUnlock, ist zwar für den SDA, funktioniert allerdings trotzdem.

Effektiv verändert das Programm per XML-Datei folgende Einstellungen:
<wap-provisioningdoc> <characteristic type=“SecurityPolicy“>
<parm name=“4119″ value=“16″/> (SECROLE_USER_AUTH)
<parm name=“4101″ value=“16″/> (SECROLE_USER_AUTH)
<parm name=“4102″ value=“1″/> (1 = allow unsigned applications)
<parm name=“4097″ value=“1″/> (1 = allow full access to RAPI Policy)
<parm name=“4123″ value=“1″/> (1 TIER SECURITY MODEL) </characteristic>
</wap-provisioningdoc>  

Weitere Infos zu den Parametern findet man bei MS unter http://msdn2.microsoft.com/en-us/library/ms844865.aspx.

Damit man dann die Änderungen an der Registrierung vornehmen kann, kann man folgenden Remote Editor verwenden https://newyear2006.wordpress.com/2006/06/13/remote-registrierungseditor-fur-windows-mobile-5/ oder man verwendet RegEditSTG, welches z. B. hier zu finden ist: http://www.mysmartphone.ch/Freeware/system/15464.aspx. Als kommerzieller Editor steht noch der Resco Explorer zur Verfügung, der einen Registry Editor enthält: http://www.resco.net/pocketpc/explorer/default.asp

PERL Script erzeugt Internal Server Error 500

14 April 2007

Beim Versuch bei einem Kunden ein PERL Script auf seinem 1&1 PowerPaket ans Laufen zu bekommen kam die Fehlermeldung.

Error 500 – Internal server error
Ein interner Fehler ist aufgetreten!
Bitte versuchen Sie es zu einem späteren Zeitpunkt.

Die Fehlermeldung Error 500 ist natürlich genial und sagt im Prinzip nicht viel aus. Auf der Suche nach der Lösung wurden folgende Punkte überprüft:

1&1 Hilfecenter, „Warum bekomme ich immer einen internen Serverfehler (HTTP 500)“:
http://hilfe-center.1und1.de/hosting/scripte_datenbanken/perl/4.html

1&1 Hilfecenter (älter?), Perl Script läuft nicht:
http://hilfe-center.1und1.de/sp-service/sofort_hilfe_faq/technische_fragen/web_hosting/scripte_cgi
_php_asp_etc_/perl/7.html

Alles war aber korrekt. Die shebang-Zeile war da, die Rechte wurden per WebSpaceExplorer auf 755 gesetzt usw.

Der Perl-Syntaxchecker lieferte:

Ergebnis:
+ Check succeeded
/kunden/homepages/…/test/test.pl syntax OK
STDOUT OK STDERR OK

Auch der CGI-Ausgabe-Monitor lieferte:

Ergebnis:
+ CGI Check succeeded
Hello World!
STDOUT OK STDERR OK

Wenn also der Provider nicht weiterhelfen kann (mal abgesehen von 0900er Hotline) dann sucht man halt im Internet.

Dabei fand ich folgende Seite: „Perl CGI Debugging: Solving a 500 Internal Server Error“:
http://www.thesitewizard.com/archive/servererror.shtml

Aber auch hier waren nur die Standardsachen beschrieben. Also weitergegooglet und dann bei der Seite http://forum.de.selfhtml.org/archiv/2002/5/t12103/ fündig geworden, dort beschreibt jemand genau das Problem.

Die Lösung? Ganz einfach, um eine Ausgabe zu erhalten muss noch der Content-Type gesetzt werden. Nachdem im Perl-Script die Zeile

print „Content-type: text/plain\n\n“;

eingefügt wurde, war alles OK. Sehr witzig die Sache, Danke 1&1. Das Problem scheint aber häufiger der Fall zu sein: http://forum.de.selfhtml.org/archiv/2003/4/t44136/ und wenn man es erstmal verstanden hat, dann findet man auch Seiten wo was zum Thema steht: http://wiki.perl-community.de/bin/view/Wissensbasis/FaqCGIServerError500

In diesem Zusammenhang wurden noch folgende Webseiten entdeckt: 

allgemeines Perl Tutorial:
http://de.wikibooks.org/wiki/Perl-Programmierung:_Hello_World

Programm zum Ermitteln der Perlumgebung:
Perldiver: http://www.scriptsolutions.com/programs/free/perldiver/

Beispielausgabe von Perldiver:
http://www.ihre-webhosting-domain.de/perl/perldiver.cgi

Mail für Outlookprofileinstellungen fehlt in der Systemsteuerung

13 April 2007

Wenn man unter Windows in der Systemsteuerung die Mail-Einstellungen für die Outlookprofile sucht, bekommt man diese manchmal nicht angezeigt. Die meisten Einträge in der Systemsteuerung sind Dateien mit der Endung .CPL und liegen im %SystemRoot%\SYSTEM32-Verzeichnis.

Wenn man nun aber die Mail-Einstellungen sucht, wird man nirgends fündig. Die benötigte CPL-Datei ist die MLCFG32.CPL. Diese findet man je nach installierter Outlookversion in unterschiedlichen Officeverzeichnissen.

Für Office 2007 ist es: %ProgramFiles%\Microsoft Office\Office12
Für Office 2003 ist es: %ProgramFiles%\Gemeinsame Dateien\System\MSMAPI\1031