2006-08-12 19:40:52

by Daniel

[permalink] [raw]
Subject: debug prism wlan

Hi,
my wlan gives up working somewhere between upgrading to gcc-4.1, changing some
kernel options and upgrading to linux-2.8.16-r4.

Now I get following from iwconfig:

eth2 NOT READY! ESSID:off/any
Mode:Master Channel:0 Access Point: Not-Associated
Tx-Power=31 dBm Sensitivity=0/200
Retry min limit:0 RTS thr=-1 B Fragment thr=-1 B
Encryption key:off
Link Quality:27 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

But I'm not able to get infromation why this device isn't ready.
dmesg is not reporting an error.

So, has someone an idea of how to get some informations to solve this problem?

regards
Daniel


2006-08-12 20:15:05

by Alistair John Strachan

[permalink] [raw]
Subject: Re: debug prism wlan

On Saturday 12 August 2006 22:40, Daniel wrote:
> Hi,
> my wlan gives up working somewhere between upgrading to gcc-4.1, changing
> some kernel options and upgrading to linux-2.8.16-r4.

Hi Daniel,

Which driver does this card use? There's a couple Prism 1/2/2.5 802.11b
drivers and a Prism54 driver for 802.11g cards. Any ideas?

--
Cheers,
Alistair.

Final year Computer Science undergraduate.
1F2 55 South Clerk Street, Edinburgh, UK.

2006-08-12 20:26:29

by Daniel

[permalink] [raw]
Subject: Re: debug prism wlan

Oh, sorry I have forgotten to tell:

drunken init # lspci |grep Prism
00:08.0 Network controller: Intersil Corporation ISL3890 [Prism GT/Prism
Duette]/ISL3886 [Prism Javelin/Prism Xbow] (rev 01)

So I'm using the prism54 driver (CONFIG_PRISM54). My version of wireless-tools
is 29_pre10 and the version of the used firmware is 1.0.4.3.

BTW: I tried
# modprobe prism54 pc_debug=1

and

# modprobe prism54 pc_debug=9999999

But it doesn't increased the verbose level.

The firmware upload was successfull (according to dmesg).

Am Samstag, 12. August 2006 20:15 schrieben Sie:
> On Saturday 12 August 2006 22:40, Daniel wrote:
> > Hi,
> > my wlan gives up working somewhere between upgrading to gcc-4.1, changing
> > some kernel options and upgrading to linux-2.8.16-r4.
>
> Hi Daniel,
>
> Which driver does this card use? There's a couple Prism 1/2/2.5 802.11b
> drivers and a Prism54 driver for 802.11g cards. Any ideas?

2006-08-12 20:43:00

by Alistair John Strachan

[permalink] [raw]
Subject: Re: debug prism wlan

On Saturday 12 August 2006 23:26, Daniel wrote:
> Oh, sorry I have forgotten to tell:
>
> drunken init # lspci |grep Prism
> 00:08.0 Network controller: Intersil Corporation ISL3890 [Prism GT/Prism
> Duette]/ISL3886 [Prism Javelin/Prism Xbow] (rev 01)
>
> So I'm using the prism54 driver (CONFIG_PRISM54). My version of
> wireless-tools is 29_pre10 and the version of the used firmware is 1.0.4.3.

I noticed you have the mode set to Master, is this intentional?

I've found my Prism54 (which is an older model, but the same firmware)
requires me to ifconfig up before I can set iwconfig parameters correctly.

The only changes I can see to the prism driver in 2.6.16 are:

--- a/drivers/net/wireless/prism54/isl_ioctl.c
+++ b/drivers/net/wireless/prism54/isl_ioctl.c
@@ -748,7 +748,7 @@ prism54_get_essid(struct net_device *nde
if (essid->length) {
dwrq->flags = 1; /* set ESSID to ON for Wireless Extensions */
/* if it is to big, trunk it */
- dwrq->length = min(IW_ESSID_MAX_SIZE, essid->length + 1);
+ dwrq->length = min((u8)IW_ESSID_MAX_SIZE, essid->length);
} else {
dwrq->flags = 0;
dwrq->length = 0;
--- a/drivers/net/wireless/prism54/islpci_eth.c
+++ b/drivers/net/wireless/prism54/islpci_eth.c
@@ -177,7 +177,7 @@ islpci_eth_transmit(struct sk_buff *skb,
#endif

newskb->dev = skb->dev;
- dev_kfree_skb(skb);
+ dev_kfree_skb_irq(skb);
skb = newskb;
}
}

Both very minor changes. What was the last kernel that worked? Have you tried
with acpi=off? Is this a PCI or PCMCIA card?

--
Cheers,
Alistair.

Final year Computer Science undergraduate.
1F2 55 South Clerk Street, Edinburgh, UK.

2006-08-12 20:49:35

by Daniel

[permalink] [raw]
Subject: Re: debug prism wlan

*grrrr* it is too late on evening (I'm living in germany ;) )...

I also fogot to tell following:

Error for wireless request "Set Frequency" (8B04) :
SET failed on device eth2 ; Input/output error.

I got this message if I try to start the net device with the init.d script.
If I try to set the channel per hand I got no error but the channel gets not
set (it still is 0). But I am able to set the mode and the essid.

Any ideas?

Daniel


Am Samstag, 12. August 2006 22:26 schrieb Daniel:
> Oh, sorry I have forgotten to tell:
>
> drunken init # lspci |grep Prism
> 00:08.0 Network controller: Intersil Corporation ISL3890 [Prism GT/Prism
> Duette]/ISL3886 [Prism Javelin/Prism Xbow] (rev 01)
>
> So I'm using the prism54 driver (CONFIG_PRISM54). My version of
> wireless-tools is 29_pre10 and the version of the used firmware is 1.0.4.3.
>
> BTW: I tried
> # modprobe prism54 pc_debug=1
>
> and
>
> # modprobe prism54 pc_debug=9999999
>
> But it doesn't increased the verbose level.
>
> The firmware upload was successfull (according to dmesg).
>
> Am Samstag, 12. August 2006 20:15 schrieben Sie:
> > On Saturday 12 August 2006 22:40, Daniel wrote:
> > > Hi,
> > > my wlan gives up working somewhere between upgrading to gcc-4.1,
> > > changing some kernel options and upgrading to linux-2.8.16-r4.
> >
> > Hi Daniel,
> >
> > Which driver does this card use? There's a couple Prism 1/2/2.5 802.11b
> > drivers and a Prism54 driver for 802.11g cards. Any ideas?
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

2006-08-12 20:57:04

by Daniel

[permalink] [raw]
Subject: Re: debug prism wlan

Am Samstag, 12. August 2006 20:43 schrieb Alistair John Strachan:
> On Saturday 12 August 2006 23:26, Daniel wrote:
> > Oh, sorry I have forgotten to tell:
> >
> > drunken init # lspci |grep Prism
> > 00:08.0 Network controller: Intersil Corporation ISL3890 [Prism GT/Prism
> > Duette]/ISL3886 [Prism Javelin/Prism Xbow] (rev 01)
> >
> > So I'm using the prism54 driver (CONFIG_PRISM54). My version of
> > wireless-tools is 29_pre10 and the version of the used firmware is
> > 1.0.4.3.
>
> I noticed you have the mode set to Master, is this intentional?
>
> I've found my Prism54 (which is an older model, but the same firmware)
> requires me to ifconfig up before I can set iwconfig parameters correctly.
>

Hey, that did it! But now I am a liddle confused. It worked fine before. Why
does it not work while interface is not up?

regards and BIG thank
Daniel

2006-08-12 21:05:56

by Alistair John Strachan

[permalink] [raw]
Subject: Re: debug prism wlan

On Saturday 12 August 2006 23:49, Daniel wrote:
> *grrrr* it is too late on evening (I'm living in germany ;) )...
>
> I also fogot to tell following:
>
> Error for wireless request "Set Frequency" (8B04) :
> SET failed on device eth2 ; Input/output error.
>
> I got this message if I try to start the net device with the init.d script.
> If I try to set the channel per hand I got no error but the channel gets
> not set (it still is 0). But I am able to set the mode and the essid.

Enabling debug would be good. It seems that the driver has protection around
most of the really low level debugging with:

#if VERBOSE > SHOW_ERROR_MESSAGES
...

If this test passes, a silly DEBUG() wrapper is used to determine whether the
message should be printed:


islpci_mgt.h:#define DEBUG(f, args...) K_DEBUG(f, pc_debug, args)
islpci_mgt.h:#define K_DEBUG(f, m, args...) \
do { \
if(f & m) printk(KERN_DEBUG args); \
} while(0)

Currently the driver has:

islpci_mgt.h:#define VERBOSE 0x01
islpci_mgt.h:#define SHOW_ERROR_MESSAGES 0x01

So I think you'll need to:

a) Hack islpci_mgt.h and change VERBOSE to 0x02 (or any number higher).
b) Insert the module with pc_debug=1

Then you should get debugging messages, since (0x01 & 0x01) will trigger the
debugging.

--
Cheers,
Alistair.

Final year Computer Science undergraduate.
1F2 55 South Clerk Street, Edinburgh, UK.

2006-08-12 21:07:25

by Alistair John Strachan

[permalink] [raw]
Subject: Re: debug prism wlan

On Saturday 12 August 2006 23:56, Daniel wrote:
> Am Samstag, 12. August 2006 20:43 schrieb Alistair John Strachan:
> > On Saturday 12 August 2006 23:26, Daniel wrote:
> > > Oh, sorry I have forgotten to tell:
> > >
> > > drunken init # lspci |grep Prism
> > > 00:08.0 Network controller: Intersil Corporation ISL3890 [Prism
> > > GT/Prism Duette]/ISL3886 [Prism Javelin/Prism Xbow] (rev 01)
> > >
> > > So I'm using the prism54 driver (CONFIG_PRISM54). My version of
> > > wireless-tools is 29_pre10 and the version of the used firmware is
> > > 1.0.4.3.
> >
> > I noticed you have the mode set to Master, is this intentional?
> >
> > I've found my Prism54 (which is an older model, but the same firmware)
> > requires me to ifconfig up before I can set iwconfig parameters
> > correctly.
>
> Hey, that did it! But now I am a liddle confused. It worked fine before.
> Why does it not work while interface is not up?

I'm not sure, but I think you've just been lucky. I've had this problem even
before prism54 was merged. Some in-tree drivers won't upload the firmware
until you ifconfig up them, which obviously means they won't respond
adequately to the wireless extension requests. Maybe a bug?

> regards and BIG thank

No problem.

--
Cheers,
Alistair.

Final year Computer Science undergraduate.
1F2 55 South Clerk Street, Edinburgh, UK.

2006-08-13 05:21:06

by Roger While

[permalink] [raw]
Subject: Re: debug prism wlan

Alistair John wrote:
> Daniel wrote:
>> Hey, that did it! But now I am a liddle confused. It worked fine before.
>> Why does it not work while interface is not up?

> I'm not sure, but I think you've just been lucky.
> I've had this problem even before prism54 was merged.
> Some in-tree drivers won't upload the firmware until you ifconfig
> up them, which obviously means they won't respond adequately
> to the wireless extension requests. Maybe a bug?

Nope, no bug. It allows the driver to be built non-modular.
When non-modular, the resources are not available,
at boot time, to load the firmware.

Roger While


2006-08-13 09:31:42

by Daniel

[permalink] [raw]
Subject: Re: debug prism wlan

Am Sonntag, 13. August 2006 05:20 schrieb Roger While:
> Alistair John wrote:
> > Daniel wrote:
> >> Hey, that did it! But now I am a liddle confused. It worked fine
> >> before. Why does it not work while interface is not up?
> >
> > I'm not sure, but I think you've just been lucky.
> > I've had this problem even before prism54 was merged.
> > Some in-tree drivers won't upload the firmware until you ifconfig
> > up them, which obviously means they won't respond adequately
> > to the wireless extension requests. Maybe a bug?
>
> Nope, no bug. It allows the driver to be built non-modular.
> When non-modular, the resources are not available,
> at boot time, to load the firmware.
>

Hi, I noticed that you can't set the channel _before_ setting an essid. Is
this behavior correct?

Daniel

2006-08-13 10:38:26

by Roger While

[permalink] [raw]
Subject: Re: debug prism wlan

Daniel wrote:
> Hi, I noticed that you can't set the channel _before_ setting an essid. Is
> this behavior correct?

Put it over to the netdev list.

Roger While