Subject: Re: wpi(4) and transmitter being off
To: None <degroote@NetBSD.org>
From: Stephen Borrill <netbsd@precedence.co.uk>
List: tech-net
Date: 08/06/2007 10:00:49
On Sun, 5 Aug 2007, degroote@NetBSD.org wrote:

> 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.

Part of the confusion is that with this case the LEDs light up underneath 
an unmarked uniform black panel, so I didn't even know where to look for a 
light!

It would be useful if we could explicitly spot the transmitter was off and 
flag that as such rather than having messages implying it!

> 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".

Yes, spotted that.

After having worked out that "ifconfig wpi0 up" would switch the interface 
into RUNNING iff the transmitter was on, I was able to at least print a 
message at boot time giving a count down asking for the transmitter button 
to be pressed. So it's liveable with (and I'll be asking my OEM supplier 
about enabling the transmitter by default), but not ideal.

If we can get the transmitter is on signal, that's going to be great too.

Thanks for your help,

-- 
Stephen