* 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