windfarm modprobes fail on startup on a PS3

Bug #346899 reported by Arnaud Jeansen
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ubuntu PS3 Port
Fix Released
Wishlist
Unassigned
initramfs-tools (Ubuntu)
Fix Released
Wishlist
Unassigned

Bug Description

On a PS3 and with the most recent linux ports kernel in Jaunty (alpha 6), some module insertions fail at boot.

This is purely a cosmetic issue, failures appear on start but have no incidence afterwards.

Here is the log on 2.6.28-4 (but 2.6.28-5 is the same):
FATAL: Error inserting therm_pm72 (/lib/modules/2.6.28-4-powerpc64-smp/kernel/drivers/macintosh/therm_pm72.ko): No such device
FATAL: Error inserting windfarm_pm112 (/lib/modules/2.6.28-4-powerpc64-smp/kernel/drivers/macintosh/windfarm_pm112.ko): No such device
FATAL: Error inserting windfarm_pm81 (/lib/modules/2.6.28-4-powerpc64-smp/kernel/drivers/macintosh/windfarm_pm81.ko): No such device
FATAL: Error inserting windfarm_pm91 (/lib/modules/2.6.28-4-powerpc64-smp/kernel/drivers/macintosh/windfarm_pm91.ko): No such device
FATAL: Error inserting windfarm_smu_controls (/lib/modules/2.6.28-4-powerpc64-smp/kernel/drivers/macintosh/windfarm_smu_controls.ko): No such device
FATAL: Error inserting windfarm_smu_sensors (/lib/modules/2.6.28-4-powerpc64-smp/kernel/drivers/macintosh/windfarm_smu_sensors.ko): No such device
[...kinit...]
Usage: modprobe [-v] [-V] [-C config-file] [-n] [-i] [-q] [-Q] [-b] [-o <modname>] [ --dump-modversions ] <modname> [parameters...]
modprobe -r [-n] [-i] [-v] <modulename> ...
modprobe -l -t <dirname> [ -a <modulename> ...]

Revision history for this message
Arnaud Jeansen (ajeans) wrote :
Revision history for this message
Luke Yelavich (themuso) wrote :

This is really only a cosmetic issue, and your PS3 should not be adversely affected, unless your PS3's fans etc don't work under Linux.

The reason why these modules get force loaded, and fail, is because there is no mechanism in place for them to be auto loaded for the hardware they are meant for, and since nothing happens if they fail to load, this is the best approach.

Changed in ubuntu-ps3-port:
importance: Undecided → Wishlist
status: New → Triaged
Revision history for this message
Luke Yelavich (themuso) wrote :

The problem itself needs to be fixed in initramfs-tools, and can probably be done so, given a good way to check that a PS3 is being used.

Changed in initramfs-tools (Ubuntu):
importance: Undecided → Wishlist
status: New → Triaged
Revision history for this message
Arnaud Jeansen (ajeans) wrote :

Thanks Luke for the quick reply and the pointers...

Indeed in the "thermal" hook of initramfs, the following snippet adds the thermal modules to the initrd and pushes a bunch of modules for any powerpc arch:

case "$DPKG_ARCH" in
# copy the right modules
powerpc|ppc64)
 force_load therm_pm72
 force_load windfarm_core
 force_load windfarm_cpufreq_clamp
 force_load windfarm_lm75_sensor
 force_load windfarm_max6690_sensor
 force_load windfarm_pid
 force_load windfarm_pm112
 force_load windfarm_pm81
 force_load windfarm_pm91
 force_load windfarm_smu_controls
 force_load windfarm_smu_sat
 force_load windfarm_smu_sensors
 force_load i2c-powermac
 ;;
i386|amd64|ia64|lpia)
 force_load fan
 force_load thermal
 ;;
esac

Now how to split this check between PS3 and Apple hardware... I will look at other scripts / hooks.

Thanks again

Revision history for this message
Arnaud Jeansen (ajeans) wrote :

There is only one place in the other hooks / scripts where we have a specific handling for the PS3, in the global hook-functions (dep additions)

 if [ -e /sys/bus/ps3_system_bus/ ]; then
  for x in ps3disk ps3rom ps3-gelic ps3_sys_manager; do
   manual_add_modules "${x}"
  done
 fi

Would it make sense to push a patch to the thermal hook using this check inside the powerpc case?

I'll try to do that tomorrow (unless someone shouts that this is wrong).

Revision history for this message
Arnaud Jeansen (ajeans) wrote :

Here is a patch that prevents inclusion of the windfarm modules if the device is a PS3.

Please note that:
1) I verified that all these modules are of no use to the PS3 (blacklisted them, restarted, the fan still works)
2) I updated my initrd using "update-initramfs -u" with this patch applied on my system. The FATAL messages disappeared on boot and the fan still works

(by the way, the DPKG_ARCH for the PS3 is "powerpc" not "ppc64")

Revision history for this message
Arnaud Jeansen (ajeans) wrote :

Patch as debdiff if it helps.

Revision history for this message
Luke Yelavich (themuso) wrote :

Fix uploaded.

Changed in ubuntu-ps3-port:
status: Triaged → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package initramfs-tools - 0.92bubuntu26

---------------
initramfs-tools (0.92bubuntu26) jaunty; urgency=low

  * hooks/thermal: Do not load thermal control for macintosh if the device is a PS3. (LP: #346899)

 -- Arnaud Jeansen <email address hidden> Thu, 26 Mar 2009 00:41:46 +0100

Changed in initramfs-tools:
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.