Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Devolo Dlan 1200 Wifi AC device (non-pro version) #3

Open
SteveAyre opened this issue Nov 13, 2018 · 73 comments
Open

Devolo Dlan 1200 Wifi AC device (non-pro version) #3

SteveAyre opened this issue Nov 13, 2018 · 73 comments

Comments

@SteveAyre
Copy link

SteveAyre commented Nov 13, 2018

I've successfully built openwrt 18.06.01 for the dlan-pro-1200-ac with dlan-openwrt and the MT2675 PIB & NVM driver from firmware.QCA9882-v2.2.0_2018-07-26.dv and installed this on the white non-pro version.

While it boots fine and LAN and Wireless both work I am having trouble getting PLC to work. All commands appear to give an immediate 'read timeout or network error'.

For example:

root@OpenWrt:~# /usr/bin/plctool -i "$PLC" -B"1" "$MAC"
br-lan 30:D3:2D:C3:FD:D6 Join Network
plctool: PushButton: Read timeout or network error
root@OpenWrt:~# 
root@OpenWrt:~# /usr/bin/plctool -i "$PLC" -B"join" "$MAC"
br-lan 30:D3:2D:C3:FD:D6 Join Network
plctool: PushButton: Read timeout or network error
root@OpenWrt:~# /usr/bin/plctool -i "$PLC" -B"status" "$MAC"
br-lan 30:D3:2D:C3:FD:D6 Fetch Network Status
plctool: PushButton: Read timeout or network error

Is it possible for this device to be supported?
Would it require further changes to OpenWRT or should the pro target be suitable?

Any idea what would cause the Read timeout error?

@dvlemplgk
Copy link
Contributor

dvlemplgk commented Nov 13, 2018

Hi Steve

The plctools don't work properly on bridge interfaces, you'll have to provide the underlying eth interface where the PLC chip is connected to. In this case it's eth0. And there are stray 'br-lan' and 'Join' arguments in your commandline above. Positional parameters must be MAC addresses.

e.g.
/usr/bin/plctool -i eth0 -B 1 "$MAC"
/usr/bin/plctool -i eth0 -B join "$MAC"

where MAC = the mac address of the PLC chip, which is configured in the pib during boot up.
You can get it with
plctool -i eth0 -a

@dvlemplgk
Copy link
Contributor

dvlemplgk commented Nov 13, 2018

If you build the packages, the firmware and pib you extracted from firmware.QCA9882-v2.2.0_2018-07-26.dvl must be copied to the directory qca/dlan-pro-1200-ac. Firmware must have extension .nvm pib must end with -mt2675.pib (in your case for MT2675) so the package can be properly built. These names are expected by the Makefile.

The generated fwconfig file should the look similar to this:
PLCFW_PATH=/lib/firmware/plc
PLCFW_NVM='dlan-pro-1200-ac/MAC-7500-v2.6.0-01-NW6__-X-CS.nvm'
PLCFW_PIB='dlan-pro-1200-ac/qca7500-pib15-devolo-mt2675.pib'
PLCFW_PIB_2675='dlan-pro-1200-ac/qca7500-pib15-devolo-mt2675.pib'
PLCFW_HOST=/usr/bin/plchost
PLCFW_SCHEMES=$PLCFW_PATH/dlan-pro-1200-ac

@SteveAyre
Copy link
Author

SteveAyre commented Nov 14, 2018

Updated codeblock formatting to separate commands and output better - they weren't stray br-lan/Join arguments but it did appear that way on a single line.

Thanks for the clarification on the br-lan vs eth0 interface.

The MAC also appears to have been the issue as plc.init detects and updates the PIB with 30:D3:2D:xx:xx:xx but plctool reports a 10:0D:7F:xx:xx:xx address.

The commands you gave work so I will now look at how to get plc-pushbtn to use the correct one.

@OXINARF
Copy link

OXINARF commented Dec 2, 2018

@SteveAyre Nice to see someone else attempting this. I now have PLC working with latest OpenWrt stable version (18.06.1). But I haven't found how to save the security-id when using the push button - after a reboot I have to join it to the network again. @dvlemplgk any tips?

@dvlemplgk As far as I can tell, the delos firmware is no longer in development. If that is correct, would @devolo consider open sourcing parts of it? I understand that some parts are proprietary and wouldn't/couldn't be open, but other parts would be nice to have (even if they don't work/build).

@dvlemplgk
Copy link
Contributor

@OXINARF After successful pairing the key (NMK, which is not the security-id) is saved in the PIB file (/lib/firmware/user.pib resp. user.pib.tmp) by plchost. Those files should be persistent and be used after reboot. Only after firmware reset you would have to pair them again.
Please check with
modpib /lib/firmware/plc/user.pib.tmp -v
which NMK is set after pairing,

@OXINARF
Copy link

OXINARF commented Dec 3, 2018

@dvlemplgk Thanks for clarifying! It didn't work (multiple times) before, but first time I connected it today, it indeed connected to the network without having to re-pair.

I still have to properly test Wifi, but I guess the only thing that is broken is the dLan led trigger, it gives an error request_irq failed with error -22. The led works by manually turning it on, but when setting the gpio (for gpio triggering) it gives that error and led stays off.

@dvlemplgk
Copy link
Contributor

Then your Linux kernel gpio driver seems to not support interrupts for ath79 gpios. They were introduced in linux 4.6.
And there's a hardware bug which makes edge triggered interrupts unreliable, you have to add this patch to the kernel >=4.6:

`
-------------------------- drivers/gpio/gpio-ath79.c --------------------------
index c31f3be289f1..2c69bc7021aa 100644
@@ -131,12 +131,12 @@ static int ath79_gpio_irq_set_type(struct irq_data *data,unsigned int flow_type)
case IRQ_TYPE_EDGE_RISING:
polarity |= mask;
case IRQ_TYPE_EDGE_FALLING:

  • case IRQ_TYPE_EDGE_BOTH:
    break;

    case IRQ_TYPE_LEVEL_HIGH:
    polarity |= mask;
    case IRQ_TYPE_LEVEL_LOW:

  • case IRQ_TYPE_EDGE_BOTH: /* emulate it with level! gpio hw has trouble to recognize the right edges */
    type |= mask;
    break;

`

@OXINARF
Copy link

OXINARF commented Dec 4, 2018

Thanks, I'll have to try that later. I'm using OpenWrt 18.06.1, which has kernel 4.9 so it should have support.

Is there any reason why that couldn't be a patch on OpenWrt (or even submitted to kernel)?




(correctly formatted diff below)

-------------------------- drivers/gpio/gpio-ath79.c --------------------------
index c31f3be289f1..2c69bc7021aa 100644
@@ -131,12 +131,12 @@ static int ath79_gpio_irq_set_type(struct irq_data *data,unsigned int flow_type)
 	case IRQ_TYPE_EDGE_RISING:
 		polarity |= mask;
 	case IRQ_TYPE_EDGE_FALLING:
-	case IRQ_TYPE_EDGE_BOTH:
 		break;
 
 	case IRQ_TYPE_LEVEL_HIGH:
 		polarity |= mask;
 	case IRQ_TYPE_LEVEL_LOW:
+	case IRQ_TYPE_EDGE_BOTH: /* emulate it with level! gpio hw has trouble to recognize the right edges */
 		type |= mask;
 		break;

@dvlemplgk
Copy link
Contributor

Maybe noone is using led gpio interrupt trigger so it went unnoticed? We didn't upstream this patch yet.
Sorry for mangled format. How do you format code properly here (I used 'insert code' button)?

@OXINARF
Copy link

OXINARF commented Dec 4, 2018

Best way is to paste it, then select it and click the insert code button. When it's multiple line you need to use three (or more) backticks and it correctly inserts it if you select multiple lines.

It usually detects the parser correctly but for the above it didn't, so here is what I did there:

```diff

diff patch here

` ``   (space there because I couldn't find how to escape it)

@OXINARF
Copy link

OXINARF commented Feb 16, 2019

@dvlemplgk Any idea what can lead to the following error starting the PLC interface?

daemon.err setsid[1614]: eth0 00:B0:52:00:00:01 Write /lib/firmware/plc/dlan-pro-1200-ac/int6x00.nvm (1) (00000040:32064)
daemon.err setsid[1614]: eth0 00:B0:52:00:00:01 Start /lib/firmware/plc/dlan-pro-1200-ac/int6x00.nvm (1) (000000C0)
daemon.err setsid[1614]: eth0 00:B0:52:00:00:01 Write /lib/firmware/plc/user.pib (1) (00400000:22344)
daemon.err setsid[1614]: eth0 00:B0:52:00:00:01 Write /lib/firmware/plc/dlan-pro-1200-ac/int6x00.nvm (4) (00574464:495516)
daemon.err setsid[1614]: plchost: WriteExecuteFirmware2: Read timeout or network error~

I have a MT2913 working perfectly but now with two new MT2910 I always have this error.

EDIT: Nevermind, it was the firmware itself that wasn't working. For some reason, OpenWrt 18.06.2 works well, but 18.06.1 doesn't on MT2910.

@SteveAyre
Copy link
Author

Note the trigger requires kmod-ledtrig-gpio (I didn't have it installed at first).

I'm also seeing 'request_irq failed with error -22' even after applying the patch above?

@SteveAyre
Copy link
Author

firmware.QCA9882-v2.2.0_2018-07-26.dvl no longer seems to be available on http://devolo.de/

Is there a download for that firmware or a more recent version anywhere on the devolo website?

@SteveAyre
Copy link
Author

I have found devolo-firmware-dlan1200-wifiac_5.2.1-2_i386.deb on http://update.devolo.com which contains delos_dlan-1200-ac_5.2.1_2019-02-19.bin.dvl which appears to have the required nvm and pib files. Is this the correct current version?

@Molkenbur
Copy link

Molkenbur commented Jul 25, 2019

Yes, you are right. This is the latest firmware for dLAN 1200+ WiFi ac. We deploy it via the Cockpit tool to our customers. Same is valid for dLAN 550 WiFi.

@OXINARF
Copy link

OXINARF commented Jul 26, 2019

Wow I thought that delos firmware was dead, but it's now the official firmware for all the older wireless devices. I'll need to check it out when I have time.

@Molkenbur
Copy link

Molkenbur commented Jul 27, 2019

Not all the older wireless devices, to be honest. The cut is for the latest low cost and premium dLAN devices based on HomePlug AV2 And for all new Magic devices based on G.hn as well. BTW: All are using Wi-Fi chipsets from Qualcomm. Maybe, you want to wait for the upcoming version 5.3.0.

@mgiganto
Copy link

Do you know where is the serial port on devolo dlan devices? I am working in the openwrt support for devolo magic 2 wifi but most probably, the serial port is common for all dlan devices.

@SteveAyre
Copy link
Author

Do you know where is the serial port on devolo dlan devices? I am working in the openwrt support for devolo magic 2 wifi but most probably, the serial port is common for all dlan devices.

I'd be pretty careful looking for the serial port given the proximity to mains AC voltage.

I didn't need serial port access to install openwrt, so I don't know where it's located.

@SteveAyre
Copy link
Author

I'd be pretty careful looking for the serial port given the proximity to mains AC voltage.

See the similar warning on https://openwrt.org/toh/devolo/devolo_dlan_pro_wireless_500_plus ;)

@Animal-UK
Copy link

Hi,

Does anyone have a refined process to get this to fully work on the non-pro version?

@scatman75
Copy link

scatman75 commented Feb 15, 2021

Would be really good to have a guide that is describing the process in total. I personally struggled with the selection of all neccessary kernel modules at first. After reading this page and some other sources I managed to get an openwrt version 19.07.3 compiled with dlan-plc firmware.
The result is unfortunately not satisfactory in relation to PLC. The LEDs of both dlan-devices (1x dlan 1200+ & dlan 1200+ wifi ac) start showing active connections, but after a short period the led of the dlan 1200+ is off and the led of the dlan 1200+ wifi ac is blinking red and in the system log of openwrt the following error is displayed:

Mon Feb 14 10:23:10 2021 user.notice plc: stop PLC
Mon Feb 14 10:23:10 2021 user.notice plc: start PLC
Mon Feb 14 10:23:11 2021 user.notice plc: activate PLC Modem
Mon Feb 14 10:23:14 2021 daemon.info dnsmasq[1024]: read /etc/hosts - 4 addresses
Mon Feb 14 10:23:14 2021 daemon.info dnsmasq[1024]: read /tmp/hosts/dhcp.cfg01411c - 0 addresses
Mon Feb 14 10:23:14 2021 daemon.err setsid[1908]: eth0 00:B0:52:00:00:01 Write /lib/firmware/plc/dlan-pro-1200-ac/MAC-7500-v2.8.0-01-NW6__-X-CS.nvm (1) (00000040:32096)
Mon Feb 14 10:23:14 2021 daemon.err setsid[1908]: eth0 00:B0:52:00:00:01 Start /lib/firmware/plc/dlan-pro-1200-ac/MAC-7500-v2.8.0-01-NW6__-X-CS.nvm (1) (000000C0)
Mon Feb 14 10:23:14 2021 daemon.err setsid[1908]: eth0 00:B0:52:00:00:01 Write /lib/firmware/plc/user.pib (1) (00400000:22344)
Mon Feb 14 10:23:14 2021 daemon.err setsid[1908]: eth0 00:B0:52:00:00:01 Write /lib/firmware/plc/dlan-pro-1200-ac/MAC-7500-v2.8.0-01-NW6__-X-CS.nvm (4) (0057BD30:506172)
Mon Feb 14 10:23:14 2021 daemon.err setsid[1908]: eth0 00:B0:52:00:00:01 Start /lib/firmware/plc/dlan-pro-1200-ac/MAC-7500-v2.8.0-01-NW6__-X-CS.nvm (4) (0057C120)
Mon Feb 14 10:23:18 2021 daemon.err setsid[1908]: eth0 F4:06:8D:38:53:D7 MAC-QCA7500-2.8.0.30-01-20190705-CS is running

Can anyone point me into the right direction?

@Animal-UK
Copy link

Would be really good to have a guide that is describing the process in total. I personally struggled with the selection of all neccessary kernel modules at first. After reading this page and some other sources I managed to get an openwrt version 19.07.3 compiled with dlan-plc firmware.
The result is unfortunately not satisfactory in relation to PLC. The LEDs of both dlan-devices (1x dlan 1200+ & dlan 1200+ wifi ac) start showing active connections, but after a short period the led of the dlan 1200+ is off and the led of the dlan 1200+ wifi ac is blinking red and in the system log of openwrt the following error is displayed:

Mon Feb 14 10:23:10 2021 user.notice plc: stop PLC
Mon Feb 14 10:23:10 2021 user.notice plc: start PLC
Mon Feb 14 10:23:11 2021 user.notice plc: activate PLC Modem
Mon Feb 14 10:23:14 2021 daemon.info dnsmasq[1024]: read /etc/hosts - 4 addresses
Mon Feb 14 10:23:14 2021 daemon.info dnsmasq[1024]: read /tmp/hosts/dhcp.cfg01411c - 0 addresses
Mon Feb 14 10:23:14 2021 daemon.err setsid[1908]: eth0 00:B0:52:00:00:01 Write /lib/firmware/plc/dlan-pro-1200-ac/MAC-7500-v2.8.0-01-NW6__-X-CS.nvm (1) (00000040:32096)
Mon Feb 14 10:23:14 2021 daemon.err setsid[1908]: eth0 00:B0:52:00:00:01 Start /lib/firmware/plc/dlan-pro-1200-ac/MAC-7500-v2.8.0-01-NW6__-X-CS.nvm (1) (000000C0)
Mon Feb 14 10:23:14 2021 daemon.err setsid[1908]: eth0 00:B0:52:00:00:01 Write /lib/firmware/plc/user.pib (1) (00400000:22344)
Mon Feb 14 10:23:14 2021 daemon.err setsid[1908]: eth0 00:B0:52:00:00:01 Write /lib/firmware/plc/dlan-pro-1200-ac/MAC-7500-v2.8.0-01-NW6__-X-CS.nvm (4) (0057BD30:506172)
Mon Feb 14 10:23:14 2021 daemon.err setsid[1908]: eth0 00:B0:52:00:00:01 Start /lib/firmware/plc/dlan-pro-1200-ac/MAC-7500-v2.8.0-01-NW6__-X-CS.nvm (4) (0057C120)
Mon Feb 14 10:23:18 2021 daemon.err setsid[1908]: eth0 F4:06:8D:38:53:D7 MAC-QCA7500-2.8.0.30-01-20190705-CS is running

Can anyone point me into the right direction?

im interested in this as per my post, i'd also be interested to understand as to how you flash the unit back to official dlan code.

@scatman75
Copy link

im interested in this as per my post, i'd also be interested to understand as to how you flash the unit back to official dlan code.

I doubt that there is an easy way of flashing back the original firmware. I tried flashing the original DVL file from Devolo via the TFTP method but the device was unresponsive afterwards. Nevertheless a new attempt of flashing the OpenWRT firmware went successful.
A little digging with an hex-editor showed that the DVL file has at least a custom header and footer. Maybe it would be sufficient to strip off custom header and footer. So I figured that without deeper knowledge of the structure of DVL files this is the bottom line.

@garyttirn
Copy link

garyttirn commented Feb 25, 2021

Would be really good to have a guide that is describing the process in total. I personally struggled with the selection of all neccessary kernel modules at first. After reading this page and some other sources I managed to get an openwrt version 19.07.3 compiled with dlan-plc firmware.
The result is unfortunately not satisfactory in relation to PLC. The LEDs of both dlan-devices (1x dlan 1200+ & dlan 1200+ wifi ac) start showing active connections, but after a short period the led of the dlan 1200+ is off and the led of the dlan 1200+ wifi ac is blinking red and in the system log of openwrt the following error is displayed:

Mon Feb 14 10:23:10 2021 user.notice plc: stop PLC
Mon Feb 14 10:23:10 2021 user.notice plc: start PLC
Mon Feb 14 10:23:11 2021 user.notice plc: activate PLC Modem
Mon Feb 14 10:23:14 2021 daemon.info dnsmasq[1024]: read /etc/hosts - 4 addresses
Mon Feb 14 10:23:14 2021 daemon.info dnsmasq[1024]: read /tmp/hosts/dhcp.cfg01411c - 0 addresses
Mon Feb 14 10:23:14 2021 daemon.err setsid[1908]: eth0 00:B0:52:00:00:01 Write /lib/firmware/plc/dlan-pro-1200-ac/MAC-7500-v2.8.0-01-NW6__-X-CS.nvm (1) (00000040:32096)
Mon Feb 14 10:23:14 2021 daemon.err setsid[1908]: eth0 00:B0:52:00:00:01 Start /lib/firmware/plc/dlan-pro-1200-ac/MAC-7500-v2.8.0-01-NW6__-X-CS.nvm (1) (000000C0)
Mon Feb 14 10:23:14 2021 daemon.err setsid[1908]: eth0 00:B0:52:00:00:01 Write /lib/firmware/plc/user.pib (1) (00400000:22344)
Mon Feb 14 10:23:14 2021 daemon.err setsid[1908]: eth0 00:B0:52:00:00:01 Write /lib/firmware/plc/dlan-pro-1200-ac/MAC-7500-v2.8.0-01-NW6__-X-CS.nvm (4) (0057BD30:506172)
Mon Feb 14 10:23:14 2021 daemon.err setsid[1908]: eth0 00:B0:52:00:00:01 Start /lib/firmware/plc/dlan-pro-1200-ac/MAC-7500-v2.8.0-01-NW6__-X-CS.nvm (4) (0057C120)
Mon Feb 14 10:23:18 2021 daemon.err setsid[1908]: eth0 F4:06:8D:38:53:D7 MAC-QCA7500-2.8.0.30-01-20190705-CS is running

Can anyone point me into the right direction?

You got almost to the goal.
Compiling with SETSID support allows for the /etc/init.d/plc script to start the PLC interface (runs plchost process)

What you are probably missing is the PLC Network Key which would be set automatically by the push button pairing.
It can be done from shell also. Your PLC settings are stored to /lib/firmware/plc/user.pib

This is what the settings look like after flashing OpenWRT :

root@OpenWrt:~# chkpib -v /lib/firmware/plc/user.pib
------- /lib/firmware/plc/user.pib -------
	PIB 0-0 21384 bytes
	MAC B8:BE:F4:7F:9C:29
	DAK 5C:A6:7E:27:DB:68:AE:67:B3:C6:6F:F5:A5:0F:F0:4F
	NMK 50:D3:E4:93:3F:85:5B:70:40:78:4D:F8:15:AA:8D:B7 (HomePlugAV)
	NID B0:F2:E6:95:66:6B:03
	Security level 0
	NET 
	MFG devolo dLAN 1200+ WiFi ac [MT2910;X]
	USR OpenWrt
	CCo Auto
	MDU N/A

You need to get open-plc-utils to some Linux to fetch your PLC network config from an active PLC device.
https://github.com/qca/open-plc-utils

Scan the current PLC network, you need to be connected to the same Ethernet segment as the PLC is via Ethernet/WLAN (not PLC). Interface eth0 depends on your PC.

sudo ./plctool -i eth0 -m all
eth0 FF:FF:FF:FF:FF:FF Fetch Network Information
eth0 30:D3:2D:F3:89:6F Found 1 Network(s)

source address = 30:D3:2D:F3:89:6F

	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:F3:89:6F
	network->CCO_TEI = 1
	network->STATIONS = 0

Fetch the config to a tmp-file

sudo ./plctool -i eth0 -p /tmp/remote.pib 30:D3:2D:F3:89:6F
eth0 30:D3:2D:F3:89:6F Read Module from Memory

chkpib -v /tmp/remote.pib
------- /tmp/remote.pib -------
	PIB 0-0 21384 bytes
	MAC 30:D3:2D:F3:89:6F
	DAK 26:CA:8C:A2:D9:08:5F:DD:B5:A6:62:22:2A:17:56:41
	NMK DE:CC:85:24:A5:22:17:71:5F:56:54:3C:9A:6B:3A:F8
	NID 6E:ED:DF:82:15:A3:03
	Security level 0
	NET 
	MFG devolo dLAN 1200+ [MT2853]
	USR Single
	CCo Auto
	MDU N/A

Update the Network Key on OpenWRT PLC

root@OpenWrt:~# modpib -N DE:CC:85:24:A5:22:17:71:5F:56:54:3C:9A:6B:3A:F8 /lib/firmware/plc/user.pib
root@OpenWrt:~# chkpib -v /lib/firmware/plc/user.pib
------- /lib/firmware/plc/user.pib -------
	PIB 0-0 21384 bytes
	MAC B8:BE:F4:7F:9C:29
	DAK 5C:A6:7E:27:DB:68:AE:67:B3:C6:6F:F5:A5:0F:F0:4F
	NMK DE:CC:85:24:A5:22:17:71:5F:56:54:3C:9A:6B:3A:F8
	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

Restart PLC interface
root@OpenWrt:~# /etc/init.d/plc restart

Check PLC network :
I'm running the OpenWRT 21.02 via patch (openwrt/openwrt#3892) so in your 19.07 case the interface could be eth0.

root@OpenWrt:~# plctool -i eth0.1 -m all 
eth0.1 FF:FF:FF:FF:FF:FF Fetch Network Information
eth0.1 B8:BE:F4:7F:9B:29 Found 1 Network(s)

source address = B8:BE:F4:7F:9C:29

	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:E3:89:6F
	network->CCO_TEI = 1
	network->STATIONS = 1

		station->MAC = 30:D3:2D:E3:89:6F
		station->TEI = 1
		station->BDA = 10:C3:7B:9C:A7:C6
		station->AvgPHYDR_TX = 146 mbps Alternate
		station->AvgPHYDR_RX = 158 mbps Alternate

eth0.1 30:D3:2D:F3:89:6F Found 1 Network(s)

source address = 30:D3:2D:F3:89:6F

	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:F3:89:6F
	network->CCO_TEI = 1
	network->STATIONS = 1

		station->MAC = B8:BE:F4:7F:9C:29
		station->TEI = 8
		station->BDA = B8:BE:F4:7F:9C:28
		station->AvgPHYDR_TX = 162 mbps Alternate
		station->AvgPHYDR_RX = 146 mbps Alternate

@scatman75
Copy link

@garyttirn
Many thanks for the detailed explanation. I give this a shot at next weekend.

@scatman75
Copy link

@garyttirn
With your detailed explanations I managed to get it working, see below.

root@OpenWrt:~# plctool -i eth0 -m all
eth0 FF:FF:FF:FF:FF:FF Fetch Network Information
eth0 F4:06:8D:38:53:D7 Found 1 Network(s)

source address = F4:06:8D:38:53:D7

network->NID = 81:E6:66:90:15:5F:07
network->SNID = 11
network->TEI = 2
network->ROLE = 0x00 (STA)
network->CCO_DA = F4:06:8D:29:0A:76
network->CCO_TEI = 1
network->STATIONS = 1

	station->MAC = F4:06:8D:29:0A:76
	station->TEI = 1
	station->BDA = 00:0C:29:E3:79:38
	station->AvgPHYDR_TX = 356 mbps Alternate
	station->AvgPHYDR_RX = 470 mbps Alternate

eth0 F4:06:8D:29:0A:76 Found 1 Network(s)

source address = F4:06:8D:29:0A:76

network->NID = 81:E6:66:90:15:5F:07
network->SNID = 11
network->TEI = 1
network->ROLE = 0x02 (CCO)
network->CCO_DA = F4:06:8D:29:0A:76
network->CCO_TEI = 1
network->STATIONS = 1

	station->MAC = F4:06:8D:38:53:D7
	station->TEI = 2
	station->BDA = F4:06:8D:38:53:D6
	station->AvgPHYDR_TX = 470 mbps Alternate
	station->AvgPHYDR_RX = 356 mbps Alternate

Thank you very much!

@garyttirn
Copy link

Support for the Devolo dLAN pro 1200+ WiFi ac is in the OpenWRT master for target ath79 since this commit.
The snapshot image also works with the white, non-pro Devolo dLAN 1200+ WiFi ac variant.

I enhanced the scripts in PLC firmware package @0xFelix made so that setsid is no longer mandatory and one doesn't have to compile the entire OpenWRT from sources.

I'm unaware of any issue the removal of setsid may bring, however if there are any those are likely to be related to push button pairing which may not work and manual pairing as described above with open-plc-tools needs to be used instead.

The OpenWRT PLC firmware package still needs to be build from sources as Qualcomm license doesn't allow distributing the PLC hardware firmware files. After being built those OpenWRT PLC firmware packages can be used for creating OpenWRT images using ImageBuilder without rebuilding the OpenWRT PLC firmware packages.

I added instructions for creating PLC frmware packages and OpenWRT firmware with the PLC firmware packages embedded to my fork of 0xFelix's repository.

Many thanks to @0xFelix for doing the hard work providing the patch for the Devolo dLAN pro 1200+ WiFi ac support.

@scatman75
Copy link

scatman75 commented Sep 21, 2021

@garyttirn
I tried out your scripts and the explanations on your Github site. Everything worked out well and I was able to build a recent snaphot version with included support for PLC. Thank you very much for your ongoing efforts of making the users life easier.

@TinoKossmann
Copy link

If I interpret it correctly, netfilter is not the problem...

root@OpenWrt:~# /etc/init.d/firewall status
active with no instances

root@OpenWrt:~# cat /etc/config/plc

config plc 'plc'
option disabled '0'
option interface 'br-lan'
option individual_nmk '1'

root@OpenWrt:~# nft list table bridge plc-bridge
table bridge plc-bridge {
chain brouting {
type filter hook prerouting priority -500; policy accept;
ether type 0x88e1 jump plc
}

   chain plc {
           ether saddr 00:b0:52:00:00:01 meta pkttype set host
           ether daddr ff:ff:ff:ff:ff:ff ether saddr f4:06:8d:56:5d:db meta pkttype set host
           ether daddr f4:06:8d:56:5d:da meta pkttype set host
           return
   }

}

There is a rule for MAC ...5D:DB, but ...

root@OpenWrt:~# /tmp/plcstat -i br-lan -t -m all
P/L NET TEI ------ MAC ------ ------ BDA ------ TX RX CHIPSET FIRMWARE
LOC STA 000 F4:06:8D:AF:A9:AD F4:06:8D:56:5D:DA n/a n/a QCA7500 MAC-QCA7500-2.8.0.30-01-20190705-CS

... this doesn´t look correct for me.

Also i only see one adapter, if i call plctool on my server (while the OpenWRT adapter is reachable by TP, too).

root@vServer01:~# plctool -i ens192 -m all
ens192 FF:FF:FF:FF:FF:FF Fetch Network Information
ens192 F4:06:8D:AF:A9:AD Found 0 Network(s)

source address = F4:06:8D:AF:A9:AD

root@vServer01:~# ping -c 1 10.81.0.201
PING 10.81.0.201 (10.81.0.201) 56(84) bytes of data.
64 bytes from 10.81.0.201: icmp_seq=1 ttl=64 time=0.342 ms

root@vServer01:~# arp -a | grep "10.81.0.201"
OpenWRT (10.81.0.201) auf f4:06:8d:56:5d:da [ether] auf ens192

@noblemtw
Copy link

Have you tried with individual_nmk set to 0, thats what I have on my working system. I'm not entirely sure what the setting does, but it feels like you should have the same network management key set on all devices...

The nftables rules look correct, first line is some sort of default mac that the devices use on boot, while 2nd and 3rd line should be the mac of the powerline and ethernet interfaces of the device and my devices at least, the powerline mac is the ethernet mac+1...

The plcstat output looks odd as the local and remote mac addresses are totally different, could you have accidentally duplicated the plc mac on more than one device, that could also explain why it's not working.

@TinoKossmann
Copy link

TinoKossmann commented Jun 11, 2024

New attempt, from the beginning...
Stock firmware on both devices, reset to factory defaults and paired by pressing the buttons. devolo dLAN 1200+ [MT2639] connected to switch by TP, devolo dLAN 1200+ WiFi ac [MT2673;X] only connected by PLC. plctools running on Ubuntu build server (vTest01):

root@vTest01:~# plctool -i ens192 -m all
ens192 FF:FF:FF:FF:FF:FF Fetch Network Information
ens192 F4:06:8D:AF:A9:AD Found 1 Network(s)

source address = F4:06:8D:AF:A9:AD

        network->NID = 08:28:44:0C:6E:EF:07
        network->SNID = 5
        network->TEI = 4
        network->ROLE = 0x02 (CCO)
        network->CCO_DA = F4:06:8D:AF:A9:AD
        network->CCO_TEI = 4
        network->STATIONS = 1

                station->MAC = F4:06:8D:56:5D:DB
                station->TEI = 1
                station->BDA = F4:06:8D:56:5D:DA
                station->AvgPHYDR_TX = 654 mbps Alternate
                station->AvgPHYDR_RX = 627 mbps Alternate

ens192 F4:06:8D:56:5D:DB Found 1 Network(s)

source address = F4:06:8D:56:5D:DB

        network->NID = 08:28:44:0C:6E:EF:07
        network->SNID = 5
        network->TEI = 1
        network->ROLE = 0x00 (STA)
        network->CCO_DA = F4:06:8D:AF:A9:AD
        network->CCO_TEI = 4
        network->STATIONS = 1

                station->MAC = F4:06:8D:AF:A9:AD
                station->TEI = 4
                station->BDA = E0:28:6D:75:DB:39
                station->AvgPHYDR_TX = 657 mbps Alternate
                station->AvgPHYDR_RX = 654 mbps Alternate
root@vTest01:~# plctool -i ens192 -p /tmp/remote-1200.pib F4:06:8D:AF:A9:AD
ens192 F4:06:8D:AF:A9:AD Read Module from Memory

root@vTest01:~# plctool -i ens192 -p /tmp/remote-1200wifi.pib F4:06:8D:56:5D:DB
ens192 F4:06:8D:56:5D:DB Read Module from Memory

root@vTest01:~# chkpib -v /tmp/remote-1200.pib
------- /tmp/remote-1200.pib -------
        PIB 0-0 21384 bytes
        MAC F4:06:8D:AF:A9:AD
        DAK 90:3C:38:09:4D:65:9E:01:9D:71:A2:53:10:72:9F:9E
        NMK 08:B7:BD:F3:76:D3:18:7E:38:E0:A1:D5:29:79:E8:C0
        NID 08:28:44:0C:6E:EF:07
        Security level 0
        NET
        MFG devolo dLAN 1200+ [MT2639]
        USR
        CCo Auto
        MDU N/A

root@vTest01:~# chkpib -v /tmp/remote-1200wifi.pib
------- /tmp/remote-1200wifi.pib -------
        PIB 0-0 21384 bytes
        MAC F4:06:8D:56:5D:DB
        DAK 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 (none/secret)
        NMK 08:B7:BD:F3:76:D3:18:7E:38:E0:A1:D5:29:79:E8:C0
        NID 08:28:44:0C:6E:EF:07
        Security level 0
        NET
        MFG devolo dLAN 1200+ WiFi ac [MT2673;X]
        USR devolo-919
        CCo Auto
        MDU N/A
root@vTest01:~# plcstat -i ens192 -m
 NID 08:28:44:0C:6E:EF:07 SNID 005
 CCO TEI 004 MAC F4:06:8D:AF:A9:AD BDA 00:0C:29:E7:03:B9
 STA TEI 001 MAC F4:06:8D:56:5D:DB BDA F4:06:8D:56:5D:DA TX 722 RX 657

=> both adapter paired, using NMK 08:B7:BD:F3:76:D3:18:7E:38:E0:A1:D5:29:79:E8:C0.

devolo dLAN 1200+ WiFi ac [MT2673;X] taken out of the socket, connected to switch by TP, pluged into socket again, flashed OpenWRT (now actual Snapshot r26592-83311b7470).

Pairing got lost, of course - but server doesn´t see devolo dLAN 1200+ WiFi ac [MT2673;X] anymore:

root@vTest01:~# plctool -i ens192 -m all
ens192 FF:FF:FF:FF:FF:FF Fetch Network Information
ens192 F4:06:8D:AF:A9:AD Found 1 Network(s)

source address = F4:06:8D:AF:A9:AD

        network->NID = 08:28:44:0C:6E:EF:07
        network->SNID = 5
        network->TEI = 4
        network->ROLE = 0x02 (CCO)
        network->CCO_DA = F4:06:8D:AF:A9:AD
        network->CCO_TEI = 4
        network->STATIONS = 0

OpenWRT seems to use default NKM:

root@OpenWrt:~# chkpib -v /lib/firmware/plc/user.pib
------- /lib/firmware/plc/user.pib -------
        PIB 0-0 21384 bytes
        MAC F4:06:8D:56:5D:DB
        DAK AC:04:CB:D4:44:B3:FB:99:E6:12:BF:DE:1D:34:C0:80
        NMK 50:D3:E4:93:3F:85:5B:70:40:78:4D:F8:15:AA:8D:B7 (HomePlugAV)
        NID B0:F2:E6:95:66:6B:03
        Security level 0
        NET
        MFG devolo dLAN 1200+ WiFi ac [MT2673;X]
        USR OpenWrt
        CCo Auto
        MDU N/A

Set correct NMK:

root@OpenWrt:~# modpib -N 08:B7:BD:F3:76:D3:18:7E:38:E0:A1:D5:29:79:E8:C0 /lib/firmware/plc/user.pib

root@OpenWrt:~# /etc/init.d/plc restart
setting up led dLAN

No success, own PLC is still missing:

root@OpenWrt:~# plctool -i br-lan -m all
br-lan FF:FF:FF:FF:FF:FF Fetch Network Information
br-lan F4:06:8D:AF:A9:AD Found 1 Network(s)

source address = F4:06:8D:AF:A9:AD

        network->NID = 08:28:44:0C:6E:EF:07
        network->SNID = 5
        network->TEI = 4
        network->ROLE = 0x02 (CCO)
        network->CCO_DA = F4:06:8D:AF:A9:AD
        network->CCO_TEI = 4
        network->STATIONS = 0

plcstat (which is missing in the flashed image, by the way) looks different, but shows MAC ...5D:DA (not ...5D:DB):

root@OpenWrt:/tmp# ./plcstat -i br-lan -t -m all
 P/L NET TEI ------ MAC ------ ------ BDA ------  TX  RX CHIPSET FIRMWARE
 LOC CCO 004 F4:06:8D:AF:A9:AD F4:06:8D:56:5D:DA n/a n/a QCA7500 MAC-QCA7500-2.8.0.30-01-20190705-CS
 NID 08:28:44:0C:6E:EF:07 SNID 005
 CCO TEI 004 MAC F4:06:8D:AF:A9:AD BDA F4:06:8D:56:5D:DA

Server still doesn´t see the adapter:

root@vTest01:~# plcstat -i ens192 -t -m all
P/L NET TEI ------ MAC ------ ------ BDA ------  TX  RX CHIPSET FIRMWARE
LOC CCO 004 F4:06:8D:AF:A9:AD 00:0C:29:E7:03:B9 n/a n/a QCA7500 MAC-QCA7500-2.8.0.30-01-20190705-CS
NID 08:28:44:0C:6E:EF:07 SNID 005
CCO TEI 004 MAC F4:06:8D:AF:A9:AD BDA 00:0C:29:E7:03:B9

Rest looks good (i think):

root@OpenWrt:~# nft list table bridge plc-bridge
table bridge plc-bridge {
        chain brouting {
                type filter hook prerouting priority -500; policy accept;
                ether type 0x88e1 jump plc
        }

        chain plc {
                ether saddr 00:b0:52:00:00:01 meta pkttype set host
                ether daddr ff:ff:ff:ff:ff:ff ether saddr f4:06:8d:56:5d:db meta pkttype set host
                ether daddr f4:06:8d:56:5d:da meta pkttype set host
                return
        }
}

root@OpenWrt:~# /etc/init.d/firewall status
active with no instances

root@OpenWrt:/# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP qlen 1000
    link/ether f4:06:8d:56:5d:da brd ff:ff:ff:ff:ff:ff
    inet6 fe80::f606:8dff:fe56:5dda/64 scope link
       valid_lft forever preferred_lft forever
4: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether f4:06:8d:56:5d:da brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global br-lan
       valid_lft forever preferred_lft forever
    inet6 fdaa:9336:f41c::1/60 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::f606:8dff:fe56:5dda/64 scope link
       valid_lft forever preferred_lft forever
5: eth0.2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-lan state UP qlen 1000
    link/ether f4:06:8d:56:5d:da brd ff:ff:ff:ff:ff:ff
6: eth0.1@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether f4:06:8d:56:5d:da brd ff:ff:ff:ff:ff:ff
    inet6 fe80::f606:8dff:fe56:5dda/64 scope link
       valid_lft forever preferred_lft forever

root@OpenWrt:~# ll /lib/firmware/plc/*
-rw-r--r--    1 root     root            33 Jun 10 23:12 /lib/firmware/plc/dak
-rw-r--r--    1 root     root            20 Jun 10 23:12 /lib/firmware/plc/security-id
-rw-r--r--    1 root     root             0 Jun 10 23:23 /lib/firmware/plc/user.nvm.tmp
-rw-r--r--    1 root     root         22344 Jun 10 23:23 /lib/firmware/plc/user.pib
-rw-r--r--    1 root     root             0 Jun 10 23:23 /lib/firmware/plc/user.pib.tmp

/lib/firmware/plc/devolo,dlan-pro-1200plus-ac:
drwxr-xr-x    2 root     root           159 Jun 10 23:10 ./
drwxr-xr-x    1 root     root             0 Jun 10 23:23 ../
-rw-r--r--    1 root     root        913944 Jun 10 23:10 MAC-7500-v2.8.0-01-NW6__-X-CS.nvm
-rw-r--r--    1 root     root           344 Jun 10 23:10 fwconfig
-rwxr-xr-x    1 root     root            60 Jun 10 23:10 led_scheme_off*
-rwxr-xr-x    1 root     root            60 Jun 10 23:10 led_scheme_on*
-rw-r--r--    1 root     root         22344 Jun 10 23:10 qca7500-pib15mac28-devolo-mt2673.pib

@jrfVP42bLiUWAYOShp5r
Copy link

jrfVP42bLiUWAYOShp5r commented Jul 1, 2024

Heyho... i screwed up my 1200+ WiFi ac by trying to flash the latest stock firmware delos_dlan-1200-ac_6.0.1_2023-09-06.bin over the TFTP-Methode. If i turn on the dLAN 1200+ WiFi ac now, the Powerline Button is just red and nothing else happens. I think i can still use the TFTP Methode to flash a new image, but i have the feeling, that i need a different image. Do you have any advice? can i use the OpenWRT Luci to flash the stock firmware?

@TinoKossmann
Copy link

TinoKossmann commented Jul 1, 2024

First of all, this is not a general discussion forum, this is a specific issue and should only deal with this topic.

Nevertheless, regarding your problem: You have to press the reset button (inside the small hole) for several seconds while (!) supplying the Devolo with power.
The TFTP server must be running on IP 192.168.0.100, reachable by LAN and provide the file "uploadfile" (rename the image).

From https://openwrt.org/toh/devolo/dlan_pro_1200_wifi_ac:
- the image on the TFTP server must be called “uploadfile”
- setup your TFTP server to use the IP address 192.168.0.100/24
- connect an ethernet cable between your computer and one of the LAN ports
- power it up while pushing down the reset button
- wait until Home/WiFi-LEDs blink red/white a few times and stay on, then release the reset button
- wait until LEDs stop to blink red/white
- the device should boot now

@howels
Copy link

howels commented Sep 2, 2024

New attempt, from the beginning... Stock firmware on both devices, reset to factory defaults and paired by pressing the buttons. devolo dLAN 1200+ [MT2639] connected to switch by TP, devolo dLAN 1200+ WiFi ac [MT2673;X] only connected by PLC. plctools running on Ubuntu build server (vTest01):

Did you get anywhere? I am trying to add an OpenWRT DLAN 1200+ ac (MT2765) to an existing network of x2 identical adapters, I can see the network, copy the NMK and successfully restart plc but I don't get the adapter coming online.

I've built the dlan packages from the feed and compiled a v23.05.4 image for devolo_dlan-pro-1200plus-ac, with the dlan-fw-pro-1200plus-ac, dlan-plc and various open-plc-utils items.

@TinoKossmann
Copy link

Did you get anywhere?

No, I have given up until further notice.

@howels
Copy link

howels commented Sep 3, 2024

@garyttirn is the feed working with v23.05.4 and do you have any troubleshooting steps to determine why setting the NMK doesn't allow joining the network?

@garyttirn
Copy link

garyttirn commented Sep 3, 2024

I'm running v23.05.4 on my two white Devolo dLAN non-pro 1200+ (MT2910, firmware MAC-QCA7550-2.8.0.30-01-20190705-CS), these are dumb WiFi APs, my router is another device. I have not never had this kind of issue connecting devices to the PLC network, and there has been less need to troubleshoot.

I have not rebuild the dlan-packages from sources since 22.03 but rather build the sysupgrade-images using Imagebuilder and using existing ipk-dlan-packages (dlan-fw-pro-1200plus-ac_1.3-2_mips_24kc.ipk and dlan-plc_1.3-2_mips_24kc.ipk)

wget openwrt-imagebuilder-23.05.4-ath79-generic.Linux-x86_64.tar.xz
tar Jxvf openwrt-imagebuilder-23.05.4-ath79-generic.Linux-x86_64.tar.xz

cd openwrt-imagebuilder*-ath79-generic.Linux-x86_64
mkdir -p packages
cp ../dlan-22.03-no-setsid/*.ipk packages

#Add PLC files as custom
sed -i 's/^# src custom.*$/src\/gz custom file:packages/' repositories.conf

make image \
PROFILE=devolo_dlan-pro-1200plus-ac \
PACKAGES="-ppp -ppp-mod-pppoe -wpad-basic-wolfssl -wpad-basic-mbedtls wpad-wolfssl collectd-mod-cpu collectd-mod-interface collectd-mod-netlink collectd-mod-iwinfo collectd-mod-memory collectd-mod-network collectd-mod-conntrack collectd-mod-load collectd-mod-table collectd coreutils-timeout dlan-fw-pro-1200plus-ac dlan-plc etherwake hostapd-utils iperf3 luci-base luci-compat luci-app-firewall luci-app-commands luci-app-opkg luci-app-usteer luci-mod-admin-full luci-theme-openwrt-2020 mailsend nano open-plc-utils-modpib open-plc-utils-plcstat sysstat tcpdump uhttpd uhttpd-mod-ubus usteer" \
FILES=../plc \
EXTRA_IMAGE_NAME="plc" \
DISABLED_SERVICES="dnsmasq"

I never had to touch the pib after upgrade as it has always been part of the configuration backup.

Now what is different in my config and your is the eth0, I don't have any VLANs, those must be coming from a vanilla OpenWRT install as there CPU gets WAN and LAN via different VLAN and on these dumb APs of mine there is no need for WAN (or VLANs)

2: eth0:  mtu 1500 qdisc fq_codel master br-lan state UP qlen 1000
    link/ether 30:d3:2d:f1:2f:79 brd ff:ff:ff:ff:ff:ff

root@plc:~# brctl show br-lan
bridge name	bridge id		STP enabled	interfaces
br-lan		7fff.30d32df12f79	no		eth0
							phy0-ap0
							phy1-ap0

root@plc:~# uci show network | grep switch
network.@switch[0]=switch
network.@switch[0].name='switch0'
network.@switch[0].reset='1'
network.@switch[0].enable_vlan='0'
network.@switch_vlan[0]=switch_vlan
network.@switch_vlan[0].device='switch0'
network.@switch_vlan[0].vlan='1'
network.@switch_vlan[0].ports='2 3 4 0'

I think you need to test after setting the switch like this :
image

I don't think PLC works over tagged VLAN, not with the current netfilter anyhow.

I better update the READMEs if that is the case, it has been few years since I took these into use and I probably had forgotten about the cleanup I made to VLANs. Nowaday I'm just restoring config backups and not doing clean installs.

@howels
Copy link

howels commented Sep 5, 2024

I don't think PLC works over tagged VLAN, not with the current netfilter anyhow.

I better update the READMEs if that is the case, it has been few years since I took these into use and I probably had forgotten about the cleanup I made to VLANs. Nowaday I'm just restoring config backups and not doing clean installs.

Bingo! You are absolutely correct, I am also not using the WAN routing here as it's purely to bridge Ethernet/Powerline/Wifi. I remove the VLAN tagging from the bridge and instantly the device appears via plctool and starts working. It's communicating with Devolo adapters on their stock firmware and also shows up in the Devolo Cockpit GUI tool.

For anyone else needing to make the change, these are the sections of /etc/config/network that need to be corrected in the current OpenWRT images:

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'eth0'

config switch
	option name 'switch0'
	option reset '1'
	option enable_vlan '0'

config switch_vlan
	option device 'switch0'
	option vlan '1'
	option ports '2 3 4 0'

@garyttirn
Copy link

I don't think PLC works over tagged VLAN, not with the current netfilter anyhow.
I better update the READMEs if that is the case, it has been few years since I took these into use and I probably had forgotten about the cleanup I made to VLANs. Nowaday I'm just restoring config backups and not doing clean installs.

Bingo! You are absolutely correct, I am also not using the WAN routing here as it's purely to bridge Ethernet/Powerline/Wifi. I remove the VLAN tagging from the bridge and instantly the device appears via plctool and starts working. It's communicating with Devolo adapters on their stock firmware and also shows up in the Devolo Cockpit GUI tool.

I updated the feed README and now VLAN removal is noted there also.

Thanks for testing @howels.

@TinoKossmann
Copy link

TinoKossmann commented Sep 12, 2024

WTF ?!?! Yes - that works (for LAN)! Thanks!

But what configuration can I use to additionally activate Wifi (as access point)? After I activated “radio0 - Qualcomm Atheros QCA9880 802.11ac/n”, there is no more PLC communication (again).

@garyttirn
Copy link

garyttirn commented Sep 12, 2024

But what configuration can I use to additionally activate Wifi (as access point)?

By default OpenWRT is also a router and if you have an external router you probably want to turn it into a dumb AP. As the guide says just assign unused IP address (outside main router DHCP range) to PLC LAN interface as static IP address so you can still manage the PLC device from your LAN. The main thing is to disable dnsmasqd (service dnsmasq disable), that is the DHCP server.

If you don't do this, both PLC device and main router will have DHCP server active and that will cause issues in your LAN, including the PLC network.

Do not disable the firewall on the dumb AP PLC device, it will break the PLC connection as the netfilter firewall also handles layer 2 filtering used by the PLC driver (forwarding PLC specific packets to the plchost-process)

@nicolabeghin
Copy link

Sorry for barging in: anyone able to share older Devolo firmwares (like delos_dlan-1200-ac_5.2.1_2019-02-19.bin.dvl) since the official site is offering only the latest delos_dlan-1200-ac_6.0.1_2023-09-06.bin not useful if stuck on 2.2.0?

Specifically, I'm looking for

  • delos_dlan-1200-ac_5.2.1_2019-02-19.bin.dvl
  • delos_dlan-1200-ac_5.3.3_2019-09-23.bin.dvl
  • delos_dlan-1200-ac_5.6.1_2020-10-23.bin.dvl

thanks!

@jrfVP42bLiUWAYOShp5r
Copy link

TinoKossmann instructions work with the stock firmware as well.

Nevertheless, regarding your problem: You have to press the reset button (inside the small hole) for several seconds while (!) supplying the Devolo with power.
The TFTP server must be running on IP 192.168.0.100, reachable by LAN and provide the file "uploadfile" (rename the image).

From https://openwrt.org/toh/devolo/dlan_pro_1200_wifi_ac:

  • the image on the TFTP server must be called “uploadfile”
  • setup your TFTP server to use the IP address 192.168.0.100/24
  • connect an ethernet cable between your computer and one of the LAN ports
  • power it up while pushing down the reset button
  • wait until Home/WiFi-LEDs blink red/white a few times and stay on, then release the reset button
  • wait until LEDs stop to blink red/white
  • the device should boot now

@garyttirn
Copy link

Sorry for barging in: anyone able to share older Devolo firmwares (like delos_dlan-1200-ac_5.2.1_2019-02-19.bin.dvl) since the official site is offering only the latest delos_dlan-1200-ac_6.0.1_2023-09-06.bin [not useful if stuck on 2.2.0]

Your best option seems to be to contact Devolo support, the same this bloke has done in February.
The links he got no longer seem to work.

https://www.c-amie.co.uk/technical/cannot-update-from-firmware-2-2-0-on-devolo-dlan-1200-wifi-ac-powerline-adapter/

@nicolabeghin
Copy link

Your best option seems to be to contact Devolo support, the same this bloke has done in February.

That's what I did and got some disturbing reply 😞:

devolo solutions GmbH is not a legal successor of the former devolo GmbH and cannot offer support & service for dLAN products of the former devolo GmbH.

@jrfVP42bLiUWAYOShp5r
Copy link

Use the TFTP Methode. I flashes 7 1200 devolos with it. Takes 5 Minutes.

@nicolabeghin
Copy link

nicolabeghin commented Sep 17, 2024

Use the TFTP Methode. I flashes 7 1200 devolos with it. Takes 5 Minutes.

is this a reply for me as well? :-)

@jrfVP42bLiUWAYOShp5r
Copy link

@nicolabeghin yes

@bong1991
Copy link
Contributor

bong1991 commented Sep 17, 2024

Sorry for barging in: anyone able to share older Devolo firmwares (like delos_dlan-1200-ac_5.2.1_2019-02-19.bin.dvl) since the official site is offering only the latest delos_dlan-1200-ac_6.0.1_2023-09-06.bin not useful if stuck on 2.2.0?

Specifically, I'm looking for

  • delos_dlan-1200-ac_5.2.1_2019-02-19.bin.dvl

  • delos_dlan-1200-ac_5.3.3_2019-09-23.bin.dvl

  • delos_dlan-1200-ac_5.6.1_2020-10-23.bin.dvl

thanks!

Hi @nicolabeghin ,

Let me get back to you next week after my vacation and I'll try to provide the files.

BR
Thomas

@howels
Copy link

howels commented Sep 17, 2024

@nicolabeghin
Copy link

nicolabeghin commented Sep 17, 2024

  • delos_dlan-1200-ac_5.6.1_2020-10-23.bin.dvl

I put the filename into Google and found this site (https://www.c-amie.co.uk/technical/cannot-update-from-firmware-2-2-0-on-devolo-dlan-1200-wifi-ac-powerline-adapter/) which deeplinks to https://discovery.devolo.com/index.php/s/xaq4Kax7GaRiacz/download?path=%2FdLAN1200_WiFi_ac&files=delos_dlan-1200-ac_5.6.1_2020-10-23.bin.dvl and other files.

That link is in my first thread above - the links inside are dead and the reason why I'm asking for any mirror

@howels
Copy link

howels commented Sep 17, 2024

  • delos_dlan-1200-ac_5.6.1_2020-10-23.bin.dvl

I put the filename into Google and found this site (https://www.c-amie.co.uk/technical/cannot-update-from-firmware-2-2-0-on-devolo-dlan-1200-wifi-ac-powerline-adapter/) which deeplinks to https://discovery.devolo.com/index.php/s/xaq4Kax7GaRiacz/download?path=%2FdLAN1200_WiFi_ac&files=delos_dlan-1200-ac_5.6.1_2020-10-23.bin.dvl and other files.

That link is in my first thread above - the links inside are dead and the reason why I'm asking for any mirror

I just downloaded several and the links are working here

@nicolabeghin
Copy link

I just downloaded several and the links are working here

If so would you be so kind to download them and upload on any kind of sharing like Dropbox/drive to share with me? 😅

@howels
Copy link

howels commented Sep 17, 2024

I just downloaded several and the links are working here

If so would you be so kind to download them and upload on any kind of sharing like Dropbox/drive to share with me? 😅

These contain Devolo closed source components which I am not able to distribute, try to use a different connection as it looks like you are being blocked.

@nicolabeghin
Copy link

@howels thanks all good!

@execnull
Copy link

Hello,

I am facing an identical issue trying to upgrade from firmware 2.2.0. I tried to download the files from the links above, and from various different connections in multiple countries, but the request always times out. @nicolabeghin did you manage to download the files after all?

@nicolabeghin
Copy link

I am facing an identical issue trying to upgrade from firmware 2.2.0. I tried to download the files from the links above, and from various different connections in multiple countries, but the request always times out. @nicolabeghin did you manage to download the files after all?

available from this unofficial mirror, hope it can be helpful!

@execnull
Copy link

This has been extremely thankful, thanks a lot @nicolabeghin!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests