linux-firmware-raspi2 conflicts with linux-firmware over brcmfmac43430-sdio.bin

Bug #1691729 reported by Sebastian Unger on 2017-05-18
72
This bug affects 13 people
Affects Status Importance Assigned to Milestone
linux-firmware-raspi2 (Ubuntu)
Undecided
Ryan Finnie

Bug Description

I just tried to do a fresh install of xenial on a raspberry pi (I'm not using a pre-made image but rather create a full install from scratch using debootstrap etc) and it failed because it couldn't install linux-firmware-raspi2 (1.20161020-0ubuntu1~0.2~rpi3) because the file /lib/firmware/brcm/brcmfmac43430-sdio.bin was already owned by linux-firmware 1.157.10.

This caused me to go back to my already installed and running RPI and sure enough, it was stuck on linux-firmware 1.157.8.

linux-firmware-raspi2 should probably not include this file if it already is in linux-firmware. Alternatively it should use dpkg-divert to divert linux-firmware's version of the file out of the way.

Sebastian Unger (sebunger44) wrote :

Actually it wasn't stuck. It has now tried to install 1.157.10 and failed as well.

Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in linux-firmware-raspi2 (Ubuntu):
status: New → Confirmed
hackeron (hackeron) wrote :

Any solution to this? - Experiencing the same problem:

# apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  linux-firmware
1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
18 not fully installed or removed.
Need to get 0 B/38.7 MB of archives.
After this operation, 5624 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
N: Ignoring file '50unattended-upgrades.ucf-dist' in directory '/etc/apt/apt.conf.d/' as it has an invalid filename extension
(Reading database ... 105518 files and directories currently installed.)
Preparing to unpack .../linux-firmware_1.157.10_all.deb ...
Unpacking linux-firmware (1.157.10) over (1.157.8) ...
dpkg: error processing archive /var/cache/apt/archives/linux-firmware_1.157.10_all.deb (--unpack):
 trying to overwrite '/lib/firmware/brcm/brcmfmac43430-sdio.bin', which is also in package linux-firmware-raspi2 1.20161020-0ubuntu1~0.2~rpi3
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)

Sebastian Unger (sebunger44) wrote :

For every-body who has this issue, the following command works around it until the package maintainers find a solution:

sudo dpkg-divert --divert /lib/firmware/brcm/brcmfmac43430-sdio-2.bin --package linux-firmware-raspi2 --rename --add /lib/firmware/brcm/brcmfmac43430-sdio.bin

Please note that this will set up a diversion for the conflicting file in your system and may have to be un-done once a permanent solution is found. If the chosen solution is to remove the file from linux-firmware and leave it in linux-firmware-raspi2, then the file /lib/firmware/brcm/brcmfmac43430-sdio.bin will end up missing in your system. In this case you can remove the diversion by replacing --add with --remove in the above command.

hackeron (hackeron) wrote :

Thank you for the workaround, that's very helpful :)

Andrea R. (andreran) wrote :

Thanks! The diversion worked for me as well.

Paolo Pisati (p-pisati) wrote :

The linux-firmware-raspi2 1.20161020-0ubuntu1~0.2~rpi3 is not the same linux-firmware-raspi2 that you find in the archive: it is actually a package from a PPA - you should contact the author and work out the problem with him.

https://launchpad.net/~ubuntu-raspi2/+archive/ubuntu/ppa-rpi3/+packages

Changed in linux-firmware-raspi2 (Ubuntu):
assignee: nobody → Ryan Finnie (fo0bar)
Neil Bryan (cambesol) wrote :

I need a headless, minimal install of Ubuntu to run on a Raspberry Pi 3. I followed the instructions here:

https://medium.com/a-swift-misadventure/how-to-setup-your-raspberry-pi-2-3-with-ubuntu-16-04-without-cables-headlessly-9e3eaad32c01

and initially chose the most recent of the Ubuntu Server Classic images suggested:

http://cdimage.ubuntu.com/ubuntu/releases/16.04/release/ubuntu-16.04.2-preinstalled-server-armhf+raspi2.img.xz

Unfortunately, this failed to boot and I have the impression it got stuck during the boot process
as the current consumption remains static on my PSU at ~283mA, whereas on a running Pi, it varies during the boot-phase.

I tried the next suggested image:

http://www.finnie.org/software/raspberrypi/ubuntu-rpi3/ubuntu-16.04-preinstalled-server-armhf+raspi3.img.xz

This indeed booted and I ssh'd into the board to continue the setup. I ran:

sudo apt-get update

followed by:

sudo apt-get upgrade

This fails with the following:

Preparing to unpack .../linux-firmware_1.157.11_all.deb ...
Unpacking linux-firmware (1.157.11) over (1.157) ...
dpkg: error processing archive /var/cache/apt/archives/linux-firmware_1.157.11_all.deb (--unpack):
 trying to overwrite '/lib/firmware/brcm/brcmfmac43430-sdio.bin', which is also in package linux-firmware-raspi2 1.20160503+6832d9a-0ubuntu1~rpi1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)

Followed by:

Errors were encountered while processing:
 /var/cache/apt/archives/linux-firmware_1.157.11_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

I expect that this is the same problem described by this bug report, but with a more recent version of linux-firmware.

I have now installed Ubuntu Mate 16.04 so that I can continue working, but it comes with LibreOffice, Firefox etc, etc, which I really have no use for. The purpose of this comment is to confirm that the issue persists, and to inquire if there is any visibility as to when the package may be fixed. Thank you all for you efforts. Neil.

bitinerant (bitinerant) wrote :

I had this very same issue when upgrading a Pi 2 image of Ubuntu Server 16.04.3 to Pi 3. The directions are here: https://wiki.ubuntu.com/ARM/RaspberryPi#line-105

The work-around in comment #4 worked well and is very much appreciated.

cgtobi (cgtobi) wrote :

This is still the case with linux-firmware 1.157.14.

Preparing to unpack .../linux-firmware_1.157.14_all.deb ...
Unpacking linux-firmware (1.157.14) over (1.157.8) ...
dpkg: error processing archive /var/cache/apt/archives/linux-firmware_1.157.14_all.deb (--unpack):
 trying to overwrite '/lib/firmware/brcm/brcmfmac43430-sdio.bin', which is also in package linux-firmware-raspi2 1.20161020-0ubuntu1~0.2~rpi3
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)

Jim Burd (jimburd) wrote :

The workaround (in Comment #4) is not working for me. I'm running on a Raspberry Pi 3 Model B. I've been working on this for several days and trying different variations in the order I do things (rebooting or not after upgrade, etc.), and eventually I always end up with a SD image that will not boot. Which makes sense, I guess, since this involves a firmware image.

Here's what I get when I try the workaround:

  ubuntu@ubuntu:~$ sudo dpkg-divert --divert /lib/firmware/brcm/brcmfmac43430-sdio-2.bin --package linux-firmware-raspi2 --rename --add /lib/firmware/brcm/brcmfmac43430-sdio.bin
  sudo: unable to resolve host ubuntu
  Adding 'diversion of /lib/firmware/brcm/brcmfmac43430-sdio.bin to /lib/firmware/brcm/brcmfmac43430-sdio-2.bin by linux-firmware-raspi2'
  Ignoring request to rename file '/lib/firmware/brcm/brcmfmac43430-sdio.bin' owned by diverting package 'linux-firmware-raspi2'

Things still work OK at that point, and I can reboot. But the very next time I run 'sudo apt-get upgrade' the process runs a long time (updating all kinds of things that were not being upgraded before I typed in the workaround), and when it is finally done, the Pi will no longer boot up after a reboot.

I'm guessing that the reason it fails for me is that "Ignoring request to rename file" message (which I've not seen anyone else mention). But I have no idea what to do about it.

although the "diversion" workaround results in a nice-looking upgrade output. The system fails to reboot for me as well.

Jon David Sawyer (badquanta) wrote :

I can confirm all of what Blake & Jim said, just tried it too. Raspberry Pi 3, Mainline Distro. Pi did not come back from reboot. Re-imaging now. May "freeze" these packages as a work around and not attempt a dist-upgrade.

Jon David Sawyer (badquanta) wrote :

armbian-config -> System -> Freeze

Jon,
    Does armbian-config work on ubuntu 16.04? Does that command freeze all SW or allow you to specify?
THX

Slawomir Gajowniczek (imkebe) wrote :

Same for me. Doesn't boot. Need to re-imaging.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers