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:
- enable CIFS/SMB via the
- 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 http://forum.xda-developers.com/attachment.php?attachmentid=677456&d=1312486060 # tar xf universal-V3.tar # cd universal # sudo ./universal.sh [sudo] password for jdoe: 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) Done. Your tablet is now rooted. Enjoy!.
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.
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
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!