[Letux-kernel] [Gta04-owner] no wifi today (cannot load helper firmware)

Andreas Kemnade andreas at kemnade.info
Mon Apr 25 00:04:42 CEST 2016


Hi,

On Sun, 24 Apr 2016 11:56:26 +0200
"H. Nikolaus Schaller" <hns at goldelico.com> wrote:

> Hi,
> 
> > Am 23.04.2016 um 21:26 schrieb Andreas Kemnade <andreas at kemnade.info>:
> > 
> > Hi,
> > 
> > today my wifi fails. Does not matter which partition I boot from.
> 
> :(
> 
I even tried the last production image on a new sd:
export SERVER=http://download.goldelico.com/gta04/20140521-GTA04-Production-3.12.7-wheezy-7.5/
DEV=/dev/sdb ./makesd

on a fresh sd
So no 3.7, no 3.12.7, no 4.5, no 4.6rc4 works.
Having it unpowered for some hours does not help.

> > It does even work on partitions I do no experiments with.
> > It does not work with the 3.7 kernel.
> > 
> > Bluetooth works.
> > 
> > [  672.540863] libertas_sdio: failed to load helper firmware                    
> > [  672.548522] libertas_sdio: probe of mmc1:0001:1 failed with error -84
> > 
> > I have seen this -84 somewhere...
> > EILSEQ
> 
> http://lxr.free-electrons.com/source/include/uapi/asm-generic/errno.h#L66
> 
> Hm. Illegal byte sequence... Strange.
> 
> > 
> > EILSEQ=EILLPHONE?
> > 
> > Does anyone else have this error and recovered from it?
> > Is it some funny race condition popping up only at some phases of the moon?
> 
> Yes. And especially in April.
> 
I analyzed various timestamps and logs.
I had the problem once between Apr 1 and Apr 11.
But then it was only with one kernel. I just reverted the change I made
and everything was fine.

Last known time it works was on Apr 18. 

> > @hns: If I remember correctly you had this error with some 4.x? Did you recover
> > from it?
> 
> I have not checked for a while.
> 
> The worst thing could be that there was something broken in SDIO firmware download
> for a while which allowed to execute dangerous code in the WiFi controller (it has its
> own ARM subsystem) and has damaged it so that it now fails with any kernel or setup.
> 
The worst thing would be some damaged pads at the Wifi chip.
Or the DM3730... But I do not notice any obvious other problems...

> But let's assume the best case...
> 
> As far as I can see the important occurrences of EILSEQ in WiFi related code are here:
> 
> http://lxr.free-electrons.com/source/net/wireless/util.c#L1194
> http://lxr.free-electrons.com/source/drivers/net/wireless/marvell/libertas/cfg.c#L503
> http://lxr.free-electrons.com/source/drivers/mmc/host/mmc_spi.c#L262 (but I think we don't use mmc-spi)
> 
Interesting is also EILSEQ 
in omap_hsmmc.c.

I tried also with libertas_tf.


> To find who is generating the error -84 we should add printk() backwards through the
> error path that makes libertas_sdio: probe fail.
> 
> BTW: this looks strange:
> 
> http://lxr.free-electrons.com/source/drivers/mmc/core/core.c#L80
> 
> Maybe we have accidentially enabled CONFIG_FAIL_MMC_REQUEST?
> 
I don't think so.

Regards,
Andreas


More information about the Letux-kernel mailing list