[FIX] [DRIVER] Kernel Module Pack V4 - Asus Eee Pad Transformer Prime

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

Related

modinfo on Android

Hi, i need to know why modinfo isn't working on Android and if there is someother command that replaces it?
Thanks
You can try "insmod".
It needs the path the kernel module file as parameter. E.g.
insmod /path/to/module.ko
Trying to explore / understand installed modules
st_voss said:
You can try "insmod".
It needs the path the kernel module file as parameter. E.g.
insmod /path/to/module.ko
Click to expand...
Click to collapse
I have read that to understand all the drivers / modules installed on my Android device, I must look at everything in these two directories: /system/lib/modules and /sys/module
my device has no modules directory in the /system/lib directory.
in /sys/module, I have:
kernel
printk
wakelock
userwakelock
earlysuspend
spurious
omap3epfb
keyboard
vt
bridgedriver
scsi_mod
usbcore
musb_hdrc
omap_hdq
w1_bq27000
usbhid
binder
lowmemorykiller
snd
snd_timer
snd_pcm
snd_dummy
oprofile
tcp_cubic
rfkill
pvrsrvkm
omaplfb
bc_example
tiwlan_drv
None of these directories has any files ending in .ko? Using Root Explorer to search for *.ko, finds only these:
/etc/wifi/tiwlan_drv.ko
/system/bin/sgx/omaplfb.ko
/system/bin/sgx/pvrsrvkm.ko
Can someone help me figure out how to get the equivalent of modinfo details for these?
Thanks.
Environment info:
device runs Android 2.1 I use adbKonnect to connect wirelessly with my PC
PC is running XP

[ROM][WIP] Fedora for Nook Color

Just saw some interest for Fedora install on Nook in another thread to my surprise. I thought I am the only pervert interested.
Anyway this is pretty raw at the moment. You need to know your way around Linux and have a Linux box (naturally).
Just not to disappoint you later on, here's what not working:
Only based on Fedora13 from upstream (F14 work is ongoing by Fedora-Arm team and I am just tracking them).
Wifi (still did not get to look into it)
BT (same)
accelerated graphics
Don't know of any touch-friendly WM, so defaults to Gnome.
Multitouch (disabled in driver at the moment since no userspace support anyway).
backlight control does not work, need to rewrite the kernel driver
Xorg does not know what to do with accelerometer input.
Probably tons of other things I forgot about.
You must be out of your mind if you want to try it on a tablet at this stage. Or just super curious.
You will need a microSD (at least 2G) card that you can dedicate to this.
Instructions:
Get "base" fedora sdcard image: http://nook.handhelds.ru/fedora/fedora-sdcard-v0.1.img.gz
Get base Fedora 13 beta3 rootfs: http://lists.fedoraproject.org/pipermail/arm/2011-May/001271.html
Get kernel modules for the kernel: http://nook.handhelds.ru/fedora/modules-2.6.32.9-fc13.tar.bz2
Unzip the base sdcard image and write it to your sdcard with dd.
run fdisk on the sdcard and add another partition covering the rest of sdcard in addition to the one already there. Write changes
do mkfs.ext4 /dev/yoursdcard2 (basically format the second partition you just created as ext4)
mount the /dev/yoursdcard2 somewhere as root (/mnt/somewhere later on)
untar the F13-beta3 rootfs to the /mnt/somewhere
Now you are almost ready, just need to fill some configs.
Edit /mnt/somewhere/etc/sysconfig/network-scripts/ifcfg-usb0 and add this there:
Code:
DEVICE=usb0
#BOOTPROTO=dhcp
BROADCAST=192.168.2.255
IPADDR=192.168.2.2
NETMASK=192.168.2.0
NETWORK=192.168.2.0
GATEWAY=192.168.2.1
ONBOOT=yes
Edit /mnt/somewhere/etc/resolv.conf and change "nameserver" there to 8.8.8.8
Add multitouch config in /mnt/somewhere/etc/X11/xorg.conf.d/touchscreen.conf
Code:
Section "InputClass"
Identifier "touchscreen"
MatchIsTouchScreen "on"
MatchProduct "cyttsp-i2c"
Driver "mtev"
Option "SendCoreEvents" "On"
Option "SwapAxes" "true"
Option "InvertY" "true"
EndSection
cd /mnt/somewhere/lib/modules and untar the modules file there.
umount /mnt/somewhere
Ok, now you are ready to do some stuff on the nook.
Insert your sdcard into the nook and boot it. You'll see Fedora text console. The installation is pretty basic.
Plug the nook into your Linux PC usb port. It should see a new network device
On the linux PC as root execute: ifconfig usb0 192.168.2.1 netmask 255.255.255.0
Enable ip forwarding on your host if you have it disabled (typically in /etc/sysctl.conf, the setting is ...ip_forward, make it =1. Run sysctl -p for the changes to make effect.
Enable internet access to internet for your nook via IP masquerading: iptables -t nat -I POSTROUTING -s 192.168.2.2 -j MASQUERADE ; iptables -I FORWARD -s 192.168.2.2 -j ACCEPT ; iptables -I FORWARD -d 192.168.2.2 -j ACCEPT
Now use ssh to login to your Nook: slogin [email protected] the root password is "fedoraarm" (no quotes)
Once logged into the nook, time to install some packages.
rpm -Uvh http://hongkong.proximity.on.ca/yum/base/12/arm/fake-kernel-provides-1.0.0-0.fc12.armv5tel.rpm
update the system: yum update ; yum install tar openssh-clients
Install the gnome environment: yum groupinstall 'GNOME Desktop Environment' --skip-broken
The gnome installation will take a while and will download everything from the net.
Now install the multitouch Xorg driver, get it at http://nook.handhelds.ru./fedora/xf86-input-mtev-0.1.12-1.armv5tel.rpm
Ok. Now you are ready to go. Run "startx &" and the Gnome will start on the nook. You can play with it a bit, use your finger as the mouse pointer.
You can add startx & at the end of e.g. /etc/init.d/rc.local to make it start on system startup or you can do it in a more pretty way.
There are some virtual keyboards in the repo. I tried gko and it sucks.
the "onboard" seems to be the one working best for me. "xvkbd" is a bit hard to operate.
The best one of them all is fvkbd, but it needs libfakekey missing from the repo, grab it at http://arm.koji.fedoraproject.org/p...3/armv5tel/libfakekey-0.1-6.fc13.armv5tel.rpm
Enjoy.
Fedora-arm homepage: http://fedoraproject.org/wiki/Architectures/ARM
I intend to include all the missing pieces into the fedora repo so that you don't need to install all those extra things. Also eventually I plan to add more hardware support and then hopefully migrate to a much newer kernel.
Ha, cool. Glad to see that not everyone thinks that only Ubootoo should be thrown on devices. I'll give this a twiddle for fun.
13 had Moblin, I wonder if that's any better for touch input..
Now i don't feel near as silly for working on my gentoo install for the nook!
Nice, I am still waiting on OpenSuSe
Why not try using Gnome 3? I just poked around in Fedora 15 today and saw the new UI, and I loved it. Bigger buttons, launcher dock, etc. Give it a look!
pts69666 said:
Why not try using Gnome 3? I just poked around in Fedora 15 today and saw the new UI, and I loved it. Bigger buttons, launcher dock, etc. Give it a look!
Click to expand...
Click to collapse
Fedora15 is not available for arm arch yet. But there is some work in that direction. So sure, once it's available I'd give it a try.
Great stuff here. I knows its early development, but fun none the less to see what our nooks can do.
And thanks verygreen for all your developments lately
Sent from my NookColor using Tapatalk
verygreen said:
Fedora15 is not available for arm arch yet. But there is some work in that direction. So sure, once it's available I'd give it a try.
Click to expand...
Click to collapse
in fedora 13,
Code:
su
yum install gnome-shell
...
============================================================================================================
Package Arch Version Repository Size
============================================================================================================
Installing:
gnome-shell i686 2.28.0-3.fc12 fedora 301 k
Installing for dependencies:
gjs i686 0.4-1.fc12 fedora 126 k
mutter i686 2.28.0-2.fc12 fedora 1.2 M
Transaction Summary
============================================================================================================
Install 3 Package(s)
Upgrade 0 Package(s)
...
gnome-shell -replace
I haven't tested it myself; however, it is something I found. My linux hard drive had hard drive failure. So, I am on windows in the meantime. Will report back later after testing it myself.
pts69666 said:
in fedora 13,
Code:
su
yum install gnome-shell
...
============================================================================================================
Package Arch Version Repository Size
============================================================================================================
Installing:
gnome-shell i686 2.28.0-3.fc12 fedora 301 k
Installing for dependencies:
gjs i686 0.4-1.fc12 fedora 126 k
mutter i686 2.28.0-2.fc12 fedora 1.2 M
Transaction Summary
============================================================================================================
Install 3 Package(s)
Upgrade 0 Package(s)
...
gnome-shell -replace
I haven't tested it myself; however, it is something I found. My linux hard drive had hard drive failure. So, I am on windows in the meantime. Will report back later after testing it myself.
Click to expand...
Click to collapse
No "gnome-shell" package in Fedora-arm repo at this moment,
Quite excited to see some work in bringing Fedora to the Nook Color! I <3 Fedora.
I just wish ARM had the same support as the full Fedora. Or that they would skip releases for Fedora ARM and go yearly... aka, skip to 15 next, then 17.
Could this be used to help port Ubuntu Touch?
moocow1452 said:
Could this be used to help port Ubuntu Touch?
Click to expand...
Click to collapse
No, Ubuntu Touch is based on CM and has very little in common with a full Linux port.

[Q] Can any kernel developer help me?

I am trying to compile and insert the CFG80211.ko module
I have built an Ubuntu VM and installed the correct codesourcery cross compiler.
I have been able to build several modules which successfully insert. (ntfs, lib80211, all three lib80211_crypt modules, all three wusb modules, uwb, veth etc etc)
however the cfg80211.ko module always fails with invalid argument.
dmesg reports :-
Code:
[140146.246732] cfg80211: disagrees about version of symbol wireless_send_event
[140146.246751] cfg80211: Unknown symbol wireless_send_event (err -22)
cfg80211 depends on rfkill which is, as far as I cant tell, precompiled into the phone kernel.
the relevant section of the config file is as follows:-
Code:
#
# Bluetooth device drivers
#
# CONFIG_BT_HCIBTUSB is not set
# CONFIG_BT_HCIBTSDIO is not set
CONFIG_BT_HCIUART=y
CONFIG_BT_HCIUART_H4=y
# CONFIG_BT_HCIUART_BCSP is not set
# CONFIG_BT_HCIUART_LL is not set
# CONFIG_BT_HCIBCM203X is not set
# CONFIG_BT_HCIBPA10X is not set
# CONFIG_BT_HCIBFUSB is not set
# CONFIG_BT_HCIVHCI is not set
# CONFIG_BT_MRVL is not set
CONFIG_BT_HID=m
# CONFIG_AF_RXRPC is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
CONFIG_WIRELESS_COMPAT=m
CONFIG_CFG80211=m
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_REG_DEBUG is not set
# CONFIG_CFG80211_DEFAULT_PS is not set
# CONFIG_CFG80211_DEBUGFS is not set
# CONFIG_CFG80211_INTERNAL_REGDB is not set
CONFIG_CFG80211_WEXT=y
# CONFIG_WIRELESS_EXT_SYSFS is not set
CONFIG_LIB80211=m
CONFIG_LIB80211_CRYPT_WEP=m
CONFIG_LIB80211_CRYPT_CCMP=m
CONFIG_LIB80211_CRYPT_TKIP=m
# CONFIG_LIB80211_DEBUG is not set
CONFIG_MAC80211=m
CONFIG_MAC80211_HAS_RC=y
# CONFIG_MAC80211_RC_PID is not set
CONFIG_MAC80211_RC_MINSTREL=y
# CONFIG_MAC80211_RC_DEFAULT_PID is not set
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel"
# CONFIG_MAC80211_MESH is not set
# CONFIG_MAC80211_LEDS is not set
# CONFIG_MAC80211_DEBUGFS is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
# CONFIG_WIMAX is not set
CONFIG_RFKILL=y
CONFIG_RFKILL_PM=y
# CONFIG_RFKILL_INPUT is not set
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
#
# Device Drivers
#
Full .config file attached below.
I have tried converting RFKILL to a module, in order to enable CONFIG_RFKILL_INPUT to yes but the compile completely fails when this is set.
I have added WIRELESS_COMPAT details in the Kconfig file but this did not help and I am now lost as to how to troubleshoot this?
Anyone have any idea on what might be missing?
If you're able to compile the modules, you should be able to compile the kernel - do the modules insmod against the compiled kernel?
Entropy512 said:
If you're able to compile the modules, you should be able to compile the kernel - do the modules insmod against the compiled kernel?
Click to expand...
Click to collapse
Yes all the other modules I mentioned all insert fine the ones that I have compiled that dont insert have dependancies that all stem back to the cfg80211.ko that is giving me the messages in the first post.
from the documentation cfg80211 is dependant on RFKILL which is precompiled into the kernel.
Entropy512 said:
If you're able to compile the modules, you should be able to compile the kernel - do the modules insmod against the compiled kernel?
Click to expand...
Click to collapse
Ahhh rereading your post, I see what you mean, I haven't installed the built kernel (though I did do the full build) on the phone, not entirely sure how to package it and I haven't tried to look because I really dont want to install a full kernel on the phone.
In any case I have used the default samsung config to build from fro the correct kernel.
curioct said:
I am trying to compile and insert the CFG80211.ko module
I have built an Ubuntu VM and installed the correct codesourcery cross compiler.
I have been able to build several modules which successfully insert. (ntfs, lib80211, all three lib80211_crypt modules, all three wusb modules, uwb, veth etc etc)
however the cfg80211.ko module always fails with invalid argument.
dmesg reports :-
Code:
[140146.246732] cfg80211: disagrees about version of symbol wireless_send_event
[140146.246751] cfg80211: Unknown symbol wireless_send_event (err -22)
cfg80211 depends on rfkill which is, as far as I cant tell, precompiled into the phone kernel.
the relevant section of the config file is as follows:-
Code:
#
# Bluetooth device drivers
#
# CONFIG_BT_HCIBTUSB is not set
# CONFIG_BT_HCIBTSDIO is not set
CONFIG_BT_HCIUART=y
CONFIG_BT_HCIUART_H4=y
# CONFIG_BT_HCIUART_BCSP is not set
# CONFIG_BT_HCIUART_LL is not set
# CONFIG_BT_HCIBCM203X is not set
# CONFIG_BT_HCIBPA10X is not set
# CONFIG_BT_HCIBFUSB is not set
# CONFIG_BT_HCIVHCI is not set
# CONFIG_BT_MRVL is not set
CONFIG_BT_HID=m
# CONFIG_AF_RXRPC is not set
CONFIG_FIB_RULES=y
CONFIG_WIRELESS=y
CONFIG_WIRELESS_EXT=y
CONFIG_WEXT_CORE=y
CONFIG_WEXT_PROC=y
CONFIG_WEXT_SPY=y
CONFIG_WEXT_PRIV=y
CONFIG_WIRELESS_COMPAT=m
CONFIG_CFG80211=m
# CONFIG_NL80211_TESTMODE is not set
# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
# CONFIG_CFG80211_REG_DEBUG is not set
# CONFIG_CFG80211_DEFAULT_PS is not set
# CONFIG_CFG80211_DEBUGFS is not set
# CONFIG_CFG80211_INTERNAL_REGDB is not set
CONFIG_CFG80211_WEXT=y
# CONFIG_WIRELESS_EXT_SYSFS is not set
CONFIG_LIB80211=m
CONFIG_LIB80211_CRYPT_WEP=m
CONFIG_LIB80211_CRYPT_CCMP=m
CONFIG_LIB80211_CRYPT_TKIP=m
# CONFIG_LIB80211_DEBUG is not set
CONFIG_MAC80211=m
CONFIG_MAC80211_HAS_RC=y
# CONFIG_MAC80211_RC_PID is not set
CONFIG_MAC80211_RC_MINSTREL=y
# CONFIG_MAC80211_RC_DEFAULT_PID is not set
CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
CONFIG_MAC80211_RC_DEFAULT="minstrel"
# CONFIG_MAC80211_MESH is not set
# CONFIG_MAC80211_LEDS is not set
# CONFIG_MAC80211_DEBUGFS is not set
# CONFIG_MAC80211_DEBUG_MENU is not set
# CONFIG_WIMAX is not set
CONFIG_RFKILL=y
CONFIG_RFKILL_PM=y
# CONFIG_RFKILL_INPUT is not set
# CONFIG_NET_9P is not set
# CONFIG_CAIF is not set
#
# Device Drivers
#
Full .config file attached below.
I have tried converting RFKILL to a module, in order to enable CONFIG_RFKILL_INPUT to yes but the compile completely fails when this is set.
I have added WIRELESS_COMPAT details in the Kconfig file but this did not help and I am now lost as to how to troubleshoot this?
Anyone have any idea on what might be missing?
Click to expand...
Click to collapse
Are you installing the kernel and modules, or just the modules? If you are just installing the modules, are you using an IDENTICAL version of gcc, with nothing changed between N<=>M<=>Y except for your rt2x00 module in the .config?
useful information would be:
Your kernel version string from the phone: uname -a
A diff of the base .config and the new .config: diff -ubw orig.config new.config
A diff of the phone's working .config and your .config.
You can generally get the .config your running kernel was compiled with from /proc/config.gz on the device. You would then need to gunzip that and compare it to your .config with the diff command above.
s0be said:
Are you installing the kernel and modules, or just the modules? If you are just installing the modules, are you using an IDENTICAL version of gcc, with nothing changed between N<=>M<=>Y except for your rt2x00 module in the .config?
useful information would be:
Your kernel version string from the phone: uname -a
A diff of the base .config and the new .config: diff -ubw orig.config new.config
A diff of the phone's working .config and your .config.
You can generally get the .config your running kernel was compiled with from /proc/config.gz on the device. You would then need to gunzip that and compare it to your .config with the diff command above.
Click to expand...
Click to collapse
Unfortunately /proc/config.gz support is not configured in the samsung kernel by default therefore the file is not present. uname gives 2.6.35.7-I9100XXKH3-CL479037
And I have tried the recommended codesourcery cross compiler and one other variant of this and the results are the same.
it's a stock rom with an insecure kernel (basically a repack of the stock kernel) to allow rooting from what I can gather.
I have tried many configuration of build from the default .config and just building the top dependancy module from the default config
In this case the top of the tree is CFG80211
(rt2x00usb depends on rt2x00lib, depends upon mac80211, mac8211 depends upon cfg80211 and cfg80211 depends upon rfkill. There are also some dependencies on kernel crypto libraries which I am unclear about but should be in the kernel build)
I have found it makes no difference at all if I build lots of modules at once or just the very bare CFG80211.ko with as few options as possible. The failures are the same trying to insert cfg80211.ko. as it is whether I use busybox insmod, standard insmod or insmod from within a chroot. (in the searches I read modules can behave differently with busybox)
the only changes I made from the samsung default config is switching some debugging options off as per this thread http://forum.xda-developers.com/showthread.php?t=1123643
other than that it is a stock samsung default config for a 2.6.25.7 kernel build, as distributed in the samsung source code.
I haven't had the nerve to install the fully built kernel because the phone is a key tool for me reflashing a kernel is kind of a last resort
The attached rar file includes the default config (c1_rev02_premium_defconfig) the config used (.config) the output of diff -uwb between the two (differences.txt) and the two modules built ntfs.ko and cfg80211.ko.
file reveal ELF 32-bit LSB relocatable, ARM, version 1 (SYSV), not stripped on both modules. (done chroot)
I use ntfs.ko as a control since it's a small module and in this build it inserts just fine. cfg80211.ko fails with the same message and dmesg info mentioned in the first post.
As I previously mentioned I did try modifying the RFKILL sections to be built as a module but when this is attempt the kernel build fails completely with the error:-
Code:
ERROR: "s3c_gpio_slp_cfgpin" [arch/arm/mach-s5pv310/c1-rfkill.ko] undefined!
ERROR: "s3c_gpio_slp_setpull_updown" [arch/arm/mach-s5pv310/c1-rfkill.ko] undefined!
WARNING: modpost: Found 1 section mismatch(es).
To see full details build your kernel with:
Thanks for looking at this for me
Do you have a link to your kernel tree? I'd suspect that CFG80211_WEXT being enabled makes some changes in the WEXT functions that get compiled in kernel. With CONFIG_WEXT_* being =Y, your enableing CFG80211_WEXT probably made things not agree. Also, I believe the rt2x00 driver is a mac80211 one, so you'll likely need that too.
In summary, you'll very likely have to use your own kernel to get this going. At least loading the ntfs.ko answers that it's not a toolchain/source tree issue.
curioct said:
I use ntfs.ko as a control since it's a small module and in this build it inserts just fine. cfg80211.ko fails with the same message and dmesg info mentioned in the first post.
As I previously mentioned I did try modifying the RFKILL sections to be built as a module but when this is attempt the kernel build fails completely with the error:-
Code:
ERROR: "s3c_gpio_slp_cfgpin" [arch/arm/mach-s5pv310/c1-rfkill.ko] undefined!
ERROR: "s3c_gpio_slp_setpull_updown" [arch/arm/mach-s5pv310/c1-rfkill.ko] undefined!
WARNING: modpost: Found 1 section mismatch(es).
To see full details build your kernel with:
Click to expand...
Click to collapse
This error is due to another missing dependency (and the lack of proper dependency definitions in KCONFIG). You need to do:
egrep "s3c_gpio_slp_" -rsn
to find where those functions are defined, and find out why they're not being compiled. It's quite likely something like enabling rfkill for your arch/tree pulled in that c1-rfkill file (is your board a c1?) which is either not for your actual device, or dependent on something else being enabled. This is wholly based on previous experience with HTC kernel trees, where files from other Boards seemed to tag along.
I have no samsung hardware (although the GSII is on the list of what I'm considering ;-) )
s0be said:
Do you have a link to your kernel tree? I'd suspect that CFG80211_WEXT being enabled makes some changes in the WEXT functions that get compiled in kernel. With CONFIG_WEXT_* being =Y, your enableing CFG80211_WEXT probably made things not agree. Also, I believe the rt2x00 driver is a mac80211 one, so you'll likely need that too.
In summary, you'll very likely have to use your own kernel to get this going. At least loading the ntfs.ko answers that it's not a toolchain/source tree issue.
Click to expand...
Click to collapse
I am aware I'll need other modules but they all come back to dependancy on CFG80211 so I am concentrating my efforts around that.
The link to the kernel tree is
git://opensource.samsung.com/p_497
but I have also used :-
https://github.com/GalaxySII/samsung-kernel-galaxysii
with the exact same results.
The config_wext elements are listed under the bluetooth elements, but I am firstly concerned that disabling these elements with adversely effect the standard wifi comms. which would not be acceptable even if I could package and install a fully kernel build. (which I can probably do enough research, on this site, to work out eventually, although I admit to some trepidation about this).
curioct said:
I am aware I'll need other modules but they all come back to dependancy on CFG80211 so I am concentrating my efforts around that.
The link to the kernel tree is
git://opensource.samsung.com/p_497
but I have also used :-
https://github.com/GalaxySII/samsung-kernel-galaxysii
with the exact same results.
The config_wext elements are listed under the bluetooth elements, but I am firstly concerned that disabling these elements with adversely effect the standard wifi comms. which would not be acceptable even if I could package and install a fully kernel build. (which I can probably do enough research, on this site, to work out eventually, although I admit to some trepidation about this).
Click to expand...
Click to collapse
Ok, per:
https://github.com/GalaxySII/samsun...gt-i9100-gingerbread/net/wireless/wext-core.c
Lines: 434, 548, and 613, 653
Your kernel will have to be replaced to have cfg80211, mac80211, and rt2x00 working. There is no way around this, as that code is compiled into the kernel, and cfg80211 and mac80211 depend on those function doing more than your kernel does. There's no way around it. That's only analyzing the wext-core... there may be other differences.
s0be said:
Ok, per:
https://github.com/GalaxySII/samsun...gt-i9100-gingerbread/net/wireless/wext-core.c
Lines: 434, 548, and 613, 653
Your kernel will have to be replaced to have cfg80211, mac80211, and rt2x00 working. There is no way around this, as that code is compiled into the kernel, and cfg80211 and mac80211 depend on those function doing more than your kernel does. There's no way around it. That's only analyzing the wext-core... there may be other differences.
Click to expand...
Click to collapse
thanks for a definitive answer
I guess I need to go away and learn about kernel packaging and the bootloader stuff cant afford to brick my phone regularly trying this stuff and must keep CWM alive
Thanks for your help

[HELP] Compiling RTL8187 Driver

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.

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.

Categories

Resources