kanotix.com

Networking - Intel PRO/Wireless 3945ABG Not working?

jebus197 - 26.11.2006, 23:38 Uhr
Titel: Intel PRO/Wireless 3945ABG Not working?
Hi, first to say thanks for Kanotix. I have tried several distros and so far this is the best. So far it is the only distro where video and sound worked without very much difficulties.

However one big problem right now is that my wireless connection does not seem to work. I also want to apologise and to plead with you guys in advance. I know my post is a little long - but the set-up process is a little long too, so I don't know any other way around this. But please read my post and help if you can, you are the only hope I have of getting wireless working on my laptop. I have always dreamed of having a nice Linux laptop - and that is one of the biggest reasons I bought one a few weeks ago. So please don't doubt my dedication to Linux. I really don't want to use Microsoft Windows - just so I can use the Wireless functionality of my computer.

Fortunately however, there are drivers in Linux for my wireless chipset (which is listed by lspci as being an Intel PRO/Wireless 3945ABG chip).

Also as luck would have it, Kanotix includes a useful network card set up utility - which recognises my chip and which offers to help me set up my wireless connection.

To do this I choose Kanotix from the KDE menu -> Network & Internet -> Network Card Configuration. This brings up a dialog box which lists my card as eth2_Wireless_Device 00:13:02:71:F2:A2_IPW3945. If I select this it asks me if I want to 'set up wireless options'. Naturally I say yes - which then presents me with another dialog. Asking for the ESSID For Eth2. I assume this is the same as my network name? If so (just an example) I enter the network name of my home network which is Homer1. After I do this a new dialog appears asking me for the NWID or 'Cell Identifier' since I have no clue what this is, I simply hit the OK button and leave it empty - after which gain another dialog appears asking For the Mode for my wireless connection. Again I don't know what the correct choice here is? All I know is that I am not a part of an ad-hock network. I have a laptop and a PC both of which are connected to my combo adsl modem and wireless router. It is a simple home network - so nothing fancy or unusual going on at all. But in any case as the default selection is listed as 'Managed' this is what I choose, The next dialog asks me for the 'Channel number'. Looking at the settings on my router, this appears to be channel11 - so this is what I enter here. (Although as my router/Access point says that this is only required in Ad-Hock mode I have tried setting it both with and without the channel number). The next dialog asks if I wish to enable WPA support - but as there are a number of devices on my network that can only use the WEP Open system (including an Xbox gaming adapter and a wireless NAS storage router) then my entire network is set up to use WEP with 128 Bit encryption. The thing I have noticed here is that there is no option to select WEP, or the encryption strength as the security mode. In any case since my network does not use WPA, I select 'No' at this juncture. The following dialog then asks for my encryption key. Again I am slightly confused at this point. I do know my WEP encryption key which is (again just an example) elephant.1234 which is a 13 character phrase - but I am not sure if this is the key that is being asked for here? In any case I enter my key at this point and select next. In the next dialog box I am asked, to enter additional parameters for "iwconfig eth2" if needed". Once more I am at a loss what I should enter here? The next dialog asks if I wish to enter additional parameters for "iwspy eth2" - but again I have no clue even of what this is. I am then asked if I wish to enter additional parameters for "iwpriv eth2" (which once again I have no idea even what this means). The subsequent dialog asks me if I wish to use DHCP broadcast (again I have tried both yes and no here). In this instance I choose no and enter a static IP address of 192.168.1.104 (again an example) I then enter a network mask of 255.255.255.0, I enter the broadcast address as 192.168.1.255 and the default gateway as 192.168.1.1 (which is the address of my router/access point), then enter the nameserver as 192.168.1.1 and choose to enable the wireless connection on boot.

However (unsurprisingly perhaps) this does not work. It's unsurprising in so much that really I probably don't know what I am doing throughout much of this process.

As far as I understand it from reading the ReadMe for this chipset: http://ipw3945.sourceforge.net/INSTALL this says I must uninstall the native IEEE 802.11 networking stack from my kernel and install the ieee80211-1.2.15.tgz package available from here:

http://prdownloads.sourceforge.net/ieee ... z?download

However I am not certain if Kano may have already done this with one of his very convenient patches? Or should I perhaps go ahead and do this on my own? I don't really have a big problem with compiling my own kernel - if this is what is required.

Once again if you have managed to read this far - I thank you very much for your time and patience - and if you can offer any insight or advice at all, your input would be very gratefully received.

Kanotix is a really great distro - I am extremely hopeful I can make it my distro of choice from this point on.
jebus197 - 27.11.2006, 00:16 Uhr
Titel:
And now for the 'abridged' version for those who don't want to read the above.

I have a wireless home network with one laptop and one desktop PC. Both of these connect wirelessly to a USRobotics combination ADSL modem/router & wireless access point. I am trying to connect to my network. But so far I have had no luck.

1 ) I choose Kanotix from the KDE menu -> Network & Internet -> Network Card Configuration.

2) This brings up a dialog box which lists my card as eth2_Wireless_Device 00:13:02:71:F2:A2_IPW3945.

3) It asks me if I want to 'set up wireless options'.

4) I select yes

5) Set up requests the ESSID For Eth2

6) I enter Homer1 (which is my network name)

7) Set up requests my NWID or 'Cell Identifier' .

8 ) I don't know what this is so I just hit OK.

9) Set up requests the Mode of my Network.

10) I select 'Managed'.

11) Setup requests the Channel number

12) I enter channel 11 (although I have tried both with and without entering a channel number).

13) Setup asks if I wish to enable WPA support

14) As my Network runs on WEP-Open with 126Bit encryption, I select 'no'.

15) Setup asks for my encryption Key.

16) I enter my WEP key which is (just an example) elephant.1234

17) Set up asks me to enter additional parameters for "iwconfig eth2" if needed"

18 ) I don't know what this is so I just press 'OK'.

19) Setup asks if I wish to enter additional parameters for "iwspy eth2"

19) I don't know what this is so I just press 'OK'.

20) Setup asks if I wish to enter additional parameters for "iwpriv eth2"

21) I don't know what this is so I just press 'OK'.

22) Setup asks me if I wish to use DHCP broadcast

23) I select 'No' (although I have tried both yes and no at this juncture).

24) I enter a static IP address of 192.168.1.104

25) I then enter a network mask of 255.255.255.0

26) I enter the broadcast address as 192.168.1.255

27) I enter the default gateway as 192.168.1.1

28 ) I enter the nameserver as 192.168.1.1

29) Finally I choose to enable the wireless connection on boot

So there we have it, a simple 29 step set up process - which unfortunately in this case does not work. It's a little different from other platforms I have used where all that is required is that you start a site scan, choose the network you want to connect to - and then enter the required encryption key.

Can anyone possibly spot here where I might be going wrong?
zerkovic - 27.11.2006, 00:23 Uhr
Titel:
wlassistant

dotn forget: refresh after failure
jebus197 - 27.11.2006, 01:19 Uhr
Titel:
Thanks. This is very encouraging news!! Wlassistant found my network and it reports the signal strength as being excellent with 6 Gold stars. I have successfully connected to my network (after choosing ASCII and entering my 13 letter WEP password e.g. elephant.1234).

The problem is however that I still can't browse my network - or surf the internet.

I have noticed by looking at the KDE network icon on the bottom left of my screen when I hover my mouse over it that all of the information about my wireless network connection is correct - broadcast address IP address and so on - but the 'default gateway' address is missing - even though I have entered this correctly in wlassistant.

Is there anywhere I can add or enter the default gateway address manually so that my system knows which default gateway to use?

If it is useful Ifconfig reads as follows. (My Wireless connection is listed as eth2).


Code:
eth0      Link encap:Ethernet  HWaddr 00:A0:D1:41:75:19
          inet addr:192.168.1.102  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::2a0:d1ff:fe41:7519/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:228 errors:0 dropped:0 overruns:0 frame:0
          TX packets:176 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:220908 (215.7 KiB)  TX bytes:16404 (16.0 KiB)

eth2      Link encap:Ethernet  HWaddr 00:13:02:71:F2:A2
          inet addr:192.168.1.14  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::213:2ff:fe71:f2a2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7381 errors:164 dropped:167 overruns:0 frame:0
          TX packets:168 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:44753 (43.7 KiB)  TX bytes:10943 (10.6 KiB)
          Interrupt:185 Base address:0xc000 Memory:da000000-da000fff

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:140 errors:0 dropped:0 overruns


Again thank you for your kind help. I feel I cannot be too far away from getting my network up and having it fully functioning! Smilie
jebus197 - 27.11.2006, 01:41 Uhr
Titel:
Mmm... this doesn't make much sense...

in /etc/network interfaces it has my wireless connection listed as follows:

Code:
iface eth2 inet static
   address 192.168.1.14
   netmask 255.255.255.0
   network 192.168.1.0
   broadcast 192.168.1.255
   gateway 192.168.1.1
 wireless-mode Master
 wireless-channel 11
 pre-up KEY=$(cat /etc/network/wep.eth2) && iwconfig eth2 key $KEY
 wireless-essid Homer1


Which is correct (although I have changed the ESSID printed here for security reasons).

So why is Knemo reporting that it can't obtain a gateway address? Or more specifically, why can't I still connect fully to my network?

I have also noticed that I must run wlassistant each time I reboot in order to connect to my network.

Is there any way to get my network to start when my computer starts?

Thanks.
HJH - 27.11.2006, 11:17 Uhr
Titel:
In your ifconfig:
wireless-mode shouldn't be "master" but "Managed"
You shouldn't define a channel. If you use a router, the router is the master and your wireless card "follows" the proposed channel.
wireless_key works with ASCI is you do: "wireless_key s:elephant1234"

Ifconfig doesn't show any meaningfull output here. You defined an IP yourself, so according to ifconfig all that can be set, is done.

use "iwconfig eth2" to obtain info on your radio connection.

To get it started automatically on boot add "auto eth2" to the interfaces file.
jebus197 - 27.11.2006, 13:16 Uhr
Titel:
OK, this is a really great help. Thanks! Just to be 100% clear though, going by what you said, my /etc/network interfaces should look like this? Is this correct?

Code:
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface
# automatically added when upgrading
auto lo eth2 eth0
iface lo inet loopback

iface eth0 inet static
   address 192.168.1.102
   netmask 255.255.255.0
   network 192.168.1.0
   broadcast 192.168.1.255
   gateway 192.168.1.1

iface eth2 inet static
   address 192.168.1.104
   netmask 255.255.255.0
   network 192.168.1.0
   broadcast 192.168.1.255
   gateway 192.168.1.1
 wireless-mode Managed
 pre-up KEY=elephant.1234
 wireless-essid Homer1


Note the omission of a channel number, the change in mode from Master to Managed and the insertion of my WEP key in (what I think is) the format you suggested. Also the eth2 interface is already set to be automatically started. Also I'm not sure - but as my wireless router/access point is at 192.168.1.1, shouldn't the "network" section here be 192.168.1.1 too?

I am really very hopeful that if I can correct these few glitches the last of my major issues with Kanotix will be over. Which would be great - as this is why I bought my laptop (I checked it had supported wireless drivers in Linux before buying) and also because without wireless access I would have to live without Linux on my laptop and use Microsoft Windows - which is not something I have done for a very long time.

So any help is really very much appreciated.
jebus197 - 27.11.2006, 15:03 Uhr
Titel:
Well that didn't work anyway - or at least he network didn't automaticaly start on boot.

Is there perhaps a way to start the network interface from the command line so I can test if it works?
Kano - 27.11.2006, 15:13 Uhr
Titel:
This can NOT work when you set 2 times the same gateway. Remove eth0 from auto.
jebus197 - 27.11.2006, 15:19 Uhr
Titel:
Thanks Kano!

This was set up this way by the network card set up utility. But I will fix it right away!
jebus197 - 27.11.2006, 15:39 Uhr
Titel:
Unfortunately no, that didn't fix it either.

My /etc/network/interfaces is now set out as follows:

Code:
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface
# automatically added when upgrading
auto lo eth2
iface lo inet loopback

iface eth0 inet static
   address 192.168.1.102
   netmask 255.255.255.0
   network 192.168.1.0
   broadcast 192.168.1.255
   gateway 192.168.1.1

iface eth2 inet static
   address 192.168.1.104
   netmask 255.255.255.0
   network 192.168.1.0
   broadcast 192.168.1.255
   gateway 192.168.1.1
 wireless-mode Managed
 pre-up KEY=elephant.1234
 wireless-essid Homer1



If I run iwconfig eth2 I get:

Code:
eth2      unassociated  ESSID:off/any
          Mode:Managed  Frequency=nan kHz  Access Point: Not-Associated
          Bit Rate:0 kb/s   Tx-Power:16 dBm
          Retry limit:15   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality:0  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


However, if I wlassistant, this does detect my wireless network and it allows me to connect to it - although I can't browse my network, or connect to the internet - and Knemo reports that it can't see the default gateway. (The line for this is simply empty when I hover my mouse over the Knemo icon in my system tray).

When I do use wlassistant and run iwconfig again, I get:

Code:
iwconfig eth2
eth2      IEEE 802.11g  ESSID:"Jebus97"
          Mode:Managed  Frequency:2.462 GHz  Access Point: 00:14:C1:19:0F:0C
          Bit Rate:54 Mb/s   Tx-Power:15 dBm
          Retry limit:15   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=95/100  Signal level=-33 dBm  Noise level=-34 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:2   Missed beacon:0


I have no idea what is going on...
HJH - 27.11.2006, 16:20 Uhr
Titel:
First difference:

if you look at iwconfig, you see in the first one you posted that the card is not associated.
This is correct. Please read my previous post carefully, as I already explained that you need to set your wep key differently -> "wireless_key s:elephant.1234"

How about the settings of your AP: can all cards work with it or do you have MAC-specific settings to allow some cards and no others?

If you change the settings, and you see in iwconfig that you are associated with the AP on radio-level, next, do "dhclient eth2" This should result in a request for an IP address by your card. If this does not work, you probably have to check the access settings of your AP.

Second: as Kano said: you can not have 2 gateways! you will have to remove one from the file (just put a "#" in front of it for testing).

The network is 192.168.1.0 The "0" is on the end because with these settings the complete 192.168.xxx range is part of it.
jebus197 - 27.11.2006, 17:41 Uhr
Titel:
OK I admit I am kind of dumb at all this. I'm sorry if I seem slow - and I again I am very grateful for you help. But I have no previous experience at all in setting up wireless networking in Linux. I really do appreciate your patience - and I am doing my best to understand and to absorb what you are telling me.

As far as I understand it, (although I admit it is a very literal interpretation) from what you have said my /etc/network/interfaces should read as follows:

Code:
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface
# automatically added when upgrading
auto lo eth2
iface lo inet loopback

iface eth0 inet static
   address 192.168.1.102
   netmask 255.255.255.0
   network 192.168.1.0
   broadcast 192.168.1.255
#  gateway 192.168.1.1

iface eth2 inet static
   address 192.168.1.104
   netmask 255.255.255.0
   network 192.168.1.0
   broadcast 192.168.1.255
   gateway 192.168.1.1
 wireless-mode Managed
 pre-up KEY="wireless_key s:elephant.1234"
 wireless-essid Homer1


The section that is still a little unclear to me is the "pre-up KEY=" as all I have done is copy and paste (in exactly the format you printed, including quotes) my WEP security key after the = part.

Also I know his might seem a very dumb question and again I really am sorry for this, but if for example my WEP key was not elephant.1234 and was instead gravitation67 (again an example) would this follow the same format? In other words would I set the pre-up key line to read:

Code:
pre-up KEY="wireless_key s:gravitation67"


I have commented out the gateway for my wired Ethernet network (eth0) and removed eth0 from the "auto" line too, so now it reads:

Code:
 auto lo eth2


As I assume that this is what Kano meant for me to do. But does this mean that my Wired network won't be available on boot any more - and that I can only have one active network to start up with each boot?

Really I guess the question is, if I want both my wired and wireless networks to be available on boot, how exactly should my /etc/network/interfaces file look?

And no, as far as I'm aware my AP doesn't have any MAC specific settings - nor does it exclude any devices. Indeed I can connect the same laptop to it using the installed version of Windows XP that came with the laptop when I bought it with no difficulty at all (providing I supply the correct WEP key). I also have a Desktop computer, a wireless NAS router with a 300GB hard drive attached and an Xbox360 with a wireless gaming adapter - all of which can connect to my AP without difficulty. (Again providing I supply the correct security details).
jebus197 - 27.11.2006, 18:02 Uhr
Titel:
OK scrub that. I did.

Code:
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface
# automatically added when upgrading
auto lo eth2
iface lo inet loopback

iface eth0 inet static
   address 192.168.1.102
   netmask 255.255.255.0
   network 192.168.1.0
   broadcast 192.168.1.255
#  gateway 192.168.1.1

iface eth2 inet static
   address 192.168.1.104
   netmask 255.255.255.0
   network 192.168.1.0
   broadcast 192.168.1.255
   gateway 192.168.1.1
 wireless-mode Managed
 pre-up KEY=wireless_key s:elephant.1234
 wireless-essid Homer1


Which has worked.

However I still can't get the network to start on boot. I had to use wlassistant to connect when I started and I am also concerned that wlassistant might possibly still be using the WEP key located in the text file /etc/network/wep.eth2, as in:

Code:
pre-up KEY=$(cat /etc/network/wep.eth2) && iwconfig eth2 key $KEY


Although I can't confirm this. So I am still not certain if the pre-up KEY= is formatted correctly. Again I currently have it at:

Code:
pre-up KEY=wireless_key s:elephant.1234


I am not complaining at all - at least now I have proved to myself that it works. (And it works very well too, with an extremely strong signal)

However the finishing touches would be to be able to have my wireless network automatically start on boot - and possibly to have both of network interfaces (eth0 and eth2) start automatically, so that I can use a wired connection if I should ever run into difficulties with my wireless connection - or if I go somewhere that only has wired Ethernet.

Other than that this is great news - and thank you to everyone for your great help. I am sorry if I was a bit slow to catch on - but try my best and I do learn!

PS

Edit:

If I recompile my Kernel is it likely I will loose wireless functionality - or is the included driver one of Kano's very nice kernel patches? I ask as I may want to do just a little bit of tweaking of the kernel to choose a CPU type (core Duo = Pentium-M in the kernel AFAIK) and one or two very small other tweaks. But If this means doing anything really very complex to get wireless networking going again, I may give it a pass.
HJH - 27.11.2006, 19:04 Uhr
Titel:
The thing you need to drop is the "pre-up KEY="-part.

You can have 2 interfaces started on boot, but you can not have:
- 2 gateways; there's always only one gateway
- 2 interfaces on the same subnet; so if eth2 is 192.168.1.x then eth0 should be on something else, like 192.168.2.y
HJH - 27.11.2006, 19:07 Uhr
Titel:
About compiling your own kernel: the Kanotix kernel contains a lot of really useful patches. If you build your own, you are likely to lose them. Compiling for a specific cpu really doesn't make that much of a difference speedwise.
When you don't have to compile your own, I'd suggest: just dont. Winken
jebus197 - 27.11.2006, 19:42 Uhr
Titel:
OK I get you. I did what you said:

Code:
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface
# automatically added when upgrading
auto lo eth2
iface lo inet loopback

iface eth0 inet static
   address 192.168.2.102
   netmask 255.255.255.0
   network 192.168.1.0
   broadcast 192.168.1.255
#   gateway 192.168.1.1





iface eth2 inet static
   address 192.168.1.104
   netmask 255.255.255.0
   network 192.168.1.0
   broadcast 192.168.1.255
   gateway 192.168.1.1
 wireless-mode Managed
 wireless_key s:elephant.1234
 wireless-essid Homer1


But this still does not enable my network to start on boot. Again though wlassistant connects me to my network without difficulty.

Also my only really major concern regarding compilng my kernel was to try to make sure or find a way to gurantee that both of the cores of my core duo CPU were being used. After all, why have dual cores if they are not being utilised? It may not make a huge difference, but the reason I paid so much for my laptop was hopefully because I could use all of it's features to the full. (Or at least as fully as posible).

Also I might want to just keep my hand in with kernel compiling - just in case I ever need it. However as I said I'm not sure how many of Kano's patches (as in what %) are included in the Kernel - and how many are outside of it - which might mean that they would need to be recompiled after a Kernel compile?

Anyway the most pressing thing - the only major thing left to worry about, is figuring out how to get my network to start during boot. It's not a huge concern I guess - although it would be useful.

To be clear, I can get my wired network to start during boot - just not my wireless one.
HJH - 27.11.2006, 19:51 Uhr
Titel:
"ifup <interface>"/ "ifdown <interface>" should bring the interface up or down. I have no idea why your's doesn't come up by itself on boot.

Are you sure that not all cores are used? -> "cat /proc/cpuinfo" should yield 2 cpu's.
AFAIK all Linux 2.6.15 and higher kernels do support smp, also on AMD X2 and Intel Core Duo machines.
jebus197 - 27.11.2006, 20:07 Uhr
Titel:
Well ifup and ifdown work well - with no difficulties. Mmm... That's bit dissapointing that I can't get it to work during boot. Couldn't I possibly use a script of some kind to have it start up? I have little or no experience writing such scripts. What might writing a script like this involve?

Yeah cat /proc/cpuinfo does show two cores - it's not a major issue I just though Pentium M might be a better fit in the Kernel in terms of features. But you are probably right I would probably do well just to leave it alone.
HJH - 27.11.2006, 20:14 Uhr
Titel:
You can alway build a kernel if you want to. But it is not always 100% straight foreward and you need to get a bit handy with it.
I have tried it in the past and the speed difference between a standard, wel built kernel, and a tailor made one during boot is usually less than about 2-3%. You get more out of reorganising the daemons.

As for the ifup trick:

go to /etc/rc5.d
make a file there called "S99eth0_up"

in there put:
Code:

#!/bin/bash

ifup eth2


Ah yes, make the file executable: "chmod +x S99eth0_up"
that's it.
jebus197 - 27.11.2006, 20:59 Uhr
Titel:
Yeah that worked great thanks!

I am getting error messages when I log out - and when I boot up. When I log out I can see something about a time out error on my network interface - and when booting up I can see errors that say something about the eth2 interface not existing (or 'no such interface'). But It all goes too quickly to read. I will try to note it down over the next day or two - as I supect that somehow the system is trying to start the network before the drivers are properly loaded for it.

I don't know if that's anything I can fix - or if it's just the result of Kanotix being in RC and maybe I should file a bug report?

Dmesg is much help in this regard I'm afraid.

Anyway thanks very much for all your kind patience and help. That is one more major issue chalked off the list. Next I will have to try my luck at figuring out software suspend - and then hopefully at last my laptop will be fully functional.

Thanks again for everything. Winken
HJH - 27.11.2006, 21:07 Uhr
Titel:
Hmm,

If that worked, then I guess the interface depends on some stuff to be loaded later on.
The best solution I can think of now: remove eth2 from the auto load on boot list in the interfaces file. You don't need that setting anyway to make it run as a service.

Also: check /var/log/syslog and /var/log/messages for your error.
jebus197 - 27.11.2006, 22:54 Uhr
Titel:
There's nothing significant in any of those log files either. The most they say is the following:

Code:
kernel: ADDRCONF(NETDEV_UP): eth2: link is not ready
mobile1 kernel: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready


I guess at least if I remove the auto start up in /etc/network/interfaces that this will remove the error.

It still doesn't really explain what is causing the problem though.
HJH - 27.11.2006, 23:06 Uhr
Titel:
Well,

I think that is quite significant. This means that the network is called before some service that is needed for ipw3945 is started.
Removing auto for eth2 should indeed prevent this error, but I think we have two daemons here that should be started in another order to get this card working.

You could try the following:
as root, do: "ln -s /etc/init.d/ipw3945d /etc/rcS.d/S39ipw3945d

This should get the ipw3945 daemon started before your network comes up.
please check /etc/rcS.d for other links to the daemon. If you find any, remove them.
"auto" should work now.


<edited; fixed the directory referral>
jebus197 - 28.11.2006, 00:36 Uhr
Titel:
Hi it seems we are getting to the bottom of this. This is what happens when I run this command:

Code:
ln -s /etc/init.d/ipw3945d /etc/rc.S/S39ipw3945d
ln: creating symbolic link `/etc/rc.S/S39ipw3945d' to `/etc/init.d/ipw3945d': No such file or directory


It seems that I don't have an /etc/rc.S directory. (Indeed I checked and I definately don't).

Is this normal?
HJH - 28.11.2006, 10:55 Uhr
Titel:
my bad.

that should be "rcS.d" !!! (edited in earlier post).
jebus197 - 28.11.2006, 12:52 Uhr
Titel:
Yes that worked. But sadly my connection still wont automatically start on boot.

To be clear I removed the S99eth0_up script you posted earlier and ran

Code:
ln -s /etc/init.d/ipw3945d /etc/rcS.d/S39ipw3945d


as root - which executed/completed without complaint.

I then edited my /etc/hosts/interfaces file to add the eth2 interface to the auto line, in order that both eth0 and eth2 would be available on boot. (although I do not have an ethernet cable plugged in to my wired networking port (eth0) right now.

This is how it looks now:

Code:
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface
# automatically added when upgrading
auto lo eth0 eth2
iface lo inet loopback

iface eth0 inet static
   address 192.168.2.102
   netmask 255.255.255.0
   network 192.168.1.0
   broadcast 192.168.1.255
#   gateway 192.168.1.1





iface eth2 inet static
   address 192.168.1.104
   netmask 255.255.255.0
   network 192.168.1.0
   broadcast 192.168.1.255
   gateway 192.168.1.1
 wireless-mode Managed
 wireless_key s:elephant.1234
 wireless-essid Homer1


There was one other file in rcS.d called S38ipw3945d - but I removed this as instructed. I can see no further reference to it in this directory.

The remaining contents of that directory are as follows:

Code:
README               S11hwclock.sh             S36mtab.sh      S46mountnfs-bootclean.sh
S01glibc.sh          S18ifupdown-clean         S36udev-mtab    S46setserial
S01splashy-init      S20module-init-tools      S38pppd-dns     S48console-screen.sh
S02mountkernfs.sh    S20modutils               S39dns-clean    S50alsa-utils
S03udev              S25libdevmapper1.02       S39ifupdown     S55bootmisc.sh
S04mountdevsubfs.sh  S30checkfs.sh             S39ipw3945d     S55urandom
S05bootlogd          S30etc-setserial          S40hostname.sh  S70x11-common
S05initrd-tools.sh   S30procps.sh              S40networking   S75sudo
S05keymap.sh         S35mountall.sh            S43portmap      S99stop-bootlogd-single
S10checkroot.sh      S36mountall-bootclean.sh  S45mountnfs.sh


As far as I understand it, the objective is to get the ipw3945 daemon started before my network comes up - and currently this isn't happening - although again there appears to be no clear reason why this is he case.

BTW I am perfectly happy with the solution that I have where I am running the start up script for my network as a service - but really if we can figure this out, then it is probably a bug - and maybe if we fix it, or find out what's wrong we can report it to Kano? I mean Kanotix is after all an RC right now, so maybe if it can be fixed we can help others in the same position as me - and make wireless networking in Kaotix much easier in the future?

Of course, if you don't have the time for this - or just don't know how to fix it, that is perfectly fine too.
HJH - 28.11.2006, 13:38 Uhr
Titel:
Hmmm, this is turning out to be quite a tricky one!

You already had ipw3945d starting at level S38, so on an earlier moment than the network comes up. Could you put it bakc this way? (so change the S39ipw3945d to S38ipw3945d ).

If this daemon is started at that time, and it apparently is running at a later time, then it must be placed in the background, still doing something or waiting for something.

Maybe the timeout it generates on start should be increased to give it more time.
In /etc/init.d/ipw3945d you'll find:

Code:

start_daemon() {
  if have_sys_entries; then
    remove_stale_pid
    log_daemon_msg "Starting ipw3945 regulatory daemon" "ipw3945d"
    start-stop-daemon --start --quiet --chuid "${DAEMON_OWNER}"                \
                      --exec "${DAEMON_BINARY}" --pidfile "${DAEMON_PID_FILE}" \
                      --oknodo -- --pid-file=${DAEMON_PID_FILE} --quiet        \
            --log-file=${DAEMON_LOG_FILE} > /dev/null 2>&1
    code=$?
    log_end_msg ${code}
    sleep 1
  else
    log_warning_msg "Not starting ipw3945 regulatory daemon, driver not loaded."
  fi
}


Right at the end (5 lines above the end to be exact), you can see "sleep 1"
Can you change the value here? To "sleep 10" for instance?
You can play a bit with the value here, that might do the trick.
jebus197 - 28.11.2006, 13:55 Uhr
Titel:
You may be inadvertantly on to something here. My /etc/init.d/ipw3945d differs significantly from yours. There is no "sleep1" or any other sleep instruction at all:

Code:
#!/bin/sh

### BEGIN INIT INFO
# Provides:      ipw3945d
# Required-Start:   mountvirtfs $local_fs
# Required-Stop:   
# Should-Start:      udev
# Should-Stop:      
# Default-Start:   S
# Default-Stop:      0 6
# Short-Description:   Intel PRO/Wireless 3945ABG Regulatory Daemon
# Description:      A userspace regulatory daemon daemon responsible for
#         controlling and configuring aspects of the hardware
#         required to operate the device within compliance of
#         various regulatory agencies.
### END INIT INFO

PATH=/usr/sbin:/usr/bin:/sbin:/bin

IPW3945D=/sbin/ipw3945d
NAME=ipw3945d
DESC="ipw3945 regulatory daemon"
PIDFILE="/var/run/ipw3945d.pid"
OPTIONS="--quiet --pid-file=$PIDFILE"
TEST_OPTIONS="--isrunning --pid-file=$PIDFILE"

if [ ! -x "$IPW3945D" ]; then
   exit 0
fi

. /lib/lsb/init-functions

case "$1" in
   start)
      log_daemon_msg "Starting $DESC"

      # daemon is already running
      if start-stop-daemon --start --oknodo --quiet --name $NAME \
         --startas $IPW3945D --pidfile $PIDFILE -- $TEST_OPTIONS; then
         log_progress_msg "$NAME process already started"
         log_end_msg 0
         exit 0
      fi
      
      # ipw3945 hardware and/or module not present
      if [ ! -e /sys/bus/pci/drivers/ipw3945/*/cmd ]; then
         log_progress_msg "hardware or kernel module not present"
         log_end_msg 0
         exit 0
      fi
      
      # start daemon
      if start-stop-daemon --start --oknodo --quiet --name $NAME \
         --startas $IPW3945D --pidfile $PIDFILE -- $OPTIONS; then
         log_progress_msg "$NAME"
         log_end_msg 0
      else
         log_end_msg 1
         exit 1
      fi         
      ;;
   stop)
      # check to see if daemon is running
      if start-stop-daemon --start --oknodo --quiet --name $NAME \
         --startas $IPW3945D --pidfile $PIDFILE -- $TEST_OPTIONS; then
         log_daemon_msg "Stopping $DESC"
         log_progress_msg "$NAME"
         # kill the daemon
         if start-stop-daemon --stop --oknodo --quiet \
            --exec $IPW3945D --pidfile $PIDFILE; then
            log_end_msg 0
            # remove stale pidfile
            if [ -f "$PIDFILE" ]; then
               rm -f "$PIDFILE"
            fi
         else
            log_end_msg 1
            exit 1
         fi
      fi
      ;;
   restart|force-reload)
      $0 stop
      $0 start
      ;;
   *)
      echo "Usage: $0 {start|stop|restart|force-reload}" >&2
      exit 3
      ;;
esac

exit 0


There are also a number of other diferences that you might note.
HJH - 28.11.2006, 13:56 Uhr
Titel:
As for the bugposting you refered to: I think you should go to Debian for this.
The package is fairly standard.
I even found the issue you have, with a "fix". Only the fix already is the "sleep 1" -> so using a bigger value, seems to be the right idea. Winken

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=399607
http://bugs.debian.org/cgi-bin/pkgrepor ... t=unstable
http://packages.debian.org/unstable/net/ipw3945d
jebus197 - 28.11.2006, 15:36 Uhr
Titel:
Yes that worked beautifully, with no more errors. No need to adjust the timeout value at all.

Hopefully Kano will include this in the final release.

Issue marked as solved!

Many thanks!
jebus197 - 30.11.2006, 19:10 Uhr
Titel:
OK, can someone please explain why when I installed a new Kernel 2.6.18.1-kanotix-1 wireless networking stopped working?

Is there something I need to reinstall to get it to work again when I install each new official Kanotix kernel?

Thanks!
Alle Zeiten sind GMT + 1 Stunde
PNphpBB2 © 2003-2007