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

Bug#983818: linux-image-5.10.0-3-arm64: often fails to bring up eth0 / dwmac_rk module



Package: src:linux
Version: 5.10.13-1
Severity: critical
Justification: breaks unrelated software

Dear Maintainer,

When booting recent kernels on a RockPro64 board (rk3399), eth0 often fails
to come up, leaving this headless box practically unusable without serial
console intervention. Logging in on the console and using rmmod/modprobe to
reload dwmac_rk revives the network interface and allows normal operation
until the next reboot.

Logs are included below, but the last relevant dmesg errors seem to be:
rk_gmac-dwmac fe300000.ethernet eth0: stmmac_hw_setup: DMA engine initialization failed
rk_gmac-dwmac fe300000.ethernet eth0: stmmac_open: Hw setup failed

The problem doesn't occur on every boot. I haven't determined what conditions
make it more likely. It's possible that scheduling an fsck makes it happen
less frequently (perhaps there's a timing issue?) but it's hard to say; it
still happens fairly often even when I fsck on every boot.

The problem appeared some time in the past two or three months. I keep up
with unstable kernel updates, so maybe a semi-recent change in the unstable
kernel caused it? Or maybe I was just lucky until recently.

Curiously, when dropbear ssh launches from initramfs, it never has trouble
with eth0. The problem doesn't show up until after dropbear has run and I
have unlocked my root filesystem over ssh and boot continues. I am using an
initramfs-tools tweak to make dropbear work around #968519, so I suppose that
bug and the present problem could be related but merely avoided by dropbear.
However, #968519 was present long before the present problem appeared.

Here's someone else experiencing this problem:
https://forum.pine64.org/showthread.php?tid=9351&pid=87304#pid87304


-- Package-specific info:
** Version:
Linux version 5.10.0-3-arm64 (debian-kernel@lists.debian.org) (gcc-10 (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.1) #1 SMP Debian 5.10.13-1 (2021-02-06)

** Command line:
root=/dev/mapper/sda1_crypt console=ttyS2,115200n8

** Tainted: U (64)
 * taint requested by userspace application

** Kernel log:
[   67.701683] systemd[1]: Created slice system-serial\x2dgetty.slice.
[   67.725820] systemd[1]: Listening on Journal Socket.
[   67.746229] systemd[1]: Starting Create list of required static device nodes for the current kernel...
[   67.778120] systemd[1]: Mounting Huge Pages File System...
[   68.205792] EXT4-fs (dm-0): re-mounted. Opts: errors=remount-ro
[   68.628963] Adding 4194300k swap on /swapfile.  Priority:-2 extents:3 across:4464636k FS
[   68.695781] systemd-journald[1431]: Received request to flush runtime journal from PID 1
[   69.272221] cpu cpu0: EM: hertz/watts ratio non-monotonically decreasing: em_perf_state 1 >= em_perf_state0
[   69.272543] cpu cpu0: EM: created perf domain
[   69.283388] cpu cpu4: EM: created perf domain
[   69.325716] dma-pl330 ff6d0000.dma-controller: Loaded driver for PL330 DMAC-241330
[   69.334210] dma-pl330 ff6d0000.dma-controller: 	DBUFF-32x8bytes Num_Chans-6 Num_Peri-12 Num_Events-12
[   69.341198] dma-pl330 ff6e0000.dma-controller: Loaded driver for PL330 DMAC-241330
[   69.353042] dma-pl330 ff6e0000.dma-controller: 	DBUFF-128x8bytes Num_Chans-8 Num_Peri-20 Num_Events-16
[   69.466554] alg: No test for fips(ansi_cprng) (fips_ansi_cprng)
[   69.498011] dw_wdt ff848000.watchdog: No valid TOPs array specified
[   69.523015] vdd_log: supplied by regulator-dummy
[   69.529289] panfrost ff9a0000.gpu: clock rate = 500000000
[   69.659299] panfrost ff9a0000.gpu: mali-t860 id 0x860 major 0x2 minor 0x0 status 0x0
[   69.668037] panfrost ff9a0000.gpu: features: 00000000,100e77bf, issues: 00000000,24040400
[   69.669770] spi-nor spi0.0: gd25q128 (16384 Kbytes)
[   69.677219] panfrost ff9a0000.gpu: Features: L2:0x07120206 Shader:0x00000000 Tiler:0x00000809 Mem:0x1 MMU:0x00002830 AS:0xff JS:0x7
[   69.695939] panfrost ff9a0000.gpu: shader_present=0xf l2_present=0x1
[   69.704295] [drm] Initialized panfrost 1.1.0 20180908 for ff9a0000.gpu on minor 0
[   69.742766] Bluetooth: Core ver 2.22
[   69.747132] NET: Registered protocol family 31
[   69.752235] Bluetooth: HCI device and connection manager initialized
[   69.759758] Bluetooth: HCI socket layer initialized
[   69.765366] Bluetooth: L2CAP socket layer initialized
[   69.771094] Bluetooth: SCO socket layer initialized
[   69.819974] sd 3:0:0:0: Attached scsi generic sg0 type 0
[   69.836079] rockchip-vop ff8f0000.vop: Adding to iommu group 2
[   69.845013] rockchip-vop ff900000.vop: Adding to iommu group 3
[   69.862295] rockchip-drm display-subsystem: bound ff8f0000.vop (ops vop_component_ops [rockchipdrm])
[   69.872663] [drm] unsupported AFBC format[3231564e]
[   69.881216] rockchip-drm display-subsystem: bound ff900000.vop (ops vop_component_ops [rockchipdrm])
[   69.891809] dwhdmi-rockchip ff940000.hdmi: Detected HDMI TX controller v2.11a with HDCP (DWC HDMI 2.0 TX PHY)
[   69.903887] rockchip-drm display-subsystem: bound ff940000.hdmi (ops dw_hdmi_rockchip_ops [rockchipdrm])
[   69.915031] rockchip-drm display-subsystem: [drm] Cannot find any crtc or sizes
[   69.924280] [drm] Initialized rockchip 1.0.0 20140818 for display-subsystem on minor 1
[   69.934777] Bluetooth: HCI UART driver ver 2.3
[   69.939788] Bluetooth: HCI UART protocol H4 registered
[   69.946837] Bluetooth: HCI UART protocol LL registered
[   69.952623] Bluetooth: HCI UART protocol ATH3K registered
[   69.958875] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   69.966245] Bluetooth: HCI UART protocol Intel registered
[   69.973423] Bluetooth: HCI UART protocol Broadcom registered
[   69.980425] Bluetooth: HCI UART protocol QCA registered
[   69.986306] Bluetooth: HCI UART protocol AG6XX registered
[   69.992642] Bluetooth: HCI UART protocol Marvell registered
[   70.039649] asoc-simple-card hdmi-sound: ASoC: no DMI vendor name!
[   70.093137] dw-apb-uart ff180000.serial: failed to request DMA
[   70.500346] EXT4-fs (mmcblk1p2): mounting ext2 file system using the ext4 subsystem
[   70.522157] EXT4-fs (mmcblk1p2): mounted filesystem without journal. Opts: (null)
[   70.945054] rockchip-drm display-subsystem: [drm] Cannot find any crtc or sizes
[   71.229145] EXT4-fs (dm-1): mounted filesystem with ordered data mode. Opts: (null)
[   71.604044] audit: type=1400 audit(1614638283.976:2): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=1581 comm="apparmor_parser"
[   71.621477] audit: type=1400 audit(1614638283.976:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=1581 comm="apparmor_parser"
[   71.639450] audit: type=1400 audit(1614638283.984:4): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/bin/man" pid=1579 comm="apparmor_parser"
[   71.656523] audit: type=1400 audit(1614638283.984:5): apparmor="STATUS" operation="profile_load" profile="unconfined" name="man_filter" pid=1579 comm="apparmor_parser"
[   71.673314] audit: type=1400 audit(1614638283.984:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="man_groff" pid=1579 comm="apparmor_parser"
[   71.701517] audit: type=1400 audit(1614638284.076:7): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/tcpdump" pid=1580 comm="apparmor_parser"
[   72.041055] rk_gmac-dwmac fe300000.ethernet eth0: PHY [stmmac-0:00] driver [RTL8211F Gigabit Ethernet] (irq=POLL)
[   72.224979] Bluetooth: hci0: command 0x0c03 tx timeout
[   72.260897] rk_gmac-dwmac fe300000.ethernet: Failed to reset the dma
[   72.268073] rk_gmac-dwmac fe300000.ethernet eth0: stmmac_hw_setup: DMA engine initialization failed
[   72.278249] rk_gmac-dwmac fe300000.ethernet eth0: stmmac_open: Hw setup failed
[   80.352983] Bluetooth: hci0: BCM: Reset failed (-110)
[  133.890343] Setting dangerous option permit_mounts_in_userns - tainting kernel
[  133.900161] overlayfs: overlayfs: Allowing overlay mounts in user namespaces bears security risks
[  157.689418] rk_gmac-dwmac fe300000.ethernet eth0: stmmac_dvr_remove: removing driver
[  161.574915] rk_gmac-dwmac fe300000.ethernet: IRQ eth_wake_irq not found
[  161.582409] rk_gmac-dwmac fe300000.ethernet: IRQ eth_lpi not found
[  161.589555] rk_gmac-dwmac fe300000.ethernet: PTP uses main clock
[  161.596764] rk_gmac-dwmac fe300000.ethernet: clock input or output? (input).
[  161.604738] rk_gmac-dwmac fe300000.ethernet: TX delay(0x28).
[  161.611129] rk_gmac-dwmac fe300000.ethernet: RX delay(0x11).
[  161.617556] rk_gmac-dwmac fe300000.ethernet: integrated PHY? (no).
[  161.624596] rk_gmac-dwmac fe300000.ethernet: cannot get clock clk_mac_speed
[  161.632416] rk_gmac-dwmac fe300000.ethernet: clock input from PHY
[  161.644280] rk_gmac-dwmac fe300000.ethernet: init for RGMII
[  161.651986] rk_gmac-dwmac fe300000.ethernet: User ID: 0x10, Synopsys ID: 0x35
[  161.659983] rk_gmac-dwmac fe300000.ethernet: 	DWMAC1000
[  161.665847] rk_gmac-dwmac fe300000.ethernet: DMA HW capability register supported
[  161.674242] rk_gmac-dwmac fe300000.ethernet: RX Checksum Offload Engine supported
[  161.682623] rk_gmac-dwmac fe300000.ethernet: COE Type 2
[  161.688479] rk_gmac-dwmac fe300000.ethernet: TX Checksum insertion supported
[  161.696375] rk_gmac-dwmac fe300000.ethernet: Wake-Up On Lan supported
[  161.703924] rk_gmac-dwmac fe300000.ethernet: Normal descriptors
[  161.710588] rk_gmac-dwmac fe300000.ethernet: Ring mode enabled
[  161.717138] rk_gmac-dwmac fe300000.ethernet: Enable RX Mitigation via HW Watchdog Timer
[  161.830517] libphy: stmmac: probed
[  161.834398] RTL8211F Gigabit Ethernet stmmac-0:00: attached PHY driver [RTL8211F Gigabit Ethernet] (mii_bus:phy_addr=stmmac-0:00, irq=POLL)
[  161.848648] RTL8211F Gigabit Ethernet stmmac-0:01: attached PHY driver [RTL8211F Gigabit Ethernet] (mii_bus:phy_addr=stmmac-0:01, irq=POLL)
[  162.048288] rk_gmac-dwmac fe300000.ethernet eth0: PHY [stmmac-0:00] driver [RTL8211F Gigabit Ethernet] (irq=POLL)
[  162.068869] rk_gmac-dwmac fe300000.ethernet eth0: No Safety Features support found
[  162.077369] rk_gmac-dwmac fe300000.ethernet eth0: PTP not supported by HW
[  162.085535] rk_gmac-dwmac fe300000.ethernet eth0: configuring for phy/rgmii link mode
[  165.153892] rk_gmac-dwmac fe300000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
[  165.163627] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

** Model information
Device Tree model: Pine64 RockPro64 v2.0

** Loaded modules:
dwmac_rk
overlay
snd_soc_hdmi_codec
dw_hdmi_i2s_audio
hci_uart
btqca
btrtl
btbcm
btintel
rockchipdrm
sg
dw_mipi_dsi
ofpart
snd_soc_rockchip_i2s
snd_soc_rockchip_pcm
snd_soc_simple_card
snd_soc_simple_card_utils
bluetooth
dw_hdmi
cec
snd_soc_core
spi_nor
governor_simpleondemand
analogix_dp
mtd
evdev
jitterentropy_rng
io_domain
snd_pcm_dmaengine
panfrost
pwm_rockchip
snd_pcm
dw_wdt
leds_gpio
drbg
snd_timer
gpu_sched
drm_kms_helper
ansi_cprng
pwm_fan
snd
ecdh_generic
rfkill
soundcore
rockchip_thermal
ecc
drm
nvmem_rockchip_efuse
pl330
cpufreq_dt
ip_tables
x_tables
autofs4
ext4
crc16
mbcache
jbd2
crc32c_generic
algif_skcipher
af_alg
sd_mod
t10_pi
crc_t10dif
xhci_plat_hcd
crct10dif_generic
xhci_hcd
realtek
dm_crypt
dm_mod
ahci
libahci
libata
scsi_mod
rtc_rk808
clk_rk808
rk808_regulator
dwc3
udc_core
roles
aes_ce_blk
crypto_simd
ulpi
cryptd
aes_ce_cipher
fan53555
rk808
crct10dif_ce
crct10dif_common
ghash_ce
stmmac_platform
gf128mul
libaes
stmmac
sha2_ce
pcs_xpcs
sha256_arm64
phylink
sha1_ce
pwm_regulator
of_mdio
dwc3_of_simple
fixed
fixed_phy
ohci_platform
libphy
ohci_hcd
gpio_keys
ehci_platform
ehci_hcd
ptp
sdhci_of_arasan
usbcore
sdhci_pltfm
phy_rockchip_emmc
cqhci
phy_rockchip_pcie
phy_rockchip_typec
phy_rockchip_inno_usb2
sdhci
pps_core
dw_mmc_rockchip
dw_mmc_pltfm
spi_rockchip
i2c_rk3x
usb_common
dw_mmc

** Network interface configuration:
*** /etc/network/interfaces:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# "auto eth0" added to make systemd network-online.target work -forest
auto eth0
allow-hotplug eth0
iface eth0 inet dhcp

** Network status:
*** IP interfaces and addresses:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether c2:cd:eb:ff:70:bf brd ff:ff:ff:ff:ff:ff
    inet 10.1.1.112/24 brd 10.1.1.255 scope global dynamic eth0
       valid_lft 85817sec preferred_lft 85817sec
    inet6 fe80::c0cd:ebff:feff:70bf/64 scope link 
       valid_lft forever preferred_lft forever

*** Device statistics:
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo:     240       4    0    0    0     0          0         0      240       4    0    0    0     0       0          0
  eth0:   96620     582    0    0    0     0          0         0    73579     558    0    0    0     0       0          0


** PCI devices:
00:00.0 PCI bridge [0604]: Fuzhou Rockchip Electronics Co., Ltd RK3399 PCI Express Root Port [1d87:0100] (prog-if 00 [Normal decode])
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 89
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 00000000-00000fff
	Memory behind bridge: fa000000-fa0fffff
	Prefetchable memory behind bridge: 00000000-000fffff
	Secondary status: 66MHz- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: <access denied>
	Kernel driver in use: pcieport

01:00.0 SATA controller [0106]: Marvell Technology Group Ltd. 88SE9235 PCIe 2.0 x2 4-port SATA 6 Gb/s Controller [1b4b:9235] (rev 11) (prog-if 01 [AHCI 1.0])
	Subsystem: Marvell Technology Group Ltd. 88SE9235 PCIe 2.0 x2 4-port SATA 6 Gb/s Controller [1b4b:9235]
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 90
	Region 0: I/O ports at 0000
	Region 1: I/O ports at 0000
	Region 2: I/O ports at 0000
	Region 3: I/O ports at 0000
	Region 4: I/O ports at 0000
	Region 5: Memory at fa040000 (32-bit, non-prefetchable) [size=2K]
	Expansion ROM at fa000000 [size=256K]
	Capabilities: <access denied>
	Kernel driver in use: ahci
	Kernel modules: ahci


** USB devices:
Bus 007 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 005 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


-- System Information:
Debian Release: 10.8
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable'), (100, 'unstable')
Architecture: arm64 (aarch64)

Kernel: Linux 5.10.0-3-arm64 (SMP w/6 CPU cores)
Kernel taint flags: TAINT_USER
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages linux-image-5.10.0-3-arm64 depends on:
ii  initramfs-tools [linux-initramfs-tool]  0.133+deb10u1
ii  kmod                                    26-1
ii  linux-base                              4.6

Versions of packages linux-image-5.10.0-3-arm64 recommends:
ii  apparmor             2.13.2-10
ii  firmware-linux-free  3.4

Versions of packages linux-image-5.10.0-3-arm64 suggests:
pn  debian-kernel-handbook  <none>
pn  linux-doc-5.10          <none>

Versions of packages linux-image-5.10.0-3-arm64 is related to:
pn  firmware-amd-graphics     <none>
pn  firmware-atheros          <none>
pn  firmware-bnx2             <none>
pn  firmware-bnx2x            <none>
pn  firmware-brcm80211        <none>
pn  firmware-cavium           <none>
pn  firmware-intel-sound      <none>
pn  firmware-intelwimax       <none>
pn  firmware-ipw2x00          <none>
pn  firmware-ivtv             <none>
pn  firmware-iwlwifi          <none>
pn  firmware-libertas         <none>
pn  firmware-linux-nonfree    <none>
pn  firmware-misc-nonfree     <none>
pn  firmware-myricom          <none>
pn  firmware-netxen           <none>
pn  firmware-qlogic           <none>
pn  firmware-realtek          <none>
pn  firmware-samsung          <none>
pn  firmware-siano            <none>
pn  firmware-ti-connectivity  <none>
pn  xen-hypervisor            <none>

-- no debconf information


Reply to: