Subject: Re: wpi(4) and transmitter being off
To: Stephen Borrill <netbsd@precedence.co.uk>
From: None <degroote@netbsd.org>
List: tech-net
Date: 08/05/2007 21:38:34
On Sat, Aug 04, 2007 at 12:40:49PM +0100, Stephen Borrill wrote:
> I've got a new laptop which appears to default to having the radio
> transmitter off. I get the following errors: wpi0: timeout waiting for
> thermal sensors calibration wpi0: fatal firmware error
>
> which a bit of research[1] suggests is down to the transmitter being off.
> There is button which is meant to switch it on, but has no effect. Out of
> interest, I tried Ubuntu which did report that the transmitter was off at
> boot time. With Ubuntu, when I pressed the wireless button it turned on
> the transmitter (and enabled the interface as eth1 appeared). When I
> pressed the button again, the kernel flagged that the transmitter was
> off. NetBSD should be doing the same (line 1590 in if_wpi.c), but clearly
> isn't getting the notification (this is probably generally true - when I
> inadvertently switched off the transmitter on a different laptop, I was
> unable to switch it back on).
>
> I'm using very current netbsd-4 with version 2.14.4 of the firmware.
>
> [1] http://www.mail-archive.com/misc@openbsd.org/msg45567.html


You are right. This error appears when the transmitter is off. For my card,
you can press the button and the transmitter switch to on even if the
driver is not launched.

The current code calls wpi_stop when we received an event "transmitter is
off" and so we disable interrupt for the card. It is wrong because we can't
receive the int "transmitter is on". 

I'm working on a patch for your issue but currently I have an hard lock
during the transition off -> on. I'm still try to understand what happens
but it is a bit difficult to understand what we must do without any specs.

I hope I can send more news quickly. Take cares.

-- 
Arnaud Degroote
degroote@netbsd.org