raspberrypi / firmware

This repository contains pre-compiled binaries of the current Raspberry Pi kernel and modules, userspace libraries, and bootloader/GPU firmware.
5.05k stars 1.68k forks source link

Raspberry pi 0W v1.1 randomly crashes after a few minutes #1888

Open Totix92 opened 1 week ago

Totix92 commented 1 week ago

Describe the bug The Raspberry Pi 0W freezes after a few minutes of being started.

To reproduce I install Raspberry Pi OS Lite with rpi-imager, I start the raspberry and it works for a few minutes, then no matter what I make it do or idle, it freezes completely and the wifi disconnects, the same sd card on a Raspberry Pi 1B It works and the system doesn't crash. I also tried updating the firmware via rpi-update, but it crashed, so I had to manually download firmware, kernel and modules and update them manually from my Ubuntu laptop, even so the system crashes after a few minutes.

System

 System Information
------------------
Raspberry Pi Zero W Rev 1.1
PRETTY_NAME="Raspbian GNU/Linux 12 (bookworm)"
NAME="Raspbian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"

Raspberry Pi reference 2024-03-15
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 11096428148f0f2be3985ef3126ee71f99c7f1c2, stage2

Linux Raspberry-Pi-0 6.6.28+ #1758 Fri Apr 19 10:36:10 BST 2024 armv6l GNU/Linux
Revision        : 9000c1
Serial          : 00000000a5a93f17
Model           : Raspberry Pi Zero W Rev 1.1
Throttled flag  : throttled=0x0
Camera          : supported=0 detected=0, libcamera interfaces=0

Videocore information
---------------------
Apr 17 2024 17:29:03
Copyright (c) 2012 Broadcom
version 86ccc427f35fdc604edc511881cdf579df945fb4 (clean) (release) (start)

alloc failures:     0
compactions:        0
legacy block fails: 0

Filesystem information
----------------------
File system    1K-blocchi   Usati Disponib. Uso% Montato su
udev                82728       0     82728   0% /dev
tmpfs               43828     904     42924   3% /run
/dev/mmcblk0p2    3297068 1950504   1160868  63% /
tmpfs              219128       0    219128   0% /dev/shm
tmpfs                5120       0      5120   0% /run/lock
/dev/mmcblk0p1     522230  105282    416948  21% /boot/firmware
tmpfs               43824       0     43824   0% /run/user/1000

Filename                                Type            Size            Used   Priority
/var/swap                               file            102396          0      -2

Logs Not having access to the log from ssh once it crashes I had to use rsyslog, managed to install it before it crashed and pointed it at my NAS server.

Message from syslogd@Raspberry-Pi-1 at Apr 23 17:48:27 ...
 kernel:[   88.957230] Internal error: Oops: 37 [#2] ARM

Message from syslogd@Raspberry-Pi-1 at Apr 23 17:48:27 ...
 kernel:[   89.051760] Process dmesg (pid: 733, stack limit = 0x49454e90)

Message from syslogd@Raspberry-Pi-1 at Apr 23 17:48:27 ...
 kernel:[   89.054060] Stack: (0xdc9c5e80 to 0xdc9c6000)

Message from syslogd@Raspberry-Pi-1 at Apr 23 17:48:27 ...
 kernel:[   89.056369] 5e80: 00000000 dc9c5e84 dc9c5e84 c0d875f8 c0d875f8 c0d875e0 c0d875e0 c367b000

Message from syslogd@Raspberry-Pi-1 at Apr 23 17:48:27 ...
 kernel:[   89.060994] 5ea0: c0d7b030 c367b54c dc9c5f2c c0057fc0 c0d875f8 c0d875f8 c0d875e0 c0058d6c

Message from syslogd@Raspberry-Pi-1 at Apr 23 17:48:27 ...
 kernel:[   89.065770] 5ec0: c367b000 c367b000 c0d875e0 00000000 c367b5f0 c0d7b030 c367b54c c09b5908

Message from syslogd@Raspberry-Pi-1 at Apr 23 17:48:27 ...
 kernel:[   89.070762] 5ee0: 00000000 00000000 00000000 00000000 c09b61bc 00000000 00000000 00000000

Message from syslogd@Raspberry-Pi-1 at Apr 23 17:48:27 ...
 kernel:[   89.076159] 5f00: 00000000 161dcbd9 01000005 c367b000 dc9c5fb0 b6ed0d30 c000843c c367b5f0

Message from syslogd@Raspberry-Pi-1 at Apr 23 17:48:27 ...
 kernel:[   89.081732] 5f20: c0d7b030 fffffe30 dc9c5f3c c09b61bc c367b000 dc9c5fb0 00000000 c0011f28

Message from syslogd@Raspberry-Pi-1 at Apr 23 17:48:27 ...
 kernel:[   89.087485] 5f40: 00000000 00004004 00000000 00000000 00000000 161dcbd9 00a9c428 c38a16e0

Message from syslogd@Raspberry-Pi-1 at Apr 23 17:48:27 ...
 kernel:[   89.093432] 5f60: c38a16e0 00000000 00000000 c000843c c367b000 00000000 bee49364 c0235118

Message from syslogd@Raspberry-Pi-1 at Apr 23 17:48:27 ...
 kernel:[   89.099342] 5f80: 00000000 161dcbd9 60000013 0000003f 00a9c428 b6ed0d30 00000004 c000843c

Message from syslogd@Raspberry-Pi-1 at Apr 23 17:48:27 ...
 kernel:[   89.105371] 5fa0: c367b000 00000000 bee49364 c00082c4 0000003f 00a9c428 0000003f 00000001

Message from syslogd@Raspberry-Pi-1 at Apr 23 17:48:27 ...
 kernel:[   89.111413] 5fc0: 0000003f 00a9c428 b6ed0d30 00000004 0000003f b6eced20 00000000 bee49364

Message from syslogd@Raspberry-Pi-1 at Apr 23 17:48:27 ...
 kernel:[   89.117534] 5fe0: 00024150 bee49178 b6dd3970 b6e466ac 20000010 00000001 00000000 00000000

Message from syslogd@Raspberry-Pi-1 at Apr 23 17:48:27 ...
 kernel:[   89.123846]  __inet_lookup_listener from 0xc367b000

Message from syslogd@Raspberry-Pi-1 at Apr 23 17:48:27 ...
 kernel:[   89.127094] Code: 0a00002d e59f3158 e3700a01 83a00000 (e5932000)
Segmentation error`
`Raspberry-Pi-0 authpriv sudo salvatore : TTY=pts/0 ; PWD=/home/salvatore ; USER=root ; COMMAND=/usr/bin/apt update

Raspberry-Pi-0 authpriv sudo pam_unix(sudo:session): session opened for user root(uid=0) by salvatore(uid=1000)

Raspberry-Pi-0 kern kernel [ 835.354433] Unable to handle kernel paging request at virtual address ffffffff when read

Raspberry-Pi-0 kern kernel [ 835.354471] [ffffffff] *pgd=1b57d861, *pte=00000000, *ppte=00000000

Raspberry-Pi-0 kern kernel [ 835.354522] Internal error: Oops: 37 [#1] ARM

Raspberry-Pi-0 kern kernel [ 835.354551] Modules linked in: cmac algif_hash aes_arm aes_generic ecb algif_skcipher af_alg bnep brcmfmac_wcc brcmfmac vc4 brcmutil snd_soc_hdmi_codec drm_display_helper cfg80211 cec hci_uart drm_dma_helper btbcm bluetooth drm_kms_helper snd_soc_core snd_compress snd_pcm_dmaengine raspberrypi_hwmon ecdh_generic i2c_bcm2835 ecc libaes bcm2835_v4l2(C) bcm2835_codec(C) bcm2835_isp(C) v4l2_mem2mem bcm2835_mmal_vchiq(C) videobuf2_vmalloc videobuf2_dma_contig videobuf2_memops videobuf2_v4l2 videodev snd_bcm2835(C) snd_pcm snd_timer videobuf2_common snd vc_sm_cma(C) mc raspberrypi_gpiomem rfkill fixed binfmt_misc uio_pdrv_genirq uio drm fuse dm_mod drm_panel_orientation_quirks backlight ip_tables x_tables ipv6

Raspberry-Pi-0 kern kernel [ 835.354951] CPU: 0 PID: 15 Comm: kworker/u2:1 Tainted: G C 6.6.28+ #1758

Raspberry-Pi-0 kern kernel [ 835.354990] Hardware name: BCM2835

Raspberry-Pi-0 kern kernel [ 835.355017] Workqueue: 0x0 (flush-179:0)

Raspberry-Pi-0 kern kernel [ 835.355063] PC is at __inet_lookup_listener+0xe4/0x240

Raspberry-Pi-0 kern kernel [ 835.355119] LR is at 0xa1d54b71

Raspberry-Pi-0 kern kernel [ 835.355143] pc : [<c0893d80>] lr : [<a1d54b71>] psr: 00000093

Raspberry-Pi-0 kern kernel [ 835.355168] sp : dc85dea0 ip : 00000000 fp : dc85df4c

Raspberry-Pi-0 kern kernel [ 835.355191] r10: c113e54c r9 : 61c88647 r8 : c113e000

Raspberry-Pi-0 kern kernel [ 835.355215] r7 : c113e198 r6 : c0d875e0 r5 : c0d875f8 r4 : c1bcd1a0

Raspberry-Pi-0 kern kernel [ 835.355242] r3 : ffffffff r2 : 00000000 r1 : 00000000 r0 : 00000000

Raspberry-Pi-0 kern kernel [ 835.355268] Flags: nzcv IRQs off FIQs on Mode SVC_32 ISA ARM Segment user

Raspberry-Pi-0 kern kernel [ 835.355300] Control: 00c5387d Table: 036fc008 DAC: 00000055

Raspberry-Pi-0 kern kernel [ 835.355322] Register r0 information: NULL pointer

Raspberry-Pi-0 kern kernel [ 835.355353] Register r1 information: NULL pointer

Raspberry-Pi-0 kern kernel [ 835.355381] Register r2 information: NULL pointer

Raspberry-Pi-0 kern kernel [ 835.355408] Register r3 information: non-paged memory

Raspberry-Pi-0 kern kernel [ 835.355436] Register r4 information: slab kmalloc-cg-4k start c1bcd000 pointer offset 416 size 4096

Raspberry-Pi-0 kern kernel [ 835.355497] Register r5 information: non-slab/vmalloc memory

Raspberry-Pi-0 kern kernel [ 835.355530] Register r6 information: non-slab/vmalloc memory

Raspberry-Pi-0 kern kernel [ 835.355560] Register r7 information: slab kmalloc-cg-4k start c113e000 pointer offset 408 size 4096

Raspberry-Pi-0 kern kernel [ 835.355615] Register r8 information: slab kmalloc-cg-4k start c113e000 pointer offset 0 size 4096

Raspberry-Pi-0 kern kernel [ 835.355670] Register r9 information: non-paged memory

Raspberry-Pi-0 kern kernel [ 835.355699] Register r10 information: slab kmalloc-cg-4k start c113e000 pointer offset 1356 size 4096

Raspberry-Pi-0 kern kernel [ 835.355755] Register r11 information: 2-page vmalloc region starting at 0xdc85c000 allocated at kernel_clone+0x98/0x304

Raspberry-Pi-0 kern kernel [ 835.355818] Register r12 information: NULL pointer

Raspberry-Pi-0 kern kernel [ 835.355847] Process kworker/u2:1 (pid: 15, stack limit = 0x19d76a92)

Raspberry-Pi-0 kern kernel [ 835.355882] Stack: (0xdc85dea0 to 0xdc85e000)

Raspberry-Pi-0 kern kernel [ 835.355913] dea0: 00000000 00000000 00000000 c0d875f8 c0d875f8 c0d875e0 c0d875e0 c113e000

Raspberry-Pi-0 kern kernel [ 835.355951] dec0: 61c88647 c113e54c dc85df4c c0057fc0 c0d875f8 c0d875f8 c0d875e0 c0058d6c

Raspberry-Pi-0 kern kernel [ 835.355987] dee0: c113e000 c113e000 c0d875e0 00000000 c100d61c 61c88647 c113e54c c09b5908

Raspberry-Pi-0 kern kernel [ 835.356023] df00: 00000040 00000041 c100d658 c0008cfc c09b61bc 00000000 c113e000 00000402

Raspberry-Pi-0 kern kernel [ 835.356059] df20: 00000000 1c435ebd c100d600 c113e000 c10c3bac c100d600 c0deda40 c100d61c

Raspberry-Pi-0 kern kernel [ 835.356096] df40: 61c88647 c10c372c dc85df5c c09b61bc c10c3b80 c10c3bac c100d658 c003d404

Raspberry-Pi-0 kern kernel [ 835.356132] df60: c10c3b80 c113e000 dc83ded0 c11aae80 c113e000 c003d214 c10c3b80 c10c1d40

Raspberry-Pi-0 kern kernel [ 835.356168] df80: dc83ded0 00000000 00000000 c004407c c11aae80 c0043fb0 00000000 00000000

Raspberry-Pi-0 kern kernel [ 835.356204] dfa0: 00000000 00000000 00000000 c000833c 00000000 00000000 00000000 00000000

Raspberry-Pi-0 kern kernel [ 835.356238] dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

Raspberry-Pi-0 kern kernel [ 835.356274] dfe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000

Raspberry-Pi-0 kern kernel [ 835.356312] __inet_lookup_listener from 0xc113e000

Raspberry-Pi-0 kern kernel [ 835.356403] Code: 0a00002d e59f3158 e3700a01 83a00000 (e5932000)

Raspberry-Pi-0 kern kernel [ 835.356437] ---[ end trace 0000000000000000 ]---

Raspberry-Pi-0 kern kernel [ 835.356461] note: kworker/u2:1[15] exited with irqs disabled`
popcornmix commented 1 week ago

What are you using as a power supply? Do you have any other option to test?

Totix92 commented 1 week ago

I'm using the official raspberry 5.1v 2.5A power supply. I can try with another power supply.

popcornmix commented 1 week ago

I don't think this is a software issue. If Pi0W only ran for a few minutes for everyone then there would be many reports.

So, it's down to something unique to you. The options are: Faulty Pi0W Faulty power supply Faulty sdcard

What happens if you don't connect to wifi. Is it still dead in a few minutes?

You could try adding over_voltage=2 to config.txt. Does that make any difference?

Totix92 commented 1 week ago

This is what I get if I try another PSU and try running rpi-update:

curl: (23) Failure writing output to destination

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.956475] Internal error: Oops: 37 [#1] ARM

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.956475] Internal error: Oops: 37 [#1] ARM

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.957750] Process tar (pid: 971, stack limit = 0x81fabb03)

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.957784] Stack: (0xdcd8ddd0 to 0xdcd8e000)

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.957813] ddc0: c0d875e0 c07693a4 c18e3000 c0d875f8

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.957850] dde0: c0d875f8 c0d875e0 c0d875e0 c1d60000 00000440 c1d60548 dcd8de7c c0057fc0 /usr/bin/rpi-update: riga 583: 969 Uscita 1 eval curl ${CURL_OPTIONS} "${FW_TARBALL_URI}" 971 Errore di segmentazione | tar xzf - -C "${FW_REPOLOCAL}" --strip-components=1

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.957750] Process tar (pid: 971, stack limit = 0x81fabb03)

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.957784] Stack: (0xdcd8ddd0 to 0xdcd8e000)

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.957813] ddc0: c0d875e0 c07693a4 c18e3000 c0d875f8

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.957886] de00: c0d875f8 c0d875f8 c0d875e0 c0058d6c c1d60000 c1d60000 c0d875e0 00000001

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.957922] de20: c1d60000 00000440 c1d60548 c09b5908 cb153fb8 c1447c00 c1114d90 c0e13e9c

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.957957] de40: c09b61bc 00000000 00000440 00002000 00000000 07290644 6627fd86 c1d60000

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.957993] de60: c2436d2c 00000010 00000000 c1d60000 00000440 00002000 dcd8de8c c09b61bc

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.958029] de80: c2436d20 c2436d2c 00000440 c023e6d8 c1d60000 00000000 2d5ad2ad c2436d70

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.958065] dea0: c1a92640 00000000 dcd8df08 dcd8df28 00000001 c1d60000 c006013c c2436d2c

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.958101] dec0: c2436d2c 07290644 00002600 00002000 c1a92640 00000000 00a89800 c1d60000

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.958136] dee0: 00000001 00000000 00004004 c02346f8 00000000 c0234d9c 00000004 00000000

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.958171] df00: 000a41ed 00000000 00000005 00000001 00000000 00a89800 00002000 00000000

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.958207] df20: 00000001 00000000 c1a92640 00000000 00000000 00000000 00000000 00000000

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.958242] df40: 00000000 00004004 00000000 00000000 00000000 07290644 00002000 c1a92640

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.958277] df60: c1a92640 00a89800 00002000 c000843c c1d60000 00000000 000001ff c023506c

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.958313] df80: 00002600 00000000 00000000 07290644 00079208 00000800 00002000 7ff00000

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.958349] dfa0: 00000003 c0008260 00000800 00002000 00000003 00a89800 00002000 00000001

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.958384] dfc0: 00000800 00002000 7ff00000 00000003 00000003 00079190 00000000 000001ff

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.958420] dfe0: 00077078 bebb6128 00056e8c b6e5b5f0 20000010 00000003 00000000 00000000

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.958458] __inet_lookup_listener from 0xc1d60000

Message from syslogd@Raspberry-Pi-1 at Apr 23 20:27:18 ... kernel:[ 286.958548] Code: 0a00002d e59f3158 e3700a01 83a00000 (e5932000)

After this the system crashes, the same SD running on a Pi 1B works, I doubt that's the problem. I can't test without wifi as I don't have the cable to connect the mouse and keyboard, nor the monitor. When I flash the OS image I pre-set the wifi parameters. I'm reflashing the image to try again.

Totix92 commented 1 week ago

I tried with over_voltage=2 Stable but it got too hot, so I tried with over_voltage=1 and so far it hasn't stopped, but how is this possible? I don't do any overclocking yet it requires overvoltage to be stable? Why?

pelwell commented 1 week ago

Silicon variation. No matter how hard you try, no two chips will behave identically. Some need more, some less. Even worse, the variations affect different parts of the chips in different ways. There are mechanisms in place to work out the best voltage to use on the current board, but you do occasionally get outliers like yours that need just a bit more.