Re: Need help with modules loading

Larry Finger
2007-08-17T14:51:56Z

Kay Sievers wrote:
> On 8/17/07, Larry Finger <Larry.Finger@lwfinger.net> wrote:
>> A new driver for the Broadcom BCM43xx devices has been written that uses mac80211, rather than
>> softmac. The newest versions of the Broadcom firmware does not support all the BCM devices.
>> Accordingly, a separate driver is being prepared that will use an older version of the firmware and
>> support these legacy devices. Unfortunately, there is not a clean separation based on PCI id's;
>> however, the revision level of the 802.11 wireless core can be used to determine which driver should
>> be used. The scheme works on most systems, but not mine and I need some help to discover why.
>
>> The 'MODALIAS=ssb:v4243id0812rev0A' line is correct for my device. In fact issuing a modprobe
>> "ssb:v4243id0812rev0A" command results in the loading of the module. For some reason, this does not
>> happen automatically.
>>
>> Initially, I suspected that my version of udev (103-13) was too old; however, upgrading to version
>> 114 did not help. My module-init-tools are V 3.2.2 and my distro is the x86_64 version of openSUSE 10.2.
>
> openSUSE 10.2 used a whitelist of buses which trigger module loading.
> It's in the udev sysconfig. rules and /sbin/hwup.
>
> The easiest is probably to add a rule for that bus:
> ACTION=="add", SUBSYSTEM=="ssb", ENV{MODALIAS}=="?*",
> RUN+="/sbin/modprobe $env{MODALIAS}"
>
> openSUSE 10.3 will call modprobe directly, the whitelist and the whole
> hwup logic is removed in the meantime.

Thanks for the help. A new rule in sysconfig.rules took care of the problem.

I added the bcm43xx developers mailing list to this reply. For their benefit, this is the patch that
fixed my system:

Index: /etc/udev/rules.d/80-sysconfig.rules
===================================================================
--- /etc/udev/rules.d.orig/80-sysconfig.rules
+++ /etc/udev/rules.d/80-sysconfig.rules
@@ -15,5 +15,6 @@ SUBSYSTEM=="pnp", ACTION=="add", RUN+="/
SUBSYSTEM=="ide", ACTION=="add", RUN+="/sbin/hwup ide-devpath-%p -o hotplug"
SUBSYSTEM=="input", KERNEL=="input[0-9]*", ACTION=="add", RUN+="/sbin/hwup input-devpath-%p -o
hotplug"
SUBSYSTEM=="platform", ACTION=="add", RUN+="/sbin/hwup platform-devpath-%p -o hotplug"
+SUBSYSTEM=="ssb", ACTION=="add", ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"

LABEL="sysconfig_end"

Larry