[Pkg-raspi-maintainers] Bug#951744: raspi-firmware: current cmdline defaults prevents RPi4 from working

Bjørn Mork bjorn at mork.no
Mon May 4 15:57:47 BST 2020


Package: raspi-firmware
Followup-For: Bug #951744

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Dear Maintainer,

Adding this info here since it is really about having a more flexible cmdline
generator, with fewer hardcoded defaults.

The current CMA=64M prevents the 4GB RPi4 from working properly:

[    4.776351] raspberrypi-firmware soc:firmware: Request 0x00000001 returned status 0x00000000
[    4.785055] raspberrypi-firmware soc:firmware: Request 0x00030046 returned status 0x00000000
[    4.794006] raspberrypi-firmware soc:firmware: Request 0x00030007 returned status 0x00000000
[    4.802622] raspberrypi-clk raspberrypi-clk: Failed to get pllb min freq: -22
[    4.809891] raspberrypi-clk raspberrypi-clk: Failed to initialize pllb, -22
[    4.816989] raspberrypi-clk: probe of raspberrypi-clk failed with error -22
[    4.824476] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    4.833090] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 0 config (-22 80)
[    4.841381] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    4.849988] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 1 config (-22 81)
[    4.858270] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    4.866876] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 2 config (-22 82)
[    4.875157] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    4.883759] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 3 config (-22 83)
[    4.892041] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    4.900644] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 4 config (-22 84)
[    4.908926] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    4.917528] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 5 config (-22 85)
[    4.925807] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    4.934409] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 6 config (-22 86)
[    4.942690] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    4.951294] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 7 config (-22 87)
[    4.960190] raspberrypi-firmware soc:firmware: Request 0x00030030 returned status 0x00000000
[    4.969229] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    4.977837] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 1 config (-22 81)
[    4.986124] raspberrypi-firmware soc:firmware: Request 0x00030043 returned status 0x00000000
[    4.994746] raspberrypi-exp-gpio soc:firmware:gpio: Failed to get GPIO 1 config (-22 81)
[    5.003004] pwrseq_simple: probe of wifi-pwrseq failed with error -22
[    5.010323] hctosys: unable to open rtc device (rtc0)


This failure to communicate with the VideoCore firmware prevents many of the SoC
devices from working. E.g sound and the vchiq character deviice.  Removing the
unnecessary  "cma=xx" option from the command line fixes the issue:

[    4.742103] raspberrypi-firmware soc:firmware: Attached to firmware from 2020-03-26 17:18
[    4.751121] raspberrypi-clk raspberrypi-clk: CPU frequency range: min 600000000, max 1500000000
[    4.765035] hctosys: unable to open rtc device (rtc0)


But the raspi-firware scripts do not allow removal of the cma=XX parameter,
only changing its value.  This should be up to the user to decide. And any
default setting should at least work on all supported platforms.

I'd really prefer obscure tuning options like this to be left to expert
users, and not arbitrarily changed by distro scripts.  Change the upstream
kernel defaults instead if necessary.

Specifying nfs root is possible, but unnecessarily hard.  Had to cheat with:

 ROOTPART="/dev/nfs nfsroot=192.168.2.1:/var/nfsroot/buster-bcm27xx"

And then there is no way to prevent the now unnecessary "fsck.repair=yes.  Or
or changing the rootfs to "ro".

The hard coded default "elevator=deadline" is pointless, as pointed out by
current kernels:

[    0.000000] Kernel parameter elevator= does not have any effect anymore.
[    0.000000] Please use sysfs to set IO scheduler for individual devices.


I do want the "net.ifnames=0", but this is again not something that should
be hard coded in the script.  It will create issues for anyone wanting the
odd systemd names. Which is the documented Debian default, whether we like
it or not.

In short: make the default line completely configurable.  Remove all
optional parameters from defaults.  Possibly leaving them as proposed
settings.


Bjørn


- -- System Information:
Debian Release: 10.3
  APT prefers stable
  APT policy: (990, 'stable'), (500, 'stable-updates')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-8-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

-----BEGIN PGP SIGNATURE-----

iGwEARECACwWIQR3fjfc8EF8nPbC0aDXSuqSjBsiyQUCXrAtZw4cYmpvcm5AbW9y
ay5ubwAKCRDXSuqSjBsiydxPAKCAOTfP8l2VRgvHDjghvDxZ3GZmswCfc5esr1kd
e+rXeB/2U2eM25LOpHY=
=hMbp
-----END PGP SIGNATURE-----


More information about the Pkg-raspi-maintainers mailing list