[lfs-support] Adding firmware to the kernel
My latest machine has an ATI 760G (Radeon 3000) video controller. According to dmesg, it is trying to load R600_rlc.bin for KMS. So, I got the firmware, and put it in firmware/radeon/ in the kernel tree. But it doesn't find it (this is without an initrd). My config includes CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE=R600_rlc.bin CONFIG_EXTRA_FIRMWARE_DIR=firmware/radeon/ Any idea what I'm doing wrong, please ? ĸen -- das eine Mal als Tragödie, das andere Mal als Farce -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: [lfs-support] Adding firmware to the kernel
On Fri, 06 Apr 2012 01:26:03 +0100 Ken Moffat zarniwh...@ntlworld.com wrote: My latest machine has an ATI 760G (Radeon 3000) video controller. According to dmesg, it is trying to load R600_rlc.bin for KMS. So, I got the firmware, and put it in firmware/radeon/ in the kernel tree. But it doesn't find it (this is without an initrd). My config includes CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE=R600_rlc.bin CONFIG_EXTRA_FIRMWARE_DIR=firmware/radeon/ Any idea what I'm doing wrong, please ? Nothing obvious leaps out at me. The only thing I can suggest is perhaps the kernel is looking for radeon/R600_rlc.bin? Try setting it like this: CONFIG_EXTRA_FIRMWARE=radeon/R600_rlc.bin CONFIG_EXTRA_FIRMWARE_DIR=firmware This works for me (with a different Radeon card): # CONFIG_PREVENT_FIRMWARE_BUILD is not set CONFIG_FW_LOADER=y CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE=radeon/BARTS_mc.bin radeon/BARTS_me.bin radeon/BARTS_pfp.bin radeon/BTC_rlc.bin CONFIG_EXTRA_FIRMWARE_DIR=/lib/firmware Andy -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: [lfs-support] Adding firmware to the kernel
Ken Moffat wrote: My latest machine has an ATI 760G (Radeon 3000) video controller. According to dmesg, it is trying to load R600_rlc.bin for KMS. So, I got the firmware, and put it in firmware/radeon/ in the kernel tree. But it doesn't find it (this is without an initrd). My config includes CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE=R600_rlc.bin CONFIG_EXTRA_FIRMWARE_DIR=firmware/radeon/ Any idea what I'm doing wrong, please ? Checking ubuntu, their config has: CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE= The directory structure is below. Other than that, I don't know much about how the firmware is built or accessed. -- Bruce /lib/firmware/radeon -rw-r--r-- 1 root root 24096 Mar 30 09:20 BARTS_mc.bin -rw-r--r-- 1 root root 5504 Mar 30 09:20 BARTS_me.bin -rw-r--r-- 1 root root 4480 Mar 30 09:20 BARTS_pfp.bin -rw-r--r-- 1 root root 3072 Mar 30 09:20 BTC_rlc.bin -rw-r--r-- 1 root root 24096 Mar 30 09:20 CAICOS_mc.bin -rw-r--r-- 1 root root 5504 Mar 30 09:20 CAICOS_me.bin -rw-r--r-- 1 root root 4480 Mar 30 09:20 CAICOS_pfp.bin -rw-r--r-- 1 root root 24148 Mar 30 09:20 CAYMAN_mc.bin -rw-r--r-- 1 root root 8704 Mar 30 09:20 CAYMAN_me.bin -rw-r--r-- 1 root root 8704 Mar 30 09:20 CAYMAN_pfp.bin -rw-r--r-- 1 root root 4096 Mar 30 09:20 CAYMAN_rlc.bin -rw-r--r-- 1 root root 5504 Mar 30 09:20 CEDAR_me.bin -rw-r--r-- 1 root root 4480 Mar 30 09:20 CEDAR_pfp.bin -rw-r--r-- 1 root root 3072 Mar 30 09:20 CEDAR_rlc.bin -rw-r--r-- 1 root root 5504 Mar 30 09:20 CYPRESS_me.bin -rw-r--r-- 1 root root 4480 Mar 30 09:20 CYPRESS_pfp.bin -rw-r--r-- 1 root root 3072 Mar 30 09:20 CYPRESS_rlc.bin -rw-r--r-- 1 root root 5504 Mar 30 09:20 JUNIPER_me.bin -rw-r--r-- 1 root root 4480 Mar 30 09:20 JUNIPER_pfp.bin -rw-r--r-- 1 root root 3072 Mar 30 09:20 JUNIPER_rlc.bin -rw-r--r-- 1 root root 5504 Mar 30 09:20 PALM_me.bin -rw-r--r-- 1 root root 4480 Mar 30 09:20 PALM_pfp.bin -rw-r--r-- 1 root root 2048 Mar 30 09:20 R100_cp.bin -rw-r--r-- 1 root root 2048 Mar 30 09:20 R200_cp.bin -rw-r--r-- 1 root root 2048 Mar 30 09:20 R300_cp.bin -rw-r--r-- 1 root root 2048 Mar 30 09:20 R420_cp.bin -rw-r--r-- 1 root root 2048 Mar 30 09:20 R520_cp.bin -rw-r--r-- 1 root root 21504 Mar 30 09:20 R600_me.bin -rw-r--r-- 1 root root 2304 Mar 30 09:20 R600_pfp.bin -rw-r--r-- 1 root root 3072 Mar 30 09:20 R600_rlc.bin -rw-r--r-- 1 root root 4096 Mar 30 09:20 R700_rlc.bin -rw-r--r-- 1 root root 5504 Mar 30 09:20 REDWOOD_me.bin -rw-r--r-- 1 root root 4480 Mar 30 09:20 REDWOOD_pfp.bin -rw-r--r-- 1 root root 3072 Mar 30 09:20 REDWOOD_rlc.bin -rw-r--r-- 1 root root 2048 Mar 30 09:20 RS600_cp.bin -rw-r--r-- 1 root root 2048 Mar 30 09:20 RS690_cp.bin -rw-r--r-- 1 root root 21504 Mar 30 09:20 RS780_me.bin -rw-r--r-- 1 root root 2304 Mar 30 09:20 RS780_pfp.bin -rw-r--r-- 1 root root 21504 Mar 30 09:20 RV610_me.bin -rw-r--r-- 1 root root 2304 Mar 30 09:20 RV610_pfp.bin -rw-r--r-- 1 root root 21504 Mar 30 09:20 RV620_me.bin -rw-r--r-- 1 root root 2304 Mar 30 09:20 RV620_pfp.bin -rw-r--r-- 1 root root 21504 Mar 30 09:20 RV630_me.bin -rw-r--r-- 1 root root 2304 Mar 30 09:20 RV630_pfp.bin -rw-r--r-- 1 root root 21504 Mar 30 09:20 RV635_me.bin -rw-r--r-- 1 root root 2304 Mar 30 09:20 RV635_pfp.bin -rw-r--r-- 1 root root 21504 Mar 30 09:20 RV670_me.bin -rw-r--r-- 1 root root 2304 Mar 30 09:20 RV670_pfp.bin -rw-r--r-- 1 root root 5440 Mar 30 09:20 RV710_me.bin -rw-r--r-- 1 root root 3392 Mar 30 09:20 RV710_pfp.bin -rw-r--r-- 1 root root 5440 Mar 30 09:20 RV730_me.bin -rw-r--r-- 1 root root 3392 Mar 30 09:20 RV730_pfp.bin -rw-r--r-- 1 root root 5440 Mar 30 09:20 RV770_me.bin -rw-r--r-- 1 root root 3392 Mar 30 09:20 RV770_pfp.bin -rw-r--r-- 1 root root 5504 Mar 30 09:20 SUMO2_me.bin -rw-r--r-- 1 root root 4480 Mar 30 09:20 SUMO2_pfp.bin -rw-r--r-- 1 root root 5504 Mar 30 09:20 SUMO_me.bin -rw-r--r-- 1 root root 4480 Mar 30 09:20 SUMO_pfp.bin -rw-r--r-- 1 root root 3072 Mar 30 09:20 SUMO_rlc.bin -rw-r--r-- 1 root root 24096 Mar 30 09:20 TURKS_mc.bin -rw-r--r-- 1 root root 5504 Mar 30 09:20 TURKS_me.bin -rw-r--r-- 1 root root 4480 Mar 30 09:20 TURKS_pfp.bin -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page
Re: [lfs-support] Adding firmware to the kernel
On Thu, Apr 05, 2012 at 08:05:35PM -0500, Bruce Dubbs wrote: Ken Moffat wrote: My latest machine has an ATI 760G (Radeon 3000) video controller. According to dmesg, it is trying to load R600_rlc.bin for KMS. So, I got the firmware, and put it in firmware/radeon/ in the kernel tree. But it doesn't find it (this is without an initrd). My config includes CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE=R600_rlc.bin CONFIG_EXTRA_FIRMWARE_DIR=firmware/radeon/ Any idea what I'm doing wrong, please ? Checking ubuntu, their config has: CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE= The directory structure is below. Other than that, I don't know much about how the firmware is built or accessed. -- Bruce /lib/firmware/radeon [ snip a fully-populated directory listing ] Thanks, but Andy has pointed the way to go. Looks as if there is a problem with putting the full directory name in the directory part. For ubuntu, they will be loading it into the initrd. CONFIG_FW_LOADER is apparently so that userspace can load (some) firmware. Cheers. ĸen -- das eine Mal als Tragödie, das andere Mal als Farce -- http://linuxfromscratch.org/mailman/listinfo/lfs-support FAQ: http://www.linuxfromscratch.org/lfs/faq.html Unsubscribe: See the above information page