# [SOLVED]No wifi ipw3945

## unai001

Well, another problem, i had to change the kernel from 2.6.23-r6 to 2.6.24 to get my sound working, but now my wifi isn't working :S

i have the kernel configured as i had in the 2.6.23-r6 (actually i did a make oldconf) and i have emerged the drivers ipw3945, ipw3045d, iwlwifi but if i try to do a modprobe it gives me an error:

 modprobe ipw3945->

FATAL: Module ipw3945 not found.

 modprobe iwl3945->

FATAL: Module iwl3945 not found.

Any clue about what can it be?

ThXLast edited by unai001 on Mon Feb 04, 2008 8:28 pm; edited 1 time in total

----------

## pholthau

Did you use eselect to change your /usr/src/linux symlink before emerging ipw3945* ?

If you did not, the module has been installed for an old kernel not the current one.

----------

## unai001

 *pholthau wrote:*   

> Did you use eselect to change your /usr/src/linux symlink before emerging ipw3945* ?
> 
> If you did not, the module has been installed for an old kernel not the current one.

 

Wops, how do i do it? Im a little newbie  :Very Happy: 

Thx

----------

## unai001

im not sure if it is what i was supposed to do, but i have done a "eselect kernel " and set the new one as default, after that i have tried to do an emerge ipw3945 but it tells mi this before completing:

```

 ERROR: net-wireless/ipw3945-1.2.2 failed.

 * Call stack:

 *          ebuild.sh, line 1701:  Called dyn_compile

 *          ebuild.sh, line 1039:  Called qa_call 'src_compile'

 *          ebuild.sh, line   44:  Called src_compile

 *          ebuild.sh, line 1383:  Called linux-mod_src_compile

 *   linux-mod.eclass, line  519:  Called die

 * The specific snippet of code:

 *            emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" \

 *                 ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} \

 *               || die "Unable to make ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}."

 *  The die message:

 *   Unable to make  KSRC=/usr/src/linux KSRC_OUTPUT=/lib/modules/2.6.24-gentoo/build SHELL=/bin/bash T=/var/tmp/portage/net-wireless/ipw3945-1.2.2/temp CONFIG_IPW3945_MONITOR=y CONFIG_IEEE80211_RADIOTAP=y CONFIG_IPW3945_PROMISCUOUS=y CONFIG_IPW3945_DEBUG=n all.

```

What can i dO?

EDIT: This is the log:

```

[32;01m*[0m Determining the location of the kernel source code

 [32;01m*[0m Found kernel source directory:

 [32;01m*[0m     /usr/src/linux

 [32;01m*[0m Found kernel object directory:

 [32;01m*[0m     /lib/modules/2.6.24-gentoo/build

 [32;01m*[0m Found sources for kernel version:

 [32;01m*[0m     2.6.24-gentoo

 [32;01m*[0m Checking for suitable kernel configuration options...

[A[72C  [34;01m[ [32;01mok[34;01m ][0m

>>> Unpacking source...

>>> Unpacking ipw3945-1.2.2.tgz to /var/tmp/portage/net-wireless/ipw3945-1.2.2/work

 [32;01m*[0m Applying ipw3945-1.2.2-build.patch ...

[A[72C  [34;01m[ [32;01mok[34;01m ][0m

>>> Source unpacked.

>>> Compiling source in /var/tmp/portage/net-wireless/ipw3945-1.2.2/work/ipw3945-1.2.2 ...

 [32;01m*[0m Preparing ipw3945 module

 Using ieee80211 subsystem version API v2 from:

    Base: /usr/src/linux/

    Path: /usr/src/linux/include/

 EXTRA_CFLAGS = -I/usr/src/linux/include/ -DIPW3945_COMPAT=2

mkdir -p /var/tmp/portage/net-wireless/ipw3945-1.2.2/work/ipw3945-1.2.2/tmp/.tmp_versions

make -C /usr/src/linux M=/var/tmp/portage/net-wireless/ipw3945-1.2.2/work/ipw3945-1.2.2 MODVERDIR=/var/tmp/portage/net-wireless/ipw3945-1.2.2/work/ipw3945-1.2.2/tmp/.tmp_versions modules

make[1]: Entering directory `/usr/src/linux-2.6.24-gentoo'

  CC [M]  /var/tmp/portage/net-wireless/ipw3945-1.2.2/work/ipw3945-1.2.2/ipw3945.o

/var/tmp/portage/net-wireless/ipw3945-1.2.2/work/ipw3945-1.2.2/ipw3945.c: In function 'ipw_start_association':

/var/tmp/portage/net-wireless/ipw3945-1.2.2/work/ipw3945-1.2.2/ipw3945.c:4444: error: implicit declaration of function 'MAC_ARG'

/var/tmp/portage/net-wireless/ipw3945-1.2.2/work/ipw3945-1.2.2/ipw3945.c:4444: warning: too few arguments for format

/var/tmp/portage/net-wireless/ipw3945-1.2.2/work/ipw3945-1.2.2/ipw3945.c: In function 'ipw_build_tx_cmd_hwcrypto':

/var/tmp/portage/net-wireless/ipw3945-1.2.2/work/ipw3945-1.2.2/ipw3945.c:14931: warning: passing argument 2 of '__memcpy' makes pointer from integer without a cast

/var/tmp/portage/net-wireless/ipw3945-1.2.2/work/ipw3945-1.2.2/ipw3945.c:14931: warning: passing argument 2 of '__builtin_memcpy' makes pointer from integer without a cast

/var/tmp/portage/net-wireless/ipw3945-1.2.2/work/ipw3945-1.2.2/ipw3945.c: In function 'ipw_net_set_mac_address':

/var/tmp/portage/net-wireless/ipw3945-1.2.2/work/ipw3945-1.2.2/ipw3945.c:15217: warning: too few arguments for format

/var/tmp/portage/net-wireless/ipw3945-1.2.2/work/ipw3945-1.2.2/ipw3945.c: In function 'ipw_pci_probe':

/var/tmp/portage/net-wireless/ipw3945-1.2.2/work/ipw3945-1.2.2/ipw3945.c:16594: error: implicit declaration of function 'SET_MODULE_OWNER'

make[2]: *** [/var/tmp/portage/net-wireless/ipw3945-1.2.2/work/ipw3945-1.2.2/ipw3945.o] Error 1

make[1]: *** [_module_/var/tmp/portage/net-wireless/ipw3945-1.2.2/work/ipw3945-1.2.2] Error 2

make[1]: Leaving directory `/usr/src/linux-2.6.24-gentoo'

make: *** [modules] Error 2

 [31;01m*[0m 

 [31;01m*[0m ERROR: net-wireless/ipw3945-1.2.2 failed.

 [31;01m*[0m Call stack:

 [31;01m*[0m          ebuild.sh, line 1701:  Called dyn_compile

 [31;01m*[0m          ebuild.sh, line 1039:  Called qa_call 'src_compile'

 [31;01m*[0m          ebuild.sh, line   44:  Called src_compile

 [31;01m*[0m          ebuild.sh, line 1383:  Called linux-mod_src_compile

 [31;01m*[0m   linux-mod.eclass, line  519:  Called die

 [31;01m*[0m The specific snippet of code:

 [31;01m*[0m            emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" \

 [31;01m*[0m                 ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} \

 [31;01m*[0m               || die "Unable to make ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}."

 [31;01m*[0m  The die message:

 [31;01m*[0m   Unable to make  KSRC=/usr/src/linux KSRC_OUTPUT=/lib/modules/2.6.24-gentoo/build SHELL=/bin/bash T=/var/tmp/portage/net-wireless/ipw3945-1.2.2/temp CONFIG_IPW3945_MONITOR=y CONFIG_IEEE80211_RADIOTAP=y CONFIG_IPW3945_PROMISCUOUS=y CONFIG_IPW3945_DEBUG=n all.

 [31;01m*[0m 

 [31;01m*[0m If you need support, post the topmost build error, and the call stack if relevant.

 [31;01m*[0m A complete build log is located at '/var/tmp/portage/net-wireless/ipw3945-1.2.2/temp/build.log'.

 [31;01m*[0m 

```

(i need wifi :'( !!)Last edited by unai001 on Sun Feb 03, 2008 9:30 pm; edited 1 time in total

----------

## Daymien

Be sure that the softlink /usr/source/linux is point at your new kernel.

You have to boot with the new kernel. Now install all ipw* packages again.Last edited by Daymien on Sat Feb 02, 2008 10:14 pm; edited 1 time in total

----------

## unai001

 *Daymien wrote:*   

> Be sure that the softlink /usr/source/linux is pointed to your new kernel.
> 
> You have to boot with the new kernel. Now install all ipw* packages again.

 

I dont really know what does that mean, but if i go to /usr/src/linux and try a make menuconfig, the kernel that is there to configure is the new one (2.6.24), i think it is ok isnt it?

I have rebooted again and it still doesnt work, it gives the same message

----------

## mikkoc

I'm not sure you can use ipw3945 with 2.6.24 kernel.

In fact, you should use iwl3945 (iwlwifi), which is included in .24 kernel, just make sure to select it when configuring   :Smile: 

Also you will need the firmware:

```
emerge iwl3945-ucode
```

----------

## unai001

 *mikkoc wrote:*   

> I'm not sure you can use ipw3945 with 2.6.24 kernel.
> 
> In fact, you should use iwl3945 (iwlwifi), which is included in .24 kernel, just make sure to select it when configuring  
> 
> Also you will need the firmware:
> ...

 

I have it selected in the kernel, i have emerged iwl3945-ucode. After thah i do a modprobe mac80211 and modprobe iwl3945.Nothing shows errors, but if i do a iwconfig my wireless card isn't there...(it was supposed to be in eth1)

What can i do?

----------

## mikkoc

well, make sure the module is really loaded:

```
lsmod | grep iwl
```

Then look at dmesg and see if there are errors/warnings related to the wireless card.

The device *should* be named "wlan0" in iwconfig.

----------

## d2_racing

What do you have after you have booted your box in ifconfig ?

```

#ifconfig -a

```

Also, are you sure that your iwlwifi is properly configured inside your kernel.

----------

## unai001

The lsmod shows that iwl3945 and mac80211 are loaded, the "dmesg" shoes this (error) messages;

```

iwl3945: Tunable channels: 13 802.11bg, 23 802.11a channels

phy0: Selected rate control algorithm journal

phy0: Failed to initialize wep

iwl3945:Failed to register network device (error -12)

```

If i do ifconfig -a the extensions there are:

```

eth0 

lo

sit0 Link encap:IPv6-in-IPv4  

          NOARP  MTU:1480  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

```

The eth0 is the current working line, is wired by rj45 cable. lo is the local host (i thing its obvious  :Very Happy: ) , the lasr one, sit0 i dont know wich can it be (meaby the wireless?). with a simple ifconfig do any show the firs 2 options anf ha iwconfig shows the three options but followed by "no wireless extensions".

The kernel is configured in networking->wilreless this way:

```

Improved wireless configuration API : M

Wireless extensions:  

                        *

Generic IEEE 802.11 networking stack (mac80211): M

Enable leds  : *

Gereric IEEE 802.11 networking stack : *

Ieee wep encryption :*

Ieee ccmp support : M

ieee Tkip encryption : M

Software mac-addon on to ieee802.11  networking stack : M

```

What else?Last edited by unai001 on Sun Feb 03, 2008 9:32 pm; edited 2 times in total

----------

## mikkoc

Is the firmware installed correctly?

try 

```
ls /lib/firmware/
```

Also you might wanna take a look at this: https://forums.gentoo.org/viewtopic-t-607646-highlight-.html?sid=dec38880c641c4729c8ba55b4d23ddb4

----------

## unai001

Well, i have formated the disk and reinstalled the sistem but directly compiling the 2.6.24 kernel, all this in order to make the instalation more "clean".

I still cant get my wifi card working, if i modprobe iwl3945 or ipw3945 it gives a fatal error message telling "module not found". If i try to emerge iwlwifi it gives me an error telling:

```

*iwl is included in 2.6.24, this ebuild is not guaranteed to build against the nwewr kernel.

!!Error net-wireless/iwlwifi-1.2.23 failed.

Call stack:

ebuild.sh, line 1630: Called dyn_setup

ebuild.sh, line 702: Called qa_call 'pkg_setup'

ebuild.sh, line 38: Called pkg_setup

iwlwifi-1.2.23.ebuild, line 35: Called die

!!!invalid /usr/src/linux symlink

```

emerging ipw3945 gives this other one:

```

*Please remove net-wireless/ieee80211 using emerge, and remerge your current kernel (2.6.24-gentoo), as it has been altered by net-wireless/ieee80211.

!!Error net-wireless/ipw3945-1.2.2 failed.

Call stack:

ebuild.sh, line 1630: Called dyn_setup

ebuild.sh, line 702: Called qa_call 'pkg_setup'

ebuild.sh, line 38: Called pkg_setup

ipw3945-1.2.2.ebuild, line 35: Called die

Incompatible ieee80211 subsystem detected in 2.6.24-gentoo

```

The kernel is configured whith this options:

```

NETWORKING->WIRELESS

CONFIG_CFG80211=Y

CONFIG_WIRELESS_EXT=Y

CONFIG_MAC80211=M

CONFIG_MAC80211_RCSIMPLE=Y

CONFIG_IEEE80211=M

CONFIG_IEE80211_CRYPT_WEP=M

CONFIG_IEEE80211_CRYPT_CCMP=M

CONFIG__IEE80211_CRYPT_TKIP=M

DEVICE DRIVERS->WIRELESS LAN

CONFIG_WLAN_80211=Y

CONFIG_IWLWIFI=Y

CONFIG_IWLWIFI_DEBUG=Y

CONFIG_IWLWIFI_SENSITIVITY=Y

CONFIG_IWLWIFI_SPECTRUM_MEASUREMENT=Y

CONFIG_IWLWIFI_QOS=Y

CONFIG_IWL3945=M

CONFIG_IWL4565=M

CONFIG_HOSTMAP=M

```

Any clue?

----------

## d2_racing

Can you post the content of this :

```

# cd /usr/src

# ls -la

```

And 

```

#uname -a

```

----------

## unai001

ls -la in /usr/src:

```

total 20

drwxr-xr-x 5 root root 4096 Feb 3 12:29   .

drwxr-xr-x 13 root root 4096 Feb 3 15:52   ..

-rw-r--r--   1 root   root 0    Aprl  17 2007  .keep

lrwxrwxrwx 1 root root  19  Feb   3  12:40  linux->linux-2.6.24-gentoo

drwxr-xr-x  19 root root 4096 Feb 3 12:29 linux-2.6.22-gentoo-r9

drwxr-xr-x  19 root root 4096 Feb 3 12:50 linux-2.6.23-gentoo-r6

drwxr-xr-x  21 root root 4096 Feb 3 13:57 linux-2.6.24-gentoo

```

 uname -a:

```

Linux localhost 2.6.24-gentoo  # SMP Sun Feb 3 13:01:09 CET 2008 x86_64 Intel(R) Core(TM) 2 Duo CPU T7500 @ 2.20 GHz Genuine Intel GNU/Linux

```

 Anything more?

----------

## mikkoc

You need to solve this:

 *unai001 wrote:*   

> 
> 
> iwl3945: Tunable channels: 13 802.11bg, 23 802.11a channels
> 
> phy0: Selected rate control algorithm journal
> ...

 

Have you read the page I linked you?

 *mikkoc wrote:*   

> 
> 
> Also you might wanna take a look at this: https://forums.gentoo.org/viewtopic-t-607646-highlight-.html?sid=dec38880c641c4729c8ba55b4d23ddb4

 

----------

## unai001

 *mikkoc wrote:*   

> You need to solve this:
> 
>  *unai001 wrote:*   
> 
> iwl3945: Tunable channels: 13 802.11bg, 23 802.11a channels
> ...

 

Yeap, i read it but now (for the moment) the  problem is different, since i have reinstaled de sistem, i cant emerge iwl3945, or ipw3945 and i think the kernel y correctly configured...

----------

## unai001

If i do a "ls /lib/firmware" it shows:

```
ipw3945.ucode iwlwifi-3945-1.ucode iwlwifi-4565-1.ucode
```

and the dmsg gives some messages about iwl3945 but i cant read them just now, im afraid its gonna wait until i have the graphic enviroment working...

Right now i can only read this from the demsg:

```
iwl3945: Unknown symbol ieee80211_beacon_get

iwl3945: Unknown symbol ieee80211_register_hwmode

iwl3945:Unknown symbol ieee80211_rx_irqsafe
```

I'll try to double check the kernel anyway....

EDIT: Again, i think the kernel is OK, at least according to mikkoc's link and the hardware configuration guide refered there. I'll try to give more information as soon as i have the graphic enviroment working.(Its giving me some problems aswell :S)

----------

## MostAwesomeDude

Make sure you've enabled at least WEP support in the wireless stack.

----------

## unai001

As i posted above, the wep is enabled in the kernel but it is for the ipw3945 (i think), ayway i'll try to post a more detailed kernel  config later

----------

## d2_racing

```

(*) Wireless 

    (*) Generic IEEE 802.11 Networking Stack 

    (M) IEEE 802.11 WEP encryption (802.1x) 

    (M) IEEE 802.11i CCMP support 

    (M) IEEE 802.11i TKIP encryption 

```

You need at least this to have the WEP encryp.

----------

## erikderzweite

iwl3945 in in the 2.6.24 kernel itself. No need to emerge modules. Just select the appopriate driver in kernel and emerge iwl3945-ucode. The interface will be called wlan0 (it is called so on my machine).

----------

## unai001

I have activated in the kernel:

```
Network->Wireless

{*}Imporved wireless configuration API

-*-Wireless extensions

<M> Generic IEEE 802.11 Networking Stack (mac80211)

{*}Generic IEEE802.11 Networking Stack

{M}IEEE802.11 WEP encryption (802.1x)

<M> IEEE802.11i CCMP support

<M> IEEE802.11i TKIP encryption

<M> Software MAC add-on to the IEEE802.11 networking stack

Device Drivers->[*]Networking device support->Wireless LAN

[*] Wireless LAN (IEEE 802.11)

[*]Intel Wireless WiFi Link Drivers

[*]Enable full debugging output in iwlwifi drivers

[*] Enable Sensitivity Calibration in iwlwifi drivers

[*]Enable Spectrum Measurement in iwlwifi drivers

[*]Enable wireless QoS in iwlwifi drivers 

<M> Intel Wireless WiFi 4965AGN

<M>Intel PRO/Wireless 3945ABG/BG Network connection

Cryptographic API->

-*-Cryptographic algorithm manager

{*}ECBsupport

{*}AES cipher algorithms

<*> AES cipher algorithms (x86_64)

{*}AR4 cipher algorithm

{*}Michael MIC keyed digest algorithm

[*] Hardware crypto devices

```

If i try to modprobe  mac80211 it says:

```

FATAL: Error inserting mac80211 (/lib/modules....mac80211.ko): Unknown symbol in module, or unknown parameter.

```

modprobing iwl3945:

```
FATAL: Error inserting iwl3945 (/lib/modules....iwl3945.ko): Unknown symbol in module, or unknown parameter.

FATAL: Error inserting mac80211 (/lib/modules....mac80211.ko): Unknown symbol in module, or unknown parameter.
```

I can only read this lines from the dmesg(i still dont have graphic enviroment  :Mad: ):

```
iwl3945:Unknown symbol ieee80211_free_hw

iwl3945:Unknown symbol ieee80211_free_hw

iwl3945:Unknown symbol ieee80211_allow_hw

iwl3945:Unknown symbol ieee80211_register_hw

iwl3945:Unknown symbol ieee80211_rate_control_unregister

iwl3945:Unknown symbol ieee80211_wake_queue

iwl3945:Unknown symbol ieee80211_tx_status_irqsafe

iwl3945:Unknown symbol ieee80211_rate_control_register

iwl3945:Unknown symbol sta_info_get

iwl3945:Unknown symbol ieee80211_start_queues

iwl3945:Unknown symbol ieee80211_tx_status

iwl3945:Unknown symbol ieee80211_stop_queue

iwl3945:Unknown symbol ieee80211_stop_queues

iwl3945:Unknown symbol ieee80211_get_hdrlen

iwl3945:Unknown symbol ieee80211_scan_completed

iwl3945:Unknown symbol ieee80211_unregister_hw

iwl3945:Unknown symbol ieee80211_beacon_get

iwl3945:Unknown symbol ieee80211_register_hwmode

iwl3945:Unknown symbol ieee80211_rx_irqsafe

mac80211: Unknown symbol wiphy_register

mac80211: Unknown symbol wiphy_new

mac80211: Unknown symbol wiphy_unregister

mac80211: Unknown symbol ieee80211_radiotap_iterator_init

mac80211: Unknown symbol ieee80211_radiotap_iterator_next

mac80211: Unknown symbol wiphy_free

```

Clues?

----------

## unai001

I have reinstaled the sistem (again) and emerging the ipw3945 gives me this message:

```
!!!Unable to make KSRC=/usr/src/linux KSRC_OUTPUT=/lib/modules/2.6.24-gentoo/build SHELL=/bin/bash T=/var/tmp/portage/net-wireless/ipw3945-1.2.2/temp CONFIG_IPW3945_MONITOR=y CONFIG_IEEE80211_RADIOTAP=y CONFIG_IPW3945_PROMISCUOUS=y CONFIG_IPW3945_DEBUG=n all

```

the kernel configuration is the same above, but this message is different from the previous one because i think i had  portage wrong configured.

By modprobing mac80211 is perfect, but modprobing iwl3945 gives 

```
FATAL:module iwl3945 not found
```

emerging iwl3945 gives the same message above.

I need my wifi running!!   :Sad:   :Sad: 

----------

## lonrot_m

you can't install ipw3945 so you decided to install iwlwifi right??

lets try another approach from the ones given here:

```
% wget \

  http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-3945-ucode-2.14.4.tgz

% tar xvf iwlwifi-3945-ucode-2.14.4.tgz

% cp iwlwifi-3945-ucode-2.14.4/iwlwifi-3945.ucode /lib/firmware/
```

```
% wget \

  http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-1.2.24.tgz

% tar xvf iwlwifi-1.2.24.tgz

% cd iwlwifi-1.2.24 

% make

% make install
```

```
% dmesg -c > /dev/null

% ./load debug=0x43fff 

#Verify that loading succeeds without any errors in the kernel:

% dmesg -c

#Bring up the interface so it can be configured:

% ifconfig wlan0 up

#Verify that you can scan and see access points:

% iwlist wlan0 scan

#Associate to your network:

% iwconfig wlan0 essid XXXXXX 

#If you use WEP encryption, configure your key:

% iwconfig wlan0 key [9999999999999] #...your key in hex...

% iwconfig                    # <-- Verify that you are associated

% dhcpcd wlan0

```

----------

## unai001

OMG! Dont ask me how, but i make it work! The last thing i know is that modprobing the iwl3945 was giving me an error "Fatal:module not found". I have emerged iwl3945-ucode and iwconfig shows the  wlan0 extension!!! IT WORKS!!!

Thx to everyone!!!!  :Very Happy:  :Very Happy:  :Very Happy: 

----------

## d2_racing

no problem  :Smile: 

----------

