linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Mr Dash Four <mr.dash.four@googlemail.com>
To: Luciano Coelho <coelho@ti.com>
Cc: linux-wireless@vger.kernel.org
Subject: Re: wl1251 build woes (compat-wireless 3.3.1-1, 3.1.1 as well as 2.6.39)
Date: Sat, 21 Apr 2012 13:31:35 +0100	[thread overview]
Message-ID: <4F92A8A7.9090302@googlemail.com> (raw)
In-Reply-To: <1334984639.4965.108.camel@cumari>


>> Should I be worried about the above warning? I do *not* have "CONFIG_WIRELESS_EXT" anywhere in my (android kernel) .config, but do have CONFIG_WIRELESS=y as well as CONFIG_CFG80211_WEXT=y. Also, I can't see any of the wl1251 drivers from compat-wireless (located in drivers/net/wireless/wl1251) being built at all! Am I missing something? 
>>     
>
> No, don't worry.  This is harmless if you don't use WEXT.  Just remove
> the CONFIG_CFG80211_WEXT from your .config and the warning should go
> away.
>   
OK, I'll do that, thanks!

>> WARNING: "reg_regdb_size" [/builddir/compat-wireless-3.1.1-1/net/wireless/cfg80211.ko] undefined!
>> WARNING: "reg_regdb" [/builddir/compat-wireless-3.1.1-1/net/wireless/cfg80211.ko] undefined!
>>     
>
> Sometimes compat-wireless breaks, when syncing with the latest upstream
> sourcers.  If the newest works for you, use that. ;)
>   
That doesn't appear to be the case, unfortunately - see below.

>> The wl1251 drivers are not built here either - drivers/net/wireless/wl1251 is untouched! Any help or advice as to how can I resolve this would very much appreciated, thanks!
>>     
>
> If this is a recent compat-wireless, then the wl1251 driver was moved to
> drivers/net/wireless/ti/wl1251.  Can you check that?
>   
I initially used compat-wireless-3.3.1-1 as it was the latest "stable" 
kernel edition released. The wl1251 drivers are in net/wireless/wl1251, 
not drivers/net/wireless/ti/wl1251. That is also the case with the 
latest released compat-wireless - 3.4-rc3-1.

I did a bit of hacking/tweaking, but ran into much bigger problems and 
simply gave up in the end. When I looked at various compat-wireless 
makefiles I saw that, somehow the inclusion of wl1251 as well as wl12xx 
depends on CONFIG_CRC7 and CONFIG_WL12XX_PLATFORM_DATA being set (the 
latter also depends on wl12xx, so if I wanted it included, I had to 
switch to "wl12xx" instead of "wl1251"). So, I did the following:

./scripts/driver-select restore
./scripts/driver-select wl12xx
make ARCH=arm CROSS_COMPILE=$CCOMPILER KLIB=<android_kernel_dir> 
KLIB_BUILD=<android_kernel_dir> CONFIG_CRC7=y CONFIG_WL12XX_PLATFORM_DATA=y

I then get the following errors:

/builddir/compat-wireless-3.3-1/drivers/net/wireless/wl12xx/sdio.c: In 
function 'wl12xx_sdio_power_on':
/builddir/compat-wireless-3.3-1/drivers/net/wireless/wl12xx/sdio.c:126:2: 
error: implicit declaration of function 'pm_runtime_enabled' 
[-Werror=implicit-function-declaration]
/builddir/compat-wireless-3.3-1/drivers/net/wireless/wl12xx/sdio.c:132:7: 
error: void value not ignored as it ought to be
/builddir/compat-wireless-3.3-1/drivers/net/wireless/wl12xx/sdio.c: In 
function 'wl12xx_sdio_power_off':
/builddir/compat-wireless-3.3-1/drivers/net/wireless/wl12xx/sdio.c:153:6: 
error: void value not ignored as it ought to be
cc1: some warnings being treated as errors

make[4]: *** 
[/builddir/compat-wireless-3.3-1/drivers/net/wireless/wl12xx/sdio.o] Error 1
make[3]: *** 
[/builddir/compat-wireless-3.3-1/drivers/net/wireless/wl12xx] Error 2
make[2]: *** [/builddir/compat-wireless-3.3-1/drivers/net/wireless] Error 2
make[1]: *** [_module_/builddir/compat-wireless-3.3-1] Error 2
make[1]: Leaving directory `<android_kernel_dir>'
make: *** [modules] Error 2

Apparently, "pm_runtime_enabled" is defined in 
include/linux/pm_runtime.h, but this is for the 3.0+ version of the 
kernel - I am using 2.6.37! Something seems to be seriously screwed up! 
The above is valid for all 3.x versions of compat-wireless I tried! I 
was under the impression that compat-wireless is backward-compatible 
with "older" kernel versions, like mine, is that not the case?!

When I tried the latest compat-wireless before 3.x (2.6.39-1) I don't 
get the first error, but get the other two, albeit with modified 
function names (wl1271_sdio_* instead of wl12xx_sdio_*).

In addition to the above, for some reason when I run compat-wireless for 
versions prior to 3.x (I tried 2 such versions - 2.6.39-1 and 2.6.38-2) 
I also get a weird error that 
"<android_kernel_dir>//builddir/compat-wireless-XXX/net/wireless/db.txt 
cannot be found" - the search path there is completely wrong, it should 
either be <android_kernel_dir>" or 
"/builddir/compat-wireless-XXX/net/wireless/db.txt" and not this weird 
concatenated path containing both!

Again, this only happens with the 2 releases prior to 3.x I tried and 
only when I have "db.txt" and "genregdb.awk" from 3.3.1-1 manually 
copied to net/wireless. Any help?

Luciano, seeing as you work for TI, I have one more query for you, if I 
may - the need for me to turn to build compat-wireless was borne out of 
my continuous, *completely fruitless* and *extremely frustrating* 
attempts for me to build a decent version of wpa_supplicant for my 
android device, which uses the "native" TI-supplied wireless driver for 
that device (tiwlan) - it proved an absolutely impossible task as the 
TI-supplied driver refuses to build with wpa_supplicant which has 
version any other than v5.11 (I have tried *all* released versions after 
this one - 6.11, 0.7.1, 0.7.3, 1.0-rc, 1.0 as well as the latest from 
git)! "Newer" TI-supplied drivers do *not* work with my TI-1251 device 
at all!

Is there a decent driver for TI-1251 which could be integrated with a 
relatively recent/decent version of the wpa_supplicant?

It is imperative that I build a decent version of wpa_supplicant for my 
device and it is the sole reason why I have chosen this route and turned 
to the Linux-based wireless stack, but unfortunately my assumption that 
the process there would be more straight-forward proved to be rather 
naive and my earlier optimism completely misplaced! :-(

  reply	other threads:[~2012-04-21 12:31 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-21  0:02 wl1251 build woes (compat-wireless 3.3.1-1, 3.1.1 as well as 2.6.39) Mr Dash Four
2012-04-21  5:03 ` Luciano Coelho
2012-04-21 12:31   ` Mr Dash Four [this message]
2012-04-24 22:37     ` Mr Dash Four

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F92A8A7.9090302@googlemail.com \
    --to=mr.dash.four@googlemail.com \
    --cc=coelho@ti.com \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).