6

Problem: I've successfully upgraded a RasPi 3B+ dev box from Buster to Bullseye. However, when the Pi boots up, there is no internet connection.

Background:

  • Boot up showed a [FAILED] entry of: Failed to start DHCP Client Daemon.
  • $ sudo service dhcpcd start creates a syslog entry stating:
    • dhcpcd.service: Failed at step EXEC spawning /usr/lib/dhcpcd5/dhcpcd: No such file or directory
  • Downloaded and installed dhcpcd5.
    • Unsure why this wasn't already part of the dist-upgrade (?)
  • Boot up now shows the [FAILED] entry of: Failed to start dhcpcd on all interfaces
  • The only interface shown in ifconfig is lo.

I have reviewed this question to no avail, primarily because my other Pis (all running Buster) do not use the interfaces file as the static IPs are assigned by dnsmasq on the network server (another Pi).

Question: I'm a systems developer, so networking internals aren’t my strongest subject. Where should I be looking to have the eth0 (or equivalent) interface become available - or is this just a case of Bullseye not being ready yet?

Please let me know if you need further information.

S3DEV
  • 193
  • 1
  • 11
  • I had some issues with `dhcpcd` after upgrading my Pi 3B from Buster to Bullseye. Fortunately, I had working Internet after the upgrade, but the interface `eth0` was renames based on its MAC address (as it used to be in Stretch). Follwing @Milliways advice I did a full install of Bullseye later in a new SD card and copied my home folder and other modifications. – user68186 Dec 14 '21 at 21:36
  • Thanks for the comment. In line with the comment on the answer, a new install just isn’t an option; so will hold tight until Bullseye is more mature. – S3DEV Dec 14 '21 at 21:52
  • 1
    In retrospect I should have waited, but my Pi is not running anything mission critical. The Raspberry P organization has recognized that there are issues with the Bullseye version and [announced that they will maintain the Buster version](https://www.tomshardware.com/news/raspberry-pi-releases-legacy-os) for those in your shoes. – user68186 Dec 14 '21 at 21:59
  • Did you find a satisfactory solution for your use-case? If so, you may want to post an answer. – user68186 Feb 09 '22 at 16:01
  • 1
    @user68186 - Yes, holding tight with Buster. :-) (Obviously not worth posting as an answer.) – S3DEV Feb 09 '22 at 16:24

4 Answers4

2

If you followed the advice to perform a fresh installation you would have no problem (at least with networking - there are other issues with Bullseye).

There are others reporting the same issue (which is caused by upgrading installing another network manager connman).

There are other issues, including missing eth0.

Milliways
  • 54,718
  • 26
  • 92
  • 182
  • Yes, I saw the advice to do a fresh install. However, for our ‘estate’ of 12 Pis all performing dedicated tasks, that’s just not an option, so wanted to give it a test on the dev box. If others are reporting issues, I’ll put this down to Bullseye isn’t ready, and will hold tight with Buster. Thanks for the feedback. – S3DEV Dec 14 '21 at 21:50
  • Can I infer from your answer that Bullseye uses a new networking manager, which is presumably why the networking issue is occurring? Is it an option to install the new manager and remove the old; or is it more embedded than that? (Sounds too simple) – S3DEV Dec 14 '21 at 21:54
  • 1
    No. There is a popular site that erroneously claiming connman, but a fresh install continues to use dhcpcd. Others have reported that removing connman removes the bug, but others remain. I did an upgrade (on a fresh Buster image) for testing and managed with workaround. – Milliways Dec 14 '21 at 22:00
  • Great, thank you for the input. Have accepted your answer as an appreciative gesture for your time and input. – S3DEV Dec 14 '21 at 22:09
  • Still quite frustrating that an upgrade fails so badly here compared to a fresh installation. Does anyone have a clue what exactly the issue is? Debian itself supports such upgrades well since years, so what is special on the Raspberry? – centic Dec 15 '21 at 09:12
  • 3
    @centic there is a simple solution. Just kick in a few million so RPT can hire a team of developers. The issue is not that there is no upgrade path but that users choose to ignore the advice. In fact it is possible to upgrade if you have the skills and are prepared to put in the effort. My real criticism is that there was no beta or prerelease BEFORE inflicting it on beginners. – Milliways Dec 15 '21 at 09:30
1

For anyone that's got here via an ill-advised upgrade from buster and needs to get up and running quickly (pending a fresh install at some later date), simply disable dhcp and enable a static IP address via networking as per the section Network Interfaces Method in: How do I set up networking/WiFi/static IP address on Raspbian/Raspberry Pi OS?

RCross
  • 111
  • 2
  • Thanks for this, this exactly resolved the problem and I can now start creating a fresh bullseye image – Dennis G Jun 22 '22 at 20:19
1

I had the same problem, and sudo apt purge connman fixed it after the fact.

However losing your network connection while doing a remote upgrade causes a lot of trouble. I have not tested it, but in theory adding these lines to /etc/apt/preferences in advance should prevent connman from getting installed in the first place:

Package: connman
Pin: origin ""
Pin-Priority: -1

If you try that, please leave a comment reporting your luck with it.

The discouraging official “How to upgrade a Buster image to Bullseye” thread mentions other issues you might run into with an in-place upgrade, e.g.,

When it completes, edit /boot/config.txt. Comment out any lines which contain "dtoverlay=vc4-fkms-v3d" by putting a # sign at the start of the line. At the bottom of the file, in the [all] section, add the line "dtoverlay=vc4-kms-v3d" - note that is "kms", not "fkms".

so it might be worth perusing too.

andrewdotn
  • 111
  • 2
0

Error is in file /etc/systemd/system/dhcpcd.service.d/wait.conf

change it to

[Service]
ExecStart=
ExecStart=/usr/lib/dhcpcd5/dhcpcd -q -w

do sudo systemctl daemon-reload && sudo systemctl restart dhcpcd and your back online and your network interface like eth0 and wlan0 appear again and are up.

Source: https://forums.raspberrypi.com/viewtopic.php?t=320383#p1918251 and also applied by myself to get device online again.

Hannes
  • 98
  • 5