[oi-dev] Broadcom BCM4312 wireless on OpenIndiana 64-bit

Jean-Pierre jean-pierre.andre at wanadoo.fr
Mon Mar 18 14:08:45 UTC 2013


Hi Jim,

Jim Klimov wrote:
> On 2013-03-17 11:42, Jim Klimov wrote:
>> Unfortunately, this was built on another host than my laptop and I must
>> run now, so I won't test the resulting driver with the hardware until
>> some time later. Intrigue and suspense grows ;)
>
>
> I've tried all the resulting bcmndis drivers last night, but they failed
> to modload due to dozens of some unsatisfied functions (I did not get
> the list from dmesg, but might try if you think it helps). The modload
> also complained (in dmesg) that it "can't find" ndisapi, while in fact
> that module also just failed to modload.

The unsatisfied symbols problem is caused by dependencies.

bcmndis depends on misc/ndisapi and misc/mac. This is normally
described in the .dynamic section of the bcmndis executable.

A rough way of checking that is (be sure to fetch a string
terminated by a null char - so NOT terminated by a space) :

[linux at pavilion2 oindiana]$ grep 'misc/ndisapi[^ ]' bcmndis
Binary file bcmndis matches

This is normally declared in a hacky way on OpenIndiana by
inserting the following line in if_ndis.c :
char _depends_on[] = "misc/ndisapi misc/net80211 misc/mac ip";

This line in the .data section is somehow recognized in the
build chain to produce the dependency information.
I do not know where this is recognized, whether this is
specific to some build chain and how you declare this with
other tool chains. This is the developers's list, so
somebody else will tell you.

There is also the possibility that your tool chain has
some new dependency which you have to insert in the above
mentioned line. As you did not tell which are the missing
symbols, I cannot tell for sure.

Note : ndisapi should not need any dependency.

> I tried my older ndisapi's and they had no problem loading, but did not
> help modloading bcmndis. I think I also tried your binary, but am sad
> to say that due to lateness in the night I can't quite say whether it
> did modload and did not help the bcmndis module, or also failed to load.

ndisapi will not load bcmndis, the dependency is on
the other way. So, using the ndisapi I made available
will not help.

>
> Either way, I'm still stumbling on the doorstep of a working solution...
> Sorry about the incoherent report, it really was late here ;-\

Note : I have been able to run ndis-1.2.6, but a problem
which I thought solved on ndis-1.2.2 has reappeared (a
queue in the Broadcom driver with a head and no tail...),
so I have to track it down further.

And I am busy this week, I will probably not reply for
a few days.

Regards

Jean-Pierre











More information about the oi-dev mailing list