One blob less for New Year

2007-12-31

Permalink 12:00:00, by jaervosz Email , 387 words, 1097 views   English (EU)
Categories: Gentoo Tips, Gentoo, Universe/English

One blob less for New Year

In order to celebrate New Year in a bit geeky way I decided to rid på IBM Thinkpad x60s of yet another blob that have been irritating me for a long time, the blob provided by ipw3945d. Instead I installed the completely open iwlwifi driver (note:only needing the binary ucode as some have pointed out). For future reference here is a short writeup of what I did.

First rid your system of the binary blobs:

emerge -Cv ipw3945d ipw3945-ucode

Get ready to install iwlwifi by reconfiguring your kernel and ensure the following options are enabled:

CONFIG_MAC80211=m

And then recompile your kernel. Note that you need a pretty recent kernel to have the new mac80211 stack .

As iwlwifi is still masked we have to unmask it by editing /etc/portage/package.unmask:

net-wireless/iwlwifi
net-wireless/iwl3945-ucode

Also they are still not stable so we also have to edit /etc/portage/package.keywords:

net-wireless/iwlwifi ~x86
net-wireless/iwl3945-ucode ~x86

At last I only have a 3945ABG card, lspci output shows:

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

So I enabled ipw3945 and disabled ipw4945 by editing /etc/portage/package.use:

net-wireless/iwlwifi ipw3945 -ipw4965

Now we're ready to emerge iwlwifi:

emerge -va iwlwifi

Now for somw reason udev rename the master interface to eth2 as shown in by dmesg output:

udev: renamed network interface wmaster0 to eth2

As long as you don't reconfigure udev your real interface will be named wlan0_rename. I worked around that problem by commenting out the following line in /etc/udev/rules.d/70-persistent-net.rules:

SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:18:de:73:9b:c5", NAME="eth2"

Then your real interface will be named wlan0. This appears currently undocumented on the Gentoo Wiki HARDWARE ipw3945.

For network setup and wpa_supplicant you just have to substitue wlan0 for eth2:

sed -i -e "s/eth2/wlan0/g" /etc/conf.d/net

Ensure that the iwl3945 module is loaded at bootup:

echo iwl3945 >> /etc/modules.autoload.d/kernel-2.6

Then update init scripts and you're ready to reboot:

rc-update del default ipw3945d
rc-update del default net.eth2
cd /etc/init.d
rm net.eth2
ln -s net.lo net.wlan0
rc-udpate add default net.wlan0
reboot

Enjoy networking with one blob less and Happy New Year!

PermalinkPermalink 7 commentsTrackback (0)

One blob less for New Year :  Alex
Thanks for the great write-up. I've been itching to get rid of ipw3945 for weeks, and now I have no excuses left for procrastinating. ;)
One blob less for New Year :  David B.
Doesn't iwlwifi still require a binary blob as firmware? I was under the impression that the advantage was that it runs with only a binary firmware, as opposed to binary firmware + binary regulatory daemon. (And presumably the driver itself is better.)

Trackback address for this post:

This is a captcha-picture. It is used to prevent mass-access by robots.

Please enter the characters from the image above. (case insensitive)

Comments, Trackbacks, Pingbacks:

Comment from: Alex [Visitor] Email
Thanks for the great write-up. I've been itching to get rid of ipw3945 for weeks, and now I have no excuses left for procrastinating. ;)
PermalinkPermalink 2007-12-31 @ 14:20
Comment from: David B. [Visitor] Email
Doesn't iwlwifi still require a binary blob as firmware? I was under the impression that the advantage was that it runs with only a binary firmware, as opposed to binary firmware + binary regulatory daemon. (And presumably the driver itself is better.)
PermalinkPermalink 2007-12-31 @ 22:53
Comment from: foo [Visitor]
iwl3945 requires a binary-only non-free blob of microcode to upload to the device.
PermalinkPermalink 2008-01-01 @ 13:55
Comment from: Daniel Drake [Visitor] Email
It's worth mentioning that iwlwifi is included in the mainline kernel as of 2.6.24 so no need to use the iwlwifi package from portage any more. (You still need the firmware of course)
PermalinkPermalink 2008-01-01 @ 16:43
Comment from: magnet [Visitor] Email
hello, I tried iwl3945 as you suggested on my sony vaio ux50, but it fail to associate to my ap ( with a wep key ), I got an error telling :

AP denied association (code=1)

do you got any idea about how to solve this ?
PermalinkPermalink 2008-01-09 @ 18:34
Comment from: Dolfy [Visitor] Email
Hi. I also have ipw3945 on my gentoo laptop. It works fine without encryption, but wpa_supplicant fails to associate if I use WPA or WPA2:

myhost # wpa_supplicant -Dwext -i eth1 -c /etc/wpa_supplicant/wpa_supplicant.conf
Trying to associate with 00:1d:7e:55:45:5e (SSID='linksys5' freq=2462 MHz)
Associated with 00:1d:7e:55:45:5e
ioctl[SIOCSIWENCODEEXT]: Invalid argument
WPA: Failed to set PTK to the driver.

I'm a little concerned installing the hard masked iwlwifi driver. Do you have any hints how to make wpa work with ipw3945 in my case?

Thx in advance, Dolfy
PermalinkPermalink 2008-01-20 @ 12:57
Comment from: jaervosz [Member] Email
@Dolphy

Sorry I don't have any hints for the problem you're seeing. But it took me quite some time to get WPA working for the ipw3945 in the first place. Anyway the setup of wpa_supplicant should be almost the same running either the iwl or ipw driver.
PermalinkPermalink 2008-02-04 @ 23:00

Leave a comment:

Your email address will not be displayed on this site.
Your URL will be displayed.

Allowed XHTML tags: <p, ul, ol, li, dl, dt, dd, address, blockquote, ins, del, span, bdo, br, em, strong, dfn, code, samp, kdb, var, cite, abbr, acronym, q, sub, sup, tt, i, b, big, small>
(Line breaks become <br />)
(Set cookies for name, email and url)
(Allow users to contact you through a message form (your email will NOT be displayed.))
This is a captcha-picture. It is used to prevent mass-access by robots.

Please enter the characters from the image above. (case insensitive)

Search

Categories

Varius local stuff

Friends

Gentoo

Too Cool for Internet Explorer