How to include the Realtek RTL8812au driver in Android 5.0 x86 ?

5,845 views
Skip to first unread message

Pque Christopher

unread,
Jan 10, 2016, 10:30:30 AM1/10/16
to Android-x86
Hello,

I have the Asus AC56r, a next gen USB dongle WIFI and I would like to know how to include its driver in the Android x86 ROM. The RTL8812au driver is working perfectly in Lubuntu 15.04 so I think it is possible to make this driver on Android 5.0 x86.

So, now,  my question is, how to install (steps, pictures, explainations, etc) the driver for the 8812au on Android x86 5.0 as I don't have no internet on Android ?

Thx

Mario Holzinger

unread,
Jan 11, 2016, 7:48:32 AM1/11/16
to Android-x86
Hi Christopher!

Can you check your lubuntu installation which kernel module,... is loaded for your WiFi Card
I think you have to build an extra kernel module for RTL8812AU (e.g. https://github.com/gnab/rtl8812au)

I'm also playing around with integrating RTL8723BS WiFi for my TrekStor 7.0 Tablet so you have the same goal than me.
I only got it working under Ubuntu so far but next step would be to integrate it also in 4.x kernel for Android-x86

regards
Mario

Pque Christopher

unread,
Jan 11, 2016, 6:02:50 PM1/11/16
to Android-x86
Hello, I didn't understand about the check kernel module ? one thing is sure is that i have installed the driver from the same site : https://github.com/gnab/rtl8812au

i downloaded  it and then on  Lubuntu I installed the driver  and it worked (with a lot less features than the Windows counterpart but it worked  good)

I saw some tutorials on internet for loading a driver on Android  x86 but it is for old versions  of android   4.0 and the driver  is  too different.

Mario Holzinger

unread,
Jan 12, 2016, 6:06:59 AM1/12/16
to Android-x86
on unix based operation system we are talking about kernel modules (driver is more MS-Windows like) that were loaded automatically when the device is connected.

A kernel modul is always compiled against a specific kernel version (like Windows 8 drivers that will not work on Windows 10)

so in normal cases what you will need to compile the kernel module are
- the sources of the kernel module https://github.com/gnab/rtl8812au
- kernel header files of the kernel you are trying to compile the kernel for

with this 2 you are able to compile the module

after completion you will get a .ko file that needs to be placed in systems partition /lib/modules/KERNEL_VERSION/..
of your target device with the RTL8812au WiFi module

regards Mario

Mario Holzinger

unread,
Jan 12, 2016, 10:55:13 AM1/12/16
to Android-x86
BTW: If you like to compile the module directly with the whole kernel and/or with the complete android-x86 sources you can adapt the following commit to match your staging kernel module



Pque Christopher

unread,
Jan 12, 2016, 1:40:18 PM1/12/16
to Android-x86
Sorry, I am on Windows and I really don't know how to start the compilation, for the sake of helping me and others that  will come to read this post, with what software do I start with knowing that :

- I have the ISO of Android x86 5.1
- I am on Windows

Povilas Staniulis

unread,
Jan 12, 2016, 1:54:08 PM1/12/16
to andro...@googlegroups.com
For starters, to build a Linux driver, you need Linux. Either a double-boot configuration (with Windows) or in a virtual machine (eg. VirtualBox).
Ubuntu or Debian should do, but you can pick any distro, provided it has the right tools.
--
You received this message because you are subscribed to the Google Groups "Android-x86" group.
To unsubscribe from this group and stop receiving emails from it, send an email to android-x86...@googlegroups.com.
To post to this group, send email to andro...@googlegroups.com.
Visit this group at https://groups.google.com/group/android-x86.
For more options, visit https://groups.google.com/d/optout.

Miker1029

unread,
Jan 12, 2016, 1:57:36 PM1/12/16
to andro...@googlegroups.com
Just a LOL....

#
# This grub.cfg file was generated by grub2win.exe
# Wednesday October 28, 2015   At 11:44:16
#
# The grub menu type is - Scroll bar and progress bar
#
#
#  Grub2Win generated 2 menu entries.
#
#  The Grub default boot OS is menu entry 0  -  Windows
#  The Grub default timeout is 10 seconds
#  The Grub locale language is English   The locale code is - en
#

echo The Windows boot address is $winpart

set default=0
set timeout=10
set pager=1
set lang=en

set gfxmode=800x600,auto
set gfxpayload=text
set grub2win_parm=ascrollbar

set theme=$prefix/themes/grub2win/theme.ascrollbar.txt

set locale_dir=$prefix/locale
set icondir=$prefix/themes/icons
insmod png

if loadfont $prefix/fonts/unicode.pf2 ; then
   insmod vbe
   insmod vga
   insmod gfxterm
fi
terminal_output gfxterm
insmod gfxmenu


# start-grub2win-auto-menu-section  ***************************************************
#

#
#  Menu Item 0       Windows
#
#  ** Grub will boot this OS by default **
#
menuentry   'Windows'   --class windows   --class icon-windows  {
     windowsautomatic
     echo Grub is now booting   Windows
     echo Boot disk address is  $root
     echo The boot mode is      Windows Automatic
     sleep -v -i 5
}

#
#  Menu Item 1       Mint 17
#
menuentry   'Mint 17'   --class ubuntu   --class icon-ubuntu  {
recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6  6217218b-4364-499e-8a6b-d3f70b022977
else
  search --no-floppy --fs-uuid --set=root 6217218b-4364-499e-8a6b-d3f70b022977
fi
linux    /boot/vmlinuz-3.13.0-24-generic root=UUID=6217218b-4364-499e-8a6b-d3f70b022977 ro   quiet splash $vt_handoff
initrd    /boot/initrd.img-3.13.0-24-generic
}

#
#  Menu Item 2       Mint 17-Recovery
#
menuentry   'Mint 17-Recovery'   --class ubuntu   --class icon-ubuntu  {
recordfail
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6  6217218b-4364-499e-8a6b-d3f70b022977
else
  search --no-floppy --fs-uuid --set=root 6217218b-4364-499e-8a6b-d3f70b022977
fi
echo    'Loading Linux 3.13.0-24-generic ...'
linux    /boot/vmlinuz-3.13.0-24-generic root=UUID=6217218b-4364-499e-8a6b-d3f70b022977 ro recovery nomodeset
echo    'Loading initial ramdisk ...'
initrd    /boot/initrd.img-3.13.0-24-generic
}

#
#  Menu Item 3      Android
#
menuentry   'Android-Touch'   --class ubuntu   --class icon-ubuntu  {
set root='hd0,msdos8'
linux /android-4.4-RC2/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=android-4.4-RC2
initrd /android-4.4-RC2/initrd.img

}

#
#  Menu Item 4      Android
#
menuentry   'Android-No Tocuh'   --class ubuntu   --class icon-ubuntu  {
set root='hd0,msdos8'
linux /android-4.4-RC2/kernelnt quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=android-4.4-RC2
initrd /android-4.4-RC2/initrd.img

}
#
#  Menu Item 5      Android
#
menuentry   'Android-6.0-myattempt'   --class ubuntu   --class icon-ubuntu  {
set root='hd0,msdos9'
linux /android-2015-04-15/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=android-2015-04-15
initrd /android-2015-04-15/initrd.img

}

#
#  Menu Item 6      Android
#
menuentry   'Android-6.0-orig-c.w.'   --class ubuntu   --class icon-ubuntu  {
set root='hd0,msdos9'
linux /android-6.0-rc1/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=android-6.0-rc1
initrd /android-6.0-rc1/initrd.img

}

#
#  Menu Item 7      Android
#
menuentry   'android-2016-01-06-RBG Latest test'    --class ubuntu   --class icon-ubuntu  {
set root='hd0,msdos10'
linux /android-2016-01-07/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=android-2016-01-07
initrd /android-2016-01-07/initrd.img

}
set timeout=5
set gfxmode=1024x768
terminal_output gfxterm

menuentry 'Phoenix OS 1.0 Beta' --class phoenix {
set root='hd0,msdos10'
  linux /Phoenix/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=Phoenix
  initrd /Phoenix/initrd.img
}


menuentry 'Phoenix OS 1.0 Beta DEBUG mode' --class android-x86 {
set root='hd0,msdos10'
 
  linux /Phoenix/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=Phoenix DATA= DEBUG=2
  initrd /Phoenix/initrd.img
}

menuentry 'Phoenix OS 1.0 Beta Installation' --class android-x86 {
set root='hd0,msdos10'
  linux /Phoenix/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=Phoenix DEBUG= INSTALL=1
  initrd /Phoenix/initrd.img
}

set timeout=5
set gfxmode=1024x768
terminal_output gfxterm

menuentry 'Remix Install' --class android-x86 {
set root='hd0,msdos10'
  linux /Remix/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=Remix DEBUG= INSTALL=1
  initrd /Remix/initrd.img
}
menuentry 'Remix' --class android-x86 {
set root='hd0,msdos10'
  linux /android-2015-12-31/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 SRC=android-2015-12-31
  initrd /android-2015-12-31/initrd.img
}

menuentry 'Windows' {
   search --file --no-floppy --set=root /EFI/Microsoft/Boot/bootmgfw.efi
   chainloader (${root})/EFI/Microsoft/Boot/bootmgfw.efi  DEBUG= INSTALL=1
}


#
# end-grub2win-auto-menu-section     ***************************************************


# start-grub2win-windowsautomatic-section  *********************************************
#
# This functions is used to boot Windows In Automatic mode
# The Windows boot partition is found using
# the $winpart variable provided by Grub2Win.
#
# Additional logic is required for Windows 7 and 8, since the boot partition
# is not necessarily the Windows C: drive.
#
# Windows sometimes boots from a special "System Reserved" partition.
# This depends on how Windows was initially installed.
#
function windowsautomatic {
     if [ -f (hd0,1)/bootmgr ]; then
              set bootcontrol=BCD
              set bootstyle=bootmgr
              set bootpart=(hd0,msdos1)
     else
              set bootcontrol=boot.ini
              set bootstyle=ntldr
          set bootpart=$winpart   
     fi
     if [ $bootpart = $winpart ]; then
          echo Windows will boot normally from the
          echo C: partition at address $bootpart
     else
          echo The Windows C: partition is at address $winpart
          echo
          echo Windows will boot from the special
          echo System Reserved partition at address $bootpart
              echo
          sleep -v -i 5
     fi
     set root=$bootpart
     ntldr /$bootstyle
}
#
# end-grub2win-windowsautomatic-section     ********************************************

# start-grub2win-user-section   ********************************************************
#
#
# end-grub2win-user-section     ********************************************************

Pque Christopher

unread,
Feb 21, 2016, 2:26:41 PM2/21/16
to Android-x86
Hello,

I have Lubuntu 15.04 and the Asus AC56 (RTL 8812Au) is working good on it at least to connect to Wifi networks. So my question is, how to compile the Android Kernel 6.0 to include the AC56 module ?

There is no explicit tutorial with explicit steps (1, 2, 3, etc...) only outdated ones for the moment.

Thank you everyone, very much, I love you all :)
Reply all
Reply to author
Forward
0 new messages