# ipw3945 does not work in XPS M1210

## NeoRiddle

Hi !!!!!!

After update ipw3945 My wirelees does not work.

When I check dmesg, show me this:

```
neobalam # dmesg

...

ieee1394: raw1394: /dev/raw1394 device initialized

ieee1394: sbp2: Driver forced to serialize I/O (serialize_io=1)

ieee1394: sbp2: Try serialize_io=0 for better performance

eth1394: eth1: IEEE-1394 IPv4 over 1394 Ethernet (fw-host0)

...

Netfilter messages via NETLINK v0.30.

IPv4 over IPv4 tunneling driver

ip_conntrack version 2.4 (8116 buckets, 64928 max) - 204 bytes per conntrack

ip_tables: (C) 2000-2006 Netfilter Core Team

TCP bic registered

TCP veno registered

TCP lp registered

Initializing IPsec netlink socket

NET: Registered protocol family 1

NET: Registered protocol family 17

...

ieee80211: 802.11 data/management/control stack, git-1.1.13

ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>

ieee80211_crypt: registered algorithm 'NULL'

ieee80211_crypt: registered algorithm 'WEP'

ieee80211_crypt: registered algorithm 'CCMP'

ieee80211_crypt: registered algorithm 'TKIP'

Starting balanced_irq

Using IPI Shortcut mode

rtc-test rtc-test.0: setting the system clock to 2007-02-15 12:40:49 (1171543249)

Time: tsc clocksource has been installed.

Time: acpi_pm clocksource has been installed.

ReiserFS: sda7: found reiserfs format "3.6" with standard journal

PM: Adding info for ieee1394:384fc00035d64d41

ieee1394: Host added: ID:BUS[0-00:1023]  GUID[384fc00035d64d41]

PM: Adding info for ieee1394:384fc00035d64d41-0

...

VFS: Mounted root (reiserfs filesystem) readonly.

Freeing unused kernel memory: 328k freed

...

ieee80211_crypt: exports duplicate symbol ieee80211_crypt_deinit_entries (owned by kernel)

ieee80211: disagrees about version of symbol ieee80211_get_crypto_ops

ieee80211: Unknown symbol ieee80211_get_crypto_ops

ieee80211: disagrees about version of symbol ieee80211_crypt_deinit_entries

ieee80211: Unknown symbol ieee80211_crypt_deinit_entries

ieee80211: disagrees about version of symbol ieee80211_crypt_delayed_deinit

ieee80211: Unknown symbol ieee80211_crypt_delayed_deinit

ieee80211: disagrees about version of symbol ieee80211_crypt_quiescing

ieee80211: Unknown symbol ieee80211_crypt_quiescing

ieee80211_crypt: exports duplicate symbol ieee80211_crypt_deinit_entries (owned by kernel)

ieee80211: disagrees about version of symbol ieee80211_get_crypto_ops

ieee80211: Unknown symbol ieee80211_get_crypto_ops

ieee80211: disagrees about version of symbol ieee80211_crypt_deinit_entries

ieee80211: Unknown symbol ieee80211_crypt_deinit_entries

ieee80211: disagrees about version of symbol ieee80211_crypt_delayed_deinit

ieee80211: Unknown symbol ieee80211_crypt_delayed_deinit

ieee80211: disagrees about version of symbol ieee80211_crypt_quiescing

ieee80211: Unknown symbol ieee80211_crypt_quiescing

ipw3945: Intel(R) PRO/Wireless 3945 Network Connection driver for Linux, 1.2.0dmpr

ipw3945: Copyright(c) 2003-2006 Intel Corporation

...

ipw3945: Detected Intel PRO/Wireless 3945ABG Network Connection

ieee80211_crypt: exports duplicate symbol ieee80211_crypt_deinit_entries (owned by kernel)

ieee80211: disagrees about version of symbol ieee80211_get_crypto_ops

ieee80211: Unknown symbol ieee80211_get_crypto_ops

ieee80211: disagrees about version of symbol ieee80211_crypt_deinit_entries

ieee80211: Unknown symbol ieee80211_crypt_deinit_entries

ieee80211: disagrees about version of symbol ieee80211_crypt_delayed_deinit

ieee80211: Unknown symbol ieee80211_crypt_delayed_deinit

ieee80211: disagrees about version of symbol ieee80211_crypt_quiescing

ieee80211: Unknown symbol ieee80211_crypt_quiescing

....

b44: eth0: Link is up at 100 Mbps, full duplex.

b44: eth0: Flow control is off for TX and off for RX.
```

my /etc/conf.d/ipw3495:

```
neobalam # cat /etc/conf.d/ipw3945d

# /etc/conf.d/ipw3945d: config file for /etc/init.d/ipw3945d

# Arguments to be passed to ipw3945d. See 'ipw3945d --help' for more

# information.

#ARGS="--timeout=-1 --quiet --version"

ARGS="--timeout=-1 --version --foreground"

neobalam #
```

and my /etc/init.d/ipw3945d :

```
neobalam # cat /etc/init.d/ipw3945d

#!/sbin/runscript

# Copyright 1999-2006 Gentoo Foundation

# Distributed under the terms of the GNU General Public License v2

# $Header: /var/cvsroot/gentoo-x86/net-wireless/ipw3945d/files/ipw3945d-init.d,v 1.4 2006/12/22 10:11:26 phreak Exp $

PIDFILE=/var/run/ipw3945d/ipw3945d.pid

depend() {

        before net

}

check() {

        # Let's check if the pidfile is still present.

        if [ -f "${PIDFILE}" ] ; then

                eerror "The pidfile ($PIDFILE) is still present."

                eerror "Please check that the daemon isn't running!"

                return 1

        fi

}

start() {

        check

        ebegin "Starting ipw3945d"

        chown ipw3945d /sys/bus/pci/drivers/ipw3945/00*/cmd

        chmod a-w,u+rw /sys/bus/pci/drivers/ipw3945/00*/cmd

        start-stop-daemon --start --exec /sbin/ipw3945d --pidfile ${PIDFILE} -- \

                --pid-file=${PIDFILE} ${ARGS}

        eend ${?}

}

stop() {

        ebegin "Stopping ipw3945d"

        start-stop-daemon --stop --exec /sbin/ipw3945d --pidfile ${PIDFILE}

        eend ${?}

}

neobalam # 
```

Please helpme.

Thanks you

----------

## Sedrik

You probably dont have ipw3945. I certainly dont in my M1210.

Our card is called broadcoam43xx and there are drivers under developement for it.

check http://bcm43xx.berlios.de/ for more info

----------

## Lloeki

Sedrik, let me correct you. I have a XPS M1210 and a ipw3945. and it works.

```
# lspci |grep 3945

0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)

```

and obviously, Neoriddle has, too:

 *Quote:*   

> 
> 
> ```
> ipw3945: Detected Intel PRO/Wireless 3945ABG Network Connection
> ```
> ...

 

NeoRiddle, which version of ipw3945 / ipw3945d / ieee80211 / kernel are you using? it seems your ieee80211 subsystem is going nuts.

FWIW I use:

ipw3945-1.2.0

ipw3945d-1.7.22-r4

ipw3945-ucode-1.14.2

suspend2-sources-2.6.19-r2

ieee80211 from kernel

----------

## TenPin

I just got ipw3945 to work beautifully. To do this I did the following:

```
emerge --sync

rc-update del ipw3945d

emerge -C coldplug

emerge -C ipw3945 ipw3945d ipw3945-ucode ieee80211

[installed kernel 2.6.20 manually with built in ieee80211 stack then rebooted]

emerge wpa_supplicant

emerge ipw3945 ipw3945d ipw3945-ucode

emerge module-init-tools (this needed updgrading for udev to work properly for me)

modprobe ipw3945

```

First I tested connecting to an unencrypted access point using only iwconfig and dhcpcd. Then I tested connecting to a WPA access point using:

```
#/etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=/var/run/wpa_supplicant

ctrl_interface_group=wheel

eapol_version=1

ap_scan=1

fast_reauth=1

network={

        ssid="Boiler"

        psk="password"

        priority=10

        scan_ssid=1

}

```

```
wpa_supplicant -Dwext -ieth1 -c/etc/wpa_supplicant/wpa_supplicant.conf

```

If you can get the above command to work then the only thing left to do is making your network boot scripts work the way you want.

With this setup I found that the wireless LED on my laptop came on automatically on boot. With my previous setup I had to have an init script that did this:

```
echo 0 > /sys/class/net/eth1/device/rf_kill
```

----------

## grantonstar

The ieee80211 errors from your dmesg output will cause problems. Are you using the built-in kernel 80211 drivers or the external package (you can only use one or the other)? 

I'd recommend doing a "make clean" and using the 80211 drivers in the kernel.

----------

## NeoRiddle

I have ipw3945:

```
neobalam # lspci | grep 3945

0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)

neobalam #
```

version of ipw3945 / ipw3945d / ieee80211 / kernel:

```
neobalam # emerge -va ipw3945 ipw3945d ieee80211

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild   R   ] net-wireless/ipw3945-1.2.0  USE="-debug" 0 kB

[ebuild   R   ] net-wireless/ipw3945d-1.7.22-r4  0 kB

[ebuild  N    ] net-wireless/ieee80211-1.1.13-r1  USE="-debug" 0 kB

Total: 3 packages (1 new, 2 reinstalls), Size of downloads: 0 kB

Would you like to merge these packages? [Yes/No] no

Quitting.

neobalam #
```

ieee80211 is in kernel:

```
neobalam # cat /usr/src/linux/.config | grep "80211"

CONFIG_IEEE80211=y

# CONFIG_IEEE80211_DEBUG is not set

CONFIG_IEEE80211_CRYPT_WEP=y

CONFIG_IEEE80211_CRYPT_CCMP=y

CONFIG_IEEE80211_CRYPT_TKIP=y

CONFIG_IEEE80211_SOFTMAC=y

# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set

neobalam #
```

and my kernel is:

```
neobalam # uname -a

Linux neobalam 2.6.18-gentoo-r6 #13 SMP PREEMPT Wed Feb 14 21:15:40 CST 2007 i686 Genuine Intel(R) CPU           T2300  @ 1.66GHz GenuineIntel GNU/Linux

neobalam #
```

I have did, your suggestions TenPin, but when i run modprobe show me that:

```
neobalam # modprobe ipw3945

WARNING: Error inserting ieee80211_crypt (/lib/modules/2.6.18-gentoo-r6/net/ieee80211/ieee80211_crypt.ko): Invalid module format

WARNING: Error inserting ieee80211 (/lib/modules/2.6.18-gentoo-r6/net/ieee80211/ieee80211.ko): Unknown symbol in module, or unknown parameter (see dmesg)

neobalam #
```

and running again dmesg shows this:

```

ieee80211: 802.11 data/management/control stack, git-1.1.13

ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>

ieee80211_crypt: registered algorithm 'NULL'

ieee80211_crypt: registered algorithm 'WEP'

ieee80211_crypt: registered algorithm 'CCMP'

ieee80211_crypt: registered algorithm 'TKIP'

...

ieee80211_crypt: exports duplicate symbol ieee80211_crypt_deinit_entries (owned by kernel)

ieee80211: disagrees about version of symbol ieee80211_get_crypto_ops

ieee80211: Unknown symbol ieee80211_get_crypto_ops

ieee80211: disagrees about version of symbol ieee80211_crypt_deinit_entries

ieee80211: Unknown symbol ieee80211_crypt_deinit_entries

ieee80211: disagrees about version of symbol ieee80211_crypt_delayed_deinit

ieee80211: Unknown symbol ieee80211_crypt_delayed_deinit

ieee80211: disagrees about version of symbol ieee80211_crypt_quiescing

ieee80211: Unknown symbol ieee80211_crypt_quiescing

ieee80211_crypt: exports duplicate symbol ieee80211_crypt_deinit_entries (owned by kernel)

ieee80211: disagrees about version of symbol ieee80211_get_crypto_ops

ieee80211: Unknown symbol ieee80211_get_crypto_ops

ieee80211: disagrees about version of symbol ieee80211_crypt_deinit_entries

ieee80211: Unknown symbol ieee80211_crypt_deinit_entries

ieee80211: disagrees about version of symbol ieee80211_crypt_delayed_deinit

ieee80211: Unknown symbol ieee80211_crypt_delayed_deinit

ieee80211: disagrees about version of symbol ieee80211_crypt_quiescing

ieee80211: Unknown symbol ieee80211_crypt_quiescing

ipw3945: Intel(R) PRO/Wireless 3945 Network Connection driver for Linux, 1.2.0dmpr

ipw3945: Copyright(c) 2003-2006 Intel Corporation

ACPI: PCI Interrupt 0000:0c:00.0[A] -> GSI 17 (level, low) -> IRQ 17

PCI: Setting latency timer of device 0000:0c:00.0 to 64

ipw3945: Detected Intel PRO/Wireless 3945ABG Network Connection

ieee80211_crypt: exports duplicate symbol ieee80211_crypt_deinit_entries (owned by kernel)

ieee80211: disagrees about version of symbol ieee80211_get_crypto_ops

ieee80211: Unknown symbol ieee80211_get_crypto_ops

ieee80211: disagrees about version of symbol ieee80211_crypt_deinit_entries

ieee80211: Unknown symbol ieee80211_crypt_deinit_entries

ieee80211: disagrees about version of symbol ieee80211_crypt_delayed_deinit

ieee80211: Unknown symbol ieee80211_crypt_delayed_deinit

ieee80211: disagrees about version of symbol ieee80211_crypt_quiescing

ieee80211: Unknown symbol ieee80211_crypt_quiescing

...

ieee80211_crypt: exports duplicate symbol ieee80211_crypt_deinit_entries (owned by kernel)

ieee80211: disagrees about version of symbol ieee80211_get_crypto_ops

ieee80211: Unknown symbol ieee80211_get_crypto_ops

ieee80211: disagrees about version of symbol ieee80211_crypt_deinit_entries

ieee80211: Unknown symbol ieee80211_crypt_deinit_entries

ieee80211: disagrees about version of symbol ieee80211_crypt_delayed_deinit

ieee80211: Unknown symbol ieee80211_crypt_delayed_deinit

ieee80211: disagrees about version of symbol ieee80211_crypt_quiescing

ieee80211: Unknown symbol ieee80211_crypt_quiescing

neobalam #
```

Thank you for your help

----------

## TenPin

NeoRiddle, you need to use kernel 2.6.20 and use the version of ieee80211 built into it. You seem to be using 2.6.18.

You will want to completely remove the version of ieee80211 that is in portage:

emerge -C ipw3945 ipw3945d ipw3945-ucode ieee80211

You may also need to emerge module-init-tools to upgrade them.

----------

## NeoRiddle

i dont upgrde kernel because i have some problem on boottime. I have tried with gentoo-sources (linux-2.6.19-gentoo-r5) and with mm-sources (linux-2.6.20-rc6-mm1), but they dont boot mi hard disk, and it's rare because the same grub.conf I'm using. So I have this kernel version.

----------

## TenPin

What is your problem at boot with 2.6.20.

I'm using a Dell E1405/640m which will be fairly similar hardware to your Dell XPS so you should be able to get it to work.

----------

## broken_chaos

My M1210 works perfectly with ipw3945, 2.6.19 (suspend2-r2 to be exact), and (on the relevant packages, at least) amd64 stable. Oh, and I'm using wpa_supplicant, but it probably doesn't make a difference for your current problem.

Relevant pieces of various configurations:

```
cat /usr/src/linux/.config | grep IEEE80211

CONFIG_IEEE80211=y

# CONFIG_IEEE80211_DEBUG is not set

CONFIG_IEEE80211_CRYPT_WEP=y

CONFIG_IEEE80211_CRYPT_CCMP=y

CONFIG_IEEE80211_CRYPT_TKIP=y

# CONFIG_IEEE80211_SOFTMAC is not set
```

```
emerge -pv ipw3945 ipw3945d ipw3945-ucode

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild   R   ] net-wireless/ipw3945-1.2.0  USE="-debug" 0 kB

[ebuild   R   ] net-wireless/ipw3945d-1.7.22-r4  0 kB

[ebuild   R   ] net-wireless/ipw3945-ucode-1.14.2  0 kB

Total: 3 packages (3 reinstalls), Size of downloads: 0 kB
```

```
dmesg | grep ipw3945

ipw3945: Intel(R) PRO/Wireless 3945 Network Connection driver for Linux, 1.2.0dmpr

ipw3945: Copyright(c) 2003-2006 Intel Corporation

ipw3945: Detected Intel PRO/Wireless 3945ABG Network Connection

ipw3945: Detected geography ABG (11 802.11bg channels, 13 802.11a channels)
```

```
dmesg | grep ieee80211

ieee80211: 802.11 data/management/control stack, git-1.1.13

ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>

ieee80211_crypt: registered algorithm 'NULL'

ieee80211_crypt: registered algorithm 'WEP'

ieee80211_crypt: registered algorithm 'CCMP'

ieee80211_crypt: registered algorithm 'TKIP'
```

----------

## NeoRiddle

i continue having problem, check this:

```
neobalam  # emerge -pv ipw3945 ipw3945d ipw3945-ucode

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild   R   ] net-wireless/ipw3945-1.2.0  USE="-debug" 196 kB

[ebuild   R   ] net-wireless/ipw3945d-1.7.22-r4  59 kB

[ebuild   R   ] net-wireless/ipw3945-ucode-1.14.2  63 kB

Total: 3 packages (3 reinstalls), Size of downloads: 317 kB

neobalam  # cat /usr/src/linux/.config | grep IEEE80211

CONFIG_IEEE80211=y

# CONFIG_IEEE80211_DEBUG is not set

CONFIG_IEEE80211_CRYPT_WEP=y

CONFIG_IEEE80211_CRYPT_CCMP=y

CONFIG_IEEE80211_CRYPT_TKIP=y

CONFIG_IEEE80211_SOFTMAC=y

# CONFIG_IEEE80211_SOFTMAC_DEBUG is not set

neobalam  # dmesg | grep ipw3945

neobalam  # dmesg | grep ieee80211

neobalam  #  
```

I use wireless-tools and no wpa_supplicant:

```
neobalam neoriddle # emerge -pv wpa_supplicant wireless-tools

These are the packages that would be merged, in order:

Calculating dependencies... done!

[ebuild  N    ] net-wireless/wpa_supplicant-0.5.7  USE="qt3 qt4 readline ssl -dbus -gnutls -gsm -madwifi" 0 kB

[ebuild   R   ] net-wireless/wireless-tools-28  USE="nls -multicall" 0 kB

Total: 2 packages (1 new, 1 reinstall), Size of downloads: 0 kB

neobalam neoriddle # 
```

Which is the diferences between them? Can they coexists?

----------

## broken_chaos

Part of your problem might be (almost certainly is) trying to use ipw3945-1.2.0 with a 2.6.18 kernel (with the built-in ieee80211 stack, I think - causing module conflicts, as well). Upgrade to 2.6.19 or 2.6.20 (whichever you feel comfortable with), remove the ieee80211 package, and use the in-kernel modules.

----------

