• [^] # Re: DTB ?

    Posté par (site web personnel) . En réponse au message Port ethernet up mais aucun flux. Évalué à 3.

    Alors les « patches » n'aident malheureusement pas du tout, puisqu'il y a 3 fichiers, et ça ne dit pas lequel est utilisé dans ton cas.

    Les datasheets/block diagrams ne donnent aucune information technique... :(

    Au mieux, en farfouillant dans HW info on a un lien vers Atlassian qui ensuite pointe vers une image, dans laquelle on trouve un /boot/cn9130-cf-base.dtb (qui peut être examinée via dtc). Est-ce cela que tu utilises ?

    Quoi qu'il en soit, il semble s'agir d'un adaptateur Ethernet double, du coup je continue à ne pas comprendre pourquoi les deux ports ont des modes différents. J'ai réussi à trouver le pinout du Marvell 88E1512 qui semble être embarqué, mais pas la façon dont il est utilisé dans ton produit...

    Si je regarde la DTB susmentionnée, on a ceci (je condense à nouveau) :

    ethernet@0 {
     eth0 {
     phys = <0x1c 0x00>;
     managed = "in-band-status";
     };
     eth1 {
     phys = <0x1e 0x01>;
     phy = <0x1f>;
     managed = "in-band-status";
     phy-mode = "sgmii";
     };
     eth2 {
     phy = <0x20>;
     phy-mode = "rgmii-id";
     pinctrl-0 = <0x21>;
     };
    }
    mdio@12a200 {
     ethernet-phy@0 {
     phandle = <0x20>;
     };
     ethernet-phy@1 {
     phandle = <0x1f>;
     };
    };
    pinctrl {
     cp0-ge-rgmii-pins-0 {
     marvell,pins = "mpp440円mpp450円mpp460円mpp470円mpp480円mpp490円mpp500円mpp510円mpp520円mpp530円mpp540円mpp55";
     marvell,function = "ge1";
     phandle = <0x21>;
     };
    };
    

    Ce qui ne descend pas mon niveau de perplexité :

    • on garde en tête que phandle c'est grossièrement une notion de référence ;
    • dans mdio@12a200, les deux sections ethernet-phy@0 et ethernet-phy@1 semblent bien correspondre aux interfaces eth2 et eth1 respectivement (le genre de symétrie que j'attendais) ;
    • pourtant l'interface eth2 a un mode différent ;
    • et l'interface eth2 passe par un pinctrl plutôt que d'avoir un attribut phys directement.

    C'est là que les docs précises d'architecture pourraient permettre de vérifier que tout est branché et déclaré correctement.

    Cela étant, je n'y connais rien en matériel, donc une fois ces observations random effectuées, je t'invite à contacter le support pour vérifier si l'interface est effectivement censée fonctionner, et s'il y a une configuration particulière pour celle-ci.

    Et pour clore ma probable dernière intervention sur ce fil vu que je suis au bout de ma besace : ça me rappelle les histoires de RTC sur le CM4, de routage configurable de certains pins/gpios, pour lesquels il était question d'utiliser du pin muxing (e.g. i2c-mux-pinctrl). Pour que cela fonctionne il fallait activer certaines options de noyau (e.g. CONFIG_I2C_MUX_PINCTRL). Il pourrait être pertinent d'activer tout ce qui ressemble à du PINCTRL, juste pour être sûr que ça n'est pas un module qui serait trivialement manquant. Ceci dit, je n'ai aucune idée de si on s'attend à avoir une interface qui apparaît et qui arrive à Link is Up si c'est une partie du problème...

    Au passage, je note de fuir SolidRun, qui n'a pas fait intégrer ses DTB dans mainline. Ça me rappelle une certaine fondation couleur framboise...

    Debian Consultant @ DEBAMAX