Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dtoverlay=dwc2 causing errors and kernel OOPS on Raspberry Pi 1 Model B (256 MB RAM) #3969

Open
hamishmb opened this issue Nov 23, 2020 · 0 comments

Comments

@hamishmb
Copy link

Previously reported at https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=290772&p=1758195#p1758195 but after no issues with dwc_otg (?) default driver I am more confident this isn't a power issue now.

Describe the bug
I recently deployed an old Pi 1 Model B rev 1 (256 MB RAM) and have found that using DWC2 is causing lockups and errors in dmesg (see below screenshots). Both pis are automatically updated, and the SD card for the Pi 1 is a clone of the card from the Pi 3 - shouldn't be a configuration issue, I think.

To reproduce

  1. Plug in an external USB drive w/ a large EXT4 partition (1TB in my case).
  2. Run a IO-heavy program like zerofree on the drive.
  3. Observe a crash after usually about 10-30 minutes.

Sorry I haven't yet found an easier way to reproduce. It does also seem to happen just when idle if you wait long enough with a drive connected and mounted.

Expected behaviour
Zerofree runs to completion without a kernel OOPS.

Actual behaviour
This seems to happen especially during high USB I/O (I was running zerofree on a connected external HDD). I am using a USB y-cable with a 1A power supply for the HDD. Note that the second error (in logs section) occurred later when I was no longer running zerofree and the system was idle.

System
Copy and paste the results of the raspinfo command in to this section. Alternatively, copy and paste a pastebin link, or add answers to the following questions:

  • Which model of Raspberry Pi? Pi 1 Model B (256MB)
  • Which OS and version (cat /etc/rpi-issue)?

Raspberry Pi reference 2016-03-18
Generated using Pi-gen, https://github.com/RPi-Distro/Pi-gen, stage4

  • Which firmware version (vcgencmd version)?

Currently Oct 22 2020 14:06:21
Copyright (c) 2012 Broadcom
version 74e754ff8947c58d2773253f77f6f68a303188f8 (clean) (release) (start_cd)

Unfortunately I didn't run this at the time of the crash (3 weeks ago).

  • Which kernel version (uname -a)?

5.4.72+ as seen in logs, currently:

Linux naspi 5.4.72+ #1356 Thu Oct 22 13:56:00 BST 2020 armv6l GNU/Linux

Logs
Crash #1:

[ **] 8<--- cut here ---
[ **] Unable to handle kernel paging request at virtual address 31a60a02
[ **] [31a60a02] *pgd=00000000
[ **] Internal error: Oops: 5 [#1] ARM

Entering kdb (current=0xc49cd50, pid 1061) Oops: (null)
due to oops @ 0x064e898
CPU: o PID: 1061 Comm: zerofree Tainted: G C 5.4.72+ #1356
Hardware name: BCM2835
PC is at skb_release_data+0x84/0x164
LR is at skb_release_all+0x30/0x34
pc : [] lr : [] psr: 20000113
sp : c87c5b48 ip : c87c5b68 fp : c87c5b64
r10 : 00000000 r9: 00000000 r8: ca21ebda
r7 : ca21f3e0 r6 : c7d1bf00 r5 : ca21f3e0 r4 : 00000000
r3 : 00000054 r2: 00000001 r1: 00000000 r0 : 31a609fe
Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 00c5387d Table: 0a1b8008 DAC: 00000055
CPU: o PID: 1061 Comm: zerofree Tainted: G C 5.4.72+ #1356
Hardware name: BCM2835
Backtrace:
[] (dump_backtrace) from [] (show_stack+0x20/0x24) r7:0000000f r6: c0b84848 r5:c0ab2660 r4:c0b84844
[] (show_stack) from [] (dump_stack+0x20/0x28)
[] (dump_stack) from [] (show_regs+0x1c/0x20)
[] (show_regs) from [] (kdb_main_loop+0x38c/0x89c)
[] (kdb_main_loop) from [] (kdb_stub+0x1ec/0x3f8)
more>

Crash #2:

[ **] 8<--- cut here ---
[ **] Unable to handle kernel NULL pointer dereference at virtual address 0000000sp : c0a5de680
[ **] pgd = 1f1d19ee
[ **] [00000000] *pgd=00000000
[ **] Internal error: OOps: 17 [#1] ARM

Entering kdr (current=0xc392c740, pd 30935) Oops: (null) due to oops @ 0xc0198b70
CPU: 0 PID: 30935 Comm: x11vnc Tainted: G C 5.4.72+ #1356
Hardware name: BCM2835
PC is at unlink_anon_vmas+0x74/0x208
LR is at free_pgtables+0x3c/0cx8
pc : [] lr : [] psr: 80000013
sp : c0a5de68 ip : c0a5dea0 fp : c0a5de9c
r10 : 00000122 r9: c3969f3c r8: 00000000
r7 : 00000000 r6 : fffffff8 r5 : 00000000 r4 : c87000c0
r3 : ffffffff r2 : 0000007d r1: 00201000 r0: c396f00
Flags: Nzcv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 00c5387d Table: 045e0008 DAC: 00000055
CPU: 0 PID: 30935 Comm: x11vnc Tainted: G C 5.4.72+ #1356
Hardware name: BCM2835
Backtrace:
[] (dump_backtract) from [] (show_stack+0x20/0x24) r7:0000000f r6:c0b84848 r5:c0ab2660 r4:c0b84844
[] (show_stack) from [] (dump_stack+0x20/0x28)
[] (dump_stack) from [] (show_regs+0x1c/0x20)
[] (show_regs) from [] (kdb_main_loop+0x38c/0x89c)
[] (kdb_main_loop) from [] (kdb_stub+0x1ec/0x3f8)
more>

Please note I wrote these up from screenshots - there might be small mistakes, but I'm happy to double check if anything seems off.

Additional context
USB hard drive has been powered with a Y-cable and a 1A supply, and the Pi itself is using an official RPI 3 power supply - should be fine.

The system has run fine for a little while now (3 weeks) with the default driver, so I think this probably isn't a power issue.

Happy to provide any more details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant