Hi all,

I am using

  ieee80211-source 1.1.6-2
  ipw2200-source 1.0.8-1
  linux-source-2.6.14 2.6.14-5

Building the modules ieee80211 and ipw2200 with module-assistant goes well, in
particular ipw2200 is linked against /usr/include/ieee80211/net/ieee80211.h
(provided by ieee80211-source) rather than its kernel counterpart.

The problem only occurs at load time because

  # head -6 /lib/modules/2.6.14/modules.dep 
  /lib/modules/2.6.14/net/ieee80211/ieee80211_crypt_tkip.ko: 
/lib/modules/2.6.14/kernel/net/ieee80211/ieee80211_crypt.ko 
/lib/modules/2.6.14/kernel/lib/crc32.ko
  /lib/modules/2.6.14/net/ieee80211/ieee80211_crypt_ccmp.ko: 
/lib/modules/2.6.14/kernel/net/ieee80211/ieee80211_crypt.ko
  /lib/modules/2.6.14/net/ieee80211/ieee80211_crypt_wep.ko: 
/lib/modules/2.6.14/kernel/net/ieee80211/ieee80211_crypt.ko 
/lib/modules/2.6.14/kernel/lib/crc32.ko
  /lib/modules/2.6.14/net/ieee80211/ieee80211.ko: 
/lib/modules/2.6.14/kernel/net/ieee80211/ieee80211_crypt.ko 
/lib/modules/2.6.14/net/ieee80211/ieee80211_crypt.ko
  /lib/modules/2.6.14/net/ieee80211/ieee80211_crypt.ko:
  /lib/modules/2.6.14/drivers/net/wireless/ipw2200.ko: 
/lib/modules/2.6.14/net/ieee80211/ieee80211.ko 
/lib/modules/2.6.14/net/ieee80211/ieee80211_crypt.ko 
/lib/modules/2.6.14/kernel/drivers/base/firmware_class.ko 
/lib/modules/2.6.14/kernel/net/ieee80211/ieee80211.ko 
/lib/modules/2.6.14/kernel/net/ieee80211/ieee80211_crypt.ko

the last two entries of the modules.dep line shown above wrongly instruct
modprobe to insert the kernel version of ieee80211 rather than the one
installed by the ieee80211 module (which only comes after in load order, which
is from right to left). Note that in contrast, for ieee80211 related modules,
the modules.dep entries are correct (ie. we load those build from
ieee80211-source rather than the kernel ones).

Waiting for the real bug fix, the problem may be fixed

1) by manually inserting ieee80211 before loading ipw2200 (eg. put ieee80211 in
   /etc/modules);

2) [dirty] by editing the modules.dep file to remove
/lib/modules/2.6.14/kernel/net/ieee80211/ieee80211.ko and
/lib/modules/2.6.14/kernel/net/ieee80211/ieee80211_crypt.ko in the
/lib/modules/2.6.14/drivers/net/wireless/ipw2200.ko entry.

For instance, using the second method gives you this

  # modprobe -v ipw2200
  insmod /lib/modules/2.6.14/net/ieee80211/ieee80211_crypt.ko 
  insmod /lib/modules/2.6.14/net/ieee80211/ieee80211.ko 
  insmod /lib/modules/2.6.14/drivers/net/wireless/ipw2200.ko disable=1

instead of that

  # modprobe -v ipw2200
  insmod /lib/modules/2.6.14/kernel/net/ieee80211/ieee80211_crypt.ko 
  insmod /lib/modules/2.6.14/kernel/net/ieee80211/ieee80211.ko 
  insmod /lib/modules/2.6.14/drivers/net/wireless/ipw2200.ko disable=1
  FATAL: Error inserting ipw2200(/lib/modules/2.6.14/drivers/net/wireless/ipw220
0.ko): Unknown symbol in module, or unknown parameter (see dmesg)


Hope this helps.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to