Re: Need testers for ALPHA RPi-5 fan control, GE NIC, WiFi drivers for FreeBSD-CURRENT
Mark Millard <[email protected]> Sat, 13 Jun 2026 09:51:51 -0700
| Newsgroups | gmane.os.freebsd.devel.arm |
|---|---|
| Message-ID | <[email protected]> |
On 6/12/26 22:13, Mark Millard wrote:
> On 5/29/26 17:42, Jeremy McMillan wrote:
>>
>>
>> If anyone has a Raspberry Pi 5 that's not dedicated to anything
>> important, I'd appreciate some help testing this:
>>
>> https://github.com/aphor/FreeBSD15-RPi5-modules <https://github.com/
>> aphor/FreeBSD15-RPi5-modules>
>>
>> The README.md is up to date, but other docs in there might be stale.
>>
>> IDK if I should try to implement Bluetooth yet. I haven't tried using
>> FreeBSD bluetooth with working known-good drivers on supported hardware,
>> but when this is relatively complete I'm planning to do some bug fixing
>> and performance improvements where necessary in a BETA phase, then a
>> rewrite from scratch for maintainability that can be submitted to
>> FreeBSD-CURRENT. I know the repo says FreeBSD15, but I'm currently
>> building against FreeBSD-16-CURRENT. I've had feedback that the fan
>> control works fine on FreeBSD-15.
>>
>> I also don't know what I should do about GPIO testing. I'd appreciate
>> any pointers if other people work with RPi hardware and have any
>> pointers for testing GPIO stuff. I think there's a few pins that can do
>> DAC and ADC and others that can do PWM (like the ones used for the fan
>> header) when programmed to different modes. I have an oscilloscope, but
>> I'd like to automate testing as much as possible because my spare time
>> is precious.
>>
>> It seems like RPi-5 will be around for a while under the current market
>> conditions for the semiconductor business, and it is my hope that
>> FreeBSD can deserve and get more attention and support from Broadcom and
>> Raspberry Pi. Also, I have my own projects :)
>>
>> Thanks in advance for your attention!
>
> On a Windows Dev Kit 2023:
>
> # make -f Makefile.rpi5 load
> /sbin/kldload -v /root/RPi5-fbsd-kernel-fan-control/rpi5.ko
> load: 0.79 cmd: kldload 7237 [running] 13.87r 0.00u 0.00s 100% 2392k
> make: Working in: /root/RPi5-fbsd-kernel-fan-control
> load: 1.06 cmd: kldload 7237 [running] 33.41r 0.00u 0.00s 100% 2392k
> make: Working in: /root/RPi5-fbsd-kernel-fan-control
> ^C^Z[1] + Suspended make -f Makefile.rpi5 load
> aarch64-main-pbase aarch64 1600018 1600018 # jobs
> [1] + Suspended make -f Makefile.rpi5 load
> aarch64-main-pbase aarch64 1600018 1600018 # kill %1
> aarch64-main-pbase aarch64 1600018 1600018 # jobs
> [1] + Suspended make -f Makefile.rpi5 load
> aarch64-main-pbase aarch64 1600018 1600018 # kill -9 %1
> aarch64-main-pbase aarch64 1600018 1600018 # jobs
> [1] Killed make -f Makefile.rpi5 load
>
> And:
>
> # make -f Makefile.bcm2712 load
> /sbin/kldload -v /root/RPi5-fbsd-kernel-fan-control/bcm2712.ko
> load: 2.04 cmd: kldload 7259 [kldbusy] 3.75r 0.00u 0.00s 0% 2388k
> #0 0xffff00000055eeb0 at mi_switch+0x110
> #1 0xffff0000005c0584 at sleepq_catch_signals+0x3c4
> #2 0xffff0000005c01a4 at sleepq_wait_sig+0xc
> #3 0xffff00000055e268 at _sleep+0x1cc
> #4 0xffff00000050ff38 at linker_kldload_busy+0xe4
> #5 0xffff0000005102b4 at kern_kldload+0xb4
> #6 0xffff000000510430 at sys_kldload+0x7c
> #7 0xffff0000009a13cc at do_el0_sync+0x63c
> #8 0xffff0000009741cc at handle_el0_sync+0x6c
> make: Working in: /root/RPi5-fbsd-kernel-fan-control
> load: 2.19 cmd: kldload 7259 [kldbusy] 11.77r 0.00u 0.00s 0% 2388k
> #0 0xffff00000055eeb0 at mi_switch+0x110
> #1 0xffff0000005c0584 at sleepq_catch_signals+0x3c4
> #2 0xffff0000005c01a4 at sleepq_wait_sig+0xc
> #3 0xffff00000055e268 at _sleep+0x1cc
> #4 0xffff00000050ff38 at linker_kldload_busy+0xe4
> #5 0xffff0000005102b4 at kern_kldload+0xb4
> #6 0xffff000000510430 at sys_kldload+0x7c
> #7 0xffff0000009a13cc at do_el0_sync+0x63c
> #8 0xffff0000009741cc at handle_el0_sync+0x6c
> make: Working in: /root/RPi5-fbsd-kernel-fan-control
> ^C*** Signal 2
> # kldstat
> Id Refs Address Size Name
> 1 22 0xffff000000000000 14e39e0 kernel
> 2 1 0xffff000156800000 22000 hcons.ko
> 3 2 0xffff000156822000 24000 hidmap.ko
> 4 1 0xffff000156846000 22000 hms.ko
> 5 1 0xffff000156868000 22000 mac_ntpd.ko
>
> I move and use the same boot media across systems. So, for now I'll have
> to avoid such happening.
>
>
In order to avoid such, my /etc/rc.conf now contains:
if ( [ "`sysctl -i -n hw.fdt.model`" \
== "Raspberry Pi 5 Model B Rev 1.1" ] \
|| [ "`sysctl -i -n hw.fdt.model`" \
== "Raspberry Pi 5 Model B Rev 1.0" ] \
) \
&& [ -f "/boot/modules/rpi5.ko" ]; then
kldload -n rpi5
sysctl hw.rpi5.fan.temp0=0
sysctl hw.rpi5.fan.speed0=255
sysctl hw.rpi5.fan.speed1=255
sysctl hw.rpi5.fan.speed2=255
sysctl hw.rpi5.fan.speed3=255
fi
I do not have examples of other bcm2712 based models so the test is
incomplete about the models covered.
But I'm also unsure if the existing code covers all the bcm2712 based
models.
I do not use the likes of /boot/loader.conf or /etc/sysctl.conf for the
fan related boot control activity.
--
===
Mark Millard
marklmi at yahoo.com