Kurztipp: VPN Verbindungen unter Windows zurücksetzen

Irgendwie hatte ich es geschafft, die Netzwerkeinstellungen von Windows völlig zu zerlegen. Ich konnte keine Verbindung mehr zu einem VPN herstellen, und bei dem Versuch ein bestehendes VPN zu ändern oder auch nur zu löschen ist am Ende der komplette Windows-Explorer abgestürzt.

Ein Hinweis fand ich im Geräte-Manager: Dort wurden (evtl. versteckte Geräte einblenden) ein paar „WAN Miniport“s angezeigt, die ein gelbes Ausrufezeichen hatten. In den Details wurde dann ein „Fehler 31“ erwähnt. Leider ließen sich diese Geräte auch in keinster Weise löschen oder reparieren. Zu Fehler 31 findet man sogar direkt bei Microsoft den Tipp, dieser Fehler würde auftreten, wenn das Gerät nicht gelöscht werden kann, weil es nicht richtig installiert ist 😉 . Man würde es loswerden, indem manuell irgendeinen Treiber installiert, um es dann zu löschen (gleich mehr dazu). Das hat leider auch nicht geholfen, nach einem Reboot waren die Geräte und die Probleme wieder da.

Jetzt habe ich noch mal ein wenig im Netz gesucht, und bin dabei auf diesen Tipp gestoßen, und er hat funktioniert!

Weiterlesen

Ubuntu 14.04: .htaccess in Apache 2.4 wieder aktivieren

Das Update auf Ubuntu 14.04 macht dem Webentwickler wenig Spaß: Erst ist der PEAR-Installer kaputt, und dann wurde auch noch Apache auf 2.4 aktualisiert, womit sich ja doch einiges ändert. Das wichtigste dürfte wohl die Änderung an der Syntax für die Authentifizierung sein, doch auch die kleineren Änderungen machen sich bemerkbar:

Mit 2.4 wurde der Default-Wert für AllowOverride von All auf None geändert. Leider kommt Ubuntu mit einer ziemlich minimalen Konfiguration für Apache, die gar keine Einstellung für diesen Wert enthält. Dadurch werden jetzt alle .htaccess Dateien deaktiviert! Man kann sich jetzt natürlich streiten, was der sinnvollere Default-Wert ist, aber zumindest für das Desktop-Ubuntu, dass ja doch eher zum entwickeln benutzt wird, fände ich „AllowOverride All“ ganz nett. (AllowOverride steuert, welche Werte der Konfiguration in einer .htaccess Datei überschrieben werden können, besonders auch die beliebten mod_redirect Regeln. Ohne diese Regeln funktionieren die meisten Websites ja gar nicht mehr).

Weiterlesen

Ubuntu 14.04: Fehler in PEAR

Update: Inzwischen gibt es einen Fix (siehe Kommentare), nur kann der auch nicht installiert werden, weil ja der Installier kaputt ist 🙁 Also bitte ein Mal manuell zumindest das Paket „Archive_Tar“ aktualisieren, dann sollte alles funktionieren. Inzwischen landen die herunter geladenen Dateien auch nicht mehr unter /build/buildd/… sondern unter /tmp/pear/download/

So wie es aussieht hat Ubuntu momentan ein kleines Problem mit Pear, dem Packetmanager von PHP: Wenn man versucht ein Packet zu installieren oder zu aktualisieren kommt diese schöne Meldung:

Starting to download Console_Table-1.2.0.tgz (10,206 bytes)
.....done: 10,206 bytes
could not extract the package.xml file from "/build/buildd/php5-5.5.9+dfsg/pear-build-download/Console_Table-1.2.0.tgz"
Download of "pear/Console_Table" succeeded, but it is not a valid package archive
Error: cannot download "pear/Console_Table"
Download failed

Weiterlesen

MySQL Dump auf Debian ohne Passwortabfrage

Ich bin gerade dabei auf einem Debian-Server ein Backup-System aufzubauen, und dazu gehört natürlich auch (eigentlich: vor allem!) der Inhalt der Datenbanken. Aber dafür gibt es ja mysqldump. Also mal schnell was in den crontab geschrieben:


mysqldump --all-databases > backup.sql

Dann noch schnell mal den Befehl ausprobiert:


mysqldump: Got error: 1045: Access denied for user 'root'@'localhost' (using password: NO) when trying to connect

Hmm… Das ist natürlich ungünstig. MySQL braucht einen Benutzer um sich anzumelden, nur dazu braucht es dann auch ein Passwort. Natürlich kann man jetzt einen Benutzer „backup“ oder so anlegen, nur dann hat man ein Problem: Jeder kann während des Backups mit ps das Passwort des Benutzer sehen. Und ihm kein Passwort geben ist auch keine Option, speziell wenn man phpMyAdmin aus dem Internet erreichbar macht (mache ich natürlich nicht!)

Doch es geht einfacher:

Weiterlesen

Leeres „Serial Port“ Menu in Ardunio unter Linux?

…Abhilfe ist ist einfach:

Strg+Alt+T drücken (Terminal wird geöffnet), und diesen Befehl eingeben:


sudo usermod -aG dialout <Benutzername>

Danach abmelden und wieder anmelden, und schon sollte es funktionieren 🙂

Hintergrund: Ich bastele gerade mal wieder an meinem LED-Würfel, und da ich unter Windows zu viele Probleme mit avr-gcc usw. hatte, aber ich schnell eine Virtual-Box VM mit Ubuntu aufgesetzt. Dort kann man auch ganz wunderbar USB-Geräte, wie meinen USB-auf-Seriell-Wandler weiterleiten. Nur leider wollte Arduino den Wandler nicht erkennen: Geholfen hat mir dann dieser Thread: Leider wird so ein Wandler von udev der Gruppe „dailout“ zu geordnet, und in dieser ist man leider nicht standardmäßig. Mit dem Befehl oben fügt man sich selbst der Gruppe hinzu, und danach darf Arduino dann auf auch auf das Gerät zugreifen.

Wieder ein Problem weniger 😉

Fortschritt von dd unter Mac OS

Heute musste ich mal wieder ein Image auf eine SD-Karte kopieren, und sowas ist unter Unix/Linux ja kein Problem, daher mache ich das immer gerne mit dd auf meinem MacBook. Dieses mal hatte ich es sogar erst unter Windows versucht, aber dort wollte es nicht so recht funktionieren, also holte ich mein MacBook doch wieder raus. Dort den ganz normalen dd-Befehl abgesetzt:


sudo dd if=/path/to/file.img of=/dev/disk1 bs=1m

Nun dauert das natürlich (das Image war 2GB groß, und ja es war ein Raspberry Pi Image ;)). Naja, warten wir mal. … Aber es würde mich schon interessieren, wie weit er gerade ist… Warum hat dd eigentlich keinen Fortschrittsbalken?

Also schnell dies PID rausgesucht:

Weiterlesen

Segementation Fault unter Linux/Mac debuggen

Für die Uni muss ich ja nun viel C schreiben, und da gibt es ja nun mal diese wunderbaren Pointer. Sollte man davon mal eine falsch setzen bricht das Programm ab, und es gibt eine wunderbare Fehlermeldung: Segementation Fault: 11. Jetzt heißt es also, den Fehler mit jede Menge printf() eingrenzen und nach sehr viel Suchen dann evtl. auch finden.

Nach den ich heute mal wieder einen Pointer falsch hatte, habe ich mal nachgesehen, ob es nicht auch einfacher geht… Geht es natürlich… Also eine kleine Anleitung! Ich habe extra für euch ein Programm mit Fehler gebaut: Sowas würde mir sonst natürlich nie passieren 😉

Was nun? Als ersten müssen wir dem Betriebsystem sagen, dass es einen Speicherdump (coredump) erstellen soll, wenn ein Programm abstürzt. Die Dinger werden ziemlich groß, deswegen ist das normalerweise ausgeschaltet. Um es für die akutelle Shell zu aktivieren geben wir ulimit -c unlimited ein. Damit wird bei nächsten Absturz ein core-dump erstellt. Damit kommen wir schon recht weit, doch wir können das Programm noch im Debug-Modus kompilieren, damit wir noch besser sehen, was da schief gelaufen ist. Dazu einfach gcc den Parameter -g mitgeben (ja, clang kann das auch). Danach lassen wir das Programm wieder abstürzen:Na, aufgepasst? Da steht jetzt (core dumped). Nun schauen wir mal in den Ordner /cores, dort liegt unser core dump! Und er ist (für dieses einfache Programm) >300 MB groß! Das war das, was ich oben meinte…

Weiterlesen

Unsignierte Treiber unter Windows 8 x64 installieren

Mit der Installation von Windows 8 bin ich auch (endlich) auf die 64-Bit Version gewechselt. Im Grunde hatte ich damit auch noch keine Probleme – bis heute. Da wollte ich meine gewonnen NIBObee mal unter Windows 8 in Betrieb nehmen. Dafür ist ein Treiber für den USB-Chip nötig, und dieser war leider nicht signiert

Und 64-Bit Versionen lassen leider nur signierte Treiber zu! Der Versuch den Treiber manuell im Geräte-Manager zu installieren endete nur mit der Meldung „die INF-Datei des Drittanbieters enthält keine Digitalsignaturinformationen“, kurz der Treiber war nicht signiert.

Nun ist guter Rat teuer, denn so einfach kann man diesen Schutz auch nicht übergehen (er soll wohl auch vor Viren schützen, die sich als Treiber ins System einklinken). Dieser Thread hat mir dann geholfen:

Weiterlesen

HP-AirPrint Drucker unter Mac ohne Treiber

Mein MacBook habe ich ja nun schon einige Zeit und bin auch sehr zufrieden. Doch eine Sache hat mich gleich am ersten Tag geärgert: Ich habe eine HP Drucker und die sind ja bekanntlich sehr Mac-freundlich. Also ging ich davon aus, dass es kein Problem sein sollte, den mit meinem MacBook zu verbinden, zumal er über AirPrint auch wunderbar mit meinem iPad funktioniert.

Ich ging als in die Systemeinstellungen/Drucker, und da tauchte er schon in der Liste auf. Also ein kurzer Klick und MacOS fragte, ob er gleich den Treiber runterladen sollten. Sollte er. Er lud. Und lud. Nach ca. 20 min habe ich auf Abbrechen geklickt, und damit die kompletten Einstellungen zum Absturz gebracht 🙁 Nach einem neuen Versuch gab es dann nur doch dieses schöne Fenster:

Weiterlesen