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

Jean-Pierre jean-pierre.andre at wanadoo.fr
Sat Mar 16 10:32:04 UTC 2013


Hi Jim,

Jim Klimov wrote:
> On 2013-03-15 13:08, Jean-Pierre wrote:
>> Jim Klimov wrote:
>>> On 2013-03-15 09:10, Jean-Pierre wrote:
>>>> For those interested, the source code of the upgraded ndis emulator
>>>> is available in :
>>>> http://jp-andre.pagesperso-orange.fr/ndis.1.3.beta.tar.gz
>>>
>>> Does this wrap up all the fixes you needed to do when patching the
>>> driver and its programmatic surroundings? Meaning, I can just take
>>> this NDIS code and an original Broadcom driver (at least of the
>>> same release as yours), combine them in the usual manner and things
>>> should "just work" for 64-bit kernel?
>>
>> That would be my expectation... It works for me.
>> The driver I use shows as
>> -r--r--r-- 1 linux linux 1291264 Oct 9 2007 bcmwl564.sys
>>
>> However I developed on Linux, and minor problems may arise
>> when building on OpenIndiana (different compiler, etc.)
>
> Apparently, I do use the same driver, and followed your bcm4312.HTML
> file in the tarball, but when running ndiscvt it fails to create the
> asm file (building under oi_151a7). I spent a couple of hours trying
> to track the causes...
>
> In the original form, my tracing led me to believe that when you call
> ndislink *after* padding the image, the steps in ndislink fail to find

Yes, the padding is needed *before* calling ndislink.

> the sections to work on (is_pe_header or something like that fails,
> while it works ok on the unpadded file if I move the block calling
> ndislink up by a few lines).
>
> In this case it fails with "Bad relocation" apparently due to some
> jump going out of locvars limit.

I have run ndiscvt on OpenIndiana, and saw that there is noise
in the padded image, caused by realloc'ing. This could be the
cause (not sure about it).

Anyway, I have uploaded to
http://jp-andre.pagesperso-orange.fr/ndis.1.3.exec.zip
executable files on OpenIndiana for ndiscvt and ndisapi
(there is nothing derived from Broadcom drivers there),
together with the proposed patch for the above suspected
cause, what ndislink should display, and an updated version
of bcm4312.html.

I you still fail to run ndiscvt with the suggested patch,
please make your ndiscvt executable available for me to try
(provided it contains no dependency from what is not
available on the distribution iso).

>
> Also for some reason the makefile's per-target definition of CFLAGS
> failed for both "make" and explicit "gmake", so I had to export them
> in the shell explicitly. In particular, the include files could not
> be found otherwise.

I have no knowledge of building on OpenIndiana, and I have
just made a few additions to the original Makefile without
testing them. I do not think I have made any modifications
to compiling options, but the old Makefile dates back from
2008, and things has changed since them.

So, please send back the needed modifications to the Makefile
or to the recipe for building.

>
> BTW, I saw at least ndis-1.2.6 on the net, which is about as different
> from 1.2.1 as your variant. Wouldn't it make sense to try and build
> your solution on top of that newer code? For example, one is attached
> at this archived email: http://markmail.org/message/jijk3xflwa7jfr6o
> It is the same as I got elsewhere (IIRC from a member of this list).

Thank you for this information. It is a pity if there has
have been a duplication of effort, yet I had google a lot to
find the most recent version. Why is it so difficult to find
documentation about OpenIndiana ?

Regards

Jean-Pierre







More information about the oi-dev mailing list