6. Auslesen des geheimen PLC-Schlüssels
Wie am Anfang dieses Artikels kurz beschrieben, ist oder war mir eine Kopplung des OpenWRT dLANs mit anderen dLAN Geräten (z.B. devolo dLAN 1200+) via Tastendruck nicht möglich. Daher muss der auf dem anderen dLAN Gerät (Original-Firmware des Herstellers) der PLC-Schlüssel ausgelesen werden. Dies kann grundsätzlich auf jedem Linux-PC unter Zuhilfenahme des Open Powerline Toolkits von Qualcomm Atheros geschehen.
6.1 Installation der open-plc-utils
user@linux:~$ git clone https://github.com/qca/open-plc-utils
user@linux:~$ cd open-plc-utils
user@linux:~/open-plc-utils$ make
Nach erfolgreicher Kompilation installieren Sie die Tools in den Ordner /usr/local/bin via:
user@linux:~/open-plc-utils$ sudo make install
Kompilieren und installieren Sie die man-Pages in den Ordner /usr/share/man/man1 via:
user@linux:~/open-plc-utils$ sudo make manuals
6.2 Auslesen des geheimen Schlüssels
Scannen Sie das aktuelle PLC-Netzwerk, Sie müssen über Ethernet/WLAN mit demselben Ethernet-Segment verbunden sein wie die PLC. Die zu wählende Schnittstelle (im Beispiel eth0) hängt von Ihrem PC ab.
user@linux:~$ sudo plctool -i eth0 -m all
Eine mögliche Ausgabe könnte wie folgt aussehen. Die Ethernet-Adressen sind von mir bearbeitet worden, siehe roter Buchstabe X.
eth0 FF:FF:FF:FF:FF:FF Fetch Network Information
eth0 30:D3:2D:XX:XX:XX Found 1 Network(s)
source address = 30:D3:2D:XX:XX:XX
network->NID = 6E:ED:DF:82:15:A3:03
network->SNID = 2
network->TEI = 1
network->ROLE = 0x02 (CCO)
network->CCO_DA = 30:D3:2D:XX:XX:XX
network->CCO_TEI = 1
network->STATIONS = 0
Der PLC-Adapter wurde erfolgreich gefunden, nun speichern wir seine PLC-Konfiguration (inkl. PLC Schlüssel) in einer temporären Datei ab.
user@linux:~$ sudo plctool -i eth0 -p /tmp/remote.pib 30:D3:2D:XX:XX:XX
eth0 30:D3:2D:XX:XX:XX Read Module from Memory
Um nun den PLC-Schlüssel im Klartext zu sehen geben wir den Inhalt der abgespeicherten Datei remote.pib aus:
user@linux:~$ chkpib -v /tmp/remote.pib
------- /tmp/remote.pib -------
PIB 0-0 21384 bytes
MAC 30:D3:2D:XX:XX:XX
DAK 26:CA:8C:A2:D9:08:5F:DD:B5:A6:62:22:2A:17:56:41
NMK DE:CC:87:55:F4:34:18:98:EF:57:21:9D:1C:3A:9B:E4
NID 6E:ED:DF:82:15:A3:03
Security level 0
NET
MFG devolo dLAN 1200+ [MT2853]
USR Single
CCo Auto
MDU N/A
Es handelt sich also um den Adapter Devolo dLAN 1200+ mit dem geheimen Schlüssel (NMK) DE:CC:87:55:F4:34:18:98:EF:57:21:9D:1C:3A:9B:E4. Diese Information wird nun in den geflashten OpenWRT Adapter Devolo dLAN 1200+ Wifi AC übertragen.
6.3 Aktualisieren des PLC-Schlüssels unter OpenWRT
Wechseln Sie nun zu dem mit OpenWRT geflashten dLAN Gerät und verwenden Sie das Tool modpib zur Aktualisierung des PLC-Schlüssels.
root@OpenWrt:~$ modpib -N DE:CC:87:55:F4:34:18:98:EF:57:21:9D:1C:3A:9B:E4 /lib/firmware/plc/user.pib
Zur Kontrolle lassen Sie die Datei user.pib mit dem Tool chkpib ausgeben:
root@OpenWrt:~$ chkpib -v /lib/firmware/plc/user.pib
------- /lib/firmware/plc/user.pib -------
PIB 0-0 21384 bytes
MAC B8:BE:F4:XX:XX:XX
DAK 5C:A6:7E:27:DB:68:AE:67:B3:C6:6F:F5:A5:0F:F0:4F
NMK DE:CC:87:55:F4:34:18:98:EF:57:21:9D:1C:3A:9B:E4
NID 6E:ED:DF:82:15:A3:03
Security level 0
NET
MFG devolo dLAN 1200+ WiFi ac [MT2910;X]
USR OpenWrt
CCo Auto
MDU N/A
Zur Aktivierung des neuen Schlüssels starten Sie das dLAN-Gerät oder den PLC Dienst neu:
root@OpenWrt:~$ /etc/init.d/plc restart
6.4 Test des PLC-Netzwerks
Wie gut die Datenübertragung des Netzwerks zwischen dem dLAN 1200+ und dem dLAN 1200+ WiFi ac via PLC funktioniert, dieses können Sie mit dem folgenden Kommando herausfinden:
root@OpenWrt:~# plctool -i eth0.1 -m all
eth0.1 FF:FF:FF:FF:FF:FF Fetch Network Information
eth0.1 B8:BE:F4:XX:XX:XX Found 1 Network(s)
source address = B8:BE:F4:XX:XX:XX
network->NID = 6E:ED:DF:82:15:A3:03
network->SNID = 2
network->TEI = 8
network->ROLE = 0x00 (STA)
network->CCO_DA = 30:D3:2D:XX:XX:XX
network->CCO_TEI = 1
network->STATIONS = 1
station->MAC = 30:D3:2D:XX:XX:XX
station->TEI = 1
station->BDA = 10:C3:7B:XX:XX:XX
station->AvgPHYDR_TX = 146 mbps Alternate
station->AvgPHYDR_RX = 158 mbps Alternate
eth0.1 30:D3:2D:XX:XX:XX Found 1 Network(s)
source address = 30:D3:2D:XX:XX:XX
network->NID = 6E:ED:DF:82:15:A3:03
network->SNID = 2
network->TEI = 1
network->ROLE = 0x02 (CCO)
network->CCO_DA = 30:D3:2D:XX:XX:XX
network->CCO_TEI = 1
network->STATIONS = 1
station->MAC = B8:BE:F4:XX:XX:XX
station->TEI = 8
station->BDA = B8:BE:F4:XX:XX:XX
station->AvgPHYDR_TX = 162 mbps Alternate
station->AvgPHYDR_RX = 146 mbps Alternate
Je nach Qualität und Entfernung der Strecke ist dies ein akzeptables Ergebnis, Sie können bei guten Bedingungen aber auch locker 300 bis 400 mbps erzielen. Als Zubringer eines DSL-Anschlusses oder als WLAN für Gäste ist das Set damit nach meiner Meinung geeignet.