WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: How to fix failed firmware loading in TC16  (Read 2910 times)

Offline Paul_123

  • Administrator
  • Hero Member
  • *****
  • Posts: 1425
Re: How to fix failed firmware loading in TC16
« Reply #15 on: June 11, 2025, 12:20:39 PM »
I've never been able to get raspberry pi kernels to load firmware from anywhere other than /lib/firmware.

Offline CNK

  • Wiki Author
  • Sr. Member
  • *****
  • Posts: 381
Re: How to fix failed firmware loading in TC16
« Reply #16 on: June 12, 2025, 08:16:49 AM »

Could you try with the full path to firmware.sh and see if it helps?

i.e.
Code: [Select]
SUBSYSTEM=="firmware", ACTION=="add", RUN+="/lib/udev/firmware.sh"

Same result with "/lib/udev/firmware.sh" in /etc/udev/rules.d/50-firmware.rules.

The syslog shows that firmware.sh is found/run because you see this, but after the 60sec delay and time-out from the Radeon driver so I think it's from a different firmware loader call (for the I2C driver):
Code: [Select]
Jun  5 20:58:11 TPT60 user.notice firmware.sh[4435]: udev firmware loader misses sysfs directory
...
Jun  5 10:58:11 TPT60 daemon.info udevd[4267]: 'firmware.sh' [4435] exit with return code 1

And that error message comes from firmware.sh:
Code: [Select]
if [ ! -e /sys$DEVPATH/loading ]; then
   err "udev firmware loader misses sysfs directory"
   exit 1
fi

It looks like firmware.sh succeeds for the Radeon driver, otherwise there'd be another "'firmware.sh' [????] exit with return code 1" error in syslog. But I think something's not right with how the kernel/driver reads the firmware data from sysfs after firmware.sh has copied it there.