Bug 254248 - USB doesn't work on FreeBSD 13.0-RC2 for the Raspberry Pi 4
Summary: USB doesn't work on FreeBSD 13.0-RC2 for the Raspberry Pi 4
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: arm (show other bugs)
Version: 13.0-STABLE
Hardware: arm64 Any
: --- Affects Some People
Assignee: freebsd-arm (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-03-13 00:17 UTC by carlj
Modified: 2021-03-20 00:06 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description carlj 2021-03-13 00:17:41 UTC
I downloaded the latest FreeBSD 13.0-RC2 binary and installed the SC card in my RPi4, but there is no USB response of any sort.  I have used the same system with the official Raspberry Pi OS build and everything works fine.  I had found the same problem with the -BETA3, -BETA4, and -RC1 build, but it was supposed to be a known problem that would be fixed before -RC1.  I can ssh into the system over ethernet, so I can supply information as needed.

The system is an 8GB Raspberry Pi 4 and the OS build is the FreeBSD 13.0-RC2 image that I downloaded from freebsd.org, and verified the checksum.
The uname -a output is:

FreeBSD generic 13.0-RC2 FreeBSD 13.0-RC2 #0 releng/13.0-n244684-13c22f74953: Fri Mar 12 05:55:24 UTC 2021     root@releng1.nyi.freebsd.org:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC  arm64
Comment 1 Mark Millard 2021-03-13 01:08:44 UTC
The FreeBSD-13.0-RC2-arm64-aarch64-RPI.img
unfortunately has older RPI* firmware:

# strings /mnt/start4.elf | grep VC_BUILD_ID_
VC_BUILD_ID_USER: dom
VC_BUILD_ID_TIME: 22:19:57
VC_BUILD_ID_VARIANT: start
VC_BUILD_ID_TIME: Jan 27 2021
VC_BUILD_ID_BRANCH: bcm2711_2
VC_BUILD_ID_HOSTNAME: buildbot
VC_BUILD_ID_PLATFORM: raspberrypi_linux
VC_BUILD_ID_VERSION: 99d9a48302e4553cff3688692bb7e9ac760a03fa (clean)

For it to work it should have been like it
is in:

FreeBSD-14.0-CURRENT-arm64-aarch64-RPI-20210311-15565e0a217-257277.img :

# strings /mnt/start4.elf | grep VC_BUILD_ID_
VC_BUILD_ID_USER: dom
VC_BUILD_ID_TIME: 12:10:40
VC_BUILD_ID_VARIANT: start
VC_BUILD_ID_TIME: Feb 25 2021
VC_BUILD_ID_BRANCH: bcm2711_2
VC_BUILD_ID_HOSTNAME: buildbot
VC_BUILD_ID_PLATFORM: raspberrypi_linux
VC_BUILD_ID_VERSION: 564e5f9b852b23a330b1764bcf0b2d022a20afd0 (clean)

I've sent a note to Glen Barber about the issue.
Comment 2 Mark Millard 2021-03-13 03:26:14 UTC
Glen B. requested that I use a more public place
for the notice to him about the issue. So I'm
adding information here. (I'll note that I'm not
aware of the details of how releng and snapshot
builds work to get the RPi* firmware or u-boot
that is put in place. I do know that there are
ports but there is the quarterly vs. latest vs.
local build alternatives.)

[I looked up dates, unlike some off the top of
my head earlier notes.]

sysutils/rpi-firmware status for RPi4B's, especially
RPi4B 8 GiByte versions:

Good: sysutils/rpi-firmware 564719 2021-Mar-05: Update to 1.20210303 (2021-Feb-25)
Bad : sysutils/rpi-firmware 564719 2021-Feb-08: Update to 1.20210201 (2021-Jan-27)
                       (log entry for 1.20210201 lists the 1.2021???? incorrectly)
Bad : sysutils/rpi-firmware 561841 2021-Jan-17: Update to 1.20210111
Good: sysutils/rpi-firmware 557893 2020-Dec-13: Update to 1.20201201

Until the snapshot "main (20210311 15565e0a217)",
the snapshots had been broken by (at least)
bad RPi* firmware from the above sequence.

"main (20210311 15565e0a217)" fixed that,
possibly by picking up what the 2021-Mar-05
update to sysutils/rpi-firmware now provides.

Note:
The 2021-Mar-03 sysutils/rpi-firmware
update switched to using materials from
the recently tagged version now visible
at:

https://github.com/raspberrypi/firmware/tree/1.20210303/boot/

End Note.

But  . . .
13.0-RC2 (and before) is still has the broken 1.20210201
(2021-Jan-27) firmware that people have been manually
replacing to make things work. (Notable list activity
over the last couple of months related to this.)

If 13.0-RC3+ provided the same RPi* firmware as
"main (20210311 15565e0a217)" now does, 13.0-RC3+
would have, for example, RPi4B 8 GiByte support
without requiring the RPi* firmware files to be
manually replaced.
Comment 3 Mark Millard 2021-03-13 20:23:33 UTC
The svn tag used has been updated so that
future 13.0-???? builds will use the updated
sysutils/rpi-firmware materials. See:

https://svnweb.freebsd.org/ports?view=revision&revision=568266
Comment 4 carlj 2021-03-19 23:08:29 UTC
I have tried the new 13.0-RC3 image and USB works properly on it.
Thanks for the quick fix.
Comment 5 Mark Millard 2021-03-19 23:19:13 UTC
(In reply to carlj from comment #4)

So you can set the Status to Closed Fixed.
Comment 6 carlj 2021-03-20 00:06:07 UTC
I have tried the new 13.0-RC3 image and USB works properly on it.
Thanks for the quick fix.