My Raspberry Pi 4 suddenly stopped connecting my network via ethernet.
Regularly connecting to it via SSH, I had to connect to it locally to diagnose the issue.
Upon startup (which is extremely slow), several services are failing, of which are:
polkit
ModemManager
NetworkManager (although my assumption was the Pi didn't use it?)
bluetooth
No issues reported in dmesg:However, journalctl -xe reports:Once the Pi did eventually boot, I disabled some of the non-necessary services such as bluetooth.
Clearly, there are some bad blocks on the SD card. The activity light on the Pi is constantly on even when idle.
I (hope to have) fixed this by running `e2fsck -fcp` on the ext4 partition of the Pi's SD card from another device.
It appears to have fixed the bad blocks.
As a test, I created the same Pi partitions on a new SD card and successfully rsync'ed both partitions of the original SD to the new one.
I changed the PARTUUID's on the new card in order to boot it as the previous one.
The Pi boots much faster, the activity light is no longer constantly on, and there are no I/O errors reported.
However, the failure of the polkit and the ModemManager services remain:
As a result of the failing services, I'm not being assigned an IP address to the Ethernet connection.
I'm not sure what purpose ModemManager has in the chain of events that lead to the ethernet connection being acknowledged and DHCP being told to hand out an IP.
I'm not sure what to investigate next. Can anyone help?
Regularly connecting to it via SSH, I had to connect to it locally to diagnose the issue.
Upon startup (which is extremely slow), several services are failing, of which are:
polkit
ModemManager
NetworkManager (although my assumption was the Pi didn't use it?)
bluetooth
No issues reported in dmesg:
Code:
[ 1.709725] mmc1: new high speed SDIO card at address 0001[ 1.738935] usb 1-1: new high-speed USB device number 2 using xhci_hcd[ 1.770767] mmc0: new ultra high speed DDR50 SDHC card at address aaaa[ 1.774302] mmcblk0: mmc0:aaaa SC32G 29.7 GiB [ 1.782769] mmcblk0: p1 p2[ 1.786090] mmcblk0: mmc0:aaaa SC32G 29.7 GiB (quirks 0x00004000)[ 2.775917] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Quota mode: none.
Code:
The job identifier is 128.Mar 05 06:23:10 MY-PI avahi-daemon[668]: Server startup complete. Host name is MY-PI.local. Local service cookie is 3489346344.Mar 05 06:23:18 MY-PI kernel: mmc0: Got data interrupt 0x00000002 even though no data operation was in progress.Mar 05 06:23:26 MY-PI kernel: mmc0: Got data interrupt 0x00000002 even though no data operation was in progress.Mar 05 06:23:25 MY-PI systemd[1]: polkit.service: start operation timed out. Terminating.Mar 05 06:23:25 MY-PI systemd[1]: polkit.service: Failed with result 'timeout'.Subject: Unit failedDefined-By: systemdSupport: https://www.debian.org/supportThe unit polkit.service has entered the 'failed' state with result 'timeout'.Mar 05 06:23:25 MY-PI systemd[1]: Failed to start polkit.service - Authorization Manager.Subject: A start job for unit polkit.service has failedDefined-By: systemdSupport: https://www.debian.org/supportA start job for unit polkit.service has finished with a failure.The job identifier is 127 and the job result is failed.Mar 05 06:23:25 MY-PI systemd[1]: Dependency failed for ModemManager.service - Modem Manager.Subject: A start job for unit ModemManager.service has failedDefined-By: systemdSupport: https://www.debian.org/supportA start job for unit ModemManager.service has finished with a failure.The job identifier is 126 and the job result is dependency.Mar 05 06:23:25 MY-PI systemd[1]: ModemManager.service: Job ModemManager.service/start failed with result 'dependency'.Mar 05 06:23:34 MY-PI kernel: mmc0: Got data interrupt 0x00000002 even though no data operation was in progress.Mar 05 06:23:34 MY-PI kernel: I/O error, dev mmcblk0, sector 1992640 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2Mar 05 06:23:43 MY-PI kernel: mmc0: Got data interrupt 0x00000002 even though no data operation was in progress.Mar 05 06:23:50 MY-PI systemd[1]: bluetooth.service: start operation timed out. Terminating.Mar 05 06:23:50 MY-PI systemd[1]: bluetooth.service: Failed with result 'timeout'.Subject: Unit failedDefined-By: systemdSupport: https://www.debian.org/supportThe unit bluetooth.service has entered the 'failed' state with result 'timeout'.Mar 05 06:23:50 MY-PI systemd[1]: Failed to start bluetooth.service - Bluetooth service.Subject: A start job for unit bluetooth.service has failedDefined-By: systemdSupport: https://www.debian.org/supportA start job for unit bluetooth.service has finished with a failure.The job identifier is 285 and the job result is failed.Mar 05 06:23:51 MY-PI kernel: mmc0: Got data interrupt 0x00000002 even though no data operation was in progress.Mar 05 06:23:59 MY-PI kernel: mmc0: Got data interrupt 0x00000002 even though no data operation was in progress.Mar 05 06:23:59 MY-PI kernel: I/O error, dev mmcblk0, sector 1992640 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2Mar 05 06:24:07 MY-PI kernel: mmc0: Got data interrupt 0x00000002 even though no data operation was in progress.Mar 05 06:24:16 MY-PI kernel: mmc0: Got data interrupt 0x00000002 even though no data operation was in progress.Mar 05 06:24:22 MY-PI kernel: INFO: task kworker/2:2:103 blocked for more than 120 seconds.Mar 05 06:24:22 MY-PI kernel: Tainted: G C 6.1.0-rpi8-rpi-v8 #1 Debian 1:6.1.73-1+rpt1Mar 05 06:24:22 MY-PI kernel: "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.Mar 05 06:24:22 MY-PI kernel: task:kworker/2:2 state:D stack:0 pid:103 ppid:2 flags:0x00000008Mar 05 06:24:22 MY-PI kernel: Workqueue: events_freezable mmc_rescanMar 05 06:24:22 MY-PI kernel: Call trace:Mar 05 06:24:22 MY-PI kernel: __switch_to+0xe8/0x160Mar 05 06:24:22 MY-PI kernel: __schedule+0x328/0x960Mar 05 06:24:22 MY-PI kernel: schedule+0x64/0x104Mar 05 06:24:22 MY-PI kernel: __mmc_claim_host+0xe0/0x204Mar 05 06:24:22 MY-PI kernel: mmc_get_card+0x3c/0x4cMar 05 06:24:22 MY-PI kernel: mmc_sd_detect+0x28/0xa0Mar 05 06:24:22 MY-PI kernel: mmc_rescan+0x94/0x2ecMar 05 06:24:22 MY-PI kernel: process_one_work+0x200/0x474Mar 05 06:24:22 MY-PI kernel: worker_thread+0x74/0x43cMar 05 06:24:22 MY-PI kernel: kthread+0x110/0x114Mar 05 06:24:22 MY-PI kernel: ret_from_fork+0x10/0x20Mar 05 06:24:24 MY-PI kernel: mmc0: Got data interrupt 0x00000002 even though no data operation was in progress.Mar 05 06:24:24 MY-PI kernel: I/O error, dev mmcblk0, sector 1992640 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 2Mar 05 06:24:24 MY-PI bthelper[738]: Bus errorMar 05 06:24:24 MY-PI rpi-eeprom-update[686]: Skipping automatic bootloader upgrade. current 1599135103 >= min 1599135103Mar 05 06:24:24 MY-PI rpi-eeprom-update[686]: BOOTLOADER: up to dateMar 05 06:24:24 MY-PI rpi-eeprom-update[686]: CURRENT: Thu 3 Sep 12:11:43 UTC 2020 (1599135103)Mar 05 06:24:24 MY-PI rpi-eeprom-update[686]: LATEST: Wed 11 Jan 17:40:52 UTC 2023 (1673458852)Mar 05 06:24:24 MY-PI rpi-eeprom-update[686]: RELEASE: default (/lib/firmware/raspberrypi/bootloader-2711/default)Mar 05 06:24:24 MY-PI rpi-eeprom-update[686]: Use raspi-config to change the release.Mar 05 06:24:24 MY-PI rpi-eeprom-update[686]: VL805_FW: Dedicated VL805 EEPROMMar 05 06:24:24 MY-PI rpi-eeprom-update[686]: VL805: up to dateMar 05 06:24:24 MY-PI rpi-eeprom-update[686]: CURRENT: 000138c0Mar 05 06:24:24 MY-PI rpi-eeprom-update[686]: LATEST: 000138c0
Clearly, there are some bad blocks on the SD card. The activity light on the Pi is constantly on even when idle.
I (hope to have) fixed this by running `e2fsck -fcp` on the ext4 partition of the Pi's SD card from another device.
It appears to have fixed the bad blocks.
As a test, I created the same Pi partitions on a new SD card and successfully rsync'ed both partitions of the original SD to the new one.
I changed the PARTUUID's on the new card in order to boot it as the previous one.
The Pi boots much faster, the activity light is no longer constantly on, and there are no I/O errors reported.
However, the failure of the polkit and the ModemManager services remain:
Code:
A start job for unit ModemManager.service has begun execution. The job identifier is 149.Mar 09 13:37:05 MY-PI ModemManager[770]: <info> ModemManager (version 1.20.4) starting in system bus...Mar 09 13:37:07 MY-PI systemd[1]: ModemManager.service: Main process exited, code=killed, status=4/ILL Subject: Unit process exited Defined-By: systemd Support: https://www.debian.org/support An ExecStart= process belonging to unit ModemManager.service has exited. The process' exit code is 'killed' and its exit status is 4.Mar 09 13:37:07 MY-PI systemd[1]: ModemManager.service: Failed with result 'signal'. Subject: Unit failed Defined-By: systemd Support: https://www.debian.org/support The unit ModemManager.service has entered the 'failed' state with result 'signal'.Mar 09 13:37:07 MY-PI systemd[1]: Failed to start ModemManager.service - Modem Manager. Subject: A start job for unit ModemManager.service has failed Defined-By: systemd Support: https://www.debian.org/support A start job for unit ModemManager.service has finished with a failure.
I'm not sure what purpose ModemManager has in the chain of events that lead to the ethernet connection being acknowledged and DHCP being told to hand out an IP.
I'm not sure what to investigate next. Can anyone help?
Statistics: Posted by jimjamz — Mon Mar 11, 2024 6:24 pm