576

(486 odpowiedzi, napisanych Oprogramowanie / Software)

Próbuję skompilować LEDE, ale bez względu na wersję wyrzuca błąd w jednym miejscu:

make[8]: *** No rule to make target 'drivers/mtd/mtdsplit/mtdsplit_jimage.o', needed by 'drivers/mtd/mtdsplit/built-in.o'.  Stop.
make[7]: *** [scripts/Makefile.build:476: drivers/mtd/mtdsplit] Error 2
make[6]: *** [scripts/Makefile.build:476: drivers/mtd] Error 2
make[5]: *** [Makefile:979: drivers] Error 2
make[5]: Leaving directory '/DANE2/DWR-116/source/build_dir/target-mipsel_24kc_musl-1.1.16/linux-ramips_mt7620/linux-4.4.147'
make[4]: *** [Makefile:27: /DANE2/DWR-116/source/build_dir/target-mipsel_24kc_musl-1.1.16/linux-ramips_mt7620/linux-4.4.147/.image] Error 2
make[4]: Leaving directory '/DANE2/DWR-116/source/target/linux/ramips'
make[3]: *** [Makefile:13: install] Error 2
make[3]: Leaving directory '/DANE2/DWR-116/source/target/linux'
make[2]: *** [target/Makefile:23: target/linux/install] Error 2
make[2]: Leaving directory '/DANE2/DWR-116/source'
make[1]: *** [target/Makefile:18: /DANE2/DWR-116/source/staging_dir/target-mipsel_24kc_musl-1.1.16/stamp/.target_install] Error 2
make[1]: Leaving directory '/DANE2/DWR-116/source'
make: *** [/DANE2/DWR-116/source/include/toplevel.mk:207: world] Błąd 2

Patche r3948-5886a5060a i 84c1b786b9830c17034e5de915ce11965666febd nałożone, czy coś robię źle?

577

(341 odpowiedzi, napisanych Sprzęt / Hardware)

Jest problem z A1, konkretnie z działaniem wifi 5GHz na najnowszej wersji (i kilku poprzednich):

Fri Nov 16 21:51:27 2018 daemon.notice netifd: radio0 (18076): Could not find PHY for device 'radio0'
Fri Nov 16 21:51:28 2018 daemon.notice netifd: radio0 (18100): WARNING: Variable 'data' does not exist or is not an array/object

Domyślna konfiguracja:

cat /etc/config/wireless

config wifi-device 'radio0'
    option type 'mac80211'
    option channel '36'
    option hwmode '11a'
    option path 'pci0000:00/0000:00:00.0/0000:01:00.0'
    option htmode 'VHT80'

config wifi-iface 'default_radio0'
    option device 'radio0'
    option network 'lan'
    option mode 'ap'
    option ssid 'OpenWrt'
    option encryption 'none'

config wifi-device 'radio1'
    option type 'mac80211'
    option hwmode '11g'
    option path 'platform/10180000.wmac'
    option htmode 'HT20'
    option channel 'auto'
    option legacy_rates '1'
    option country 'PL'

config wifi-iface 'default_radio1'
    option device 'radio1'
    option network 'lan'
    option mode 'ap'
    option ssid 'OpenWrt'
    option encryption 'none'
    option disabled '1'

578

(341 odpowiedzi, napisanych Sprzęt / Hardware)

Wersja sprzętowa podana jest na odwrocie routera, na pudełku (z boku) oraz w samym sofcie. Na zdjęciu jest A1.

A2 z racji większej ilości pamięci pozwala bardziej zaszaleć z softem, ale przy Twoich dość skromnych zastosowaniach nie ma to aż takiego znaczenia.

579

(341 odpowiedzi, napisanych Sprzęt / Hardware)

Wersje ze wsparciem OpenWRT:

DWR-118 A1 (gigabit WAN i 1 gigabit LAN, 64 MB pamięci) - oryginalnie soft Play lub T-Mobile, w zestawie niebieski kabel sieciowy, wygląd pudełka: https://eu.dlink.com/pl/pl/products/-/m … _3dbox.png

DWR-118 A2 (gigabit 1 LAN, 128 MB pamięci) - soft T-Mobile, żółty kabel sieciowy: https://wikidevi.com/w/images/c/c0/Pudelko.jpg

Pytać sprzedawców o wersję sprzętową, na Allegro mają głównie nowe A2. Natomiast A1 praktycznie niedostępne albo używane, ale mogą jeszcze trafić się nowe sztuki.

Kupować, nie marudzić tylko wgrywać OpenWRT, dziękować Cezaremu i Królikowi, że zrobili wsparcie smile

PS. Wkrótce udostępnię obrazy na oba modele na wzór DD-WRT, czyli wszystkomające, ukłon w stronę początkujących smile

580

(341 odpowiedzi, napisanych Sprzęt / Hardware)

A po co ma siać i promieniować skoro nikt nie korzysta? To normalne, że wyłącza się. Ja też tak robię smile Ten "wyłącznik WIFi" to programowy harmonogram WiFi i standardowo dorzucam do obrazów, które sama robię.

Do łącza 200 Mbps pasuje raczej DWR-118 A1.

581

(341 odpowiedzi, napisanych Sprzęt / Hardware)

DWR-116 nada się, mam go i z LTE zero problemów, ale OpenWrt musi być już dość okrojone i za dużo nie można poszaleć (w sensie aktywnych usług), bo za mało pamięci.

582

(341 odpowiedzi, napisanych Sprzęt / Hardware)

Pif_Paf napisał/a:

W obecnej chwili mam LTE. Nie bede katował routera. Zwykłe domowe użytkowanie. Na 100 Mbps w mojej okolicy nie zanosi sie szybko. Z bólami jest do 80 od Orange.

Jeśli już, to bierz A2, na Allegro są nowe w cenie ok. 100-120 zł (pytaj sprzedawców o wersję, B1 trzeba unikać jak ognia). W razie czego jest możliwość zwrotu w ciągu 14 dni. Przy pracy z modemem LTE DWR-118 A2 jest ledwo ciepły, testowałam z E3372h. Nowe A1 są raczej trudno dostępne, do łącz kablowych >100 Mbps adekwatna będzie wersja A1.

583

(341 odpowiedzi, napisanych Sprzęt / Hardware)

A do czego ten router? Do Internetu mobilnego, czy szybkiej kablówki (łącze powyżej 100 Mbps)?

Z tego co dotychczas zaobserwowałam wystarczy zmienić pozycję routera, aby był lepszy obieg powietrza i problem z przegrzewaniem się znika. Ewentualnie dokleić gumowe, wyższe nóżki.

584

(341 odpowiedzi, napisanych Sprzęt / Hardware)

Zrobiłam jak piszesz i patch nałożył się elegancko smile

585

(341 odpowiedzi, napisanych Sprzęt / Hardware)

Twój patch, a konkretnie:

diff --git a/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/soc_mt7620.c b/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/soc_mt7620.c
index da8e71c21e7..3af7d0a558d 100644
--- a/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/soc_mt7620.c
+++ b/target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/soc_mt7620.c
@@ -129,7 +129,9 @@ static void mt7620_auto_poll(struct mt7620_gsw *gsw)
         msb = phy;
     }
 
-    if (lsb == msb)
+    if (lsb == msb && lsb == 0)
+        msb++;
+    else if (lsb == msb)
         lsb--;
 
     mtk_switch_w32(gsw, PHY_AN_EN | PHY_PRE_EN | PMY_MDC_CONF(5) |
@@ -242,7 +244,7 @@ static void mt7620_port_init(struct fe_priv *priv, struct device_node *np)
 
         mtk_switch_w32(gsw, val, GSW_REG_PORT_PMCR(id));
         fe_connect_phy_node(priv, priv->phy->phy_node[id], id);
-        gsw->autopoll |= BIT(id);
+        gsw->autopoll |= BIT(be32_to_cpup(phy_addr));
         mt7620_auto_poll(gsw);
         return;
     }

From f1e81a3d1aa2ea3f7ab119a0f4700bc46ee5f9da Mon Sep 17 00:00:00 2001
From: Pawel Dembicki <paweldembicki@gmail.com>
Date: Mon, 29 Oct 2018 20:31:25 +0000
Subject: [PATCH 4/5] ramips: mt7620: add EPHY base mdio address changing
 possibility

In some boards is requred to change the ephy mdio base address.

This patch add of property "mediatek,ephy-base-address" in gsw
part, which allows to change ephy base address.

Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
---
 .../net/ethernet/mediatek/gsw_mt7620.c        | 107 ++++++++++--------
 .../net/ethernet/mediatek/gsw_mt7620.h        |   1 +
 2 files changed, 62 insertions(+), 46 deletions(-)

Plik target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/soc_mt7620.c:

/*   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU General Public License as published by
 *   the Free Software Foundation; version 2 of the License
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   Copyright (C) 2009-2015 John Crispin <blogic@openwrt.org>
 *   Copyright (C) 2009-2015 Felix Fietkau <nbd@nbd.name>
 *   Copyright (C) 2013-2015 Michael Lee <igvtee@gmail.com>
 */

#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/if_vlan.h>
#include <linux/of_net.h>

#include <asm/mach-ralink/ralink_regs.h>

#include <mt7620.h>
#include "mtk_eth_soc.h"
#include "gsw_mt7620.h"
#include "mt7530.h"
#include "mdio.h"

#define MT7620A_CDMA_CSG_CFG    0x400
#define MT7620_DMA_VID        (MT7620A_CDMA_CSG_CFG | 0x30)
#define MT7621_CDMP_IG_CTRL    (MT7620A_CDMA_CSG_CFG + 0x00)
#define MT7621_CDMP_EG_CTRL    (MT7620A_CDMA_CSG_CFG + 0x04)
#define MT7620A_RESET_FE    BIT(21)
#define MT7621_RESET_FE        BIT(6)
#define MT7620A_RESET_ESW    BIT(23)
#define MT7620_L4_VALID        BIT(23)
#define MT7621_L4_VALID        BIT(24)

#define MT7620_TX_DMA_UDF    BIT(15)
#define MT7621_TX_DMA_UDF    BIT(19)
#define TX_DMA_FP_BMAP        ((0xff) << 19)

#define CDMA_ICS_EN        BIT(2)
#define CDMA_UCS_EN        BIT(1)
#define CDMA_TCS_EN        BIT(0)

#define GDMA_ICS_EN        BIT(22)
#define GDMA_TCS_EN        BIT(21)
#define GDMA_UCS_EN        BIT(20)

/* frame engine counters */
#define MT7620_REG_MIB_OFFSET    0x1000
#define MT7620_PPE_AC_BCNT0    (MT7620_REG_MIB_OFFSET + 0x00)
#define MT7620_GDM1_TX_GBCNT    (MT7620_REG_MIB_OFFSET + 0x300)
#define MT7620_GDM2_TX_GBCNT    (MT7620_GDM1_TX_GBCNT + 0x40)

#define MT7621_REG_MIB_OFFSET    0x2000
#define MT7621_PPE_AC_BCNT0    (MT7621_REG_MIB_OFFSET + 0x00)
#define MT7621_GDM1_TX_GBCNT    (MT7621_REG_MIB_OFFSET + 0x400)
#define MT7621_GDM2_TX_GBCNT    (MT7621_GDM1_TX_GBCNT + 0x40)

#define GSW_REG_GDMA1_MAC_ADRL    0x508
#define GSW_REG_GDMA1_MAC_ADRH    0x50C

#define MT7621_FE_RST_GL    (FE_FE_OFFSET + 0x04)
#define MT7620_FE_INT_STATUS2    (FE_FE_OFFSET + 0x08)

/* FE_INT_STATUS reg on mt7620 define CNT_GDM1_AF at BIT(29)
 * but after test it should be BIT(13).
 */
#define MT7620_FE_GDM1_AF    BIT(13)
#define MT7621_FE_GDM1_AF    BIT(28)
#define MT7621_FE_GDM2_AF    BIT(29)

static const u16 mt7620_reg_table[FE_REG_COUNT] = {
    [FE_REG_PDMA_GLO_CFG] = RT5350_PDMA_GLO_CFG,
    [FE_REG_PDMA_RST_CFG] = RT5350_PDMA_RST_CFG,
    [FE_REG_DLY_INT_CFG] = RT5350_DLY_INT_CFG,
    [FE_REG_TX_BASE_PTR0] = RT5350_TX_BASE_PTR0,
    [FE_REG_TX_MAX_CNT0] = RT5350_TX_MAX_CNT0,
    [FE_REG_TX_CTX_IDX0] = RT5350_TX_CTX_IDX0,
    [FE_REG_TX_DTX_IDX0] = RT5350_TX_DTX_IDX0,
    [FE_REG_RX_BASE_PTR0] = RT5350_RX_BASE_PTR0,
    [FE_REG_RX_MAX_CNT0] = RT5350_RX_MAX_CNT0,
    [FE_REG_RX_CALC_IDX0] = RT5350_RX_CALC_IDX0,
    [FE_REG_RX_DRX_IDX0] = RT5350_RX_DRX_IDX0,
    [FE_REG_FE_INT_ENABLE] = RT5350_FE_INT_ENABLE,
    [FE_REG_FE_INT_STATUS] = RT5350_FE_INT_STATUS,
    [FE_REG_FE_DMA_VID_BASE] = MT7620_DMA_VID,
    [FE_REG_FE_COUNTER_BASE] = MT7620_GDM1_TX_GBCNT,
    [FE_REG_FE_RST_GL] = MT7621_FE_RST_GL,
    [FE_REG_FE_INT_STATUS2] = MT7620_FE_INT_STATUS2,
};

static int mt7620_gsw_config(struct fe_priv *priv)
{
    struct mt7620_gsw *gsw = (struct mt7620_gsw *) priv->soc->swpriv;

    /* is the mt7530 internal or external */
    if (priv->mii_bus && mdiobus_get_phy(priv->mii_bus, 0x1f)) {
        mt7530_probe(priv->dev, gsw->base, NULL, 0);
        mt7530_probe(priv->dev, NULL, priv->mii_bus, 1);
    } else {
        mt7530_probe(priv->dev, gsw->base, NULL, 1);
    }

    return 0;
}

static void mt7620_set_mac(struct fe_priv *priv, unsigned char *mac)
{
    struct mt7620_gsw *gsw = (struct mt7620_gsw *)priv->soc->swpriv;
    unsigned long flags;

    spin_lock_irqsave(&priv->page_lock, flags);
    mtk_switch_w32(gsw, (mac[0] << 8) | mac[1], GSW_REG_SMACCR1);
    mtk_switch_w32(gsw, (mac[2] << 24) | (mac[3] << 16) | (mac[4] << 8) | mac[5],
        GSW_REG_SMACCR0);
    spin_unlock_irqrestore(&priv->page_lock, flags);
}

static void mt7620_auto_poll(struct mt7620_gsw *gsw)
{
    int phy;
    int lsb = -1, msb = 0;

    for_each_set_bit(phy, &gsw->autopoll, 32) {
        if (lsb < 0)
            lsb = phy;
        msb = phy;
    }

    if (lsb == msb)
        lsb--;

    mtk_switch_w32(gsw, PHY_AN_EN | PHY_PRE_EN | PMY_MDC_CONF(5) |
        (msb << 8) | lsb, ESW_PHY_POLLING);
}

static void mt7620_port_init(struct fe_priv *priv, struct device_node *np)
{
    struct mt7620_gsw *gsw = (struct mt7620_gsw *)priv->soc->swpriv;
    const __be32 *_id = of_get_property(np, "reg", NULL);
    int phy_mode, size, id;
    int shift = 12;
    u32 val, mask = 0;
    int min = (gsw->port4 == PORT4_EPHY) ? (5) : (4);

    if (!_id || (be32_to_cpu(*_id) < min) || (be32_to_cpu(*_id) > 5)) {
        if (_id)
            pr_err("%s: invalid port id %d\n", np->name,
                   be32_to_cpu(*_id));
        else
            pr_err("%s: invalid port id\n", np->name);
        return;
    }

    id = be32_to_cpu(*_id);

    if (id == 4)
        shift = 14;

    priv->phy->phy_fixed[id] = of_get_property(np, "mediatek,fixed-link",
                           &size);
    if (priv->phy->phy_fixed[id] &&
        (size != (4 * sizeof(*priv->phy->phy_fixed[id])))) {
        pr_err("%s: invalid fixed link property\n", np->name);
        priv->phy->phy_fixed[id] = NULL;
        return;
    }

    phy_mode = of_get_phy_mode(np);
    switch (phy_mode) {
    case PHY_INTERFACE_MODE_RGMII:
        mask = 0;
        break;
    case PHY_INTERFACE_MODE_MII:
        mask = 1;
        break;
    case PHY_INTERFACE_MODE_RMII:
        mask = 2;
        break;
    default:
        dev_err(priv->dev, "port %d - invalid phy mode\n", id);
        return;
    }

    priv->phy->phy_node[id] = of_parse_phandle(np, "phy-handle", 0);
    if (!priv->phy->phy_node[id] && !priv->phy->phy_fixed[id])
        return;

    val = rt_sysc_r32(SYSC_REG_CFG1);
    val &= ~(3 << shift);
    val |= mask << shift;
    rt_sysc_w32(val, SYSC_REG_CFG1);

    if (priv->phy->phy_fixed[id]) {
        const __be32 *link = priv->phy->phy_fixed[id];
        int tx_fc, rx_fc;
        u32 val = 0;

        priv->phy->speed[id] = be32_to_cpup(link++);
        tx_fc = be32_to_cpup(link++);
        rx_fc = be32_to_cpup(link++);
        priv->phy->duplex[id] = be32_to_cpup(link++);
        priv->link[id] = 1;

        switch (priv->phy->speed[id]) {
        case SPEED_10:
            val = 0;
            break;
        case SPEED_100:
            val = 1;
            break;
        case SPEED_1000:
            val = 2;
            break;
        default:
            dev_err(priv->dev, "invalid link speed: %d\n",
                priv->phy->speed[id]);
            priv->phy->phy_fixed[id] = 0;
            return;
        }
        val = PMCR_SPEED(val);
        val |= PMCR_LINK | PMCR_BACKPRES | PMCR_BACKOFF | PMCR_RX_EN |
            PMCR_TX_EN | PMCR_FORCE | PMCR_MAC_MODE | PMCR_IPG;
        if (tx_fc)
            val |= PMCR_TX_FC;
        if (rx_fc)
            val |= PMCR_RX_FC;
        if (priv->phy->duplex[id])
            val |= PMCR_DUPLEX;
        mtk_switch_w32(gsw, val, GSW_REG_PORT_PMCR(id));
        dev_info(priv->dev, "using fixed link parameters\n");
        return;
    }

    if (priv->phy->phy_node[id] && mdiobus_get_phy(priv->mii_bus, id)) {
        u32 val = PMCR_BACKPRES | PMCR_BACKOFF | PMCR_RX_EN |
            PMCR_TX_EN |  PMCR_MAC_MODE | PMCR_IPG;

        mtk_switch_w32(gsw, val, GSW_REG_PORT_PMCR(id));
        fe_connect_phy_node(priv, priv->phy->phy_node[id]);
        gsw->autopoll |= BIT(id);
        mt7620_auto_poll(gsw);
        return;
    }
}

static void mt7620_fe_reset(void)
{
    fe_reset(MT7620A_RESET_FE | MT7620A_RESET_ESW);
}

static void mt7620_rxcsum_config(bool enable)
{
    if (enable)
        fe_w32(fe_r32(MT7620A_GDMA1_FWD_CFG) | (GDMA_ICS_EN |
                    GDMA_TCS_EN | GDMA_UCS_EN),
                MT7620A_GDMA1_FWD_CFG);
    else
        fe_w32(fe_r32(MT7620A_GDMA1_FWD_CFG) & ~(GDMA_ICS_EN |
                    GDMA_TCS_EN | GDMA_UCS_EN),
                MT7620A_GDMA1_FWD_CFG);
}

static void mt7620_txcsum_config(bool enable)
{
    if (enable)
        fe_w32(fe_r32(MT7620A_CDMA_CSG_CFG) | (CDMA_ICS_EN |
                    CDMA_UCS_EN | CDMA_TCS_EN),
                MT7620A_CDMA_CSG_CFG);
    else
        fe_w32(fe_r32(MT7620A_CDMA_CSG_CFG) & ~(CDMA_ICS_EN |
                    CDMA_UCS_EN | CDMA_TCS_EN),
                MT7620A_CDMA_CSG_CFG);
}

static int mt7620_fwd_config(struct fe_priv *priv)
{
    struct net_device *dev = priv_netdev(priv);

    fe_w32(fe_r32(MT7620A_GDMA1_FWD_CFG) & ~7, MT7620A_GDMA1_FWD_CFG);

    mt7620_txcsum_config((dev->features & NETIF_F_IP_CSUM));
    mt7620_rxcsum_config((dev->features & NETIF_F_RXCSUM));

    return 0;
}

static void mt7620_tx_dma(struct fe_tx_dma *txd)
{
}

static void mt7620_init_data(struct fe_soc_data *data,
                 struct net_device *netdev)
{
    struct fe_priv *priv = netdev_priv(netdev);

    priv->flags = FE_FLAG_PADDING_64B | FE_FLAG_RX_2B_OFFSET |
        FE_FLAG_RX_SG_DMA | FE_FLAG_HAS_SWITCH;

    netdev->hw_features = NETIF_F_IP_CSUM | NETIF_F_RXCSUM |
        NETIF_F_HW_VLAN_CTAG_TX;
    if (mt7620_get_eco() >= 5)
        netdev->hw_features |= NETIF_F_SG | NETIF_F_TSO | NETIF_F_TSO6 |
            NETIF_F_IPV6_CSUM;
}

static struct fe_soc_data mt7620_data = {
    .init_data = mt7620_init_data,
    .reset_fe = mt7620_fe_reset,
    .set_mac = mt7620_set_mac,
    .fwd_config = mt7620_fwd_config,
    .tx_dma = mt7620_tx_dma,
    .switch_init = mtk_gsw_init,
    .switch_config = mt7620_gsw_config,
    .port_init = mt7620_port_init,
    .reg_table = mt7620_reg_table,
    .pdma_glo_cfg = FE_PDMA_SIZE_16DWORDS,
    .rx_int = RT5350_RX_DONE_INT,
    .tx_int = RT5350_TX_DONE_INT,
    .status_int = MT7620_FE_GDM1_AF,
    .checksum_bit = MT7620_L4_VALID,
    .has_carrier = mt7620_has_carrier,
    .mdio_read = mt7620_mdio_read,
    .mdio_write = mt7620_mdio_write,
    .mdio_adjust_link = mt7620_mdio_link_adjust,
};

const struct of_device_id of_fe_match[] = {
    { .compatible = "mediatek,mt7620-eth", .data = &mt7620_data },
    {},
};

MODULE_DEVICE_TABLE(of, of_fe_match);

Błąd:

patch -i test.patch -p1 --dry-run
checking file target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/soc_mt7620.c
Hunk #2 FAILED at 244.
1 out of 2 hunks FAILED

Jak trzeba to wyślę maila, ale chyba wszystko jasne.

586

(341 odpowiedzi, napisanych Sprzęt / Hardware)

Czyli kompilować z tym błędem? W tym miejscu coś nie pasuje:

static void mt7620_auto_poll(struct mt7620_gsw *gsw)
        mt7620_auto_poll(gsw);

587

(341 odpowiedzi, napisanych Sprzęt / Hardware)

W najnowszej wersji patch do A2 zgłasza błąd:

patch -i 1510.patch -p1 --dry-run
checking file target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mdio.c
checking file target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mdio.c
checking file target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mdio.h
checking file target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/mdio_rt2880.c
checking file target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/soc_mt7620.c
checking file target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/soc_mt7620.c
Hunk #2 FAILED at 244.
1 out of 2 hunks FAILED
checking file target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/gsw_mt7620.c
checking file target/linux/ramips/files-4.14/drivers/net/ethernet/mediatek/gsw_mt7620.h
checking file target/linux/ramips/base-files/etc/board.d/01_leds
checking file target/linux/ramips/dts/DWR-118-A2.dts

588

(341 odpowiedzi, napisanych Sprzęt / Hardware)

Próbowałam dodać zdjęcia na https://openwrt.org/toh/d-link/d-link_dwr-118 ale chyba mam za świeże konto, bo mam info: "Sorry, you don't have enough rights to upload files." Albo nie umiem tego zrobić smile

Możesz dodać sam? Są u mnie na chomiku: http://chomikuj.pl/ZuzannaCK/ROUTERY/D- … a+routera) oraz tutaj: https://wikidevi.com/wiki/D-Link_DWR-118_rev_A2

Wkrótce zrobię fotki A1 i też wrzucę na chomika.

589

(341 odpowiedzi, napisanych Sprzęt / Hardware)

Postaram się coś dodać od siebie, zrobię też jakieś ładne zdjęcia.

Tymczasem trochę uzupełniłam https://wikidevi.com/wiki/D-Link_DWR-118_rev_A1 i zastanawiam się, czy ten A1 to na pewno ten sam model który my mamy? Dlaczego jest tam tylko 8 MB flash?

590

(341 odpowiedzi, napisanych Sprzęt / Hardware)

Wracając do A1, w SNAPSHOT r8391-162e016fed nie pojawiają się już błędy w logach, o których pisałam wcześniej smile

591

(341 odpowiedzi, napisanych Sprzęt / Hardware)

Królik napisał/a:

Robiłaś może testy jaką ma wydajność WAN -> LAN 118 A2 na tych gigabitach?

W przyszłym tygodniu będę mieć dostęp do szybkiego łącza kablowego wtedy porobię takie testy. Teraz jestem na mobilnym, szybkość grubo poniżej 100 Mbps więc nic tutaj nie wymyślę.

Jeśli chodzi o odprowadzanie ciepła to uniosłam router trochę do góry, żeby był lepszy dostęp powietrza i trochę pomogło. Ma za niskie nóżki ewidentnie, może zamiast radiatorów lepiej dać wyższe nóżki takie doklejane, gumowe... Ułożenia nie mogę zmienić, bo modem wtedy ma gorszy sygnał. Ale przy kablówce można go odwrócić do góry nogami smile

592

(341 odpowiedzi, napisanych Sprzęt / Hardware)

A1 grzeje się na sofcie D-Linka mocno. Co do A2 to nie pamiętam jak było, trzeba to jeszcze sprawdzić. Natomiast A2 bez gigabita na OpenWRT jest zaledwie ciepły.

593

(341 odpowiedzi, napisanych Sprzęt / Hardware)

Gigabit w A2 przeszedł kilkugodzinne testy pod obciążeniem i wszystko w porządku, ale niestety router grzeje się prawie jak A1, czuć zapach mocno rozgrzanego plastiku... Coś mi się wydaje, że A2 również wymaga doklejenia radiatorów.

594

(341 odpowiedzi, napisanych Sprzęt / Hardware)

root@OpenWrt:~# logread | grep mt7
Mon Oct 29 20:54:55 2018 kern.info kernel: [    1.596351] mtk_soc_eth 10100000.ethernet: loaded mt7620 driver
Mon Oct 29 20:54:55 2018 kern.err kernel: [    8.949743] mt76x2e 0000:01:00.0: card - bus=0x1, slot = 0x0 irq=4
Mon Oct 29 20:54:55 2018 kern.info kernel: [    8.962340] mt76x2e 0000:01:00.0: ASIC revision: 76120044
Mon Oct 29 20:54:55 2018 kern.info kernel: [    9.191781] mt76x2e 0000:01:00.0: ROM patch build: 20141115060606a
Mon Oct 29 20:54:55 2018 kern.info kernel: [    9.209175] mt76x2e 0000:01:00.0: Firmware Version: 0.0.00
Mon Oct 29 20:54:55 2018 kern.info kernel: [    9.220169] mt76x2e 0000:01:00.0: Build: 1
Mon Oct 29 20:54:55 2018 kern.info kernel: [    9.228320] mt76x2e 0000:01:00.0: Build Time: 201507311614____
Mon Oct 29 20:54:55 2018 kern.info kernel: [    9.248722] mt76x2e 0000:01:00.0: Firmware running!

root@OpenWrt:~# logread | grep mtk_soc_eth
Mon Oct 29 20:54:55 2018 kern.err kernel: [    1.519076] mtk_soc_eth 10100000.ethernet: generated random MAC address 0e:11:f6:1d:6c:b7
Mon Oct 29 20:54:55 2018 kern.info kernel: [    1.574552] mtk_soc_eth 10100000.ethernet: connected port 4 to PHY at mdio-bus:00 [uid=01410dd1, driver=Marvell 88E1510]
Mon Oct 29 20:54:55 2018 kern.info kernel: [    1.596351] mtk_soc_eth 10100000.ethernet: loaded mt7620 driver
Mon Oct 29 20:54:55 2018 kern.info kernel: [    1.608808] mtk_soc_eth 10100000.ethernet eth0: mediatek frame engine at 0xb0100000, irq 5
Mon Oct 29 20:54:55 2018 kern.info kernel: [    5.851937] mtk_soc_eth 10100000.ethernet eth0: port 0 link up (100Mbps/Full duplex)
Mon Oct 29 20:54:55 2018 kern.info kernel: [    6.681019] mtk_soc_eth 10100000.ethernet eth0: port 4 link up (1000Mbps/Full duplex)

root@OpenWrt:~# logread | grep Mbps
Mon Oct 29 20:54:55 2018 kern.info kernel: [    5.851937] mtk_soc_eth 10100000.ethernet eth0: port 0 link up (100Mbps/Full duplex)
Mon Oct 29 20:54:55 2018 kern.info kernel: [    6.681019] mtk_soc_eth 10100000.ethernet eth0: port 4 link up (1000Mbps/Full duplex)
Mon Oct 29 20:55:05 2018 kern.info kernel: [   20.717192] mtk_soc_eth 10100000.ethernet eth0: port 4 link up (1000Mbps/Full duplex)

GELAN działa bez żadnego grymaszenia zarówno z innym gigabitem jak i 100 Mbps smile

595

(486 odpowiedzi, napisanych Oprogramowanie / Software)

Dziękuję. Jeszcze nie popsułam, ale żongluję softami więc muszę być przygotowana na reanimację smile

596

(341 odpowiedzi, napisanych Sprzęt / Hardware)

Super! Zaraz jak udostępnisz biorę się za testy smile

597

(486 odpowiedzi, napisanych Oprogramowanie / Software)

Jak podłączyć się do DWR-116 A2 (ten z niebieskim laminatem)?
Foto: https://zapodaj.net/images/8211ab6dfaa44.jpg

598

(341 odpowiedzi, napisanych Sprzęt / Hardware)

Zrobiłam nowy obraz, SNAPSHOT, r8385-374e646724. W logach jest błąd, ale połączenie przez modem LTE działa.

Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.325652] ------------[ cut here ]------------
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.334882] WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:320 dev_watchdog+0x164/0x274
Mon Oct 29 02:23:58 2018 kern.info kernel: [ 3038.351371] NETDEV WATCHDOG: eth1 (cdc_ether): transmit queue 0 timed out
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.364892] Modules linked in: rt2800soc rt2800pci rt2800mmio rt2800lib pppoe ppp_async option mt76x0e mt76x0_common usb_wwan sierra_net sierra rt2x00soc rt2x00pci rt2x00mmio rt2x00lib rndis_host qmi_wwan pppox ppp_generic nf_nat_pptp nf_conntrack_pptp nf_conntrack_ipv6 mt76x2e mt76x2_common mt76x02_lib mt7603e mt76 mac80211 iptable_nat ipt_REJECT ipt_MASQUERADE cfg80211 cdc_ether xt_time xt_tcpudp xt_state xt_recent xt_nat xt_multiport xt_mark xt_mac xt_limit xt_helper xt_conntrack xt_connmark xt_connlimit xt_connbytes xt_comment xt_TCPMSS xt_REDIRECT xt_LOG xt_FLOWOFFLOAD xt_CT usbserial usbnet ums_usbat ums_sddr55 ums_sddr09 ums_karma ums_jumpshot ums_isd200 ums_freecom ums_datafab ums_cypress ums_alauda ts_fsm ts_bm slhc nf_reject_ipv4 nf_nat_tftp nf_nat_snmp_basic nf_nat_sip nf_nat_redirect
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.505511]  nf_nat_proto_gre nf_nat_masquerade_ipv4 nf_nat_irc nf_conntrack_ipv4 nf_nat_ipv4 nf_nat_h323 nf_nat_ftp nf_nat_amanda nf_nat nf_log_ipv4 nf_flow_table_hw nf_flow_table nf_defrag_ipv6 nf_defrag_ipv4 nf_conntrack_tftp nf_conntrack_snmp nf_conntrack_sip nf_conntrack_rtcache nf_conntrack_proto_gre nf_conntrack_netlink nf_conntrack_irc nf_conntrack_h323 nf_conntrack_ftp nf_conntrack_broadcast ts_kmp nf_conntrack_amanda nf_conntrack libcrc32c iptable_raw iptable_mangle iptable_filter ip_tables crc_itu_t crc_ccitt compat cdc_wdm ledtrig_usbport xt_set ip_set_list_set ip_set_hash_netiface ip_set_hash_netport ip_set_hash_netnet ip_set_hash_net ip_set_hash_netportnet ip_set_hash_mac ip_set_hash_ipportnet ip_set_hash_ipportip ip_set_hash_ipport ip_set_hash_ipmark ip_set_hash_ip ip_set_bitmap_port
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.646586]  ip_set_bitmap_ipmac ip_set_bitmap_ip ip_set nfnetlink ip6t_REJECT nf_reject_ipv6 nf_log_ipv6 nf_log_common ip6table_mangle ip6table_filter ip6_tables x_tables loop vfat fat ntfs autofs4 fscache nls_utf8 nls_iso8859_1 nls_cp437 eeprom_93cx6 usb_storage leds_gpio ohci_platform ohci_hcd ehci_platform sd_mod scsi_mod ehci_hcd gpio_button_hotplug f2fs ext4 jbd2 mbcache usbcore nls_base usb_common crc16 mii crc32c_generic crc32_generic crypto_hash
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.726882] CPU: 0 PID: 0 Comm: swapper Not tainted 4.14.78 #0
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.738499] Stack : 80490000 8043d5bc 00000000 00000000 80417bec 83809e34 80467cec 80467907
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.755163]         80413fa8 00000000 804c3660 00000140 8047b9d4 00000001 83809de8 532616af
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.771823]         00000000 00000000 804c0000 00006938 00000000 00000134 00000007 00000000
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.788481]         00000000 80470000 000b1762 00000000 00000000 00000000 80437a00 8029bdac
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.805137]         00000009 00000140 8047b9d4 8047b994 00000001 801fb290 00000000 804c0000
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.821793]         ...
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.826659] Call Trace:
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.831540] [<8000edec>] show_stack+0x58/0x100
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.840415] [<80025d00>] __warn+0xe4/0x118
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.848577] [<80025d64>] warn_slowpath_fmt+0x30/0x3c
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.858478] [<8029bdac>] dev_watchdog+0x164/0x274
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.867870] [<8005f0c0>] call_timer_fn.isra.4+0x24/0x84
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.878283] [<8005f294>] run_timer_softirq+0x174/0x1ec
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.888526] [<8038a218>] __do_softirq+0xe8/0x2bc
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.897728] [<80009df8>] handle_int+0x138/0x144
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.906756] [<8000b8ec>] r4k_wait_irqoff+0x18/0x24
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.916307] [<8004dbd0>] do_idle+0x78/0xe4
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.924465] [<8004de28>] cpu_startup_entry+0x18/0x20
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.934361] [<8048cbc0>] start_kernel+0x454/0x474
Mon Oct 29 02:23:58 2018 kern.warn kernel: [ 3038.943738] ---[ end trace 4c9d47a14b91104c ]---

Będą kompilowała kolejne wersje i na bieżąco informowała jak mają się sprawy w przypadku połączenia modemowego.

599

(341 odpowiedzi, napisanych Sprzęt / Hardware)

Na razie robię jeszcze raz obraz z minimum pakietów.

Ciekawostka, D-Link udostępnia kody źródłowe do DWR-118 A1: http://tsd.dlink.com.tw/

600

(341 odpowiedzi, napisanych Sprzęt / Hardware)

Wersja r8247-90bb790fbf jaka działa z modemem na A2.