Firstly you need to download the patches: Android System.tar.bz2 and aura_hd_android_kernel.uboot.
Now you need to create the folder named "android.patches" on the SD card with Android and you need to copy these two files into that folder.
To apply these fixes you need the computer with Linux. If you don't have the computer with Linux you can use any live-CD. I recommend Debian, it is for it I'll give commands' examples. So download the iso-file by the link above and burn it to the CD. Or you can make the bootable USB-stick from this iso-file. If you have only one computer then you should print this instruction. Or you can rewrite it by hand. :) The computer must be connected to the Internet. It'd better have a wired connection than wireless. Boot the computer from the created CD or USB-stick. In "Boot menu" you should choose first item - "Live (486)". After the finish booting the next prompt will appear:
user@debian:~$
Install software that will be needed (that you should type from the keyboard is blue bold):
user@debian:~$ sudo aptitude install lsscsi
The following NEW packages will be installed:
lsscsi
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 35.8 kB of archives. After unpacking 104 kB will be used.
Get: 1 http://http.debian.net/debian/ wheezy/main lsscsi i386 0.26-2 [35.8 kB]
Fetched 35.8 kB in 0s (77.4 kB/s)
Selecting previously unselected package lsscsi.
(Reading database ... 57355 files and directories currently installed.)
Unpacking lsscsi (from .../lsscsi_0.26-2_i386.deb) ...
Processing triggers for man-db ...
Setting up lsscsi (0.26-2) ...
user@debian:~$
Now you have to insert the SD card with Android into the card reader. If you have an external card reader or USB-microSD adapter you have to plug it to your computer. Next you need to discover the device name for the card reader in Linux system:
user@debian:~$ lsscsi
[0:0:0:0] cd/dvd Optiarc DVD RW AD-7170A 1.02 /dev/sr0
[2:0:0:0] disk ATA FUJITSU MHW2120B 0000 /dev/sda
[10:0:0:0] disk Generic- Card Reader 1.00 /dev/sdb
or
user@debian:~$ lsscsi
[2:0:0:0] disk ATA ST31000528AS CC38 /dev/sda
[3:0:0:0] cd/dvd Optiarc DVD RW AD-7240S 1.03 /dev/sr0
[10:0:0:0] disk Generic Storage Device 0.00 /dev/sdb
user@debian:~$
In my case the card reader device name is /dev/sdb and this name you will have to substitute instead /dev/SDCARD in the commands that will be given below.
Next you need to refresh cache for the SD card's partition table:
user@debian:~$ sudo fdisk -l /dev/SDCARD
Disk /dev/sdb: 7901 MB, 7901020160 bytes
244 heads, 62 sectors/track, 1020 cylinders, total 15431680 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00079b22
Device Boot Start End Blocks Id System
/dev/sdb1 61440 11562165 5750363 b W95 FAT32
/dev/sdb2 11562166 12986367 712101 83 Linux
/dev/sdb3 12986368 13391871 202752 83 Linux
user@debian:~$
Mount the SD card partition that contains the patches:
user@debian:~$ sudo mount /dev/SDCARD1 /mnt
user@debian:~$
Copy the patches from the SD card:
user@debian:~$ cp -Rv /mnt/android.patches/ ~
`/mnt/android.patches/Android System.tar.bz2' -> `/home/user/android.patches/Android System.tar.bz2'
`/mnt/android.patches/aura_hd_android_kernel.uboot' -> `/home/user/android.patches/aura_hd_android_kernel.uboot'
user@debian:~$
Unmount the SD card:
user@debian:~$ sudo umount /mnt
user@debian:~$
Mount the Android's system partition on the SD card to apply the patch:
user@debian:~$ sudo mount /dev/SDCARD3 /mnt
user@debian:~$
Go to the partition that was mounted earlier:
user@debian:~$ cd /mnt
user@debian:/mnt$
Apply the patch:
user@debian:/mnt$ sudo tar xvf ~/android.patches/Android\ System.tar.bz2
system/
system/wifi/
system/wifi/bcmdhd.ko
system/wifi/sdio_wifi_pwr.ko
user@debian:/mnt$
Go to the home folder:
user@debian:/mnt$ cd ~
user@debian:~$
Unmount the SD card:
user@debian:~$ sudo umount /mnt
user@debian:~$
Go to the folder that contains the patches:
user@debian:~$ cd ~/android.patches/
user@debian:~/android.patches$
Apply the rest patch. (WARNING! Make sure you take the right device for the next steps.)
user@debian:~/android.patches$ sudo dd if=./aura_hd_android_kernel.uboot \
> of=/dev/SDCARD seek=2048 bs=512
> of=/dev/SDCARD seek=2048 bs=512
4851+1 records in
4851+1 records out
2484196 bytes (2.5 MB) copied, 0.802216 s, 3.1 MB/s
user@debian:~/android.patches$
That's all. You can boot the updated Android now.
I was asked on one of the forums: "Why are you tormenting us with this Linux? Would you make the new SD card where all those patches have already been applied?" Yes. That would be simplier for non advanced users and I made that image. It is here: 2014-02-28_Android_Kobo_Aura_HD.7z
Here is the homescreen screenshot:
And the photos:
The Front Light is turned on:
The Front Light is turned off: