Page 3 of 7 FirstFirst 12345 ... LastLast
Results 21 to 30 of 65

Thread: MBA 11" 2012 with 12.04

  1. #21
    Join Date
    Nov 2010
    Beans
    4

    Re: MBA 11" 2012 with 12.04

    The brightness key issue eventually went away for me. I was able to resolve (mostly) the mouse-after-suspend issue. I added the following to /etc/pm/sleep.d/00_usercustom:
    Code:
        modprobe -r bcm5974 
        modprobe bcm5974
    The whole contents of that came from one of the postinstall scripts in https://help.ubuntu.com/community/MacBookAir4-2

  2. #22
    Join Date
    Aug 2007
    Beans
    21

    Re: MBA 11" 2012 with 12.04

    Had several hangs using the stock kernel, so upgraded to 3.4 following:
    http://askubuntu.com/questions/14219...-kubuntu-12-04

    But then wifi didn't work, so fixed that using:
    https://bugs.launchpad.net/ubuntu/+s...wl/+bug/994255 (post #5).

    System now much more stable, and with wifi.

    (have also installed mate desktop with fvwm window manager - nice!).

  3. #23
    Join Date
    Feb 2010
    Beans
    2

    Re: MBA 11" 2012 with 12.04

    I'm facing the same problems as agb32. With the nointremap option the system installs and boots but is highly unstable (at the point that it is unusable for me).
    As mentioned by agb32, I tried to install the 3.4.4 quantal Kernel. The system still requires the additional boot parameter. Since I had bad luck with the nointremap option I'll try for now the noapic option.

  4. #24
    Join Date
    Aug 2007
    Beans
    21

    Re: MBA 11" 2012 with 12.04

    I have the 3.4.0 quantal kernel... still with nointremap - but it is now stable...

    Installed from the deb packages.

  5. #25
    Join Date
    Feb 2010
    Beans
    2

    Re: MBA 11" 2012 with 12.04

    After a full day of use with the 3.4.4 quantal kernel and the noapic boot parameter my system appears to be stable. No more freeze (at least for today). For completeness I took the approach described on http://www.upubuntu.com/2012/06/how-...el-343-on.html using the dropbox scipt on http://dl.dropbox.com/u/47950494/upu...x-kernel-3.4.4
    BTW I had installed the wifi driver before upgrading to the 3.4.4 kernel (I came from stock ubuntu 12.04 kernel) and did not have to reinstall anything to get the wifi working. This maybe comes from the fact that I'm not using a MBA but rather a MB 13'' last generation.

  6. #26
    Join Date
    Jul 2012
    Beans
    14

    Re: MBA 11" 2012 with 12.04

    hi,
    im running 12.04 on MBP 9,2 13inch, had to use the nointremap boot option, does anyone know what its caused by?


    had a few freezes after a couple of hours, might try the new kernel.

    Also tried to load applesmc, but read_smc() fails, did a bit of debugging if anyone interested:

    Code:
     
     applesmc_init_smcreg_try() first calls
     read_register_count() who returns 375
    
     then applesmc_get_lower_bound() calls
    
    applesmc_get_entry_by_index(187) which calls
    
    read_smc(APPLESMC_GET_KEY_BY_INDEX_CMD, (u8 *)&be, key, 4);
    
    which call 
    send_argument(key) that successfully sends the first 3 bytes, 
    
    then fails after the 4th waiting on __wait_status(0x04),
    
    status read is always 0x05.
    Does anyone know anything aboot the SMC?

    cheers

    adam

  7. #27
    Join Date
    May 2008
    Beans
    745

    Re: MBA 11" 2012 with 12.04

    Hi adamski,

    thanks for looking into this. A long shot, but maybe Apple changed the argument to APPLESMC_GET_KEY_BY_INDEX_CMD, from u32 to u16 for instance. The patch below will tell.

    Code:
    diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
    index 0162f55..d0eb86e 100644
    --- a/drivers/hwmon/applesmc.c
    +++ b/drivers/hwmon/applesmc.c
    @@ -194,11 +194,11 @@ static int send_command(u8 cmd)
            return -EIO;
     }
     
    -static int send_argument(const char *key)
    +static int send_argument(const char *key, int keylen)
     {
            int i;
     
    -       for (i = 0; i < 4; i++) {
    +       for (i = 0; i < keylen; i++) {
                    outb(key[i], APPLESMC_DATA_PORT);
                    if (__wait_status(0x04))
                            return -EIO;
    @@ -206,11 +206,11 @@ static int send_argument(const char *key)
            return 0;
     }
     
    -static int read_smc(u8 cmd, const char *key, u8 *buffer, u8 len)
    +static int read_smc(u8 cmd, const char *key, int keylen, u8 *buffer, u8 len)
     {
            int i;
     
    -       if (send_command(cmd) || send_argument(key)) {
    +       if (send_command(cmd) || send_argument(key, keylen)) {
                    pr_warn("%.4s: read arg fail\n", key);
                    return -EIO;
            }
    @@ -219,12 +219,14 @@ static int read_smc(u8 cmd, const char *key, u8 *buffer, u8 len)
     
            for (i = 0; i < len; i++) {
                    if (__wait_status(0x05)) {
    -                       pr_warn("%.4s: read data fail\n", key);
    +                       pr_warn("%.*s: read data fail\n", keylen, key);
                            return -EIO;
                    }
                    buffer[i] = inb(APPLESMC_DATA_PORT);
            }
     
            return 0;
     }
     
    @@ -232,7 +234,7 @@ static int write_smc(u8 cmd, const char *key, const u8 *buffer, u8 len)
     {
            int i;
     
    -       if (send_command(cmd) || send_argument(key)) {
    +       if (send_command(cmd) || send_argument(key, 4)) {
                    pr_warn("%s: write arg fail\n", key);
                    return -EIO;
            }
    @@ -255,7 +257,7 @@ static int read_register_count(unsigned int *count)
            __be32 be;
            int ret;
     
    -       ret = read_smc(APPLESMC_READ_CMD, KEY_COUNT_KEY, (u8 *)&be, 4);
    +       ret = read_smc(APPLESMC_READ_CMD, KEY_COUNT_KEY, 4, (u8 *)&be, 4);
            if (ret)
                    return ret;
     
    @@ -278,7 +280,7 @@ static int applesmc_read_entry(const struct applesmc_entry *entry,
            if (entry->len != len)
                    return -EINVAL;
            mutex_lock(&smcreg.mutex);
    -       ret = read_smc(APPLESMC_READ_CMD, entry->key, buf, len);
    +       ret = read_smc(APPLESMC_READ_CMD, entry->key, 4, buf, len);
            mutex_unlock(&smcreg.mutex);
     
            return ret;
    @@ -301,7 +303,7 @@ static const struct applesmc_entry *applesmc_get_entry_by_index(int index)
     {
            struct applesmc_entry *cache = &smcreg.cache[index];
            u8 key[4], info[6];
    -       __be32 be;
    +       __be16 be;
            int ret = 0;
     
            if (cache->valid)
    @@ -311,11 +313,11 @@ static const struct applesmc_entry *applesmc_get_entry_by_index(int index)
     
            if (cache->valid)
                    goto out;
    -       be = cpu_to_be32(index);
    -       ret = read_smc(APPLESMC_GET_KEY_BY_INDEX_CMD, (u8 *)&be, key, 4);
    +       be = cpu_to_be16(index);
    +       ret = read_smc(APPLESMC_GET_KEY_BY_INDEX_CMD, (u8 *)&be, 2, key, 4);
            if (ret)
                    goto out;
    -       ret = read_smc(APPLESMC_GET_KEY_TYPE_CMD, key, info, 6);
    +       ret = read_smc(APPLESMC_GET_KEY_TYPE_CMD, key, 4, info, 6);
            if (ret)
                    goto out;
    Thanks!

  8. #28
    Join Date
    Jul 2012
    Beans
    14

    Re: MBA 11" 2012 with 12.04

    Hi,
    Thanks for the suggestion but unfortunately didnt work.

    after a lot of messing around i managed to get it to load by decreasing the minimum time it waits for the status from 0x0040 to 0x0010,

    Code:
    //#define APPLESMC_MIN_WAIT    0x0040
    #define APPLESMC_MIN_WAIT    0x0010
    not sure if this has any horrible side effects..

    have managed to manually change the keyboard brightness value by poking:

    /sys/bus/platform:applesmc/applesmc.768/leds/smc::kbd_backlight/brightness

    but dedicated buttons dont seem to work.

    have tried poking the fan speed, as it doesnt seem to budge from 2000rpm, but didnt seem to change.

    Cheers

    adam


    Quote Originally Posted by kosumi68 View Post
    Hi adamski,

    thanks for looking into this. A long shot, but maybe Apple changed the argument to APPLESMC_GET_KEY_BY_INDEX_CMD, from u32 to u16 for instance. The patch below will tell.

    Thanks!

  9. #29
    Join Date
    May 2008
    Beans
    745

    Re: MBA 11" 2012 with 12.04

    Hi adamski,

    after a lot of messing around i managed to get it to load by decreasing the minimum time it waits for the status from 0x0040 to 0x0010,

    Code:
    //#define APPLESMC_MIN_WAIT    0x0040
    #define APPLESMC_MIN_WAIT    0x0010
    not sure if this has any horrible side effects..
    Excellent, thank you. No, the side effects should be slim. The original linear timing scheme (from 2008) had a smallest wait time of 10 us, so potentially this tweak will work on all models.

    I will accumulate some more tested-by's before applying the patch, though. If I can have you full name sent to rydberg@euromail.se, that would be great.

    have tried poking the fan speed, as it doesnt seem to budge from 2000rpm, but didnt seem to change.
    Did you set fanX_manual first? Careful though, check this first: http://ubuntuforums.org/showpost.php...7&postcount=10

    Since the 2012 machines seem different, it would be great to accumulate a bit more information, following this post: http://ubuntuforums.org/showthread.php?t=924096

    Thanks!

  10. #30
    Join Date
    Jul 2012
    Beans
    14

    Re: MBA 11" 2012 with 12.04

    Quote Originally Posted by kosumi68 View Post
    Hi adamski,

    Did you set fanX_manual first? Careful though, check this first: http://ubuntuforums.org/showpost.php...7&postcount=10
    Ok, so i can set the speed with the manual setting, but it doesnt seem to regulate its self automatically.

    monitoring one of the temperatures (temp16_input ) and fan1_input with 4 stress threads got the temp value to 93000 (is that deg C ??) and fan speed is still ~2000

    thanks for the help

    adam

Page 3 of 7 FirstFirst 12345 ... LastLast

Tags for this Thread

Bookmarks

Posting Permissions

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