[Q] cifs.ko for Republic Wireless Motorola Defy XT - Defy Q&A, Help & Troubleshooting

The phone is a Motorola Defy XT from Republic Wireless.
Model number: XT557
Android version: 2.3.7
Kernel version: Apps_2.6.38.6-perf
My goal is to be able to mount a Windows network drive to this phone.
So far, I've:
Rooted the phone
Downloaded and unzipped http://dl.xda-developers.com/attachdl/d7d716dbb2be109c232a69054988762c/52f45ac2/4/9/0/9/8/5/cifs.zip
Transferred both .ko files to /system/lib/modules
When I change to that directory and enter:
insmod cifs.ko
I get the error,
insmod: init_module 'cifs.ko' failed (Exec format error)
Can anyone give me some guidance on how to proceed?
Thank you.

Anyone? Is there another cifs.ko I should try? Do I need to compile it myself? (If so I'll need some guidance on doing that. I have lots of computer experience but it's been more than two decades since I've used any flavor of Unix and I have no phone experience.)

Related

getting get-a-robot-vpnc working on vogue

I am trying to get the get-a-robot-vpnc (http://code.google.com/p/get-a-robot-vpnc/) working on my vogue. I am running from nand, using the donut ASOP build.
The first step would be to get tun.ko installed. I downloaded the one included on the google code page and pushed it to /system/lib/modules via adb. When I try to insmod it, i get:
Code:
# pwd
pwd
/system/lib/modules
# insmod tun.ko
insmod tun.ko
insmod: can't insert 'tun.ko': unknown symbol in module or invalid parameter
I am thinking that I need to compile my own tun.ko for vogue. But I am pretty lost. Can anyone suggest any resources to get the kernel cross compiling for vogue set up? A while back when I was hanging out in vogue IRC channel craig0r gave me some good links.. but I have since lost those.
EDIT: found a link for compiling kernel: http://www.androidonhtc.com/get_involved . In the process of doing this now..
EDIT: built a copy of tun.ko that will properly insmod on the vogue. Now the problem is that I can't specify the port through the software! It seems to be assuming 62465. Looks like this is already marked as an issue: http://code.google.com/p/get-a-robot-vpnc/issues/detail?id=34
If anyone wants the tun.ko I built for vogue just PM me.

[SOLVED] CIFS support

A noob question support. Is there a CIFS support in the 2.6.32.21-gbe90714 kernel or a suitalbe cifs.ko file that one could use with the Cifsmanager app?
I am a bit lost here. I downloaded the DHD kernel source released, but had no luck locating the cifs.ko file. And I have no idea how to compile one myself. Can someone pinpoint me in the right direction?
update:
found some instructions here http://forum.xda-developers.com/showthread.php?t=783117 so I will see if I can get it working
update 2:
i have been able to build cifs.o (no cifs.ko was produced ) from the kernel provided by HTC, but it fails with insmod. The problem might be (besides that I have only a vague idea what am I doing) that the downloaded kernel is 2.6.32-g5ed1769 and my phone is running kernel 2.6.32-gbe90714.
Also compiling the kernel ends with this error
make[3]: *** No rule to make target `drivers/input/touchscreen/ntrig.o', needed by `drivers/input/touchscreen/built-in.o'. Stop.
Thats where I got stuck.
I have attached the file cifs.o produced.
Updare 3: Solved - see attachment in post http://forum.xda-developers.com/showthread.php?p=8865419#post8865419
Support/Troubleshooting forum sub section is needed, this Desire HD general is becoming a Desire HD trashcan..
M_T_M said:
Moved to general. Not a DEV thread.
Cheers,
Click to expand...
Click to collapse
I placed in DEV since it deals with kernel compilation. Maybe it should be moved to theme and apps as I am trying to get Cifsmanager app working on DHD.
Small update: I have managed to get a cifs.ko from kernel 2.6.32.17 from G2 partially working. I have HEX edited the file and changed to my kernel version.
I can insmod the file and mount drive without a problem. I can than access the mounted drives a browse the folders, but when I try to open the file I get an error.
I do not seem to be able to find a 2.6.32.21 kernel compiled cifs.ko which I believe might work with HEX updating "-gbe90714".
*push*
looking for the right cifs.ko as well :\ would be really nice to be able to mount cifs shares without custom rom...
anyone got CIFS working on stock ROM?
CIFS working on 2.6.32.21-gf3f553d
here is a working cifs.ko for DHD kernel 2.6.32.21-gf3f553d
Code:
su
insmod slow-work.ko
insmod cifs.ko
insmod nls_utf8.ko
It's a hex edited and --strip-debug cifs to educe file size of the version from MikeMelbourne. http://forum.xda-developers.com/showpost.php?p=9780217&postcount=7
Works fine on my DHD (samba access and video playback with V Player).
nxtwrld said:
here is a working cifs.ko for DHD kernel 2.6.32.21-gf3f553d
Code:
su
insmod slow-work.ko
insmod cifs.ko
insmod nls_utf8.ko
It's a hex edited and --strip-debug cifs to educe file size of the version from MikeMelbourne. http://forum.xda-developers.com/showpost.php?p=9780217&postcount=7
Works fine on my DHD (samba access and video playback with V Player).
Click to expand...
Click to collapse
Thanks for this, it works fine when I insmodded all the .ko's you zipped (that I placed in system/lib/modules/). On reboot though I cannot use cifs manager unless I insmod again. Do I need to insmod everytime i reboot?
Sent from my Desire HD
nxtwrld said:
It's a hex edited and --strip-debug cifs to educe file size of the version from MikeMelbourne. http://forum.xda-developers.com/showpost.php?p=9780217&postcount=7
Click to expand...
Click to collapse
I understand the hex edit - would you mind telling me how you did the --strip-debug - I'd like to do the same.
They were compiled on a headless PII 400 MHz running Ubuntu Edgy Eft server.
-Mike-
You just need to have the android ndk, which I supposed you have since you have bee able to compile the kernel. So just run
Code:
/path/to/android-ndk-r4b/build/prebuilt/linux-x86/arm-eabi-4.4.0/bin/arm-eabi-strip --strip-debug /path/to/cifs.ko
you have to modify the path to cifs.ko a and android-ndk-r4b
I have bee trying to compile the kernel my self on kubuntu, but always finished with an error, so I just ended up hexediting other files.
Thanks for your files. I have been waiting for a working samba mount to stream my videos from NAS!!
keemyb said:
Thanks for this, it works fine when I insmodded all the .ko's you zipped (that I placed in system/lib/modules/). On reboot though I cannot use cifs manager unless I insmod again. Do I need to insmod everytime i reboot?
Sent from my Desire HD
Click to expand...
Click to collapse
I am afraid it has to be insmoded every time on boot. You can automate it with Gscript or Tasker apps.
Thanks @Nxtwrld for the strip-debug advice. The HTC kernel never compiled with my phone's config.gz - after each failed compile I would have to edit .config and disable the item responsible for the build failure. I ended up compiling the module by itself.
Sent from my Desire HD using XDA App
Final compile - optimised versions against NDK R5.
Against the new Android NDK R5 I have just compiled:
* tun.ko - 18 KB
* slow-work.ko - 16 KB
* cifs.ko - 269 KB
* nls_utf8.ko - 4 KB
I have also debug stripped them - resulting in a total module size of 304 KB instead of 3.2 MB.
This time I compiled them on Ubuntu 10.10 instead of the ancient Ubuntu 6.10 I had been compiling on.
Again, these are for 2.6.32.21-g66cfb7a - feel free to hex edit them. I have tested both tun & cifs and they work.
Thanks again nxtwrld for the strip-debug advice.
Can you do the same for kernel 2.6.32.21-g3d0aaf ?
here you go.
thank you! Works very good!
nxtwrld said:
here you go.
Click to expand...
Click to collapse
Sent from my Desire HD using XDA App
I've tried for hours so far to understand more about the android and how to install the files inside 2.6.32.21-gf3f553d.zip.
I have the Desire HD with stock Orange rom and that kernel, i literaly have no idea how to install thease moduals onto the phone.
My desire hd is rooted and is S-on I've tried things like Kernel Update Utility and also just trying to simply copy and paste the files into system/lib/modules didnt work since astro didnt let me paste.
If it wasnt nearly 1am and i wasn't trying for the past 3 hours i would have done more reading. I know its something simple im missing, just can't figure out what the process is to installing thease modules is. First Android phone, first day with it as you can probebly tell.
Any help will be apreciated.
Thanks
arielc said:
I've tried for hours so far to understand more about the android and how to install the files inside 2.6.32.21-gf3f553d.zip.
I have the Desire HD with stock Orange rom and that kernel, i literaly have no idea how to install thease moduals onto the phone.
My desire hd is rooted and is S-on I've tried things like Kernel Update Utility and also just trying to simply copy and paste the files into system/lib/modules didnt work since astro didnt let me paste.
Click to expand...
Click to collapse
There's a free app in the market called "mount /system (rw / ro)" that can make your /system read-write (rw) or read-only (ro). After setting rw - you should be able to copy the *.ko files into /system/lib/modules.
Another alternative is to copy the *.ko files onto your sdcard (/mnt/sdcard).
You can then use an app (i.e. "Terminal Emulator") to enter these commands:
Code:
su
insmod /mnt/sdcard/slow-work.ko
insmod /mnt/sdcard/cifs.ko
insmod /mnt/sdcard/nls_utf8.ko
Alternatively, you can open CifsManager, open the Settings and specify a custom path to your kernel modules (i.e. in /mnt/sdcard). The recent version allows you to specify multiple modules, separated by colons. e.g:
Code:
/mnt/sdcard/slow-work.ko:/mnt/sdcard/cifs.ko:/mnt/sdcard/nls_utf8.ko
Hope this helps.
You should also check you kernel version and verify, that you are really running pin this kernel. I have no idea what the kernel for Orange branding is....
Amazing thanks, i did it with the terminal emulator method. First time i tried it, it wouldnt work. A restart later and i've rentered the comands and my computer drive is mounted. Works like a dream, thanks loads for th hex edited files and the walkthrough with diffrent options was so very helpful.

.config for android 2.3.3 nexus S

Hi, i am trying to compile tun.ko and cifs.ko for my stock android kernel.
i have trouble getting the .config.gz from the phone as its nolonger available.
can someone share a workable .config.gz with me? i will share the tun.ko and cifs.ko if i am successful in creating it.
this is for stock kernel 2.3.3
i just need a similar .config of 2.3.3 from the custom rom community.
thanks. (i am new to this custom rom and i am trying hard to learn)
Just do a 'make herring_defconfig' and voila!
P
paulobrien said:
Just do a 'make herring_defconfig' and voila!
P
Click to expand...
Click to collapse
hi, i've tried "make msm_defconfig" and make "defconfig", but not working.
will defo try your suggestion.
thanks.
qwerp_ said:
hi, i've tried "make msm_defconfig" and make "defconfig", but not working.
will defo try your suggestion.
thanks.
Click to expand...
Click to collapse
Yeah, you need the herring one.
P
hi, i manage to create tun.ko and working for stock 2.3.3
but however i am still getting error on cifs.ko.
based on my understanding, i am missing out some pre-requisit for the module.
what other settings do i need to add to/remove from .config to make a workable cifs.ko?
thanks.
this is the tun.ko that i manage to complie for stock android 2.3.3 nexus s.
the MD5 of the tun.ko is
e2859858eb1e5d8ab1e69d1d9ffc4594 tun.ko
to whoever who wants it.
similar trouble for me...
trying to compile cifs/nls_utf8 for stock 2.3.3, too
I followed the steps like:
make herring_defconfig
make menuconfig (check cifs & nls_utf8 options)
make modules_prepare
make M=fs/cifs
make M=fs/nls
adb push fs/cifs/cifs.ko ...
adb push fs/nls/nls_utf8.ko ...
adb shell
$su
#insmod cifs.ko
#insmod nls_utf8.ko
and this is what I got....
insmod: init_module 'cifs.ko' failed (Exec format error)
insmod: init_module 'nls_utf8.ko' failed (Exec format error)
really need help. thanks.
p.s.
my environment includes:
. android.git.kernel.org/kernel/samsung.git
. ubuntu-10.10-desktop-i386.iso
. arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu
success finally.
here is the attached file
slow-work.ko
cifs.ko
nls_utf8.ko
the catch is that cifs.ko requires slow-work.ko as a dependency.
so,
insmod slow-work.ko
insmod cifs.ko
insmod nls_utf8.ko
and volia..
thanks for all for the help.
this is for stock android build
2.6.35.7-g1d030a7 only.
wonderful~~ it does works!
could you introduce your operation?
I wanna know how I screwed it up
withinsea said:
wonderful~~ it does works!
could you introduce your operation?
I wanna know how I screwed it up
Click to expand...
Click to collapse
you will need to compile slow-work as module.
i found the guide somewhere on the xda forums under galaxy tab. there is a post where it shows you whats need to be done.
as i say before. cifs is dependent on slow-work.
without slow-work, it will complaint during init that file is not found.

A500 v3.2 stock (2.6.36.3+) kernel modules

/*Update Nov 09 2011: Added cryptoloop.ko */Update
/*Update Nov 02 2011: Added option.ko for some usb 3G modems and asix.ko for usb ethernet adapters that uses Asix AX88772 chipset */Update
*/Update Oct 12 2011: NTFS support comes standard with the 3.2's kernel, so I removed ntfs.ko module. */Update
Since I could not find all the modules I needed, and did not want to bug devs any more, I decided to bite the bullet and compile myself.
These are for the plain 3.2 kernel, which is 2.6.36.3+
I compiled the following modules, which are all in the same 7zip file:
Network:
tun.ko #for openvpn
option.ko #for some 3G modems
asix.ko #for usb ethernet adapters that uses Asix AX88x72 chipset​
Filesystem:
cifs.ko #windows shares
nfs.ko #unix/linux shares
isofs.ko #cd iso images
udf.ko #cd udf images​
USB to serial converter:
ftdio_sio.ko #ftdi usb2serial converters. Prolific chipset is already in the kernel so I did not compile that.​
I have tested these under the stock 3.2 with root rom, the one in http://forum.xda-developers.com/showthread.php?t=1290318 and they load fine without errors on dmesg.
Enjoy.
Let me know if you need any other modules and I will try to compile them.
I have a request I have looked around and have not been able to find this module anywhere. It is the joydev module that supports many gamepads, joysticks and even some racing wheels. The source is available and even some modules for other devices but nothing for any tegra devices. I have a transformer myself but being the same hardware the module should work on either device. I have included the list of devices that are supported by the driver and the source for the driver. Any help would be greatly appreciated.
Supported devices:
http://atrey.karlin.mff.cuni.cz/~vojtech/input/hardware.html
Source:
https://github.com/netarchy/android_kernel_TF101/blob/master/drivers/input/joydev.c
This is kind of beyond my skillset as I do not know how to patch the kernel tree so that this driver shows on the menuconfig. Sorry.
Could you please build usb_wwan.ko and option.ko for 2.6.36.3+ ?
VicDeo said:
Could you please build usb_wwan.ko and option.ko for 2.6.36.3+ ?
Click to expand...
Click to collapse
usb_wwan seems to be statically compiled into the kernel already (USB driver for GSM and CDMA modems), so there isn't any module but it is always there in the kernel.
I am going to update the original post for the option.ko shortly.
Getting some errors on some of these. Anyone else having issues?
Tried these from both /system/lib/modules and sdcard.
option.ko:
Code:
insmod: init_module '/sdcard/modules/option.ko' failed (Invalid argument)
nfs.ko:
Code:
insmod: init_module '/sdcard/modules/nfs.ko' failed (No such file or directory)
Triple checked that the nfs.ko file was there and named correctly.
Following modules have installed fine.
asix, ftdi_sio, and cifs
I've just checked those two on my a500. It seems like option.ko is statically linked into the kernel, because on dmesg it says "option: module is already loaded". If I am guessing it correct (e.g. driver is statically linked in the kernel) than it means you don't need the .ko at all.
For the nfs, it throws bunch of "unknown symbol" errors on dmesg, I am guessing it cannot read symbols from the kernel. If that's the case, it would need a new kernel with a modified makefile, which is beyond my abilities unfortunately.
How to make the system load the module automatically when boot up? Thanks
mcmugchu said:
How to make the system load the module automatically when boot up? Thanks
Click to expand...
Click to collapse
That I don't know, I manually load them whenever I need.
mcmugchu said:
How to make the system load the module automatically when boot up? Thanks
Click to expand...
Click to collapse
You need system/etc/init.d folder with modules file.
I posted a patch for testing here is link maybe it works , flash with cwm.
Based on this thread. so all credits go to OP.
http://www38.zippyshare.com/v/75708872/file.html
Hi does anybody know if these support netbios name, i can't download and try right now. I've only found modules that works with the ip but not the name. Not practical when moving a lot.
Thanks
Hi,
I am using the same kernel 2.6.36.3+ and I'd like to have please:
eeprom_93cx6.ko, mac80211.ko, rtl8187.ko
Thank you in advance and if you can provide a tutorial that would be awesome!
Thanks!!
Good jobs.
but the modules don't work on Sumsung P7500 tablet,(Kernel 2.6.36.4)
htt p:// droidbasement.com /db-blog/?p=2395
10.1 3G, Touchwiz UX (HC 3.1 (stock); GT-P7500):
boot-cm_2636.4_p4_ux-oc-xtra-vfpv3-d16_fp-112011.zip
insmod isofs.ko, I got a error message" Exec format error"
Can you compile them for this kernal version? Thanks!
I need isofs.ko,udf.ko to support DVD image files.

[Q] Error mounting CIFS shares on N4 CM10.1

Hi folks
My issue that I cannot seem to resolve is one of CIFS share mounting. I have trawled the XDA forums, google, and many many other android sites with no luck.
Current state
Nexus 4
CyanogenMod 10.1 RC4 (but have been running nightlies and RCs almost since release)
Latest version of CifsManager
Folders created:
/mnt/cifs/*
Where * is various folder names matched to my CIFS shares being served from an OpenMediaVault storage PC.
My understanding is that CM10.1 has CIFS support built into the kernel, as there are no cifs modules in the usual places one would expect to find them.
No matter what I try in CifsManager, the mount fails with:
Code:
Mounting the share has failed with an error. mount: Invalid argument
I thought this may be an issue with CifsManager, so I hopped into the shell to see what I could find. I am no *nix guru, but am comfortable (mostly) in the commandline.
I fired up ADB, connected the device and entered an ADB shell with root access via su.
I issued a BUNCH of different mount commands, with no luck, some of which were:
Code:
mount -t cifs //192.168.1.3/share1 /mnt/cifs/share1
mount -o username=<username> -t cifs //192.168.1.3/share1 /mnt/cifs/share1
mount -o username=<username>,password=<password> -t cifs //192.168.1.3/share1 /mnt/cifs/share1
I tried variations of these with the options after the type and vice versa, and with one/both of those after the device/mount point pieces.
All consistently gave the same error as CifsManager:
Code:
mount: Invalid argument
I even tried using
Code:
-t smbfs
and get the following error:
Code:
mount: No such device
The only additional note I could find that I thought worth mentioning is this entry in dmesg:
Code:
<3>[14314.292444] CIFS VFS: Connecting to DFS root not implemented yet
At this point I am officially out of ideas and operating beyond my capabilities so if you have any suggestions or advice, please let me know what additional information I can provide here.
I should note that I have two Xoom's and an SGS2 all of which mount these shares fine. The Xooms are running EOS4 and the SGS2 was also running CM10.x - interestingly both of these ROMS had cifs modules rather than having them built into the kernel.
Thanks in advance.
/system/xbin/mount (soft-linked to busybox) rather than /system/bin/mount (linked to toolbox) works for me. I'm not sure that it's entirely safe to point the link in "bin" to busybox (which is necessary if you're using CifsManager as it has no option to set a path to "mount"), but everything seems to be alright, except that the busybox'es "mount" refuses to remount root read-write sometimes, and you need to specify a different dir for CifsManager (e.g. /data/cifs instead of /mnt/cifs).
[SOLVED]
OK,
so with a bit of luck, I seem to have got to the bottom of this.
Within CifsManager, the following configuration for a share works:
Share Path
<IP address>/<share>
Mount Point
/mnt/cifs/<share>
Username
<username>
Password
Leave blank - if this is populated, it causes the "Invalid argument" error when mounting the CIFS share.
Options
Code:
unc=\\\\<IP address>\\<share>,pass=<password>
Now that I have it working, I remember reading on a post long time ago, that if the CIFS module is built into the kernel it required the unc= option to work.
Would it be worth getting in touch with the CifsManager devs and logging this as a bug do you think?
[keywords]
How to mount a cifs share on Google Nexus 4 with CifsManager and CyanogenMod 10
Does it still works? I am using CM 10.1 nightly based on Android 4.2.2 and I am unable to make it work.
Do you use a kernel other than CM default?
Why do i want to mount cifs? Any specific reason?
Sent from my Nexus 4
kewlfais said:
Why do i want to mount cifs? Any specific reason?
Sent from my Nexus 4
Click to expand...
Click to collapse
I want to conect to my samba share over wifi. I'd prefer to mount them because, If I can mount them, I am free to use all programs/file explorers etc. to browse files/watch movies etc.
Well basically nexus talks only on mtp protocol.
U have options of connecting ur device via ssh by installing ssh server on phone but for me it wss slow so i dropped that.
Even there is a app name software data cable which connects via ftp.
Sent from my Nexus 4
---------- Post added at 02:08 AM ---------- Previous post was at 02:07 AM ----------
Or use airdroid that is also good app
Sent from my Nexus 4
gergefil said:
Does it still works? I am using CM 10.1 nightly based on Android 4.2.2 and I am unable to make it work.
Do you use a kernel other than CM default?
Click to expand...
Click to collapse
Hi
yes this still works. Please note my original post got screwed up by the forums - it removed some of the \'s. I have fixed this now in the original post, but by explanation there should be double the number of normal \'s in the UNC path (as escape characters I guess) so \ \ \ \ unc \ \ path
I do not use any custom kernel, just what is in the standard nightly CM builds (I also update to most nightlies..)
I hope this is clear
Swaziboy said:
Hi
yes this still works. Please note my original post got screwed up by the forums - it removed some of the \'s. I have fixed this now in the original post, but by explanation there should be double the number of normal \'s in the UNC path (as escape characters I guess) so \ \ \ \ unc \ \ path
I do not use any custom kernel, just what is in the standard nightly CM builds (I also update to most nightlies..)
I hope this is clear
Click to expand...
Click to collapse
I am now able to make it work. Thanks.
Hey Swaziboy,
I have one more question:
Did you try to mount cifs share anywhere other than /mnt/cifs/SHARE
I want all applications to see my share, so I try to mount them into /mnt/sdcard/SHARE When I mount it to /mnt/cifs/ everything is perfect. However when I try to mount it into /mnt/sdcard/SHARE, cifs manager says it is mounted, however I can't see it on mount list and, it is not mounted at all.
Do you have any idea/suggestions?

Categories

Resources