Announcement

Collapse
No announcement yet.

Closed: eeepc patched kernel?

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Closed: eeepc patched kernel?

    Is there an eeepc specific kernel that has a patch to fix its wireless for powering it off and back on?

    I realize now with kubuntu 9.04 I can turn off the wireless power with

    ifconfig ra0 down
    modprobe -r rt2860sta
    echo 0 > /sys/class/rfkill/rfkill0/state

    however it will not wake back up till I do

    echo 1 > /sys/class/rfkill/rfkill0/state
    modprobe rt2860sta
    ifconfig ra0 up
    SIOCSIFFLAGS: Operation not permitted
    and reboot

    I want to remove the error and reboot step

    I just upgraded to the 2.6.28-13-generic kernel and modules

    I have no error messages till I do
    echo 1 > /sys/class/rfkill/rfkill0/state
    modprobe rt2860sta

    Then I get in dmesg

    <-- RTMPAllocAdapterBlock, Status=0
    rt2869 0000:01:00.0: setting latency timer to 64
    RX DESC f53b3000 size = 2048
    <-- RTMPAllocTxRxRingMemory, Status=0
    ERROR!!! BBP read R0=0xffffffff fail
    ERROR!!! BBP read R0=0xffffffff fail
    ...
    ERROR!!! BBP read R0=0xffffffff fail
    ERROR!!! BBP read R0=0xffffffff fail
    ERROR!!! NICInitializeAdapter failed, Status[=0x00000001]
    ERROR!!! H2M_MAILBOX still hold by MCU. command fail
    !!! RT2860 Initalized fail !!!

    looking around on the net I found mention of patches and that it might be fixed in 2.6.29
    is there an easy way to try 2.6.29 or find a package that has the patch applied already. A kernel that is specific for the eeepc

    =============================================

    I may have answered my own question I just found this

    http://array.org/ubuntu/

    I will follow the instructions on howto install it and get back to this thread

    http://array.org/ubuntu/setup-jaunty.html

    =============================================

    update even with this kernel I still have the same issue

    =============================================

    success

    After reading the forums at array.org I figured out that I needed to add

    pciehp.pciehp_force=1

    to my kernel line in grub and now It works with the following script

    Code:
    toggle()
    {
     state=`cat /sys/class/rfkill/rfkill0/state`
     if [ "$state" = 0 ];then
        start
     else
        stop
     fi
    }
    
    start(){
     echo 1 > /sys/class/rfkill/rfkill0/state
    }
    
    stop(){
     ifconfig ra0 down
     modprobe -r rt2860sta
     echo 0 > /sys/class/rfkill/rfkill0/state
    }
    
    case "$1" in
    start)
    start
    ;;
    stop)
    stop
    ;;
    toggle)
    toggle
    ;;
    esac
    it was unnecessary to install the other kernel the generic kernel works fine as long as you add the grub option to the line.

    I created a file that should automatically fix grubs menu.1st file when a new kernel is installed
    the file name is /etc/kernel/postinst.d/eeepc_wireless_fix
    Code:
    #!/bin/bash
    # look to see that pciehp.pciehp_force=1 option is added
    # if not add it to a max of 10 lines
    max=10
    x=0
    while [ $x -lt $max ];do
    kernels=`grep -n ^kernel /boot/grub/menu.lst | grep /boot/vmlinuz`
    wo=`echo -e "$kernels"|grep -v pciehp.pciehp_force=1`
    if ! [ "$wo" = "" ];then
    first=`echo -e "$wo"|head -n 1|cut -d: -f1`
    lines=`wc -l /boot/grub/menu.lst|awk '{print $1}'`
    let oneminus=$first-1
    let amount2tail=$lines-$first
    before=`head -n $oneminus /boot/grub/menu.lst`
    after=`tail -n $amount2tail /boot/grub/menu.lst`
    line=`echo -e "$wo"|head -n 1|cut -d: -f2`
    line="$line pciehp.pciehp_force=1"
    echo -e "${before}\n${line}\n${after}\n" > /boot/grub/menu.lst
    else
    break;
    fi
    let x=$x+1
    done
    make it executable and it should work
Working...
X