Find the answer to your Linux question:
Results 1 to 2 of 2
I am running Fedora 6 and the kernel source is installed. I installed the rpms needed for the wireless from freshrpms. When I boot the computer i get the message: ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Linux Newbie unchiujar's Avatar
    Join Date
    Oct 2006
    Posts
    194

    ipw3945 - kernel source not found


    I am running Fedora 6 and the kernel source is installed.
    I installed the rpms needed for the wireless from freshrpms.
    When I boot the computer i get the message:

    ipw3945 (1.2.0-1): Installing module
    Kernel source for kernel [...] not found. Cannot install module.

  2. #2
    Linux Newbie unchiujar's Avatar
    Join Date
    Oct 2006
    Posts
    194

    Lightbulb

    I found the solution so I'm posting it for the benefit of future generations. I'm not sure but it seems that yum installed i586 kernel binary and i686 sources (or the other way around).
    Steps:

    1. Install other kernel (I used the xen version of the kernel)
    2. Remove all other kernel and kernel sources
    3. Install the kernel and the kernel source. They must be both i586 or i686.
    4. Install dkms-ipw3945 from freshrpms (it should also add the needed dependencies). This also can be done before step 1.
    5. Reboot
    6. After the startup process, if you press CTRL+F8, you should see a message that says the kernel module has been installed.
    7. Start ipw3459 demon: as root
    Code:
    /sbin/ipw3945d
    8. Insert the module
    Code:
    /sbin/modprobe ipw3945
    9. Add a new wireless device (mine is eth1)
    10. Use wifi-radar (or some other program) to find wireless networks
    11. Connect

    Steps 7,8 should be added to some initialization script so the wireless connection is available after reboot.

    How to add ipw3945d as a service:

    For the following steps you need root access to the machine. These are to be done after you checked that the wireless works.
    1. Save the following code in /etc/init.d/ as intel_wireless or some other name of your choosing. Be careful not to overwrite other scripts in that directory because they are used to start services on boot.

    Code:
    #!/bin/bash
    #
    # ipw3495           This shell script enables the ipw3495 daemon
    # Author:       Jeremy Katz <katzj@redhat.com>  yum-updatesd  script
    # Modified by:       Vasile Jureschi <vasile.jureschi@gmail.com> from the yum-updatesd 
    #                          script
    #
    # chkconfig:    345 09 09 09
    #
    # description:  This is a daemon which enables the Intel Wireless 3945ABG
    #             
    # processname:  iwp3945
    # pidfile: /var/run/ipw3945d.pid
    #
    # This should start before bringing up the network interfaces because "modprobe ipw394 /
    # needs this daemon in order to work.
    #
    
    # source function library
    . /etc/rc.d/init.d/functions
    
    RETVAL=0
    
    start() {
            echo -n $"Starting Intel Wireless IPW3945: "
            daemon ipw3945d --quiet
            RETVAL=$?
            echo
            [ $RETVAL -eq 0 ] && touch /var/lock/subsys/ipw3945d
    }
    
    stop() {
            echo -n $"Stopping Intel Wireless IPW3945: "
            killproc ipw3945d
            echo
            [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/ipw3945d
    }
    
    restart() {
            stop
            start
    }
    
    case "$1" in
      start)
            start
            ;;
      stop) 
            stop
            ;;
      restart|force-reload|reload)
            restart
            ;;
      condrestart)
            [ -f /var/lock/subsys/ipw3945d ] && restart
            ;;
      status)
            status ipw3945d
            RETVAL=$?
            ;;
      *)
            echo $"Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
            exit 1
    esac
    
    exit $RETVAL
    2. Make it executable (it's a script that gets run at startup)
    Code:
     chmod 751 /etc/init.d/intel_wireless
    3. Add the service with chkconfig. The line
    # chkconfig: 345 09 09 09
    in the file establishes the runlevels for the service and when it starts. This one starts in runlevels 3,4, and 5 with a priority of 09 which is quite high. It is placed before the initialization of network cards because the Intel Wireless kernel module needs the daemon to run before it's loaded. As always, your mileage may vary, my network initialization script has a priority of 10. To see a listing of the services do
    Code:
    ls -la /etc/rc3.d
    It will show a list of the services that run in runlevel 3. The letters in front decide whether the service will start "S" or not "K". The numbers after the letters show the priority with a higher number being a lower priority.
    Add the service:
    Code:
     /sbin/chkconfig --add intel_wireless
    After you reboot the computer you should see a line saying:
    Starting Intel Wireless IPW3945: [ OK ]
    And wifi-radar and NetworkManager will show the available wireless networks in range.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •