[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: bullseye-installer fails on Cubox-i due to networking issue



On Thu, Dec 24, 2020 at 3:38 PM Rainer Dorsch <ml@bokomoko.de> wrote:
>
> Hi,
>
> I tried to run the bullseye installer from
>
> http://ftp2.de.debian.org/debian/dists/bullseye/main/installer-armhf/current/
> images/netboot/SD-card-images/
>
> on a cubox-i using a serial console today.
>
> It seems the network interface does not come up properly:
>
> ~ # dmesg |grep eth
> [    5.009246] fec 2188000.ethernet: Invalid MAC address: 00:00:00:00:00:00
> [    5.015982] fec 2188000.ethernet: Using random MAC address: 4a:
> 0d:a7:66:c1:e6
> [    5.028381] mdio_bus 2188000.ethernet-1: MDIO device at address 0 is
> missing.
> [  138.479638] fec 2188000.ethernet eth0: Unable to connect to phy
> [  139.674014] fec 2188000.ethernet eth0: Unable to connect to phy
> [  141.218830] fec 2188000.ethernet eth0: Unable to connect to phy
> [  147.400881] fec 2188000.ethernet eth0: Unable to connect to phy
> [  199.375688] fec 2188000.ethernet eth0: Unable to connect to phy
> [  736.031852] fec 2188000.ethernet eth0: Unable to connect to phy
> [  906.069383] fec 2188000.ethernet eth0: Unable to connect to phy
> [ 1156.891662] fec 2188000.ethernet eth0: Unable to connect to phy
> [ 1266.982998] fec 2188000.ethernet eth0: Unable to connect to phy

Which was the last kernel version on which it worked correctly?

There were a couple of regressions based on incorrect phy-mode
settings after a phy driver changed its behavior in an incompatible
way.

This should be the relevant hunk in your board, it was merged into
linux-5.2:

0672d22a1924 ("ARM: dts: imx: Fix the AR803X phy-mode")

diff --git a/arch/arm/boot/dts/imx6qdl-sr-som.dtsi
b/arch/arm/boot/dts/imx6qdl-sr-som.dtsi
index 4ccb7afc4b35..6d7f6b9035bc 100644
--- a/arch/arm/boot/dts/imx6qdl-sr-som.dtsi
+++ b/arch/arm/boot/dts/imx6qdl-sr-som.dtsi
@@ -53,7 +53,7 @@ vcc_3v3: regulator-vcc-3v3 {
 &fec {
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_microsom_enet_ar8035>;
-       phy-mode = "rgmii";
+       phy-mode = "rgmii-id";
        phy-reset-duration = <2>;
        phy-reset-gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;
        status = "okay";

If you have a dtb file from before that change and want to run it
on a newer kernel, at least this change is needed.

> ~ #
>
> Not sure if this backtrace is related or even expected:
>
> [    5.626874] Freeing unused kernel memory: 2048K
> [    5.632309] ------------[ cut here ]------------
> [    5.636982] WARNING: CPU: 0 PID: 1 at arch/arm/mm/dump.c:248
> note_page+0x3d0/0x3dc
> [    5.644576] arm/mm: Found insecure W+X mapping at address 0xf0879000
> [    5.650947] Modules linked in:
> [    5.654033] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.9.0-4-armmp #1
> Debian 5.9.11-1
> [    5.661953] Hardware name: Freescale i.MX6 Quad/DualLite (Device Tree)

I see the current kernel version here, which is helpful in figuring out the
problem, but I don't think the warning is relevant here.

I do see two code changes that may be relevant

0da1ccbbefb6 ("net: fec: Fix PHY init after phy_reset_after_clk_enable()")
1e6114f51f9d ("net: fec: fix MDIO probing for some FEC hardware blocks")

both of them are backported into linux-5.9.y and are part of 5.9.7 or newer,
so you probably have them already, but there is a chance that one of
these patches caused a regression, so maybe try a v5.9.0 for comparison.

      Arnd


Reply to: