Ethernet dropout during boot from nfs server on Pi 1B

Open
#3,039 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
c, linux

Research direction

Start with the smsc95xx Ethernet driver behavior during the documented Raspberry Pi 1B boot sequence, using the supplied kernel versions, logs, and cmdline.txt NFS configuration. Reproduce the failure with an NFS root and determine why eth0 stops responding; done means Ethernet remains operational and the system completes boot without NFS timeouts or the network watchdog warning.

Written by the indexing model from the issue text.

Description

Waiting for external input

Describe the bug
The ethernet card/driver appears to crash/hang halfway through booting, causing the pi itself to crash if running on an nfs root. Confirmed with kernel 4.19.46-1, 4.19.50, 4.19.56 (lastest).

Expected behaviour
Ethernet continues to work after driver setup

Actual behaviour
Ethernet crashes during boot

System

  • Which model of Raspberry Pi? 1B (tried 2 sepperate boards in case of dead chip)
  • Which OS and version? Stretch and Arch Linux Arm Latest
  • Which firmware version? Can't get far enough to run
  • Which kernel version? 4.19.46-1, 4.19.50, 4.19.56

Logs

[   31.706578] NYET/NAK/ACK/other in non-error case, 0x00000002
[   31.728217] NYET/NAK/ACK/other in non-error case, 0x00000002
[   31.778068] bcm2835-codec bcm2835-codec: Loaded V4L2 decode
[   32.412850] ERROR::handle_hc_chhltd_intr_dma:2214: handle_hc_chhltd_intr_dma: Channel 0, DMA Mode -- ChHltd set, but reason for halting is unknown, hcint 0x00000002, intsts 0x066000a1
[   32.412850] 
[   34.732531] bcm2835_mmal_vchiq: timed out waiting for sync completion
[   34.739022] Failed to get camera info
[   34.892605] bcm2835_mmal_vchiq: timed out waiting for sync completion
[   34.899099] bcm2835_mmal_vchiq: vchiq_mmal_component_init: failed to create component -62 (Not enough GPU mem?)
[   34.909420] : bcm2835_codec_get_supported_fmts: failed to create component ril.video_encode
[   34.918508] bcm2835-codec bcm2835-codec: Removing bcm2835-codec, decode
[   34.929412] bcm2835-codec: probe of bcm2835-codec failed with error -12
MESS:00:00:53.199817:0: mmalsrv: send_reply: vchiq_queue_message returned ffffffff
MESS:00:00:53.205777:0: mmalsrv: send_reply: vchiq_queue_message returned ffffffff
[   37.532591] smsc95xx 1-1.1:1.0 eth0: Failed to read reg index 0x00000114: -110
[   37.539886] smsc95xx 1-1.1:1.0 eth0: Error reading MII_ACCESS
[   37.549081] smsc95xx 1-1.1:1.0 eth0: MII is busy in smsc95xx_mdio_read
[   37.555912] smsc95xx 1-1.1:1.0 eth0: Failed to read MII_BMSR
[   40.952919] nfs: server 10.243.0.1 not responding, still trying
[   41.442887] nfs: server 10.243.0.1 not responding, still trying
[   45.852598] nfs: server 10.243.0.1 not responding, still trying
[   48.092755] nfs: server 10.243.0.1 not responding, still trying
[   50.333004] nfs: server 10.243.0.1 not responding, still trying
[   54.813065] nfs: server 10.243.0.1 not responding, still trying
[   59.292890] nfs: server 10.243.0.1 not responding, still trying
[   63.772843] nfs: server 10.243.0.1 not responding, still trying
[   68.253004] nfs: server 10.243.0.1 not responding, still trying
[   72.732982] nfs: server 10.243.0.1 not responding, still trying
[   77.212937] nfs: server 10.243.0.1 not responding, still trying
[   86.252863] nfs: server 10.243.0.1 not responding, still trying
[   95.213013] nfs: server 10.243.0.1 not responding, still trying
[  119.132435] ------------[ cut here ]------------
[  119.137118] WARNING: CPU: 0 PID: 0 at net/sched/sch_generic.c:461 dev_watchdog+0x250/0x26c
[  119.145393] NETDEV WATCHDOG: eth0 (smsc95xx): transmit queue 0 timed out
[  119.152097] Modules linked in: bcm2835_v4l2(C) bcm2835_codec(C) v4l2_mem2mem bcm2835_mmal_vchiq(C) v4l2_common videobuf2_dma_contig videobuf2_vmalloc raspberrypi_hwmon videobuf2_memops hwmon videobuf2_v4l2 videobuf2_common videodev vc_sm_cma(C) media bcm2835_rng rng_core uio_pdrv_genirq uio fixed sch_fq_codel snd_bcm2835(C) snd_pcm snd_timer snd ip_tables x_tables ipv6
[  119.184936] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G         C        4.19.46-1-ARCH #1
[  119.192942] Hardware name: BCM2835
[  119.196389] [<801100f4>] (unwind_backtrace) from [<8010c6d8>] (show_stack+0x10/0x14)
[  119.204165] [<8010c6d8>] (show_stack) from [<80b0cbd0>] (dump_stack+0xb8/0xe0)
[  119.211428] [<80b0cbd0>] (dump_stack) from [<8012cad4>] (__warn.part.3+0xa8/0xd4)
[  119.218937] [<8012cad4>] (__warn.part.3) from [<8012cb5c>] (warn_slowpath_fmt+0x5c/0x88)
[  119.227051] [<8012cb5c>] (warn_slowpath_fmt) from [<80a35b68>] (dev_watchdog+0x250/0x26c)
[  119.235269] [<80a35b68>] (dev_watchdog) from [<8019e934>] (call_timer_fn+0x2c/0x1fc)
[  119.243036] [<8019e934>] (call_timer_fn) from [<8019ec2c>] (expire_timers+0x128/0x140)
[  119.250974] [<8019ec2c>] (expire_timers) from [<8019ece0>] (run_timer_softirq+0x9c/0x1ac)
[  119.259174] [<8019ece0>] (run_timer_softirq) from [<80102124>] (__do_softirq+0xec/0x3ec)
[  119.267289] [<80102124>] (__do_softirq) from [<801324c0>] (irq_exit+0xb4/0xd8)
[  119.274541] [<801324c0>] (irq_exit) from [<80188170>] (__handle_domain_irq+0x70/0xe8)
[  119.282404] [<80188170>] (__handle_domain_irq) from [<807a0100>] (bcm2835_handle_irq+0x2c/0x34)
[  119.291124] [<807a0100>] (bcm2835_handle_irq) from [<801019f8>] (__irq_svc+0x58/0x8c)
[  119.298959] Exception stack(0x81101f38 to 0x81101f80)
[  119.304018] 1f20:                                                       003fef20 00000000
[  119.312209] 1f40: 87eaf4cc 80119f60 ffffe000 81104d74 00000001 81104dbc 811a675f 80de6490
[  119.320400] 1f60: 87fffc40 00000000 00000000 81101f88 80109280 80109284 60000013 ffffffff
[  119.328606] [<801019f8>] (__irq_svc) from [<80109284>] (arch_cpu_idle+0x30/0x3c)
[  119.336035] [<80109284>] (arch_cpu_idle) from [<8015c878>] (do_idle+0x104/0x158)
[  119.343451] [<8015c878>] (do_idle) from [<8015cb80>] (cpu_startup_entry+0x18/0x20)
[  119.351042] [<8015cb80>] (cpu_startup_entry) from [<81000e2c>] (start_kernel+0x434/0x4ec)
[  119.359280] ---[ end trace 0f8ab6b67bad03fc ]---
[  243.692680] INFO: task systemd-udevd:171 blocked for more than 120 seconds.
[  243.699693]       Tainted: G        WC        4.19.46-1-ARCH #1
[  243.705909] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  243.713865] systemd-udevd   D    0   171    148 0x000000a0
[  243.719461] [<80b21e64>] (__schedule) from [<80b2265c>] (schedule+0x44/0xb0)
[  243.726760] [<80b2265c>] (schedule) from [<80b25ab8>] (rwsem_down_write_failed+0x168/0x24c)
[  243.735276] [<80b25ab8>] (rwsem_down_write_failed) from [<80b24e44>] (down_write+0x50/0x58)
[  243.743866] [<80b24e44>] (down_write) from [<802e4e3c>] (filename_create+0x7c/0x164)
[  243.751679] [<802e4e3c>] (filename_create) from [<802e5ac4>] (do_mkdirat+0x4c/0xec)
[  243.759474] [<802e5ac4>] (do_mkdirat) from [<801011c8>] (__sys_trace_return+0x0/0x10)
[  243.767496] Exception stack(0x85267fa8 to 0x85267ff0)
[  243.772945] 7fa0:                   00000000 7eec24c0 7eec24c0 000001ed 00000000 76e4ae60
[  243.781173] 7fc0: 00000000 7eec24c0 000001ed 00000027 00000000 7eec24d8 7eec24c0 7eec2534
[  243.789483] 7fe0: 76f96fb8 7eec2494 76e4b01c 76c37e8c
[  366.572585] INFO: task systemd-udevd:171 blocked for more than 120 seconds.
[  366.579618]       Tainted: G        WC        4.19.46-1-ARCH #1
[  366.585768] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  366.593729] systemd-udevd   D    0   171    148 0x000000a0
[  366.599305] [<80b21e64>] (__schedule) from [<80b2265c>] (schedule+0x44/0xb0)
[  366.606577] [<80b2265c>] (schedule) from [<80b25ab8>] (rwsem_down_write_failed+0x168/0x24c)
[  366.615113] [<80b25ab8>] (rwsem_down_write_failed) from [<80b24e44>] (down_write+0x50/0x58)
[  366.623687] [<80b24e44>] (down_write) from [<802e4e3c>] (filename_create+0x7c/0x164)
[  366.631511] [<802e4e3c>] (filename_create) from [<802e5ac4>] (do_mkdirat+0x4c/0xec)
[  366.639303] [<802e5ac4>] (do_mkdirat) from [<801011c8>] (__sys_trace_return+0x0/0x10)
[  366.647352] Exception stack(0x85267fa8 to 0x85267ff0)
[  366.652531] 7fa0:                   00000000 7eec24c0 7eec24c0 000001ed 00000000 76e4ae60
[  366.660752] 7fc0: 00000000 7eec24c0 000001ed 00000027 00000000 7eec24d8 7eec24c0 7eec2534
[  366.669036] 7fe0: 76f96fb8 7eec2494 76e4b01c 76c37e8c

Additional context
cmdline.txt

selinux=0 plymouth.enable=0 smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 kgdboc=ttyAMA0,115200 elevator=noop console=ttyAMA0,115200 fsck.repair=yes rootwait systemd.log_target=console ip=dhcp root=/dev/nfs nfsroot=10.243.0.1:/data/pi-root/3b076b56,vers=3 rw nfsrootdebug rootfstype=nfs

config.txt

# See /boot/overlays/README for all available options

gpu_mem=64
Dominant language
C
Stars
13.2k
Forks
5.5k
Avg merge
2d 21h
Merged PRs (30d)
21

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from raspberrypi/linux

All issues in raspberrypi/linux

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.