sd8686 linux system hang when associating to access point
dcbw at redhat.com
Fri Jun 5 15:35:29 EDT 2009
On Fri, 2009-06-05 at 12:04 -0700, Wood, Brian J wrote:
> Hello all,
> I have an issue with my development platform that's using Marvell's 88w8686 wifi component. In the past I have been able to use the version 9 firmware when connecting to our corporate wifi testing network. Recently when trying to associate an essid with the wifi network the entire system will hang (like the SDIO controller has crashed).
> I'd like to help debug this issue, but don't know where to start gathering the information needed by the members of the mailing list. I have lbsdebug installed on the target, the kernel source recompiled to have debugging turned on (MMC, Libertas, etc...). My kernel source version is 126.96.36.199 and is from the Moblin v2 project. The development platform is Intel Menlow based (like used in many of the current Netbooks).
You'll first need to figure out if the Moblin kernel still uses a
non-upstream vendor driver. If so, then you need to contact Marvell or
Intel for help with that driver. Historically, the Moblin kernels
(2.6.22 and 2.6.24) used a completely different driver than was present
in the upstream kernel, because Intel apparently didn't feel like they
needed to work with the upstream community to enhance the existing one
to meet their needs. Oh well.
To figure that out, run 'lsmod' when the card is inserted and we'll see
what driver module is there. If you're actually using the standard
upstream driver, then we get to go on to the following:
1) what SDIO controller are you using? Is its source upstream in the
kernel? The *largest* source of issues with the Libertas driver is
crappy SD controllers. I test the driver mainly on Ricoh laptop SD
controllers, and it works very well there. The quality of your
controller has a huge impact on how well the driver will work.
2) You may wish to rebuild the libertas modules with debugging enabled.
Set CONFIG_LIBERTAS_DEBUG=y in your kernel config and rebuild. Then,
modprobe the libertas driver like so:
modprobe libertas.ko libertas_debug=0x5863a7
(see drivers/net/wireless/libertas/defs.h LBS_DEB_* for the debugging
then try to reproduce the problem. This will spew out a lot of good
debugging output, which you'll want to capture over a serial port or
something so that when the machine does go south, we can figure out why.
Let me know if you have any questions!
> Since the system completely hangs trying to look for kernel oops or messages on the running system in the logfiles/dmesg isn't an option (until a reboot). I've been adding lots of printk's to the drivers files just so I could try and see how this is all unfolding up to the point where it dies. I just discovered the lbsdebug tool this morning and would like to gather the information most helpful to resolve the issue. :-)
> I'm excited to help with this, so any advice of what to gather first would be greatly appreciated.
> Thank you,
> Brian Wood
> Intel Corporation
> UMG Platform Software Group (UPSG)
> brian.j.wood at intel.com
> libertas-dev mailing list
> libertas-dev at lists.infradead.org
More information about the libertas-dev