I have been waiting a long time for a mature, stable build of CyanogenMod for the ViewSonic gTablet, and I have to say that I am quite pleased with the effort that the CyanogenMod team has put into the version 7.0.3 build. In fact, the only complaint I have is about the lack of built-in CIFS support on the gtab build. This is a guide on how to mount CIFS/SMB shares on your gTablet running CM7.
The reason the gTablet build of CM7 doesn’t allow mounting CIFS/SMB shares is because the cfis.ko kernel module was left out of the ROM. Fortunately, this is a fairly easy fix. On the official CM 7.0.3 gTablet build, the running kernel is Linux 126.96.36.199, and the correct module can be found on DroidBasement in the following lib package:
If you are running a different version of CM7 (or perhaps another ROM that is likewise lacking cfis support), you will want to run “uname -a” from a terminal emulator or adb to determine the correct kernel lib package to get from DroidBasement, and make sure you get the correct package for your device.
$ uname -a Linux localhost 188.8.131.52-cyanogenmod #1 SMP PREEMPT Sun Apr 24 22:06:49 EDT 2011 armv7l GNU/Linux
Anyway, there’s only one file in that archive that you should be concerned with at the moment:
Once you have located this file, extract it and copy it to the internal storage of your ViewSonic gTablet using a micro-USB cable or the microSD card. Once you have it loaded onto your tablet, open the Market on your device and install CifsManager. Load the CifsManager app, click Add New Share…, enter the server IP and share name as instructed, enter the mount point, username and password (if applicable), then click on Save Share. Be sure your mount point exists in a location that is writable so that CifsManager can create it.
Before you mount the share, you have to tell CifsManager how to load the cifs.ko kernel module. Click on Menu, Settings, then check Load cifs module, and Load via insmod. Finally, enter the full path to the location of cifs.ko, then hit back and attempt to mount the share. If all goes well, you will see a message that reads, “The share has been mounted successfully.”
Unfortunately the version of CifsManager I had installed failed to set the permissions correctly when it created my mount point. Particularly, it left out the execute bit for everyone except the owner. In order to fix this, open up your terminal emulator, ssh client or adb, and type:
$ su # chmod a+rwx /mnt/cifs/mountpoint
Replace /mnt/cifs/mountpoint with the actual name of the mountpoint you are using for your share.
And that’s it! You can now access files on your smb share directly from your gTablet within any Android app. I use it to access my music library as well as pictures and video files.