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

HOW TO: get ipw2200 (iwi) working with ndis / WPA

Discussion in 'Howtos and FAQs (Moderated)' started by ocean, Dec 8, 2009.

  1. ocean

    ocean New Member

    Messages:
    25
    Thanks Received:
    0
    i've done this on FreeBSD 8.0 so it could change a little for other versions.


    UPDATED 12/10/2009

    i've updated the how-to, there were some errors before, now it should be fine i think.

    i've tried to keep this howto as simple as i can but please:
    read ALL the post, and understand what you are doing don't simply copy/paste, i'm NOT responsible for any damage, loss, ghosts inside your pc... ;)

    i've tested the script a few times, it should work fine.

    1. download the tar attached to the post.
    if you have wget jump to point 3

    2. download the driver and put it in the same directory as the tar.

    3. unpack the tar file containing the script and execute it:
    Code:
    tar -xvf gen_ndis_ipw.tar.gz
    chmod +x gen_ndis_ipw.sh
    ./gen_ndis_ipw.sh


    ndisgen will ask some questions, just press enter at every question.
    at the end of the process you should see:
    Code:
    w29n51_sys.ko kernel module has been created here: /some/directory

    (should be the same directory as the script)


    4. now we have to copy the driver in kernel's directory and load it:
    Code:
    su
    cp w29n51_sys.ko /boot/kernel
    echo 'w29n51_load="YES"' >> /boot/loader.conf
    kldload w29n51_sys.ko


    a new interface "ndis0" should be created.

    5.
    Code:
    ifconfig wlan0 create wlandev ndis0



    6. create a wpa_supplicant.conf

    for example containing:
    Code:
         network={
                 ssid="home"
                 scan_ssid=1
                 key_mgmt=WPA-PSK
                 psk="very secret passphrase"
         }


    if it doesn't work try playing with these values and adding them to the top (read wpa_supplicant.conf(5)())
    Code:
    ap_scan=1
    eapol_version=1
    fast_reauth=1


    Code:
    wpa_supplicant -Dndis -iwlan0 -B -cwpa_supplicant.conf
    dhclient wlan0


    we could also add the informations to rc.conf to avoid to do this at every reboot, as proposed by richardpl:

    there can be some problems in the process though:
    • sometimes could be necessary to restart interfaces
      Code:
      /etc/rc.d/netif restart

    • keep present you shouldn't use iwi driver togheter so do NOT compile your kernel with it, and do NOT load it from loader.conf.
      if it's already loaded execute this as root:
      Code:
      echo 'if_iwi_load="NO"' >> loader.conf

      and reboot (seems unloading iwi don't work)
    • can happen to find error messages like
      Code:
      firmware stuck in state 4
      check that radio interface is on (from sysctl), or it gets to work again rebooting to a windows installation.

    regards
    ocean
     

    Attached Files:

  2. larrypatrickmaloney

    larrypatrickmaloney New Member

    Messages:
    23
    Thanks Received:
    1
    So is native IWI working in FreeBSD 8?

    My iwi interface has been working just fine in 7.2 Now, though in FreeBSD 8 (on my laptop) my native iwi interface won't come up.

    Since there is a posting for making the ndis version work, does that mean that iwi is broken in 8?

    Thanks.

    Larry
     
  3. ocean

    ocean New Member

    Messages:
    25
    Thanks Received:
    0
    have you tried getting wlan interface up?
    http://forums.freebsd.org/showthread.php?t=8785

    howewer for me iwi isn't working good :)
     
  4. larrypatrickmaloney

    larrypatrickmaloney New Member

    Messages:
    23
    Thanks Received:
    1
    Gz file is in tar format

    I just tried to gunzip that file, and it didn't work. I then just did a tar -xf on it, and that did the trick.

    Larry
     
  5. ocean

    ocean New Member

    Messages:
    25
    Thanks Received:
    0
    i called it gzip cause i've tar-gzipped it
    Code:
    tar -czf gen_ndis_ipw.sh gen_ndis_ipw.tar.gz


    it was already specified in the code to use tar:
    howewer i've changed "gzip" with "tar".

    thanks.

    regards
    ocean
     
  6. ocean

    ocean New Member

    Messages:
    25
    Thanks Received:
    0
    iwi is working with a simple wpa AP, in GENERIC, with a kernel compiled with some optimizations there are interrupt storms, seems sometimes ndis work good without interrupt storms also on optimized kernel.
     
  7. billt

    billt New Member

    Messages:
    8
    Thanks Received:
    1
    Thanks for putting up this HOWTO.

    The link at step #2 is not valid. Any chance of a new link being available? If not, I have a website I'd be glad to host it at.

    Thank you.
     
  8. billt

    billt New Member

    Messages:
    8
    Thanks Received:
    1
    Also, where is the gen_ndis_ipw.sh script obtained?

    It is so amazing this problem even exists.
     
  9. ocean

    ocean New Member

    Messages:
    25
    Thanks Received:
    0
    script is attached to the first post

    the driver has been updated by intel: http://downloadmirror.intel.com/18404/eng/ICS_Dx32.exe

    the gen_ndis_ipw.sh won't work with this version, i'll try and update it asap

    P.S. iwi driver should work with 8.0 generic, with a compiled kernel there are problems with an interrupt storm, i did read something about an interrupt storm fix in 8.0-STABLE, this could be related.

    this solution should better be used if isn't possible to get iwi working (for example if it's compulsory to use a compiled kernel)

    regards
    ocean
     
  10. becoupama

    becoupama New Member

    Messages:
    1
    Thanks Received:
    0
    still stuck...

    hi, i'm a rookie and i'm trying to set up wireless network... so i'm googling for a while, i tried some stuffs... in vain
    well, i tried this how-to,
    fetched the latest driver (still the 9.0.4.39 renamed) here, updated the script (few minor changes) (see attachment), and then followed the how-to.
    everything worked well but in my case, that's not the point.
    it looks like my adapter is not "listed"...
    here is some hardware specification :
    - asus (U1F) laptop with an intel core duo (proc), intel gma 950 (graphics) and the classic 2200BG from intel (wireless). absolutely no exotic stuffs...
    - Freebsd 8.0 release and a GENERIC kernel

    ifconfig told me nothing about wlanN or something...

    when i pull off the switch on the side of my laptop, i can sea on screen :
    Code:
    "ugen3.3: <vendor 0x0b05> at usbus3 (disconnected)"

    but in fact that switch also controls the bluetooth adapter, so i do not even know if that message is about wifi or bluetooth...

    loader.conf :
    Code:
    if_iwi_load="YES"
    wlan_load="YES"
    firmware_load="YES"
    iwi_bss_load="YES"
    iwi_ibss_load="YES"
    iwi_monitor_load="YES"
    legal.intel_iwi.license_ack=1
    

    grrrrrr, what's wrong ?
    thanks for help,

    Becoup.
     

    Attached Files: