Devolo Magic 2 WiFi lost powerline capability

Hi!

I am comfortable with command-line linux, ssh, etc. and as an OpenWrt newbie emboldened by my first successful installation on a Netgear router, I decided to do something really reckless and try flashing my Devolo Magic 2 WiFi adapters.

Of course I half-bricked one of them: the powerline capability is completely gone.

To be fair, the writing was on the wall. This page says "Powerline only supported by external package feed", which unhelpfully points to a dead link. However, and this is what convinced me to take the leap, I found a git commit which instead suggests that "PLC configuration/link should remain in different memory and should work straight forward after flashing" and "pairing should be possible" by playing with GPIO switches.

Buyer beware: none of that is actually true. :grinning:

In fact, the PLC configuration/link died a horrible death, and of these advertised GPIO switches:

   GPIO Switch: 11-PLC Pairing (Active Low)
                13-PLC Enable
                21-WLAN pow

only 13 and 21 are actually there, and they do bugger all (I tried all possible 4 combinations). :joy:

At that point, I tried installing the latest OpenWrt snapshot and that's when GPIO 11 (PLC Pairing) showed up. I was very excited. But unfortunately, it does absolutely nothing at all (I tried both states in case "Active Low" was true). There is no way to pair this adaptor to another one which uses the original firmware.

Last, while I was already morally prepared to kissing goodbye to this powerline adaptor, I tried restoring the original firmware (both via TFTP and by following this guide) with disastrous results. I suspect that the current OEM firmware binary is in fact a bundle of many files and I should decompose and isolate the actual firmware hidden in there.

I am about to bin the adapter and call it a failed experiment, unless you experts have any ideas on how to fix some or all of this. Even going back to the original firmware would be a great achievement.

Thank you in advance for your replies!!

If your device supports tftp recovery this should still be possible I hope. What happens when you try the tftp?

The one time I tried I got a static red light on the powerline adaptor led, completely unresponsive.

But maybe I cocked it up somehow. I'll give it another go.

The reason I am mildly disappointed is that my Netgear was reborn with OpenWrt, and I was hoping I could do the same with these powerlines, which have excellent hardware and performance in my experience, but the firmware is extremely limited.

Try wiresharking the network during the tftp attempt... Let's see what it actually does

Will do. The protocol should be quite simple if it is true to its name so I might be able to actually understand what's going on...

OK, it seems that somehow I messed up not one, but two recovery attempts! I cleaned everything up (the directory I was working with was messy) and of course third time lucky. Sorry for crying wolf.

I am still convinced something in that commit (claiming to add support for this piece of hardware) is untrue. If I had to take a guess, I'd say almost everything. :grinning: This is something I extracted from the OEM image:

case "$board" in
    granada)
        POWER_PLC=/sys/class/gpio/gpio60/value
        NEED_EBTABLES=1
        ;;
    devolo-hk)
        POWER_PLC=/sys/class/gpio/gpio32/value
        ;;
    dlan-550-wifi)
        POWER_PLC=/sys/class/gpio/gpio16/value
        ;;
    dlan-1000-ac)
        POWER_PLC=/sys/class/gpio/gpio2/value
        ;;
    dlan2-2400-ac)
        POWER_PLC=/sys/class/gpio/gpio63/value
        ;;
    dlan-pro-1200-ac|\
    dlan-pro-1200-n)
        POWER_PLC=/sys/class/gpio/gpio13/value
        ;;
esac

The dlan2-2400-ac board seems to control power to the PLC via gpio63, not gpio13.

99% that commit wasn't tested on my hardware, if at all. To be fair, though, I don't know if it was actually merged on master. :stuck_out_tongue:

There have been some changes in how GPIOs are handled which caused numbers for the same pins to change.

I see, fair enough: I am unfamiliar with sysfs and if gpio13 is effectively synonym for gpio63 in this context, then I stand corrected. Red herring I guess.

OK then, I'll keep it on OEM firmware and call it a day. Given that this thing already runs a dumbed-down OpenWrt out of the box, and I did manage to unpack its filesystem in a directory and find out exactly where they disable the SSH server (which is called like something...bear I think), sorting this out should be easy for a more competent individual. I am a programmer, but I don't know anything about this kind of machines.

Cheers!