1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

New firmware: Intel Pro/Wireless 2200BG (iwi)

Discussion in 'Networking' started by techie, May 8, 2009.

  1. techie

    techie New Member

    Messages:
    11
    Thanks Received:
    3
    Hi there,

    in March 2009 Intel released a new firmware version 3.1 for the WLAN device iwi, aka Intel Pro/Wireless IPW 2200BG. The old fw v3.0 should be replaced by v3.1. So you can get rid of the evil iwi0:scan stuck or iwi0: firmware stuck in state 4, resetting messages which are coming along with a broken network connection. Here is a little how-to for FreeBSD 7.2 to update 3.0 -> 3.1 (I assume you already have installed a iwi firmware plus driver. For a new installation of iwi device see "man iwi".):

    1. Backup old fw v3.0 in /usr/src/sys/contrib/dev/iwi to $RUBBISH

    2. Fetch fw. 3.1 from http://ipw2200.sourceforge.net/firmware.php?fid=8 or here http://ipw2200.sourceforge.net/firmware.php click "firmware v3.1"

    3. Store new fw to /usr/src/sys/contrib/dev/iwi (and extract from archive file).

    4. Convert binary files with uuencode to ASCII:
    Code:
    uuencode -o ipw2200-bss.fw.uu ipw2200-bss.fw ipw2200-bss.fw
    uuencode -o ipw2200-ibss.fw.uu ipw2200-ibss.fw ipw2200-ibss.fw
    uuencode -o ipw2200-sniffer.fw.uu ipw2200-sniffer.fw ipw2200-sniffer.fw


    5. Edit *uu files and add beginning at line one this:
    Code:
    /*
     * INTEL license terms ... (copy text from license file)
     * ... 
    */
    #define IWI_FW_VERSION 3.1


    Be carefully! The *uu files will be converted into loadable kernel modules. Failures in editing could result in a non-bootable system.

    6.
    Code:
    cd /usr/src/sys/modules/iwifw
    make
    make install


    8. Reboot and feel lucky.

    I've been testing the fw this week on 7.2 and last week on 6.4. No single one scan stuck! Anybody who can confirm this?

    I assume with the new fw one or more of the following bugs will be fixed:

    http://forums.freebsd.org/showthread.php?t=1379&highlight=iwi
    http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/124767
    http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/131153
    http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/123559
    http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/122597


    P.S.

    FBSD 7.2: FreeBSD team already is informed about this. If there are some people who confirm positive tests to the team, then fw v3.1 will be merged into 7.2-STABLE and 7.3.

    FBSD 6.4: Info mail has been send to port maintainer of net/iwi-firmware-kmod. Let's wait some days, maybe the maintainer will update the port. The procedure to update iwi on 6.4 is different to this one on 7.2.
     
    edhunter thanks for this.
  2. adamk

    adamk New Member

    Messages:
    1,624
    Thanks Received:
    265
    Hey, one of those is my bug. I might have to give it a shot this weekend.

    Adam
     
  3. adamk

    adamk New Member

    Messages:
    1,624
    Thanks Received:
    265
  4. ljboiler

    ljboiler Member

    Messages:
    160
    Thanks Received:
    8
    Been running this for the last 12 hours in a place where a "stuck in state 4" to my own wireless router was a regular thing unless I was sitting in just the right spot in the room, facing just the right way with the laptop, especially since they've been installing city-wide wireless service. I haven't seen that error once with the new firmware...
     
  5. wexi

    wexi New Member

    Messages:
    2
    Thanks Received:
    1
    Hi,

    Using FreeBSD 7.3-stable with Intel's 3.1 firmware (taken from the 8-stable branch) I am still having random "iwi0 firmware stuck in state 4" problems which I can only resolve by rebooting. Anyone got a clue? Security used is WPA with a shared key.

    Thanks, Enoch.
     
  6. jrm

    jrm Member

    Messages:
    808
    Thanks Received:
    229
    I don't recall having problems in 7.x, but in 8.x I also see the firmware errors every few hours. If I try to do a # /etc/rc.d netif restart the system reboots.

    # pciconf -lv
    Code:
    ...
    iwi0@pci0:2:2:0:        class=0x028000 card=0x27018086 chip=0x42208086 rev=0x05 hdr=0x00
        vendor     = 'Intel Corporation'
        device     = 'driverIntel PRO/Wireless 2200BG (MPCI3B)'
        class      = network
    


    # cat /boot/loader.conf
    Code:
    ...
    legal.intel_iwi.license_ack=1
    if_iwi_load="YES"
    


    # cat /etc/rc.conf | grep wlan
    Code:
    wlans_iwi0="wlan0"
    ifconfig_wlan0="WPA DHCP"
    


    # cat /etc/wap_supplicant.conf
    Code:
    network={
            ssid="myssid"
            psk="mypsk"
    }