Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wlan not working #7

Closed
DelusionalLogic opened this issue Sep 22, 2014 · 18 comments
Closed

Wlan not working #7

DelusionalLogic opened this issue Sep 22, 2014 · 18 comments

Comments

@DelusionalLogic
Copy link

Wlan on default configs isn't working. firstly, you should get a compile error when trying to compile with flo_defconf but with modules enabled. This can quite easily be resolved by removing wcnss-ssr-8960-objs := ramdump.o from the file arch/arm/mach-msm/Makefile This is not part of the actual kernel makefile.

This doesn't quite fix my issue though. If i build it with just defconfig i can modprobe wlan but it terminates with the dmesg message WCNSS not ready If i change prima to a module modprobe wlan does nothing.

All of this was compiled with CONFIG_MODULES=y

@crondog
Copy link
Owner

crondog commented Sep 22, 2014

I do not have this issue on my end. The only thing i can think of is that you are not using the same compiler as me (the prebuilt one from android)

@DelusionalLogic
Copy link
Author

I'm using the toolchain found on the android wiki https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6

You are certain that you are doing a clean compile from with a clean repo? because if you have any local changes that could explain it.

It looks like bluetooth is fine, it's just wlan that refuses to work.

@crondog
Copy link
Owner

crondog commented Sep 22, 2014

I use the 4.7 prebuilt. I always do the following and have no problems

make clean
make mrproper
ARCH=arm make flo_defconfig
ARCH=arm CROSS_COMPILE=~/android/system/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/bin/arm-eabi- make LOCALVERSION= -j8 zImage

@DelusionalLogic
Copy link
Author

I didn't know there was a 4.7. I'm going to give that a shot with a clean clone of the kernel repo!

@DelusionalLogic
Copy link
Author

Nope. I still got the ramdump error, i gave it a shot and just applied my "fix" for that. Then it compiled, smacked it in a boot.img and fasbooted that.

This kernel doesn't include any modules, so i obviously removed them from the lib and didn't even bother making them. Do you do that as well? otherwise you might be loading an old version of the wlan driver, and that is what is actually working.

Still just a dummy and a loopback in ifconfig. from a clean kernel

@crondog
Copy link
Owner

crondog commented Sep 22, 2014

So i'm not sure what the problem is. I also don't have time to try and sort it out right now.If you like you could try reverting crondog/kernel_msm@26aa7a9 as that commit updated the wlan driver.

@DelusionalLogic
Copy link
Author

I'll give that a try tomorrow.

I did one last try today. I enabled PRIMA as a module, and WCNSS as part of the kernel. Here's the actual dmesg output: http://pastebin.com/280T8Ypw

The second to last message is what i get when i run modprobe wlan.

@DelusionalLogic
Copy link
Author

Reverting that commit and compiling from a clean flo_defconfig (And removing the current modules on the device) nothing happens. modprobe does nothing, no kernel error or anything. ifconfig still just shows dummy0 and lo (loopback)

Damn.

@crondog
Copy link
Owner

crondog commented Sep 23, 2014

Have you copied the firmware to /etc/firmware

@DelusionalLogic
Copy link
Author

Copied it from android to /usr/lib/firmware/wlan/prima/ (as the instructions said), when this didn't work i tried copying the firmware from the compile directory (forgot where that is) to /usr/lib/firmware/wlan/prima/ Shouldn't it go there?

@crondog
Copy link
Owner

crondog commented Sep 23, 2014

Did you also copy the wcnss.b00 etc file too?

@DelusionalLogic
Copy link
Author

No, where should that be/go?

@crondog
Copy link
Owner

crondog commented Sep 23, 2014

in /etc/firmware/

You need to have all of the android /etc/firmware in the arch /etc/firmware

@DelusionalLogic
Copy link
Author

There's no wcnss.b00 in /system/etc/firmware I'm going to try copying the one from /system/vendor/firmware to arch /etc/firmware, together with copying arch /usr/lib/firmware/wlan/prima/ to arch /etc/firmware

@DelusionalLogic
Copy link
Author

No such luck. I copied all the files from /system/vendor/firmware/ to /etc/firmware/. Then i grabbed all the files from /usr/lib/firmware/wlan/prima/ and put them in there as well, just for good measure. These are the files now in there: http://paste.ubuntu.com/8411455/ (where wlan/prima is the WCNSS_cfg/qcom stuff)

The error persists [ 12.546417] wlan: [216:F :HDD] hdd_driver_init: WCNSS driver not ready

EDIT:
So it turns out that i actually did copy that directory, just to /usr/lib/firmware instead (as the readme says). So i went ahead and symlinked /etc/firmware to /usr/lib/firmware. Still the same error. I just wanted to clarify that i had them there all along.

@DelusionalLogic
Copy link
Author

So. I got a little bit further yesterday. Instead of compiling with defaults i set WCNSS_CORE=m instead of y So now both prima and core is set to module. This nets me this boot log:

http://pastebin.com/uCKHEZKb

At least now looks like it's trying to do something, and it's actually doing something. I'm still lost as to what is broken D:

@DelusionalLogic
Copy link
Author

SUCCESS! I copied the config files from drivers/staging/prima/wlan(compile dir) to /usr/lib/firmware(tablet) and it loaded. I configured wpa_supplicant and now it actually works!

@crondog
Copy link
Owner

crondog commented Oct 6, 2014

Good to hear

@crondog crondog closed this as completed Oct 6, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants