Jump to content

Need help with compiling modules for Dell Streak


Recommended Posts

Guest dmandic
Posted (edited)

Need help with compiling modules for Dell Streak kernel.

Because i could not find cifs.ko module for mounting network shares for Dell Streak stock Froyo 318, i decided to make it on my own.

I did not have any clue how can it be done, but with lot of googling and reading forum posts on xda and modaco, i got vague idea how i can do it.

There was lots of trial-and-error attempts until i learned how to use all comands and tools, and here is final list of things id did to make it:

Already had VMWare workstation with Ubuntu 10.10 instalation, i got Android Froyo source tree from net, replaced kernel with Dell Streak 3.09 kernel (from

http://opensource.dell.com/releases/streak/

) which is also Froyo, i think, and is closest to my kernel version (318).

Got toolchains from

http://www.codesourcery.com/sgpp/lite/arm/portal/release1592.

Extracted my phone config from /proc/config.gz, renamed to .config, uncommented and changed option for CONFIG_CIFS=m. Did same for tun.ko module which i did not need, but just for comparison. Placed .config file in kernel root.

Did comand:

make ARCH=arm CROSS_COMPILE=/path-to-toolchains/bin/arm-none-eabi- modules

after confirming some options (irellevant to this), and some compiling in terminal, all went ok without errors and did produce modules in fs/cifs and drivers/net

i also did some debugging to reduce filesize, bud also had tried module without debugging with same result (see below)

transferred modules to my phone in /system/lib/modules and tried to load them via insmod.

loaded tun.ko without problem (i dunno whteher is working because i have no means to try it and have no need for it). i compiled it just to see whether it will be loaded in phone kernel. it DID load without error messages.

when tried to load cifs.ko via insmod cifs.ko, got this error message:

insmod: init_module 'cifs.ko' failed (no such file or directory)

dmesg provided following errors:

cifs: Unknown symbol slow_work_register_user

cifs: Unknown symbol slow_work_enqueue[/codebox]

found in similar thread for Galaky Tab that i need to compile slow_work module and load it before because of that dependancies, Found another thread with instructions for compiling slow-work, followed them:

copied all slow-work files in cifs, Remove the calls to round_jiffies in fs/cifs/slow-work.c: round_jiffies(jiffies + SLOW_WORK_CULL_TIMEOUT)); changed to

jiffies + SLOW_WORK_CULL_TIMEOUT); AND round_jiffies(jiffies + SLOW_WORK_OOM_TIMEOUT)); TO jiffies + SLOW_WORK_OOM_TIMEOUT);

edited fs/cifs/Makefile and added slow-work.o to the obj-$(CONFIG_CIFS) += cifs.o line: obj-$(CONFIG_CIFS) += cifs.o slow-work.o.

Ran make command from above, got both modules (cifs.ko and slow-work.ko) in fs/cifs directory without errors.

Copied them to phone, done insmod and got error for slow-work:

[codebox]insmod: init_module 'slow-work.ko' failed (no such file or directory)

dmesg provided following message:

slow_work: Unknown symbol mutex_lock_nested

Now i'm clueless (like i haven't been all the time :-D).

All modules compiled without errors, tun.ko will load, cifs.ko apparently need slow-work to run, slow-work compiled, but can't load.

So, if somebody can help, or point me where is possible error, i will be very grateful.

Edited by dmandic
Guest Stephen Hyde
Posted

why dont you make menuconfig then choose cifs it should select everything it needs then

Guest dmandic
Posted
why dont you make menuconfig then choose cifs it should select everything it needs then

tried that also, but it's same I think like checking it manually in config

results was same.

how did you compile cifs.ko for your roms?

Guest dmandic
Posted

UPDATE:

Found references for missing slow_work modules in cifsfs.c and misc.c, deleted them and ran make

cifs: Unknown symbol slow_work_register_user

cifs: Unknown symbol slow_work_enqueue[/codebox]

produced cifs.ko without error

LOADED cifs in phone without error!!!! With lsmod it shows that module is loaded!

BUT, does not work! Cannot mount anything. When tried with cifsmanager or manually via terminal get error message "No such device" which points that there is no valid cifs.ko module in kernel.

So, module is produced and loaded in phone without errors, BUT DOES NOT WORK. It looks like Streak Froyo need slow-work module after all...

I'm desperate, please if somebody did compiling cifs.ko for Streak, or use cifs mounting with found module, share your thoughts and experiences.

Thanks everybody.

Guest Stephen Hyde
Posted

Email or pm me the stock kernel config ill see if I cn build kernel for ya

UPDATE:

Found references for missing slow_work modules in cifsfs.c and misc.c, deleted them and ran make

produced cifs.ko without error

LOADED cifs in phone without error!!!! With lsmod it shows that module is loaded!

BUT, does not work! Cannot mount anything. When tried with cifsmanager or manually via terminal get error message "No such device" which points that there is no valid cifs.ko module in kernel.

So, module is produced and loaded in phone without errors, BUT DOES NOT WORK. It looks like Streak Froyo need slow-work module after all...

I'm desperate, please if somebody did compiling cifs.ko for Streak, or use cifs mounting with found module, share your thoughts and experiences.

Thanks everybody.

Guest dmandic
Posted
Email or pm me the stock kernel config ill see if I cn build kernel for ya

Thanks Steve! You're a Man!

Config is on it way.

Guest HOkay
Posted
Thanks Steve! You're a Man!

Config is on it way.

You certainly are a man! Lols. Can you keep updating this thread, I'm new to all this kernel compiling stuff but really want to get involved in the community so stuff like this helps me catch up! Ty

Guest PeteBest
Posted

An updated kernel for StreakDroid 1.9.0 with CIFS support would be great!

Guest dmandic
Posted
An updated kernel for StreakDroid 1.9.0 with CIFS support would be great!

So, StreakDroid does not have cifs support?

Either inbuild or via modules (cifs.ko and if needed slow-work.ko)

Few people on forums seemed convinced that StreakDroid has cifs support, but i downloaded almost every one and didn't find cifs.ko module anywhere!

And none responded to my post regarding some cifs mounting experience (so i presume that nobody has none)

When speaking of kernel modules, I know that Steve did build tun.ko (me also), and it worked well as i can see.

And since Steve offered to try to compile cifs.ko, i suppose that he either didn't do it before for his own ROMs.

And i know that it will be great feature in future Streak ROMs, and a genuine impulse for undeceseive for custom ROMs (i konow it would definitely be for me!)

Hope we'll see results, i'm trying some more things, i can feel that i'm close, but i'm lacking linux experience to see where it might be an error.

So, anybody interested in cifs feature, and with some experience in linux/android please join effort and experience with us (i did document every thing i tried in posts before, so anybody can try to replicate or try something else), i think that we could make it.

Guest PeteBest
Posted

Hmm, I'll have to try StreakDroid again (it's a friend that has the streak) it didn't have CIFS support working at version 1.4.2 and I couldn't find anything in changelogs to say it had been added, but checking the kernel source code I can see it in the fs folder. Maybe it's been added but forgotten about...

Guest ashwincr
Posted

There is cifs support in streakdroid. I have cifs manager installed and can mount the shared drives on my network without issues

Guest dmandic
Posted
There is cifs support in streakdroid. I have cifs manager installed and can mount the shared drives on my network without issues

Thanks for response!

Which version of StreakDroid do you have?

Do you have cifs.ko module in system/lib/modules or is it cifs support inbuilt in kernel?

Did you try to play divx/mkv etc. video files from mounted shares? How did it perform?

  • 2 weeks later...
Guest -=Kable=-
Posted

Great thread. I just installed 10.10 the other day for this same reason.

Please keep us updated. Gonna read up online try to put something together this weekend or atleast try to learn how to.

Guest dmandic
Posted
Great thread. I just installed 10.10 the other day for this same reason.

Please keep us updated. Gonna read up online try to put something together this weekend or atleast try to learn how to.

unfortunately, i'm stucked.

i did everything i could think of, but got no (working) results. cifs.ko won't work on my firmware without slow_work.ko, and i cannot compile working slow_work.

Steve promised some help, i did sent him config files for my firmware, but i guess he is occupied with his new release and don't have time for this.

Some members stated that they have working cifs sharing on some roms, but failed to provide details and confirm it (i would gladly flash StreakDroid if i KNEW that i could mount shares and stream videos).

so, i exhausted all my ideas, if you manage to go step furder, please keep us informed in this or other thread.

thanks.

Guest PeteBest
Posted

Just to report back that streakdroid does indeed have CIFS support. The streak I tested it on still had version 1.4.2 and it mounted a share just fine and played a divx file via RockPlayer.

Happy days!

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.