Toner Reset Brother MFC-L2710DW / 2710

Wenn bei den Brother MFC-2710-Modellen ‚Toner ersetzen‘ erscheint, dann muss die Tonerkartusche nicht zwingend leer sein. Auch beim Einsatz von Dritthersteller-Toner erscheint diese Meldung gerne.

Über das Standard-Menü kann man zwar ‚Toner ersetzen‘ auswählen, was aber in der Regel nicht bringt.
Folgende Prozedur führ einen Toner-Reset durch :

  1. Schalte den Drucker ein
  2. Öffne die vordere Abdeckung des Druckers
  3. Drücke gleichzeitig die STOP- und die STORNO-Taste
  4. Sofort danach noch einmal die STORNO-Taste drücken
  5. Es erscheint das Toner-Reset Menü. Wähle dort (mit Pfeil nach unten) TNR-STD und bestätige mit OK
  6. Drücke die ‚Pfeil-nach-oben-Taste‘ um den Vorgang abzuschließen

Jetzt kannst Du den Toner weiter, bzw. Deinen Dritthersteller-Toner nutzen.

Viel Spaß ! 😉

Kurzinfo TP-Link 1043N(D) flashen / Rescue

  1. https://sourceforge.net/projects/tftp-server/ downloaden
  2. IP-Adresse des PCs auf 192.168.0.66 stellen
  3. TFTP-Server per CMD starten und log-File beobachten
  4. Router per LAN-Kabel mit PC verbinden, RESET-Taster am Router gedrückt halten und POWER-ON (ggf. öfter probieren)
  5. im Log nachlesen, welche Datei vom Router angefordert wird ‚tpxyz_v4.bin‘ (oder so ähnlich 😉 )
  6. Firmware für den Router laden und entsprechend Punkt 5 umbenennen und ins TFTP-Server-Verzeichnis legen
  7. Punkt 4 wiederholen und der Router flashed die Frimware …

Zeitschaltung des WLANS unter OpenWRT

EInstellung zu finden im WebGUI unter

System -> Scheduled Tasks.

Script nach folgendem Schema eintragen:

(Die WLAN-Adapterbezeichnungen findet man heraus indem man per SSH-Console ‚uci show wireless‘ eingibt)

# Um 22.00Uhr geht das WLAN aus ... Notbetrieb auf Nightnet
0 22 * * 0-6 /sbin/uci set wireless.default_radio1.disabled=1;/sbin/uci set wireless.default_radio0.disabled=1;/sbin/uci set wireless.@wifi-iface[4].disabled=0;/sbin/uci commit wireless; /sbin/wifi

# Morgens um 6 geht das WLAN wieder an
0 6 * * 0-6 /sbin/uci set wireless.default_radio1.disabled=0;/sbin/uci set wireless.default_radio0.disabled=0;/sbin/uci set wireless.@wifi-iface[4].disabled=1;/sbin/uci commit wireless; /sbin/wifi

😉

Wie ersetze ich eine Zeichenfolge in einer (kompletten) MySQL-Datenbank ?

Wie ersetze ich eine Zeichenfolge in einer (kompletten) MySQL-Datenbank ?

… ganz einfach mit folgenden PHP-Skripts:

  1. in eine einzelnen Tabelle:
<?php

$db_name="datenbankname";
$db_host="localhost";
$db_user="datenbankbenutzer";
$db_pass="datenbankpasswort";

$tabellenname="tabelle";

$replace="dasalteschwarz";
$replace_mit="dasneueorange";


// -------------- LOS GEHTS !

error_reporting(-1);
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
	
$db = mysqli_connect ($db_host,$db_user,$db_pass) or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch");

mysqli_select_db($db,$db_name) or die ("Die Datenbank existiert nicht.");


$query="UPDATE tabelle SET post_content = REPLACE(post_content, \"".$replace."\", \"".$replace_mit."\")";
mysqli_query($db,$query) or die ("Fehler : $query");

echo "Die Zeichenolge '".$replace."' wurde ".mysqli_affected_rows($db)." x gefunden ...<br>";
echo "...und durch die Zeichenfolge '".$replace_mit."' ersetzt.<hr>";

$abfrage = "SELECT * FROM tabelle LIMIT 0,20";
$ergebnis = mysqli_query($db,$abfrage);
while($row = mysqli_fetch_array($ergebnis))
   {
		echo $row["ID"]."<br>";
		echo $row["post_content"]."<p>";
   }

mysqli_close($db);
?>

oder

2. in einer kompletten Datenbank (alle darin enthaltenen Tabellen):

<?php
// Database credentials
$strHost = 'localhost';
$strUser = 'datenbankbenutzer';
$strPassword = 'datenbankpasswort';
$strDatabase = 'DATENBANKNAME';

// From and to path
$strFrom = 'dasalteschwarz';
$strTo = 'dasneueorange';

// DO NOT EDIT ANYTHING BELOW THIS LINE UNLESS YOU KNOW WHAT YOU ARE DOING!

error_reporting(E_ALL ^ E_NOTICE);

function array_strpos($arrHaystack, $strNeedle)
{
foreach ($arrHaystack as $v)
{
if (is_object($v))
{
$v = get_object_vars($v);
}

if (is_array($v) && array_strpos($v, $strNeedle) || !is_array($v) && strpos($v, $strNeedle) !== false)
{
return true;
}
}

return false;
}

function array_str_replace($strSearch, $strReplace, $arrData)
{
foreach ($arrData as $k=>$v)
{
if (is_array($v))
{
$arrData[$k] = array_str_replace($strSearch, $strReplace, $v);
}
elseif (is_string($v))
{
$arrData[$k] = str_replace($strSearch, $strReplace, $v);
}
}

return $arrData;
}

try
{
$db = new PDO
(
'mysql:dbname=' . $strDatabase . ';host=' . $strHost,
$strUser,
$strPassword,
array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'")
);

$stmt = $db->query('SHOW TABLES');
$stmt->setFetchMode(PDO::FETCH_COLUMN, 0);

foreach ($stmt as $strName)
{
$arrTables[] = $strName;
}

$intUpdates = 0;

if (substr($strFrom, -1) == '/' && substr($strTo, -1) != '/')
{
$strTo .= '/';
}
else if (substr($strFrom, -1) != '/' && substr($strTo, -1) == '/')
{
$strFrom .= '/';
}

echo 'Searching tables' . "<br>\n";

foreach ($arrTables as $strTable)
{
echo 'Processing ' . $strTable . "<br>\n";

$stmt = $db->query(sprintf('SELECT * FROM `%s`', $strTable));
$stmt->setFetchMode(PDO::FETCH_ASSOC);

foreach ($stmt as $row)
{
foreach ($row as $k=>$v)
{
$blnSerialized = false;
$tmp = unserialize($v);

if ($tmp !== false)
{
$blnSerialized = true;
$v = $tmp;
}

if ($k != 'id')
{
$w = false;

if (is_object($v))
{
$v = get_object_vars($v);
}
if (is_array($v) && array_strpos($v, $strFrom) !== false)
{
$w = array_str_replace($strFrom, $strTo, $v);
}
if (!is_array($v) && strpos($v, $strFrom) !== false)
{
$w = str_replace($strFrom, $strTo, $v);
}

if ($w)
{
if ($blnSerialized)
{
$v = $row[$k];
$w = serialize($w);
}

$stmt = $db->prepare(sprintf('UPDATE `%s` SET `%s`=:value WHERE `id`=:id', $strTable, $k));
$stmt->bindValue('value', $w);
$stmt->bindValue('id', $row['id']);
$stmt->execute();

++$intUpdates;
}
}
}
}
}

echo 'Update finished: ' . sprintf('%d rows updated', $intUpdates) . "<br>\n";
}
catch(PDOException $e)
{
var_dump($e->getMessage());
}
?>
Mesh-WLAN mit OpenWRT

Mesh-WLAN mit OpenWRT

Grundsätzliches / Das Problem / Die Idee / Die Lösung

Abschnitt 1

Ich möchte in diesem Artikel erläutern, wie man ein Mesh-WLAN so aufbaut, dass man mit mehreren Routern eine große Fläche mit einer einzigen SSDI zuverlässig abdeckt. Interessant ist das Ganze für z.B. Hotels, größere Häuser und/oder Häuser mit Garten.

Bei mir zu Hause hatte ich bisher das Problem, dass meine drei Router (strategisch im Haus und in der Gartenhütte verteilt) jeweils ein eigenes WLAN bereit gestellt haben. Wenn mein Handy nun beim Betreten des Hauses mit dem ersten verfügbaren Router (SSID: WLAN01) Kontakt aufgenommen hat, bleibt das Mobiltelefon so lange mit diesem Netzwerk verbunden, bis das Signal absolut nicht mehr da ist, auch wenn ich bereits direkt neben dem zweiten Router (SSID: WLAN02) stehe. Das führt dazu, dass ich relativ oft keinen bzw. super-langsamen Internetzugang habe. Ich muss dann das WLAN am Handy manuell wechseln, oder bekomme Mails bzw. WhatsApp-Nachrichten vielleicht erst Stunden später.

Die SSIDs an den drei Routern auf Identische Werte zu setzen (wie es auch bei den einfachen Repeatern praktiziert wird) macht das Problem eigentlich nur noch schlimmer. So wird auf dem Handy zwar immer die Signalstärke der am nächsten liegenden Station angezeigt, jedoch bleibt das Verbindungsproblem das gleiche. Das Mobiltelefon bleibt mit dem ersten Router verbunden, so lange bis das Signal komplett abreißt. Erst dann springt das WLAN auf den neuen Router. Somit scheint man zwar immer gutes Netz zu haben, aber in Wirklichkeit hat man teilweise kein Netz und merkt es gar nicht.

Die Lösung muss also ein WLAN sein, in dem man sich bewegen kann, und in dem das mobile Gerät immer mit der besten Station verbunden ist. Somit merkt der Benutzer gar nicht, dass es überhaupt mehrere Stationen gibt und muss sich auch nur in ein einziges WLAN einwählen.

Die einfachste Lösung ist die Nutzung von AVM-Geräten, die Mesh-Networking in die Firmware ihrer Top-Geräte eingebaut haben. Das ist mir allerdings viel zu teuer und der Bastel-Faktor ist dabei natürlich auch viel zu klein 😉

Da ich mich seit Jahren mit alternativer OpenSource-Firmware für diverse Router beschäftige (dd-wrt und OpenWRT), ist meine Wahl auf OpenWRT gefallen. Mit folgenden Routern habe ich bereits erfolgreich ein Mesh-Netzwerk aufgebaut :

  1. TP-Link WR1043N Version 5 (einfachste Variante / nur 2.4GHz WLAN)
  2. TP-Link WR1043ND (bis Version 4 / wird nicht mehr produziert) (Router mit USB für Print- oder Fileserverfunktion und abnehmbaren Antennen / aber auch nur 2.4GHz WLAN)
  3. TP-Link Archer C7 A1750 (zwei USB-Ports, sowie 2.4GHz und 5GHz WLAN / etwas schickere Variante und für 75€-80€ immer noch erschwinglich)

Alle Geräte haben eine gute bis sehr gute Reichweite und besitzen jeweils 4 GBit LAN-Ports.

Ich setze die Router jeweils als Access-Points ein, somit muss jedes Gerät einen Anschluss an das verkabelte Netzwerk haben.

Los gehts …

Abschnitt 2

Ich erkläre die Einrichtung anhand von zwei TP-Link Archer C7 A1750 Routern, da dort beide WLAN-Typen (parallel) eingesetzt werden können. Die Einrichtung eines WR1043er-Routers kann das daraus abgeleitet werden. Ich gehe zu Beginn davon aus, dass es bereits ein funktionierendes Kabel-Netzwerk mit laufendem DHCP-Server und funktionstüchtigem Internetzugang gibt.
In meinem Fall läuft ein Netzwerk mit dem IP-Adressbereich 192.168.19.x/255.255.255.0 und mein Internetrouter vergibt per DHCP Adressen an alle angeschlossenen Geräte. Er selbst dient als Internetgateway und hat die Adresse 192.168.19.253.

Wenn die Router gekauft, ausgepackt und die Antennen angeschraubt sind, kann’s losgehen. Der erste Router wird an das vorhandene Netzwerk angeschlossen. Dazu bitte ein Netzwerkkabel an den blauen WAN-Port des Routers anschließen. Da andere Ende wird mit dem vorhandenen Netzwerk verbunden (per Switch oder direkt an den Gateway-Router / s.o.).

Der Rechner, der zum Einrichten genutzt werden soll, muss per LAN Kabel an einen der vier gelben Switch-Ports des Archer-Routers angeschlossen werden. Die Netzwerkkarte des Rechners muss seine IP-Adresse automatisch beziehen. Eine fest eingestellte IP-Adresse muss einige male geändert werden und ist somit nicht zu empfehlen (zumindest nicht für den Einrichtungsvorgang).

Nach dem ersten Einschalten des Routers (dauert 1-2 Minuten), erhält der Rechner eine Adresse aus dem Bereich 192.168.0.x. Der Router selbst ist über die Adresse 192.168.0.1 zu erreichen. Zu Beginn müssen wir die TP-Link-Firmware loswerden und durch die OpenWRT-Firmware ersetzen.
Diese gibt es für etliche Router in allen möglichen Auführungen im OpenWRT/LEDE-Projekt unter : https://lede-project.org/ – Downloads hier : https://downloads.lede-project.org/releases/ bzw. https://downloads.lede-project.org/snapshots

Wir benötigen folgende Datei : (Stand Februar 2018)
https://downloads.lede-project.org/snapshots/targets/ar71xx/generic/openwrt-ar71xx-generic-archer-c7-v4-squashfs-factory.bin

Bitte auf die Bezeichnung und Versionsnummer achten, da sonst u.U. eine falsche Firmware geflasht wird und der Router nicht mehr bootet.

In der TP-Link-Firmware (per Webbrowser auf http://192.168.0.1) nun die herunter geladene factory.bin-Datei flashen. Der Router startet danach automatisch neu (dauert wieder 1-2 Minuten) und hat dann die Adresse 192.168.1.1 ! … Also ggf. nachsehen, ob der Rechner auch eine Adresse aus dem 192.168.1.xer-Bereich erhalten hat.
Anschließend befindet sich die OpenWRT-Firmware auf dem Router. Allerdings ist in den meisten Fällen keine Grafische Oberfläche installiert, so dass wir über den Webbrowser keine Antwort erhalten. Das System lässt sich aktuell also nur über die Kommandozeile bedienen.

Abschnitt 3

Um das zu ändern müssen wir per SSH auf den Router zugreifen und das WebGUI und ein paar andere Software-Pakete auf dem Router installieren :

Dazu laden wir uns das kleine Programm PuTTY herunter und verbinden uns per SSH mit dem Router.

Der Loginname lautet ‚root‘. Ein Passwort ist noch nicht vergeben und wird somit auch nicht abgefragt.
Die Web-Oberfläche nennt sich ‚luci‘ und muss per ‚opkg‘-Befehl installiert werden. Dazu muss das opkg-System mit aktuellen Daten versorgt werden. Danach können Pakete installiert werden.
Da der Router über den WAN-Port mit dem Internet verbunden ist, konfiguriert sich die Schnittstelle (hoffentlich) automatisch und wir können Daten aus dem Internet laden.
Dazu bitte folgende Befehle auf der Kommandozeile ausführen :

opkg update
opkg install luci

Nun kann man per WebBrowser auf das OpenWRT-System zugreifen. Da das Mesh-System in dieser Anleitung aber nicht über die grafische Oberfläche installiert und eingerichtet werden kann, bleiben wir erst einmal in der Kommandozeile.
Im nächsten Schritt bereiten wir den Router auf das Mesh-System vor. Dazu muss ein Paket rausgeschmissen und ein paar weitere Pakte nachinstalliert werden :

opkg remove wpad-mini
opkg install wpad-mesh mc
reboot

Kurze Erläuterung : ‚wpad-mini‘ fliegt raus und wird quasi durch ‚wpad‘ ersetzt. Für das Meshing benötigen wir zusätzlich das Paket ‚authsae‘.  Das Paket ‚mc‘ (MidnightCommander) ist mein Lieblings-Filemanager (optional), mit dem man prima Dateien editieren, kopieren und/oder verschieben kann. Anschließend starte das Gerät durch den Befehl ‚reboot‘ neu.

Abschnitt 4

Jetzt nehmen wir erst einmal die Grundeinrichtung des WLANs am ersten Gerät vor. Dazu per Web-Frontend (Webbrowser : http://192.168.1.1) den Menüpunkt Network->Wireless aufrufen.
Dort gibt es bereits ein deaktiviertes WLAN mit Namen ‚OpenWrt‘, welches wir über ‚Enable‘ einschalten und anschließend nach unseren Wünschen anpassen können (SSID, Verschlüsselungsart, WLAN-Passwort etc.). Wichtig ist bei den Einstellungen, dass wir einen festen Kanal wählen (dieser darf nicht auf ‚auto‘) stehen. Bei Routern mit DUAL WLAN legen wir einfach für jedes Netz (2.4 & 5 GHz) jeweils ein Netzwerk mit unterschiedlichen SSIDs an.

Ein Druck auf ‚Save & Apply‘ speichert und übernimmt die Daten. Einem Test des WLANs (z.B. mit dem Handy) steht nicht im Wege und sollte nun durchgeführt werden.

Abschnitt 5

Da die Mesh-Konfiguration leider nicht über das Web-Frontend vorgenommen werden kann, müssen wir die Kommandozeile nutzen. Also zurück zur PuTTY-Konsole.
Die WLAN-Konfiguration wird in einer Textdatei abgespeichert, welche sich auf dem Router unter : /etc/config/wireless befindet. Um die Datei zu bearbeiten nehme ich den Text-Editor des Midnight-Commanders (es kann auch jeder andere Editor verwendet werden z.B. ‚vi‘) :

mcedit /etc/config/wireless

Der muss jetzt die Mesh-Konfiguration in folgender Art & Weise hinzugefügt werden :

config wifi-iface 'mesh'
 option network 'mesh'
 option device 'radio0'
 option mode 'mesh'
 option mesh_id 'mein.mesh'
 option encryption 'psk2/aes'
 option key 'MyMeshPassword'

Für jedes Netzwerk, welches im Mesh-Verbund laufen soll muss eine solche Konfiguration geschrieben werden. Meine Konfiguration / wireless-Datei für zwei WLAN Netzwerke sieht z.B. so aus :

config wifi-device 'radio0'
 option type 'mac80211'
 option channel '36'
 option hwmode '11a'
 option path 'pci0000:00/0000:00:00.0'
 option htmode 'VHT80'
 option country 'US'
 option legacy_rates '1'

config wifi-device 'radio1'
 option type 'mac80211'
 option channel '11'
 option hwmode '11g'
 option path 'platform/qca956x_wmac'
 option htmode 'HT20'
 option country 'US'
 option legacy_rates '1'

config wifi-iface 'default_radio0'
 option device 'radio0'
 option network 'lan'
 option mode 'ap'
 option ssid 'My5ouse'
 option wmm '0'
 option encryption 'psk2+ccmp'
 option key 'Mein5GHzPasswort'

config wifi-iface 'default_radio1'
 option device 'radio1'
 option network 'lan'
 option mode 'ap'
 option ssid 'Myhouse01'
 option wmm '0'
 option encryption 'psk2+ccmp'
 option key 'MeinGeheimesWLANPasswort'

config wifi-iface 'mesh'
 option network 'mesh'
 option device 'radio1'
 option mode 'mesh'
 option mesh_id 'housemesh'
 option encryption 'psk2/aes'
 option key 'meshpasswort'
 option mesh_fwding '1'

config wifi-iface 'mesh5'
 option network 'mesh5'
 option device 'radio0'
 option mode 'mesh'
 option mesh_id 'housemesh5'
 option encryption 'psk2/aes'
 option key 'meshpasswort5'
 option mesh_fwding '1'

Über ‚option device‘ erfolgt die Zuweisung der Mesh-Konfiguration für das jeweile WLAN. Bei Routern mit z.B. nur 2.4GHz gibt es in der Konfiguration nur ‚radio0‘ und kein ‚radio1‘.
Die kursiv gedruckte Konfiguration habe ich unverändert gelassen. Diese wurde durch die Grundeinrichtung des WLANs vorgenommen und vom WebFrontend in die Date eingetragen.

Jetzt ‚F10‘ drücken, die Datei abspeichern und den Text-Editor verlassen. auf der Kommandozeile

reboot

eingeben und der Router startet neu.

Abschnitt 6

Der erste Router ist nun eingerichtet, aber ein paar Sachen müssen wir noch erledigen.
Im Moment baut der Router sein eigenes Netzwerk im Bereich ‚192.168.1.x‘ und routet die WLAN Anfragen über das bestehende Netzwerk in Internet. Das funktioniert zwar, aber eigentlich soll der Router lediglich als AccessPoint für das bestehende Netz arbeiten und keinerlei andere Funktionen übernehmen (wie z.B. DHCP). Außerdem möchte ich den Router als Gerät in meinem vorhandenen Netzwerk (192.168.19.x / siehe oben) ansprechen und ggf. Konfigurieren können, um diesen später vielleicht als File- oder Printserver benutzen zu können.
Folgendes muss also noch passieren :

  1. DHCP-Server ausschalten
  2. IP-Adresse des Routers anpassen
  3. WAN-Port so einstellen, dass er zum LAN Netzwerk gehört (damit gewinnen wir sogar noch einen zusätzlichen LAN-Anschluß)
  4. Router-Passwort vergeben (optional, aber empfohlen)

Damit man nicht ewig neue Adressen erhalten/einstellen muss empfehle ich Folgendes in genau dieser Reihenfolge zu tun :

1.) Über das Web-Frontend zu Network->Interfaces gehen. Dort alles bis auf LAN (grün) mit ‚Delete‘ entfernen.

2.) Bei LAN auf ‚Edit‘ klicken und dann unter IPv4 Adresse eine Adresse auch dem vorhandenen Netzwerk wählen. In meinem Fall in meinem Fall z.B. ‚192.168.19.240‘, und als ‚Gateway‘ und ‚custom DNS‘ den vorhandenen Router / bei mir : ‚192.168.19.253‘

3.) Im unteren Teil dann bei ‚DHCP Server‘ eben genau diesen ausschalten, indem bei ‚Disable DHCP for this interface.‘ angehakt wird.

4.) ‚Save & Apply‘ klicken um die Einstellungen zu übernehmen. Bitte beachten, dass der Router nun quasi vom Internet abgetrennt ist, weil er über das WAN-Interface nicht mehr routen kann. Um wieder Zugriff zu haben, müssen wir den WAN-Port dem LAN zuordnen …

5.) Der WAN Port hängt momentan in der Luft und muss als LAN-Port konfiguriert werden. Damit ist der Router dann Teil des 19er-Netzwerkes. Dazu bitte Network->Switch im WebFrontend anwählen. Es gibt aktuell zwei VLANs. Das zweite wird nun nicht mehr benötigt und kann mit ‚Delete‘ entfernt werden. Im ersten VLAN-Abschnitt muss dann noch der WAN-Port auf ‚untagged‘ gestellt werden. Anschließend auf ‚Save & Apply‘ und alles ist gut.

6.) Um den Router noch gegen Manipulation aus dem eigene Netz zu sichern, kann jetzt noch unter System_>Administration ein Router Passwort vergeben werden.

Der erste Router ist jetzt komplett fertig eingerichtet und arbeitet als Mesh-Access-Point ohne weitere Funktion in unserem Netzwerk. Erreichbar ist er von überall aus dem Netz über die Adresse ‚192.168.19.240‘.

Abschnitt 7

Alle weiteren Router müssen exakt so wie oben beschrieben eingerichtet werden. Lediglich die IPv4-Adressen der Router sollten sich unterscheiden. Also z.B. so :

  1. Router : 192.168.19.240
  2. Router : 192.168.19.241
  3. Router : 192.168.19.242 etc.

Um die gesamte Konfiguration und die Tipperei nicht unnötig kompliziert zu machen, und vor allem um Tippfehler, die zu Nicht-Funktionieren führen können, zu vermeiden, empfehle ich eine einfache Kopie der Konfigurations-Daten.

Dazu kann man in der Web-Oberfläche des ersten Routers einfach unter ‚System->Backup / Flash Firmware‘ auf ‚Generate archive‘ klicken um die gesamte Konfiguration zu exportieren. Das dabei entstehende tar.gz-Paket muss dann später einfach auf alle anderen Router kopiert werden.

Da diese allerdings im Normalfall ja noch mit der TP-Link-Software laufen, muss man jeden Router vorher mit Hilfe  dieser Anleitung (bis einschließlich Abschnitt 4) preparieren, bis man über ‚System->Backup / Flash Firmware‘ ‚Restore backup‘ die Konfigurationsdatei des ersten Routers einspielen kann.
Zu beachten ist, dass nach erfolgreichem Backup-Restore der neue Router die gleiche-IP-Adresse wie der erste Router bekommt. Dies kann man umgehen, indem man vor dem Restore-Vorgang dem ersten Router eine andere IP-Adresse gibt, oder den ersten Router so lange abklemmt, bis der neue Router eine Adressänderung erfahren hat.

Ende

Bei mir laufen aktuell drei Archer C7 A1750 Version 4 als Mesh-Netzwerk und decken ein Einfamilienhaus und einen weitläufigen Garten ab. Da nicht alle Geräte das 5GHz-Netz unterstützen, habe ich das 2.4Ghz auch in Berieb. Die Netzwerke laufen jeweils als Mesh und ohne die nervigen Abbrüche bzw. Situationen, in denen ich kein Netzwerk habe.

Viel Spaß damit !

USB Festplatten unter Linux sicher in Standby schicken

USB Festplatten unter Linux sicher in Standby schicken

#!/bin/bash
#
# Automatic disk standby using kernel diskstats and hdparm https://github.com/lynix/scripts
#
# Version 1.1, 2011 by Alexander Koch <lynix47@gmail.com>
# Version 1.2 2015 Allow device links instead of sda/sdb... and retry non-existing devices every 600 seconds
#

# DEVICES syntax: DEVICE:TIMEOUT_SEC
DEVICES=( "sda:120" "sdb:120" "bigwd8:120" "bigwd9:120" "bigwd6:120" )

function device_worker() {
 logger -t hdd-spindown.sh "spawned monitor thread for $1"
 COUNT_R=0
 COUNT_W=0
 INSTDBY=0
 while true; do
 while ! test -e "/dev/$1"; do
 sleep 600
 COUNT_R=0
 COUNT_W=0
 INSTDBY=0
 done
 devname=$(basename $(readlink -f "/dev/$1") )
 NEW_R=$(awk '{print $1}' /sys/block/$devname/stat)
 NEW_W=$(awk '{print $5}' /sys/block/$devname/stat)
 if [ $COUNT_R -eq $NEW_R ] && [ $COUNT_W -eq $NEW_W ]; then
 if [ $INSTDBY -eq 0 ] || [[ $(hdparm -C /dev/$1 | grep active) > 0 ]]; then
 INSTDBY=1
 logger -t hdd-spindown.sh "suspending $1"
 hdparm -qy /dev/$1
 if [ $? -gt 0 ]; then
 logger "failed to suspend $1"
 return 1
 fi
 fi
 else
 COUNT_R=$NEW_R
 COUNT_W=$NEW_W
 INSTDBY=0
 fi
 sleep $2
 done
}

for D in ${DEVICES[@]}; do
 device_worker $(echo "$D" | cut -d ':' -f 1) $(echo "$D" | cut -d ':' -f 2) &
done

exit 0

 

Phonegap nutzen (Kurzübersicht)

Phonegap nutzen (Kurzübersicht)

Phonegap-Installation :

node.js installieren : http://nodejs.org/

Optional:

git installieren : http://git-scm.com/


phonegap CLI über CLI node.js/npm installieren mit :

npm install -g phonegap@latest

cordova installieren mit :

npm install -g cordova

Neue App installieren :

phonegap create c:\appverzeichnis

… ins Verzeichnis der APP wechseln und plugin(s) installieren :

cordova plugin add cordova-plugin-battery-status
cordova plugin add cordova-plugin-camera
cordova plugin add cordova-plugin-compat
cordova plugin add cordova-plugin-device
cordova plugin add cordova-plugin-dialogs
cordova plugin add cordova-plugin-file
cordova plugin add cordova-plugin-geolocation
cordova plugin add cordova-plugin-globalization
cordova plugin add cordova-plugin-inappbrowser
cordova plugin add cordova-plugin-media-capture
cordova plugin add cordova-plugin-network-information
cordova plugin add cordova-plugin-splashscreen
cordova plugin add cordova-plugin-vibration
cordova plugin add cordova-plugin-whitelist
cordova plugin add phonegap-plugin-push


Server mit

phonegap serve

starten … oderdie Windows-Version von Phonegap installieren und die App laden und starten !

Die Hauptdatei liegt nun in : c:\appverzeichnis\www\index.html

Die Config-Datei ist c:\appverzeichnis\config.xml

 

Die App auf dem Handy benutzen um die APP zu testen.

 

https://phonegap.com/getstarted/

Raspberry PI – TV per HDMI-CEC steuern

Raspberry PI – TV per HDMI-CEC steuern

apt-get update
apt-get install cmake liblockdev1-dev libudev-dev libxrandr-dev python-dev swig
cd
git clone https://github.com/Pulse-Eight/platform.git
mkdir platform/build
cd platform/build
cmake ..
make
sudo make install
cd
git clone https://github.com/Pulse-Eight/libcec.git
mkdir libcec/build
cd libcec/build
cmake -DRPI_INCLUDE_DIR=/opt/vc/include -DRPI_LIB_DIR=/opt/vc/lib ..
make -j4
sudo make install
sudo ldconfig


Autostart modifizieren :

apt-get install unclutter // Zum Ausblenden des Mauszeigers

dann für den Benutzer pi : /home/pi/.config/lxsession/LXDE-pi/autostart modifizieren :

@xset s off
@xset -dpms
@xset s noblank

@unclutter -idle 1
# PROD
#@chromium-browser --incognito --kiosk http://dashboard.local/

# DEBUG
@chromium-browser --remote-debugging-port=4444 --show-fps-counter --incognito --kiosk http://dashboard.local/



#!/bin/sh
echo "standby 0" | sudo cec-client -s -d 1
/sbin/shutdown -h now


/boot/config.txt editieren um overscan auszuschalten