I thought I would finally get around to permanently using Debian on my EX2100. This means fixing up the DTB to support the dual gigabit NICs, and getting the mcm-daemon running to make the fan quiet.
Unfortunately, I cannot get either to work! Here the is networking config on the EX2100:
The EX2U DTB posted here works with the SGMII NIC, but neither RGMII NIC works if you change the status from "<disabled>" to "<okay>":
Also, it seems that the MCU is not connected via serial@12100? mcm-daemon doesn't work at all:
Doesn't really make much sense, since it seems that WD are writing to serial 1 in u-boot to communicate with the MCU.
board/mv_ebu/a38x/mv_main_a38x.c:
board/mv_ebu/common/USP/mv_serial.c:
I've confirmed that uart 0 is connected to the debug header on the board, writing to that kills your uart session. It seems that uart 1 might not be connected to the MCU, or the MCU isn't responding?
@bodhi: any ideas about the above?
I've also re-built u-boot to save environment to 0x100000 and to not overwrite bootcmd on boot as WD's source so kindly does. Find the kwboot and nand versions attached.
Edit: looks like my mcm-daemon woes might be because the MCU has lost its firmware :-(
Even the stock WD firmware cannot communicate to it:
That would explain why the power LED is always flashing blue and the fan never shuts up even in the stock firmware.
Does anyone know how to update/restore the MCU firmware?
Unfortunately, I cannot get either to work! Here the is networking config on the EX2100:
Load WD Yosemite Serdes Config: board SerDes lanes topology details: | Lane # | Speed | Type | -------------------------------- | 0 | 06 | SATA0 | | 1 | 05 | PCIe0 | | 2 | 06 | SATA1 | | 3 | 05 | USB3 HOST1 | | 4 | 05 | USB3 HOST0 | | 5 | 00 | SGMII2 | -------------------------------- PCIe, Idx 0: detected no link High speed PHY - Ended Successfully ...(later) Net: | port | Interface | PHY address | |--------|-----------|--------------| | egiga0 | RGMII | 0x00 | | egiga1 | RGMII | In-Band | | egiga2 | SGMII | 0x01 |
The EX2U DTB posted here works with the SGMII NIC, but neither RGMII NIC works if you change the status from "<disabled>" to "<okay>":
send_packet: Network is down dhclient.c:2255: Failed to send 300 byte long packet over eth1 interface. receive_packet failed on eth1: Network is down
Also, it seems that the MCU is not connected via serial@12100? mcm-daemon doesn't work at all:
# /usr/bin/mcm-daemon -f -c /etc/mcm-daemon.ini mcm-daemon[2737]: Server startup success on port 57367 mcm-daemon[2737]: Got no stop magic, but read 1 bytes! mcm-daemon[2737]: Got no stop magic, but read 1 bytes! mcm-daemon[2737]: Got no stop magic, but read 1 bytes! mcm-daemon[2737]: Got no stop magic, but read 1 bytes! mcm-daemon[2737]: Error sending DeviceReady command, exit!
Doesn't really make much sense, since it seems that WD are writing to serial 1 in u-boot to communicate with the MCU.
board/mv_ebu/a38x/mv_main_a38x.c:
printf("Enable HD1\n");
serial2_putc(0xfa);
serial2_putc(0x6);
serial2_putc(0x1);
serial2_putc(0x0);
serial2_putc(0x1);
serial2_putc(0x1);
serial2_putc(0xfb);
board/mv_ebu/common/USP/mv_serial.c:
#if 1 //ALPHA_CUSTOMIZE
void serial2_putc(const char c)
{
#if defined(CONFIG_MV_SMP) || (defined(MV78XX0) && defined(MV78200))
if (c == '\n')
mvUartPutc((whoAmI())%2, '\r');
mvUartPutc((whoAmI())%2, c);
#else
if (c == '\n')
mvUartPutc(1, '\r');
mvUartPutc(1, c);
#endif
}
#endif
I've confirmed that uart 0 is connected to the debug header on the board, writing to that kills your uart session. It seems that uart 1 might not be connected to the MCU, or the MCU isn't responding?
@bodhi: any ideas about the above?
I've also re-built u-boot to save environment to 0x100000 and to not overwrite bootcmd on boot as WD's source so kindly does. Find the kwboot and nand versions attached.
Edit: looks like my mcm-daemon woes might be because the MCU has lost its firmware :-(
Even the stock WD firmware cannot communicate to it:
root@WDMyCloudEX2100 / # up_send_ctl PowerStatus root@WDMyCloudEX2100 / # up_send_ctl MCUVer
That would explain why the power LED is always flashing blue and the fan never shuts up even in the stock firmware.
Does anyone know how to update/restore the MCU firmware?