WANTED: someone who knows what exactly that ssb thingy is intended/used for

Stefan Bader stefan.bader at canonical.com
Wed Jul 8 16:20:30 UTC 2009


Fumihito YOSHIDA wrote:
> Hi Stefan,
> 
> Im not well versed in the subject, but i have some knowledge.
> 
> ssb (Sonics Silicon Backplane, in *BSD world, they called "SiBa")
> is backplane bus protcol of Broadcom intelligent SoC devices.
> // In broadcom terms, "SoC" is included ethernet/wireless ethernet devices.
> 
> Your Inspiron 1521(and any other dell's laptop, they use broadcom
> onboard ethernet + WLAN) has 2 ssb devices, plz see below diagram;
> 
> <PCI or HTr/MuTIOL PCI-bridge chip>
>    |PCI|              |PCI|
>  <BCM4401-B0>       <BCM4328>
>   |ssb(a)|           |ssb(b)|
> bcm nic unit        bcm WLAN unit
> 
> (guess from heuristics)
> Perhaps, when loading b44, that do swallow hungrily ssb(a), ssb(b)
> and BCM4401,  the wl cannot get own ssb(b).
> (/guess)
> 

Hi Fumihito,

thank you for this explanation. Interestingly, from experiments, the wl driver 
module works without the ssb module being loaded. My explanation is that the 
ssb driver binds to all supported pci devices. So it either does handle this 
internally or it does not need to explicitly address the ssb.

> So,
>> Would a PCI-SSB bridge look different or is Broadcom using the same PCI ID for
>> different devices?
> Physically yes, they are dirrerent devices, but they have same backends.
> 
>> Both drivers clearly match for the same PCI ID and are the only ones to do so.
> 
> In other hands, root cause of this complicated contraption, the ssb has
> something went wrong behavior[0], but i dont know why...
> 
> [0] e.g.: https://bugs.launchpad.net/bugs/333903

Right in this bug, the solution is to force the load order right. I wondered 
whether there can be a simpler (more automatic) solution to this. IOW, could 
the ssb driver somehow decide whether to bind to this pci id or not. But from 
your explanation it seems to me the pci side would always "see" the network 
device. The wl driver would need to be aware, that it needs to use the ssb 
driver (I guess) and not directly try to talk to the pci device.

-- Stefan

When all other means of communication fail, try words!






More information about the kernel-team mailing list