[HELP] Compiling RTL8187 Driver - Gen8, Gen9, Gen10 Q&A, Help & Troubleshooting

I'm trying to compile the rtl8187 kernel module for my archos 101 g9, I've pulled the archos-gpl-gen9-kernel-ics git repository and I've used the android-ndk r8 to compile the modules. Everything looks perfectly fine (the vermagic is matching the other modules "3.0.8+ SMP preempt mod_unload ARMv7" no issues there) except when I try to insmod the eeprom_93cx6.ko (This module needs to be loaded before the rtl8187.ko) I get told in dmesg "eeprom_93cx6: unknown relocation: 27"
After googling around it hasn't really helped me any.
So hopefully you guys can help me out. Any ideas of whats causing the above error?

mcd1992 said:
Sorry if this should go in the other gen9 section of this forum, wan't really sure. Feel free to move it mods.
I'm trying to compile the rtl8187 kernel module for my archos 101 g9, I've pulled the archos-gpl-gen9-kernel-ics git repository and I've used the android-ndk r8 to compile the modules. Everything looks perfectly fine (the vermagic is matching the other modules "3.0.8+ SMP preempt mod_unload ARMv7" no issues there) except when I try to insmod the eeprom_93cx6 (This module needs to be loaded before the rtl8187.ko) I get told in dmesg "eeprom_93cx6: unknown relocation: 27"
After googling around it hasn't really helped me any. (Not sure what R_ARM_PLT32 and all that is)
So hopefully you guys can help me out. Any ideas of how to my realtek wifi dongle working?
Click to expand...
Click to collapse
Hi !
You can try to update :
sudo apt-get install build-essential
sudo apt-get install libssl-dev
...and now recompile the module ....and also you need to take a look at Module.symvers - look into it an see if export symbols !

surdu_petru said:
Hi !
You can try to update :
sudo apt-get install build-essential
sudo apt-get install libssl-dev
...and now recompile the module ....and also you need to take a look at Module.symvers - look into it an see if export symbols !
Click to expand...
Click to collapse
Thanks for replying.
I'm using the latest build-utils and libssl for my os and inside my Module.symver the modules does appear.
Code:
0x00000000 eeprom_93cx6_read drivers/misc/eeprom/eeprom_93cx6 (unknown)
0x00000000 eeprom_93cx6_multiread drivers/misc/eeprom/eeprom_93cx6 (unknown)

mcd1992 said:
Thanks for replying.
I'm using the latest build-utils and libssl for my os and inside my Module.symver the modules does appear.
Code:
0x00000000 eeprom_93cx6_read drivers/misc/eeprom/eeprom_93cx6 (unknown)
0x00000000 eeprom_93cx6_multiread drivers/misc/eeprom/eeprom_93cx6 (unknown)
Click to expand...
Click to collapse
Ok !
Seem to be good ! If you want I can try to compile for you ...but I need your source module ...I will take a look tomorrow if you upload it !

Digging deeper into google I actually found a solution, adding -fno-pic to the compiler flags stops the error.
Original post by the_zuck
EDIT:
Yesssssss, Originally inserting the realtek dongle was causing a backtrace to appear in the dmesg but unloading the built-in modules (compat, wl12xx*, mac80211, and then cfg80211) and then loading my compiled modules (cfg80211, lib80211, mac80211, eeprom_93cx6, and then rtl8187) has resulted in success
So finally got my tablet where I want it, arch linux chroot with aircrack-ng / kismet running on it nicely with my alfa dongle. Thanks for trying to help me solve my issue at least surdu_petru
Compiled Modules tested and working on surdu_petru's 4.0.7 rooted rom.

mcd1992 said:
Digging deeper into google I actually found a solution, adding -fno-pic to the compiler flags stops the error.
Original post by the_zuck
EDIT:
Yesssssss, Originally inserting the realtek dongle was causing a backtrace to appear in the dmesg but unloading the built-in modules (compat, wl12xx*, mac80211, and then cfg80211) and then loading my compiled modules (cfg80211, lib80211, mac80211, eeprom_93cx6, and then rtl8187) has resulted in success
So finally got my tablet where I want it, arch linux chroot with aircrack-ng / kismet running on it nicely with my alfa dongle. Thanks for trying to help me solve my issue at least surdu_petru
Compiled Modules tested and working on surdu_petru's 4.0.7 rooted rom.
Click to expand...
Click to collapse
Im trying to compile the rtl8187 driver for my s3 - could you point me in the right directions to try and compile it. My s3 is rooted running a custom kernel. Thanks.

mcd1992 said:
Digging deeper into google I actually found a solution, adding -fno-pic to the compiler flags stops the error.
Original post by the_zuck
EDIT:
Yesssssss, Originally inserting the realtek dongle was causing a backtrace to appear in the dmesg but unloading the built-in modules (compat, wl12xx*, mac80211, and then cfg80211) and then loading my compiled modules (cfg80211, lib80211, mac80211, eeprom_93cx6, and then rtl8187) has resulted in success
So finally got my tablet where I want it, arch linux chroot with aircrack-ng / kismet running on it nicely with my alfa dongle. Thanks for trying to help me solve my issue at least surdu_petru
Compiled Modules tested and working on surdu_petru's 4.0.7 rooted rom.
Click to expand...
Click to collapse
I was trying to download the rtl8187 for my device that you posted and the link is bad. Any chance I can get it from you? Im trying to get an 8187.ko to work on my MK808 TV Stick and the rtl8187.ko that I have is giving me an "exec format error" when I insmod.

Related

[Q] Need help with compiling modules for Dell Streak Froyo stock kernel

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 opensource.dell.com) which is also Froyo, i think, and is closest to my kernel version (318).
Got toolchains from codesourcery.com
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:
Code:
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:
Code:
insmod: init_module 'cifs.ko' failed (no such file or directory)
dmesg provided following errors:
Code:
cifs: Unknown symbol slow_work_register_user
cifs: Unknown symbol slow_work_enqueue
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:
Code:
insmod: init_module 'slow-work.ko' failed (no such file or directory)
dmesg provided following message:
Code:
slow_work: module licese "unspecified" taints kernel
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.
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.
CIFS and Slow worked - compiled
I was able to successfully compile both the slow work module and the CIFS module for the most recent 4G EVO. Took me a couple of days, but I think I could walk you through the specifics fairly easily. Let me know if you want the details.
of course I do!
please write your way.
Sent from my Dell Streak using XDA Premium App
dmandic, did you ever get this working? I went through similar pains doing this for the xperia arc, and did manage to get it working. I have some thoughts about your situation if you want to discuss further.
please, any help is appreciated.
i'm open to any kind of suggestions.
write your thoughts here.
Sent from my Dell Streak using XDA Premium App
Hmm. I originally stumbled upon this thread because I was searching for others who compiled a cifs.ko against a kernel with version "2.6.32.9-perf" (from the android about phone menu), hoping to avoid going through figuring out how to do this. I saw that others with the Dell Streak also had this kernel, and then I found your thread.
Anyway, I was thinking that maybe the kernel you got from the dell website had a slightly different version than your phone (because your phone is 3.18 vs 3.09), and that's why you're getting runtime symbol errors. I thought maybe there's a chance you needed exactly 2.6.32.9-perf and I could offer you mine. However, I downloaded the dell 3.09 kernel source and found that it's also 2.6.32.9-perf... so I guess that idea's out the window. (By the way, is this what your phone shows?)
Well just for kicks, I actually compiled slow-work and cifs from the dell kernel and loaded it on my xperia arc phone and they worked (was able to use CIFSManager).
It's a long shot but just in case there's something about the way you're compiling them, I attached them here - give it a try. [Edit: Duh, I forgot I need your .config file. Email it to me and I'll re-post these]
I tried out the Xperia files from the thread [DEV]TUN, CIFS modules files on my Streak 5. It did not go well, these are my messages from dmesg.
Code:
<4>[ 341.187030] tun: Unknown symbol dynamic_debug_enabled
<4>[ 341.190600] tun: Unknown symbol dynamic_debug_enabled2
<4>[ 341.219513] slow_work: module license 'unspecified' taints kernel.
<4>[ 341.220411] slow_work: Unknown symbol mutex_lock
<4>[ 341.638099] cifs: Unknown symbol mem_section
<4>[ 341.638397] cifs: Unknown symbol mutex_lock
<4>[ 341.641609] cifs: Unknown symbol slow_work_register_user
<4>[ 341.642835] cifs: Unknown symbol slow_work_enqueue
Looks like the kernel is differently compiled and or still some modules missing.
I noticed that in another thread Samba/CIFS for Motorola defy froyo nls_utf8.ko also has been required, however I do not have the 2.6.32.9-perf version of this to try it out.
How has the progression been for you guys?

[FIX] [DRIVER] Kernel Module Pack V4

Here is kernel module pack version 4.
The modules should load without any problems.
If you need more drivers, PM me the module name or the .config changes.
Installing:
Create a directory /data/local/modules and copy the *.ko files to /data/local/modules via your method of choice (e.g., Root Explorer)
Fix for hangs/stalls/lags, because of background disk I/O
Code:
su
cd /data/local/modules
insmod cfq-iosched.ko
echo cfq >/sys/block/mmcblk0/queue/scheduler
Modules for some Logitech Joysticks:
Code:
su
cd /data/local/modules
insmod ff-memless.ko
insmod hid-logitech.ko
Modules for IPSec VPN support:
Code:
su
cd /data/local/modules
insmod tun.ko
insmod ah4.ko
insmod xfrm_user.ko
insmod xfrm4_mode_tunnel.ko
Modules included are:
Code:
adi.ko
ah4.ko
cifs.ko
cfq-iosched.ko
deadline-iosched.ko
ff-memless.ko
gameport.ko
hid-logitech.ko
iforce.ko
ipip.ko
md4.ko
tun.ko
xfrm4_mode_tunnel.ko
xfrm_user.ko
The file config.txt in the zip archive is the actual .config used.
Howto build them?
Install chroot Ubuntu or any other distribution on your Prime.
chroot to the distribution
wget the kernel source from Asus
$ mkdir linux; cd linux
unpack the kernel source here
modify Makefile, Find the CFLAGS_MODULE line, add -fno-pic this flag to the end of the line: CFLAGS_MODULE = -fno-pic
$ zcat /proc/config.gz > .config
$ make oldconfig
modify .config or use "make menuconfig"
$ make -j5 modules
$ make modules_install
$ depmod -a
$ find /lib/modules/$(uname -r) -name '*.ko'
Module description:
+CONFIG_INET_XFRM_MODE_TUNNEL=m
+CONFIG_XFRM_USER=m
Support for IPsec user configuration interface used by native Linux tools.
Module: xfrm4_mode_tunnel.ko xfrm_user.ko
+CONFIG_NET_IPIP=m
IP tunneling
http://cateee.net/lkddb/web-lkddb/NET_IPIP.html
Module: ipip.ko
+CONFIG_INET_AH=m
Support for IPsec AH.
Module: ah4.ko
+CONFIG_TUN=m
http://cateee.net/lkddb/web-lkddb/TUN.html
TUN/TAP provides packet reception and transmission for user space programs. It can be viewed as a simple Point-to-Point or Ethernet device, which instead of receiving packets from a physical media, receives them from user space program and instead of sending packets via physical media writes them to the user space program.
+CONFIG_HID_LOGITECH=m
+CONFIG_INPUT_FF_MEMLESS=m
Modules for Logitech FF pads, wheels, joysticks
Module: ff-memless.ko hid-logitech.ko
+CONFIG_GAMEPORT=m
+CONFIG_JOYSTICK_ADI=m
Logitech ADI digital joysticks and gamepads
Might not be needed on the prime, because there is no gameport
Module: gameport.ko adi.ko
+CONFIG_JOYSTICK_IFORCE=m
http://cateee.net/lkddb/web-lkddb/JOYSTICK_IFORCE.html
vendor: 044f ("ThrustMaster, Inc."), product: a01c
vendor: 046d ("Logitech, Inc."), product: c281 ("WingMan Force")
vendor: 046d ("Logitech, Inc."), product: c291 ("WingMan Formula Force")
vendor: 05ef ("AVB, Inc. [anko?]"), product: 020a ("Top Shot Pegasus Joystick")
vendor: 05ef ("AVB, Inc. [anko?]"), product: 8884 ("Mag Turbo Force Wheel")
vendor: 05ef ("AVB, Inc. [anko?]"), product: 8888 ("Top Shot Force Feedback Racing Wheel")
vendor: 061c ("Act Labs, Ltd"), product: c084
vendor: 061c ("Act Labs, Ltd"), product: c0a4
vendor: 06f8 ("Guillemot Corp."), product: 0001
vendor: 06f8 ("Guillemot Corp."), product: 0003
vendor: 06f8 ("Guillemot Corp."), product: 0004
vendor: 06f8 ("Guillemot Corp."), product: a302
Module: iforce.ko
+CONFIG_CIFS=m
+CONFIG_CRYPTO_MD4=m
This is the client VFS module for the Common Internet File System (CIFS) protocol which is the successor to the Server Message Block (SMB) protocol, the native file sharing mechanism for most early PC operating systems. The CIFS protocol is fully supported by file servers such as Windows 2000 (including Windows 2003, NT 4 and Windows XP) as well by Samba (which provides excellent CIFS server support for Linux and many other operating systems). Limited support for OS/2 and Windows ME and similar servers is provided as well.
Module: cifs.ko md4.ko
ChangeLog:
v4:
cfq-iosched.ko
deadline-iosched.ko
v3:
added cifs.ko
v2:
stripped the modules from the debug symbols, package is much smaller now
Version 2 now a lot smaller, because the debugging symbols have been removed.
added cifs.ko
Could you attach the .config you're using?
Thanks
curreyr said:
Could you attach the .config you're using?
Thanks
Click to expand...
Click to collapse
It's in the zip-file ... "config.txt"
Any list as to what each of these new driver modules included goes with? are these like controller drivers or different/new USB drivers not included on stock prime. just trying to find out what each of them go to.
kind of surprised to see:
# CONFIG_CRYPTO_DEV_TEGRA_AES is not set
My initial looking indicates that unless that's baked in, android might not make use of it
I'll research a bit more tho.
Should be useful when we can get custom ROMs in the oven!
demandarin said:
Any list as to what each of these new driver modules included goes with? are these like controller drivers or different/new USB drivers not included on stock prime. just trying to find out what each of them go to.
Click to expand...
Click to collapse
Added some more information about the modules, what I could find quickly..
Did you explicitly use the NDK to cross-compile? Or did the package from Asus just work?
Noxious Ninja said:
Did you explicitly use the NDK to cross-compile? Or did the package from Asus just work?
Click to expand...
Click to collapse
The package from Asus just works for the modules at least.
Noxious Ninja said:
Did you explicitly use the NDK to cross-compile? Or did the package from Asus just work?
Click to expand...
Click to collapse
Oh, and I didn't cross compile... I compiled natively on the Prime in a chrooted Ubuntu.
saturn_de said:
Oh, and I didn't cross compile... I compiled natively on the Prime in a chrooted Ubuntu.
Click to expand...
Click to collapse
Since Asus had only release .7 kernel version, I assume this would not be with source from latest ota.
I plan to try it on .11ota. Have anyone successfully use it on latest ota?
Thanks.
warmRLS1+Anthrax
saturn_de said:
Oh, and I didn't cross compile... I compiled natively on the Prime in a chrooted Ubuntu.
Click to expand...
Click to collapse
Oh, cool. I didn't even think to try that.
Noxious Ninja said:
Oh, cool. I didn't even think to try that.
Click to expand...
Click to collapse
Yeah, you can "make modules_install; depmod -a" and afterwards you can "modprobe" any modules without thinking about the dependencies
huytrang90 said:
Since Asus had only release .7 kernel version, I assume this would not be with source from latest ota.
I plan to try it on .11ota. Have anyone successfully use it on latest ota?
Thanks.
warmRLS1+Anthrax
Click to expand...
Click to collapse
Well, it's kernel version 2.6.39.4 in all ICS Prime version so far.
saturn_de said:
Well, it's kernel version 2.6.39.4 in all ICS Prime version so far.
Click to expand...
Click to collapse
Yea the kernel is the same and the modules work fine for me on .11
This might not be the correct place for this and if so I apologize.
Is this thread about finding/compiling drivers for things so that they will work when plugged into the usb port on the keyboard dock? If so how would I go about making this usb headset work?
http://h10025.www1.hp.com/ewfrf/wc/...n&lc=en&product=4085832&task=prodinfoCategory
Again I am sorry if I have totally misunderstood the point of this thread. Thanks!
version 4 now with:
cfq-iosched.ko
deadline-iosched.ko
Fix for hangs/stalls/lags, because of background disk I/O
Code:
su
cd /data/local/modules
insmod cfq-iosched.ko
echo cfq >/sys/block/mmcblk0/queue/scheduler
Nico^APEX said:
This might not be the correct place for this and if so I apologize.
Is this thread about finding/compiling drivers for things so that they will work when plugged into the usb port on the keyboard dock? If so how would I go about making this usb headset work?
http://h10025.www1.hp.com/ewfrf/wc/...n&lc=en&product=4085832&task=prodinfoCategory
Again I am sorry if I have totally misunderstood the point of this thread. Thanks!
Click to expand...
Click to collapse
Ok, boot your PC/Laptop from a Linux Live CD or a locally installed Linux. Log in, start a terminal, plug in the headset and show me the output of:
# dmesg | tail -20
# lsusb
# lsmod

[Q] kernel modules for ICS, 2.6.39.4, error loading module

Hi there,
I would have posted this in /dev but you know...first post.
I was trying to apply these kernel modules: http://forum.xda-developers.com/showthread.php?t=1557868
but I'm getting the error "insmod: init_module '/system/lib/modules/cifs.ko' failed (Exec format error)", or if i use the busybox insmod i get the following error: "insmod: can't insert '/system/lib/modules/cifs.ko': invalid module format"
Are updated versions available for 2.6.39.4? I'm guessing the ones for 2.6.36.3 aren't inter-operable.
I haven't used the other bash-4.2.zip and config from the above link, is that necessary for this to work?
Thanks for any tips on getting these kernel modules working.
Thanks,
abactor
IRC channel
Is there an IRC channel that's in use for sony tablet S, by any chance?
compile module yourself?
You might be successful compiling the kernel modules yourself from the available source code and a crossplatform compiler on linux. It has worked for me for the tun module
Source code at sony.net, I cannot publish external links yet. But you can find the link e.g. in this thread at first page http://forum.xda-developers.com/showthread.php?t=1473621
The free Sourcery G++ Lite for ARM GNU Linux did a good job for me.
I don't know of any Tablet S IRC channels, but it would be cool if there was.
As for the modules, you do need to recompile it. Kernel modules (in practically every Linux flavour) are completely incompatible, even across minor revisions, but recompiling against the newest code and headers should yield the same result with a new module.
The Sony.net link walsera mentioned is (I believe) this one
Thanks guys,
I'll look into it. I've compiled c code for android under mingw, but I don't have a linux toolchain setup. Anyone try to compile these sorts of things on the device itself (I.e. not cross_compiled)? I just started playing around with a native android/arm gcc toolchain, but I was having linker issues I think, with crt0.o and libc and whatnot.
Thanks and take care,
Abactor
I've never tried it natively on the device, but there have been a couple of developments into native versions of gcc and whatnot, so that may be worth a look. You can always compile on your PC, then copy the ko over...
After mounting a debian chroot on the tablet and installing the needed tools, unpacking the kernel source, and copying over config.gz, and editing .config to build the needed modules then calling make modules everything seems to work. What's the best way to make them available and what modules do people need? I've done ntfs and tun so far.
Take care
A

MELE A1000 (Cortex A8) Kernel compiling - Modules

Hello,
I've recently bought a MELE A1000 [link], which currently has ICS and Linux kernel version 3.0.8.
But I've come across a problem; my Xbox 360 wired usb joystick isn't working with the MELE.
Research tells me that the module isn't compiled/included in the kernel [link]
This gives me two options, each with it's problems:
1- Re-compile the kernel, including the Xpad module:
I'd have to get the kernel source (either this "generic" kernel, or this Allwinner-specific kernel) then include it in the boot image, which is specific for the MELEA1000 link (check the first comment with the Chinese link to the official image)
Problems with this option
a) I don't know if the generic kernel will work with my device (Are there differences other than included modules?)
b) I can't compile the specific Allwinner kernel for some reason
c) Will the specific boot image work with a custom kernel? I think so.
2- Compile and include the module with insmod
I'd have to get the source of the ffmemless module [Source] and the xpad module [Source], compile them and do insmod to get them working.
Problems with this option
a) I can't seem to compile the modules in the correct version for my kernel (kernel 3.0.8+ #24 PREEMPT, armv71)
b) the precompiled modules I found were for 2.6*
Easiest scenario: compile modules + insmod.
Ideal scenario: get custom kernel, working + mod the rom (this is not within this thread's scope)
Could you give me any links, ideas or keywords to help me continue?
PS: I'm a programmer and I have previously modded/compiled kernels (from Debian's official repositories though)
Thanks
With information I've been reading I got up to this point:
Download the ARM kernel
git clone git://github.com/amery/linux-allwinner.git
Install the necessary libraries / binaries
apt-get install gcc-4.4-arm-linux-gnueabi build-essential u-boot-tools (if u-boot-tools not found, try uboot-mkimage)
Configure
make ARCH=arm sun4i_defconfig
make ARCH=arm xconfig
Check the following modules:
Input device support -> Support for memoryless force-feedback device
Input device support -> Joystick / gamepad
Input device support -> Joystick / gamepad -> X-box gamepad
Compile the modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j3 INSTALL_MOD_PATH=output modules
Then move the xpad.ko module to the MELE and run insmod xpad.ko, but I'm stuck with xpad: disagrees about version of symbol module_layout
I'm guessing this is a compile issue.
I've started a blog in which I'll try to document everything I do in the most detailed way I can.
Cheers
I think easier will be to get already compiled modules for A10 3.0.8+ from some firmware. I got cp210x.ko from "Aurora CM9 Nightly By Feiyu 0803.zip", successfully insmod-ed it into my device, and later added that insmod command to autorun with script manager app. I checked xpad module - it is in this firmware.

Compiling Kernel modules for z902

Okay so heres my problem.. Im currently trying to compile modules to add to my z902. i have the 3.0.8 kernel source used for the mele which uses the same allwinner a10 proccessor. I have done some looking around and found that in order for android to load the module it needs to be compiled with the correct vermagic as well.. i managed to get info from both a module already on the device and from the module i compiled.
My module retrieves the following info when using modinfo()...
filename: hid-sony.ko
license: GPL
alias: hid:b0003v0000054Cp0000024B
alias: hid:b0005v0000054Cp00000268
alias: hid:b0003v0000054Cp0000042F
alias: hid:b0003v0000054Cp00000268
depends:
vermagic: 3.0.8+ preempt mod_unload modversions ARMv7
the original im comparing to looks as follows...
filename: sun4i-keypad.ko
alias: platform:sw-keypad
license: GPL
author: Aaron.maoye<[email protected]>
description: SW keypad driver
depends:
vermagic: 3.0.8+ preempt mod_unload modversions ARMv7
this is what it took me a while to acheive. the problem is when trying to insert the module into linux using the insmod command i get this error..
insmod: init_module 'hid-sony.ko' failed (Exec format error)
afterwords i ran dmesg and noticed a line that looks as follows:
hid-sony: dissagrees about version of symbol module_layout
after doing this i read about a way to overlook the vermagic by using modprobe..
here i ran into another problem.. when executing modprobe as follows i recive this error..
#busybox modprobe hid-sony.ko
modprobe: chdir(/lib/modules): No such file or directory
after recieving this error i tried making the directory and typed in the same command..
it returned that modules.dep was not found..i looked into this file and it seems to be where linux stores all the initiated drivers.
I searched high and low and could not find this file anywhere on the system.
my question is.. What the hell am i doing wrong..? lol
I compiled the entire kernel first.. then i compiled the modules afterwords to a set location.
does the baseband version info have anything to do with this because i couldnt find any info on it..
the z902 has 1.2.3 as a baseband..? is it possible i may not have the correct kernel source..?
anyone who helps me solve this i will personally buy them a unit and set it up for them.. lol
BUMP
Bump.. please someone help... how can i make modules.dep without depmod in my busybox applets.. anyone know if i can update busybox within android or through linux. id really like to add support for some controllers and bluetooth dongles. im pretty sure the module is setup and compiled right. but its trying to install it in the wrong place. unless it matters that android is compiled within the kernel as well.. because the tutorial i read through didnt say it was neccisary. i belive it was aimed towards the mele a2000. but its an allwinner a10 with the same kernel. 3.0.8+.. the only thing in not sure of is the build number. the z902 shows a 1.2.3 build. and i have no clue what build number the mele a2000 uses.
prob a waste of time as nobody seems interested...
I managed to update busy box and add depmod to the list of applets. After doing so I tried mod probe and the module still won't load. Don't have the info on the error in front of me but it was something to the effect that it was not compatible with the kernel. Back to square one. Going to try compiling it with android over the weekend and give it another attempt. Need to find some kind of a work around for actual controllers for this thing. USB/bt joystick center would be a phenomenal upgrade for this device.

Categories

Resources