-
Notifications
You must be signed in to change notification settings - Fork 6
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
Comments
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. where MAC = the mac address of the PLC chip, which is configured in the pib during boot up. |
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: |
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. |
@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). |
@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. |
@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 |
Then your Linux kernel gpio driver seems to not support interrupts for ath79 gpios. They were introduced in linux 4.6. `
` |
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)? -------------------------- 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; |
Maybe noone is using led gpio interrupt trigger so it went unnoticed? We didn't upstream this patch yet. |
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:
|
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. |
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? |
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? |
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? |
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. |
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. |
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. |
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. |
See the similar warning on https://openwrt.org/toh/devolo/devolo_dlan_pro_wireless_500_plus ;) |
Hi, Does anyone have a refined process to get this to fully work on the non-pro version? |
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. Mon Feb 14 10:23:10 2021 user.notice plc: stop PLC 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. |
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. |
You got almost to the goal. What you are probably missing is the PLC Network Key which would be set automatically by the push button pairing. This is what the settings look like after flashing OpenWRT :
You need to get open-plc-utils to some Linux to fetch your PLC network config from an active PLC device. 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.
Fetch the config to a tmp-file
Update the Network Key on OpenWRT PLC
Restart PLC interface Check PLC network :
|
@garyttirn |
@garyttirn root@OpenWrt:~# plctool -i eth0 -m all source address = F4:06:8D:38:53:D7
eth0 F4:06:8D:29:0A:76 Found 1 Network(s) source address = F4:06:8D:29:0A:76
Thank you very much! |
Support for the Devolo dLAN pro 1200+ WiFi ac is in the OpenWRT master for target ath79 since this commit. 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. |
@garyttirn |
If I interpret it correctly, netfilter is not the problem...
There is a rule for MAC ...5D:DB, but ...
... 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).
|
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. |
New attempt, from the beginning...
=> 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:
OpenWRT seems to use default NKM:
Set correct NMK:
No success, own PLC is still missing:
plcstat (which is missing in the flashed image, by the way) looks different, but shows MAC ...5D:DA (not ...5D:DB):
Server still doesn´t see the adapter:
Rest looks good (i think):
|
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? |
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. From https://openwrt.org/toh/devolo/dlan_pro_1200_wifi_ac: |
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 I've built the |
No, I have given up until further notice. |
@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? |
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 : 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 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:
|
I updated the feed README and now VLAN removal is noted there also. Thanks for testing @howels. |
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). |
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) |
Sorry for barging in: anyone able to share older Devolo firmwares (like Specifically, I'm looking for
thanks! |
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. From https://openwrt.org/toh/devolo/dlan_pro_1200_wifi_ac:
|
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 😞:
|
Use the TFTP Methode. I flashes 7 1200 devolos with it. Takes 5 Minutes. |
is this a reply for me as well? :-) |
@nicolabeghin yes |
Hi @nicolabeghin , Let me get back to you next week after my vacation and I'll try to provide the files. BR |
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
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 |
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. |
@howels thanks all good! |
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? |
available from this unofficial mirror, hope it can be helpful! |
This has been extremely thankful, thanks a lot @nicolabeghin! |
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:
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?
The text was updated successfully, but these errors were encountered: