[LEDE-DEV] [PATCH] ramips: add support for Loewe WMDR-143N
Oliver Fleischmann
ogf at bnv-bamberg.de
Tue Jul 18 12:15:55 PDT 2017
Hello Mathias,
many thanks for your review!
>> +#include "rt3883.dtsi"
>> +
>> +#include <dt-bindings/input/input.h>
>
> You can drop this include. You don't have any input devices (buttons)
> in your dts.
OK, I will change that for my next attempt.
>> +
>> +/ {
>> + compatible = "WMDR-143N", "ralink,rt3883-soc";
>
> should be: compatible = "loewe,wmdr-143n", "ralink,rt3883-soc";
OK.
>> +&gpio1 {
>> + status = "okay";
>> +};
>
> The gpio1 node can be dropped. None of the SoC pins are used as GPIOs
> for this board.
OK.
>> +&pinctrl {
>> + state_default: pinctrl0 {
>> + gpio {
>> + ralink,group = "i2c", "jtag", "uartf";
>> + ralink,function = "gpio";
>> + };
>> + };
>> +};
>
> Same as above. None if the pins in these groups are used as GPIO.
But if I remove this part, the kernel hangs during boot reproducibly:
(...)
[ 0.134508] clocksource: jiffies: mask: 0xffffffff max_cycles:
0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.154048] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.166222] pinctrl core: initialized pinctrl subsystem
[ 0.177541] NET: Registered protocol family 16
and gone. It doesn't matter if I leave all three groups or only one of
them, but as soon as I remove them all, it hangs. So I'd prefer to keep
this...
>> +ðernet {
>> + mtd-mac-address = <&factory 0x4>;
>> +
>> + port at 0 {
>> + phy-handle = <&phy0>;
>> + phy-mode = "mii";
>> + };
>> + mdio-bus {
>> + status = "okay";
>> +
>> + phy0: ethernet-phy at 0 {
>> + reg = <0>;
>> + phy-mode = "mii";
>> + };
>> + };
>> +};
>> +
>> +&wmac {
>> + status = "okay";
>> + ralink,mtd-eeprom = <&factory 0>;
>> + mtd-mac-address = <&factory 0x4>;
>> + mtd-mac-address-increment = <1>;
>
> Have you validated against the original firmware that wireless and
> ethernet have different mac addresses? Is it the wireless mac address
> that is incremented? I'm somehow in doubt here, since there is no
> ethernet by default for this board.
With the original firmware, both interfaces do indeed have different mac
addresses. The wireless interface uses the one from the "Factory"
partition (e.g. F8:35:DD:C9:1B:19), not incremented (sorry).
The ethernet interface has a completely different address (e.g.
00:0C:43:28:80:0F). I have no idea where it comes from, I can't find it in
any of the configuration partitions wether in binary or in ASCII. It gets
set by a kernel module (raeth.ko). In the hexdump of this binary module, I
can find a part of this address (00 0c 43 28 80 00) hardcoded.
So I thought, just incrementing the given address for the second interface
would do for the beginning. Do you have a suggestion for a better
solution?
>> +define Device/wmdr-143n
>> + DTS := WMDR-143N
>> + BLOCKSIZE := 64k
>> + IMAGES += factory.bin
>
> It seams to me a factory image isn't required for this board. The
> sysupgrade.bin should work fine for the initial installation.
I had some trouble during testing because of the metadata at the end of
the sysupgrade.bin image, but I will try again. Probably you are right :-)
Oliver
More information about the Lede-dev
mailing list