Access CIFS share on ASUS EeePad Transformer

I have bought an Asus EeePad Transformer to see what Android was (compared to all the iOS I had :). One of the thing I found missing (on 3.0, 3.1 and 3.2) was the ability to access CIFS (AKA SMB ou Windows) share. It’s quite a shame since you know Android and no more than a tweaked Linux kernel…

Anyway, after reading a whole pack of doc, I decided to go “rooting” my tablet. I don’t want to install a fully customized ROM (yet). For now, I will keep the stock Asus firmware but will add CIFS capabilities.

Enabling CIFS on the droid is not that difficult. What you need to do is:

  1. enable root access ;
  2. enable CIFS/SMB via the cifs.ko module ;
  3. install and run a CIFS client.

Rooting the tablet

To root the tablet, you will need some Linux installation. I don’t have one but I installed Ubuntu 11.04 in VMware Fusion, on my MacBook Pro, and did all the stuff from there.

There is a great tutorial available here. Read it (twice), download the binary and follow the white prompt.

# wget
# tar xf universal-V3.tar
# cd universal
# sudo ./ 
[sudo] password for ptijo: 

Asus Transformer TF101 Universal Root
Disconnect your tablet from usb (if connected) and turn it off (if it's not).
Press and hold the UP Volume and the power button for ~5sec.
For now the tablet screen should stay off, it's perfectly normal
Now connect to usb
Press any key when you're ready.

Once connected to the virtual machine, the tablet will be automatically reconnect when I unplug/plug the USB cable – since I don’t turn off my Mac.

The script does a bunch of operations and then asks about ClockWordMod. What it does is:

ClockWorkMod (CWM)
ClockWorkMod recovery is a recovery image that let's you do some funny things like make a nandroid backup, installing custom rom and much more
This is not necessary for root

NOTE: if you install CWM you won't be able to update your tablet with the OTA firmware from ASUS, until you revert back to the stock recovery

Do you wish to install clockworkmod recovery? [y/N]n

As you can see, I didn’t install it because I want to keep my tablet as stock as possible.

The next step is quite easy too:

Now press and hold the power button for ~10sec.

Your tablet should reboot. When android is fully loaded, go to Settings -> Applications -> Development and make sure USB Debugging is enabled.
Press any key when you're ready.
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
remount succeeded
597 KB/s (26324 bytes in 0.043s)
1033 KB/s (196521 bytes in 0.185s)

Your tablet is now rooted.


And that’s all!

Access the tablet shell as root

You can install a Terminal emulator from the Android Market. I did install “Android Terminal Emulator” from “Jack Palevich”.

When installed, start the application and issue the “su -” command. You will be prompted to accept the privilege upgrade.
Becoming root on the Android Asus Transformer tablet.

Now, I can read your email.

Install CIFS support

I think that you can get the full system source and compile the CIFS module yourself. But I don’t know how to do it. So I have download a precompiled module from here.

What I did was browse the URL and download the cifs.ko file on my SDcard, then copy it to the correct location:

# mount -o remount,rw /system
# cat /mnt/sdcard/Download/cifs.txt > /system/lib/modules/cifs.ko
# chmod 644 /system/lib/modules/cifs.ko
# mount -o remount,ro /system
# exit
$ exit

The module is now ready.

Note that the shell manages history. There are special key bindings such as Vol-Up + W to go UP the history and Vol-Up + A to go LEFT in the command prompt.

Manage CIFS support

From the Android Market, I installed “Cifs Manager” from Stefan Plattner. This application allows you to mount Windows shares and the tablet applications will access them as if they were local directories from your SDcard.

Create mountpoints under the /mnt/sdcard location so that every application case access them.

Note that I had to reboot the tablet for the module to load.
In fact, I did load the module manually once then check if CifsManager reloads it after reboot. It does.

That’s All Folks!

Author: Joel Carnat

@work Technical Architect and SysAdmin ; @home OpenBSD and FOSS, Karate, Kobudō, Jōdō, Bodyweight workout, Photography & Music

5 thoughts on “Access CIFS share on ASUS EeePad Transformer”

  1. Hi,
    asI understand, you keep capabilities to update later your tablet from the normal mode from Asus, and the firmware is now root.
    I would like to do this with the same method to mount an usb ethernet adapter. just need to add some superuser right to my tablet.
    So, then I just need to change Ethernet things like DHCP …
    Let me know if this method doesn’t need to backup completely my tablet to keep also applications downloaded from the market.

    I am too geek and i don’t want to damage my new tablet.
    Thank’s in advance for your response.
    Best regards

    1. Hi,

      I didn’t backup my tablet and didn’t loose a single data or installed applications.
      AFAIK, the method I used didn’t break any official update capabilities.

      There is still one thing that I sense is that, after the next official update, the root access (and the cifs.ko) may be wiped out by the official update.
      So I may need to do the hack again.

      Hope it helps.

  2. Hi cifs worked great but i have a question, i’ve mounted a network share with full access permissions. I can access the share on the terminal, see and make changes to files. But when i want to do changes with a text editor (tried several editors) i get no permissions to write files. Is there a way to set the permissions of the mount operations to allow android applications to change the files inside the mounted share? thank you very much in advance!

Leave a Reply

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.