* Need help with modules loading
@ 2007-08-17 2:33 Larry Finger
2007-08-17 7:55 ` Kay Sievers
0 siblings, 1 reply; 3+ messages in thread
From: Larry Finger @ 2007-08-17 2:33 UTC (permalink / raw)
To: LKML
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 ssb driver handles the interaction between an internal bus in the device and the PCIe interface
in my HP dv2125nr notebook. When this driver is loaded, the output of 'udevmonitor --env' is as follows:
UEVENT[1187314028.568540] add /module/ssb (module)
ACTION=add
DEVPATH=/module/ssb
SUBSYSTEM=module
SEQNUM=1749
UEVENT[1187314028.571360] add /bus/ssb (bus)
ACTION=add
DEVPATH=/bus/ssb
SUBSYSTEM=bus
SEQNUM=1750
UEVENT[1187314028.571635] add /bus/pci/drivers/b43-pci-bridge (drivers)
ACTION=add
DEVPATH=/bus/pci/drivers/b43-pci-bridge
SUBSYSTEM=drivers
SEQNUM=1751
UDEV [1187314028.579067] add /module/ssb (module)
UDEV_LOG=3
ACTION=add
DEVPATH=/module/ssb
SUBSYSTEM=module
SEQNUM=1749
UDEVD_EVENT=1
UDEV [1187314028.583959] add /bus/pci/drivers/b43-pci-bridge (drivers)
UDEV_LOG=3
ACTION=add
DEVPATH=/bus/pci/drivers/b43-pci-bridge
SUBSYSTEM=drivers
SEQNUM=1751
UDEVD_EVENT=1
UDEV [1187314028.584452] add /bus/ssb (bus)
UDEV_LOG=3
ACTION=add
DEVPATH=/bus/ssb
SUBSYSTEM=bus
SEQNUM=1750
UDEVD_EVENT=1
UEVENT[1187314028.644176] add /devices/pci0000:00/0000:00:02.0/0000:01:00.0/ssb0:0 (ssb)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:02.0/0000:01:00.0/ssb0:0
SUBSYSTEM=ssb
SEQNUM=1752
PHYSDEVBUS=ssb
MODALIAS=ssb:v4243id0812rev0A
UEVENT[1187314028.645471] add /devices/pci0000:00/0000:00:02.0/0000:01:00.0/ssb0:1 (ssb)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:02.0/0000:01:00.0/ssb0:1
SUBSYSTEM=ssb
SEQNUM=1753
PHYSDEVBUS=ssb
MODALIAS=ssb:v4243id0817rev03
UDEV [1187314028.656957] add /devices/pci0000:00/0000:00:02.0/0000:01:00.0/ssb0:1 (ssb)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:02.0/0000:01:00.0/ssb0:1
SUBSYSTEM=ssb
SEQNUM=1753
PHYSDEVBUS=ssb
MODALIAS=ssb:v4243id0817rev03
UDEVD_EVENT=1
UDEV [1187314028.662723] add /devices/pci0000:00/0000:00:02.0/0000:01:00.0/ssb0:0 (ssb)
UDEV_LOG=3
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:02.0/0000:01:00.0/ssb0:0
SUBSYSTEM=ssb
SEQNUM=1752
PHYSDEVBUS=ssb
MODALIAS=ssb:v4243id0812rev0A
UDEVD_EVENT=1
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.
I would appreciate any suggestions on how to chase down this problem.
Thanks,
Larry
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Need help with modules loading
2007-08-17 2:33 Need help with modules loading Larry Finger
@ 2007-08-17 7:55 ` Kay Sievers
2007-08-17 14:51 ` Larry Finger
0 siblings, 1 reply; 3+ messages in thread
From: Kay Sievers @ 2007-08-17 7:55 UTC (permalink / raw)
To: Larry Finger; +Cc: LKML
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.
Kay
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Need help with modules loading
2007-08-17 7:55 ` Kay Sievers
@ 2007-08-17 14:51 ` Larry Finger
0 siblings, 0 replies; 3+ messages in thread
From: Larry Finger @ 2007-08-17 14:51 UTC (permalink / raw)
To: Kay Sievers; +Cc: LKML, bcm43xx devel
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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2007-08-17 14:51 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-17 2:33 Need help with modules loading Larry Finger
2007-08-17 7:55 ` Kay Sievers
2007-08-17 14:51 ` Larry Finger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox