# Ipw2200 issues

## mengsk

I Followed the HOWTO gentoo wiki on ipw2200 very strictly and have looked at everything on the internet i can find about installing linux on the tecra m2 however i am having issues still with a lot of things... most importantly the ipw2200 driver

Having followed every guide possible and tried to to deduce a lot i have ended up with this for my dmesg output.

#dmesg | grep ipw

ipw2200: no version for "ieee80211_wx_get_encodeext" found: kernel tainted.

ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.1.3mprq

ipw2200: Copyright(c) 2003-2006 Intel Corporation

I have set up the system to look for both eth0 and eth1... eth0 it uses dhcpcd to connect with my wired lan connection which im using for the time being

eth1 it says does not exist when it tries to configure it

iwconfig shows only lo and eth0 and says neither have wireless extensions

please help i really need to get wireless workign so i can leave my bedroom  :Sad: 

I have a feeling it  might have somethign to do with "rules" which being a noob i know very little about... i did find a search when i put in my error message to google however the forum thread was in french  :Sad: 

I currently have the genere ieee80211 option in the kernel disabled which i believe is correct however found a bug report which i coudln't really understand which suggested otherwise...

I am very lost!

----------

## jsf_x35a

It looks like your using a version of the ipw2200 and/or ieee80211 module that isnt meant for your version of the kernel. This may have happened if you did #emerge ipw2200/ieee80211. I would suggest you compile ipw2200 and/or ieee80211 as a kernel module instead of using the one in portage. 

In case that doesnt solve the problem, make sure you used the correct firmware version for ipw2200. ipw2200-firmware-3.0 only works for kernels 2.6.17 and above. If your using an earlier kernel, try using ipw-firmware-2.4.

Hope this solves your problem

----------

## jsf_x35a

correction... i meant ipw2200-firmware-2.4

sorry

----------

## mengsk

tired compiling both into the kernel but get a series of errors.. the most simple of which to post is my ieee80211 

when trying to compile ieee80211 as a module (or into the kernel) i get this

make[2]: *** No rule to make target `net/ieee80211/ieee80211_module.s', needed by `net/ieee80211/ieee80211_module.o'.  Stop.

when trying to compile ipw2200 INTO the kernel the thing just goes crazy and i get about a page of errors concerning ipw2200 followed by

drivers/net/wireless/ipw2200.c: At top level:

drivers/net/wireless/ipw2200.c:9542: error: storage size of `ipw_wx_handler_def' isn't known

drivers/net/wireless/ipw2200.c:49: warning: 'debug' defined but not used

make[3]: *** [drivers/net/wireless/ipw2200.o] Error 1

make[2]: *** [drivers/net/wireless] Error 2

the firmware thing i dont think is an issue because i have 3.0 and i'm running kernel-gentoo-2.6.17-r4...............

thanks for the help already!

----------

## skippern

I have similar problems. And as I am out travelling alot I realy nead to have various network options available. I am not able to roll back to where the problem started as I do updates in bulks (and at writing moment my laptop is dead, so I cannot check the current scripts and version, but I'll try from the top of my head).

I have an Intel Pro Wireless card 2200 BG (ipw2200) card with firmware installed through portage (emerge ieee80211 ipw2200 ipw2200-firmware) and I had everything working correctly until round may.

My wireless card have been identified eth1, I run a broadcom card on eth0, and the system has a built in modem aswell as bluetooth systems, this shouldn't affect the system, should it?

After upgrading system in may, eth1 disapared from the system. I've tried to call it by calling eth*, ath* and wlan* without any result, * being any number from 0 to 9.

At the moment I run a 2.6.16 kernel (gentoo r6?) but whould have source for a higher kernel available. I cannot access internet through any other means than work computers at the moment, so getting source codes is not easy.

I hope to get the system up on internet via wlan hotspots and via my mobile phone so I can do updates more often. I will check other threads for bluetooth and ppp.

Any ideas/suggestion to what to look for?

----------

## mengsk

actually what would relaly help is just some information about what would indicate a working configuration...

being quite inexpereinced with linux wireless i am only assuming that when i get it right my ifconfig will show the existing lo and eth0 as well as the missing eth1 and that when i run iwconfig it will identify eth1 as a working wireless adapter.  Is this a safe assumption or is their more configuration that needs to be done in order to get these results even after the driver is working !?

----------

## tylerwylie

 *mengsk wrote:*   

> actually what would relaly help is just some information about what would indicate a working configuration...
> 
> being quite inexpereinced with linux wireless i am only assuming that when i get it right my ifconfig will show the existing lo and eth0 as well as the missing eth1 and that when i run iwconfig it will identify eth1 as a working wireless adapter.  Is this a safe assumption or is their more configuration that needs to be done in order to get these results even after the driver is working !?

 Post your /etc/conf.d/net

----------

## mengsk

# Prefer iproute2 over ifconfig

#modules=( "iproute2" )

# You can also specify other modules for an interface

# In this case we prefer udhcpc over dhcpcd

#modules_eth0=( "udhcpc" )

# You can also specify which modules not to use - for example you may be

# using a supplicant or linux-wlan-ng to control wireless configuration but

# you still want to configure network settings per ESSID associated with.

#modules=( "!iwconfig" )

##############################################################################

# INTERFACE HANDLERS

# 

# We provide two interface handlers presently: ifconfig and iproute2.

# You need one of these to do any kind of network configuration.

# For ifconfig support, emerge sys-apps/net-tools

# For iproute2 support, emerge sys-apps/iproute2

# If you don't specify an interface then we prefer ifconfig it it's installed

# Prefer iproute2 over ifconfig

#modules=( "iproute2" )

# For a static configuration, use something like this

# (They all do exactly the same thing btw)

#config_eth0=( "192.168.0.2/24" )

#config_eth0=( "192.168.0.2 netmask 255.255.255.0" )

# We can also specify a broadcast

#config_eth0=( "192.168.0.2/24 brd 192.168.0.255" )

#config_eth0=( "192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255" )

# If you need more than one address, you can use something like this

# NOTE: ifconfig creates an aliased device for each extra IPv4 address

#       (eth0:1, eth0:2, etc)

#       iproute2 does not do this

#config_eth0=(

#	"192.168.0.2/24"

#	"192.168.0.3/24"

#	"192.168.0.4/24"

#)

# You can also use IPv6 addresses

#config_eth0=(

#	"192.168.0.2/24"

#	"4321:0:1:2:3:4:567:89ab"

#	"4321:0:1:2:3:4:567:89ac"

#)

# If you wish to keep existing addresses + routing and the interface is up,

# you can specify a noop (no operation). If the interface is down or there

# are no addresses assigned, then we move onto the next step (default dhcp)

# This is useful when configuring your interface with a kernel command line

# or similar

#config_eth0=( "noop" "192.168.0.2/24" )

# If you don't want ANY address (only useful when calling for advanced stuff)

#config_eth0=( "null" )

# Here's how todo routing if you need it - the below sets the default gateway

#routes_eth0=(

#	"default via 192.168.0.1"

#	"default via 4321:0:1:2:3:4:567:89ab"

#)

# If a specified module fails (like dhcp - see below), you can specify a

# fallback like so

#fallback_eth0=( "192.168.0.2 netmask 255.255.255.0" )

#fallback_route_eth0=( "default via 192.168.0.1" )

# NOTE: fallback entry must match the entry location in config_eth0

# As such you can only have one fallback route.

##############################################################################

# OPTIONAL MODULES

#-----------------------------------------------------------------------------

# WIRELESS (802.11 support)

# Wireless can be provided by iwconfig or wpa_supplicant

# iwconfig

# emerge net-wireless/wireless-tools

# Wireless options are held in /etc/conf.d/wireless - but could be here too

# Consult the sample file /etc/conf.d/wireless.example for instructions

# iwconfig is the default

# wpa_supplicant

# emerge net-wireless/wpa-supplicant

# Wireless options are held in /etc/wpa_supplicant.conf

# Consult the sample file /etc/wpa_supplicant.conf.example for instructions

# To choose wpa_supplicant over iwconfig

#modules=( "wpa_supplicant" )

# To configure wpa_supplicant

#wpa_supplicant_eth0="-Dprism54" # For Prism54 based cards

#wpa_supplicant_ath0="-Dmadwifi" # For Atheros based cards

# Consult wpa_supplicant for more drivers

# By default we give wpa_suppliant 60 seconds to associate and authenticate

#wpa_timeout_eth0=60

# GENERIC WIRELESS OPTIONS

# PLEASE READ THE INSTRUCTIONS IN /etc/conf.d/wireless.example FOR

# HOW TO USE THIS ESSID VARIABLE

# You can also override any settings found here per ESSID - which is very

# handy if you use different networks a lot

#config_ESSID=( "dhcp" )

#dhcpcd_ESSID="-t 5"

# Setting name/domain server causes /etc/resolv.conf to be overwritten

# Note that if DHCP is used, and you want this to take precedence then

# set dhcp_ESSID="nodns"

#dns_servers_ESSID=( "192.168.0.1" "192.168.0.2" )

#dns_domain_ESSID="some.domain"

#dns_search_domains_ESSID="search.this.domain search.that.domain"

# Please check the man page for resolv.conf for more information

# as domain and search (searchdomains) are mutually exclusive and

# searchdomains takes precedence

# You can also override any settings found here per MAC address of the AP

# incase you use Access Points with the same ESSID but need different

# networking configs. Below is an example - of course you use the same

# method with other variables

#mac_config_001122334455=( "dhcp" )

#mac_dhcpcd_001122334455="-t 10"

#mac_dns_servers_001122334455=( "192.168.0.1" "192.168.0.2" )

# When an interface has been associated with an Access Point, a global

# variable called ESSID is set to the Access Point's ESSID for use in the

# pre/post user functions below (although it's not available in preup as you

# won't have associated then)

# If you're using anything else to configure wireless on your interface AND

# you have installed any of the above packages, you need to disable them

#modules=( "!iwconfig" "!wpa_supplicant" )

#-----------------------------------------------------------------------------

# DHCP

# DHCP can be provided by dhcpcd, dhclient, udhcpc or pump

#

# dhcpcd:   emerge net-misc/dhcpcd

# dhclient: emerge net-misc/dhcp

# udhcpc:   emerge net-misc/udhcp

# pump:     emerge net-misc/pump

# If you have more than one DHCP client installed, you need to specify which

# one to use - otherwise we default to dhcpcd if available

#modules=( "udhcpc" ) # to select udhcpc over dhcpcd

#

# Notes:

# - dhcpcd, udhcpc and pump send the current hostname

#   to the DHCP server by default

# - dhcpcd does not daemonize when the lease time is infinite

# - udhcp-0.9.3-r3 and earlier does not support getting NTP servers 

# - dhclient does not support getting NTP servers 

# - pump does not support getting NIS servers

# - DHCP tends to erase any existing device information - so add

#   static addresses after dhcp if you need them

# Regardless of which DHCP client you prefer, you configure them the

# same way using one of following depending on which interface modules

# you're using.

config_eth0=( "dhcp" )

# For passing custom options to dhcpcd use something like the following.  This

# example reduces the timeout for retrieving an address from 60 seconds (the

# default) to 10 seconds.

dhcpcd_eth0="-t 10"

# dhclient, udhcpc and pump don't have many runtime options

# You can pass options to them in a similar manner to dhcpcd though

#dhclient_eth0="..."

#udhcpc_eth0="..."

#pump_eth0="..."

# To set options for dhclient, you need to have an /etc/dhclient.conf file

# See the dhclient man page for details

# GENERIC DHCP OPTIONS

# Set generic DHCP options like so

#dhcp_eth0="release nodns nontp nonis nogateway nosendhost"

# This tells the dhcp client to release it's lease when it stops, not to

# overwrite dns, ntp and nis settings, not to set a default route and not to

# send the current hostname to the dhcp server and when it starts.

# You can use any combination of the above options - the default is not to

# use any of them.

#-----------------------------------------------------------------------------

# Automatic Private IP Addressing (APIPA)

# For APIPA support, emerge net-misc/iputils or net-analyzer/arping

# APIPA is a module that tries to find a free address in the range

# 169.254.0.0-169.254.255.255 by arping a random address in that range on the

# interface. If no reply is found then we assign that address to the interface

# This is only useful for LANs where there is no DHCP server and you don't

# connect directly to the internet.

#config_eth0=( "dhcp" )

#fallback_eth0=( "apipa" )

#-----------------------------------------------------------------------------

# VLAN (802.1q support)

# For VLAN support, emerge net-misc/vconfig

# Specify the VLAN numbers for the interface like so

# Please ensure your VLAN IDs are NOT zero-padded

#vlans_eth0="1 2"

# You can also configure the VLAN - see for vconfig man page for more details

#vconfig_eth0=( "set_name_type VLAN_PLUS_VID_NO_PAD" )

#vconfig_vlan1=( "set_flag 1" "set_egress_map 2 6" )

#config_vlan1=( "172.16.3.1 netmask 255.255.254.0" )

#config_vlan2=( "172.16.2.1 netmask 255.255.254.0" )

# NOTE: Vlans can be configured with a . in their interface names

# When configuring vlans with this name type, you need to replace . with a _

#config_eth0.1=( "dhcp" ) - does not work

#config_eth0_1=( "dhcp" ) - does work

#-----------------------------------------------------------------------------

# Bonding

# For link bonding/trunking emerge net-misc/ifenslave

# To bond interfaces together

#slaves_bond0="eth0 eth1 eth2"

#config_bond0=( "null" ) # You may not want to assign an IP the the bond

# If any of the slaves require extra configuration - for example wireless or

# ppp devices - we need to write a depend function for the bond so they get

# configured correctly.

# This is exactly the same as a depend() function in our init scripts

#depend_bond0() {

#       need net.eth0 net.eth1

#}

#-----------------------------------------------------------------------------

# ADSL

# For ADSL support, emerge net-dialup/rp-pppoe 

# You should make the following settings and also put your

# username/password information in /etc/ppp/pap-secrets

# Configure the interface to use ADSL

#config_eth0=( "adsl" )

# You probably won't need to edit /etc/ppp/pppoe.conf if you set this

#adsl_user_eth0="my-adsl-username"

#-----------------------------------------------------------------------------

# ISDN

# For ISDN support, emerge net-dialup/isdn4k-utils

# You should make the following settings and also put your

# username/password information in /etc/ppp/pap-secrets

# Configure the interface to use ISDN

#config_ippp0=( "dhcp" )

# It's important to specify dhcp if you need it!

#config_ippp0=( "192.168.0.1/24" )

# Otherwise, you can use a static IP

# NOTE: The interface name must be either ippp or isdn followed by a number

# You may need this option to set the default route

#ipppd_eth0="defaultroute"

#-----------------------------------------------------------------------------

# MAC changer

# For changing MAC addresses emerge net-analyzer/macchanger

# - to set a specific MAC address

#mac_eth0="00:11:22:33:44:55"

# - to randomize the last 3 bytes only

#mac_eth0="random-ending"

# - to randomize between the same physical type of connection (eg fibre,

# copper, wireless) , all vendors

#mac_eth0="random-samekind"

# - to randomize between any physical type of connection (eg fibre, copper,

# wireless) , all vendors

#mac_eth0="random-anykind"

# - full randomization - WARNING: some MAC addresses generated by this may NOT

# act as expected

#mac_eth0="random-full"

# custom - passes all parameters directly to net-analyzer/macchanger

#mac_eth0="some custom set of parameters"

#-----------------------------------------------------------------------------

# TUN/TAP

# For TUN/TAP support emerge sys-apps/usermode-utilities

#

# NOTE: The interface name must be either tun or tap followed by a number

#config_tun1=( "192.168.0.1/24")

# For passing custom options to tunctl use something like the following.  This

# example sets the owner to adm

#tunctl_tun1="-u adm"

#-----------------------------------------------------------------------------

# Bridging (802.1d)

# For bridging support emerge net-misc/bridge-utils

# To add ports to bridge br0

#bridge_br0="eth0 eth1"

# You need to configure the ports to null values so dhcp does not get started 

#config_eth0=( "null" )

#config_eth1=( "null" )

# Finally give the bridge an address - dhcp or a static IP

#config_br0=( "dhcp" )

#config_br0=( "192.168.0.1/24" )

# If any of the ports require extra configuration - for example wireless or

# ppp devices - we need to write a depend function for the bridge so they get

# configured correctly.

# This is exactly the same as a depend() function in our init scripts

#depend_br0() {

#	need net.eth0 net.eth1

#}

# NOTE: This creates an interface called br0 - you can give the interface

# any name you like

# Below is an example of configuring the bridge

# Consult "man brctl" for more details

#brctl_br0=( "setfd 0" "sethello 0" "stp off" )

#-----------------------------------------------------------------------------

# Tunnelling

# For GRE tunnels

#iptunnel_vpn0="mode gre remote 207.170.82.1 key 0xffffffff ttl 255"

# For IPIP tunnels

#iptunnel_vpn0="mode ipip remote 207.170.82.2 ttl 255"

# To configure the interface

#config_vpn0=( "192.168.0.2 pointopoint 192.168.1.2" )		# ifconfig style

#config_vpn0=( "192.168.0.2 peer 192.168.1.1" )			# iproute2 style

##############################################################################

# ADVANCED CONFIGURATION

# 

# Four functions can be defined which will be called surrounding the

# start/stop operations.  The functions are called with the interface

# name first so that one function can control multiple adapters.

#

# The return values for the preup and predown functions should be 0

# (success) to indicate that configuration or deconfiguration of the

# interface can continue.  If preup returns a non-zero value, then

# interface configuration will be aborted.  If predown returns a

# non-zero value, then the interface will not be allowed to continue

# deconfiguration.

#

# The return values for the postup and postdown functions are ignored

# since there's nothing to do if they indicate failure.

#

# ${IFACE} is set to the interface being brought up/down

# ${IFVAR} is ${IFACE} converted to variable name bash allows

#preup() {

#	# Test for link on the interface prior to bringing it up.  This

#	# only works on some network adapters and requires the mii-diag

#	# package to be installed.

#	if mii-tool ${IFACE} 2> /dev/null | grep -q 'no link'; then

#		ewarn "No link on ${IFACE}, aborting configuration"

#		return 1

#	fi 

#

#	# Test for link on the interface prior to bringing it up.  This

#	# only works on some network adapters and requires the ethtool

#	# package to be installed.

#	if ethtool ${IFACE} | grep -q 'Link detected: no'; then

#		ewarn "No link on ${IFACE}, aborting configuration"

#		return 1

#	fi

#

#	# Remember to return 0 on success

#	return 0

#}

#predown() {

#	# The default in the script is to test for NFS root and disallow

#	# downing interfaces in that case.  Note that if you specify a

#	# predown() function you will override that logic.  Here it is, in

#	# case you still want it...

#	if is_net_fs /; then

#		eerror "root filesystem is network mounted -- can't stop ${IFACE}"

#		return 1

#	fi

#

#	# Remember to return 0 on success

#	return 0

#}

#postup() {

#	# This function could be used, for example, to register with a

#	# dynamic DNS service.  Another possibility would be to

#	# send/receive mail once the interface is brought up.

#	return 0

#}

#postdown() {

#	# This function is mostly here for completeness... I haven't

#	# thought of anything nifty to do with it yet  :Wink: 

#	# Return 0 always

#	return 0

#}

##############################################################################

# FORCING MODULES

# The Big Fat Warning :- If you use module forcing do not complain to us or

# file bugs about it not working!

#

# Loading modules is a slow afair - we have to check each one for the following

# 1) Code sanity

# 2) Has the required package been emerged?

# 3) Has it modified anything?

# 4) Have all the dependant modules been loaded?

# Then we have to strip out the conflicting modules based on user preference

# and default configuration and sort them into the correct order.

# Finally we check the end result for dependancies.

# This, of course, takes valuable CPU time so we provide module forcing as a

# means to speed things up. We still do *some* checking but not much.

# It is essential that you force modules in the correct order and supply all

# the modules you need. You must always supply an interface module - we

# supply ifconfig or iproute2.

# The Big Fat Warning :- If you use module forcing do not complain to us or

# file bugs about it not working!

# Now that we've warned you twice, here's how to do it

#modules_force=( "ifconfig" )

#modules_force=( "iproute2" "dhcpcd" )

# We can also apply this to a specific interface

#modules_force_eth1=( "iproute2" )

# The below will not work

#modules_force=( "dhcpcd" )

# No interface (ifconfig/iproute2)

#modules_force=( "ifconfig" "essidnet" "iwconfig" )

# Although it will not crash, essidnet will not work as it has to come after

# iwconfig

#modules_force=( "iproute2" "ifconfig" )

# The interface will be setup twice which will cause problems

----------

## Zephyros

That is not /etc/conf.d/net but net.example..

Anyway, I would say you need an interface before poking inside /etc/conf.d/net since it needs a working interface before you can configure it. So the kernel module would be the first instance to work on.

My 2c.

----------

## mengsk

thanks

yeah there are some configs disguised in there

being a noob i just went cp net.example net

so that i could get all the instructions if i wanted to tweak...

i will post again if i can get my ipw2200 working...

----------

