Jump to content

kernel modules for Xolo X900 ICS (OTG USB storage, cifs...)


Guest Zhiming Zhou

Recommended Posts

Guest Zhiming Zhou

Hi:

I have downloaded Moto Razr i kernel source and gcc 4.4.3 for android (same with Xolo X900 kernel),

cause Xolo X900 kernel doesn't have /proc/config.gz file,

I have to take lots of time to checking Xolo X900 system config,

I made some modification to kernel config, and some code changes to some kernel codes,

now I can successfully build kernel modules for Xolo X900 ICS linux 3.0.8 kernel

Changes about these kernel modules:

1. Enable USB OTG mass storage support

2. Enable cifs support (mount Windows share folder)

3. Enable squashfs support (Squashfs 4.0 with xz compression)

4. USB network adapter, now support asix NIC

5. Enable USB CDROM support

I only have Xolo X900 with ICS 3.0.8 kernel, I'm not sure whether this works in Orange San Diego

You can download compiled kernel modules from this link:

http://miseal.googlecode.com/files/x900-kernel-config-modules.7z

Unpack it, there is a "x900.config" file, that is kernel configuration I use, FYI ^_^

You can use Root Explorer to copy "modules" directory in 7z to /system/lib directory,

cause lots of android app try to load modules from /system/lib/modules

You need root to load these modules on adb shell or any Terminal Emulator

Notes about USB OTG on Xolo X900:

You need external powered USB hub to use USB 2.0 device with OTG

And when I use usb disk with USB mass storage module (usb-storage.ko),

xolo x900 can recognize my usb disk (/dev/block/sda),

while I use dd command to test read spead:

busybox dd if=/dev/block/sda of=/dev/null bs=256k

USB error occurs and also scsi disk I/O error:

hub 1-1:1.0: cannot reset port 3 (err = -71)

hub 1-1:1.0: Cannot enable port 3. Maybe the USB cable is bad?

hub 1-1:1.0: cannot disable port 3 (err = -71)

And next is the really weird part, if I connect usb disk to a USB 1.1 hub, and connect

hub to USB OTG of x900, dd read works fine, but u now, the spead is really slow for USB 1.1

I was wondering maybe there is some bug in Intel Medfield Penwell OTG driver,

cause this also occurs on my previous Lenovo K800 phone (also Intel Medfield)

I'm also trying to port this Moto Razr i kernel to Xolo X900~~~ ^_^

Thanks

Regards

Uranus Zhou

-----------------------------------------------------------------------

use cifs:

insmod des_generic.ko

insmod md4.ko

insmod cifs.ko

mount -t cifs -o username=xxx,password=xxx //192.168.1.xxx/share /mnt

use USB to Serial adapter:

insmod usbserial.ko

insmod pl2303.ko

use USB asix network adapter:

insmod mii.ko

insmod usbnet.ko

insmod asix.ko

use USB mass storage:

insmod scsi_mod.ko

insmod sd_mod.ko

insmod usb-storage.ko

plug in usb disk, then u will see SCSI disk device like: /dev/block/sda

Link to comment
Share on other sites

Guest Simon O

Good luck with porting the kernel. The only problem I see is that we are prevented from replacing the boot.img on the phone. If you flash an unsigned boot or recovery image it bricks the phone.

Link to comment
Share on other sites

Guest Zhiming Zhou

Good luck with porting the kernel. The only problem I see is that we are prevented from replacing the boot.img on the phone. If you flash an unsigned boot or recovery image it bricks the phone.

if the phone failed to start from ported kernel, is it possible to flash phone to factory mode by recovery?

Link to comment
Share on other sites

if the phone failed to start from ported kernel, is it possible to flash phone to factory mode by recovery?

You can use rickywyatts tool to fix brick, which can recover the device from just about anything.

Edited by Guest
Link to comment
Share on other sites

Guest Keeper-ZTE

Hi all!

A group of Hungarian modders (tlac and ko9 prohardver.hu user) have modified the program for extracting the boot.img (boot binary) for Grand X In. I have just modified the program to (may) work with Xolo x900. Unfortunately we don't have config file either, but the Xolo kernel is closer to the Grand X In, than the Motorola Razr I, because we got adb working with it and we were able to create dmesg log. Maybe if there would be a source code for Xolo that is capable of booting, it would be easier to port it to Grand X In. Grand X In have open bootloader, and we have "custom" kernel (unsecured "boot.img" (boot.bin) )

Pack-unpack tool source for Xolo x900 (I will try pack and unpack last update "kernel")

http://www.mediafire.com/?alyazb4r321ooax

I hope it help!

Link to comment
Share on other sites

Man you are just great!

I have been long waiting for this USB OTG HOST stuff to work and wow, now finally thanks to genius guys I connected my OCX Vertex 4 SSD to XOLO and voila it worked...

Kudos to Zhiming Zou .....

I now want to use X-Box Wireless Controller with Xolo!

Any suggestion on how to charge and use OTG Host simultaneously?

Edited by mmbika
Link to comment
Share on other sites

Guest Keeper-ZTE

The issue is not the lack of source.. the issue is the phone will only boot a signed image.. and we obviously don't have the signing keys.

I haven't got the Lava Xolo x900, only a ZTE Grand X In, but in this phone, the bootloader is fully unlocked, so I think it doesn't need any signing key.

Link to comment
Share on other sites

Guest Simon O

I haven't got the Lava Xolo x900, only a ZTE Grand X In, but in this phone, the bootloader is fully unlocked, so I think it doesn't need any signing key.

Ah you are lucky then. Sadly we do not have the kernel source and the kernels for the phone have been build without saving the config file so we cannot extract it from the kernel because it doesn't exist :(

Link to comment
Share on other sites

Guest Zhiming Zhou

Man you are just great!

I have been long waiting for this USB OTG HOST stuff to work and wow, now finally thanks to genius guys I connected my OCX Vertex 4 SSD to XOLO and voila it worked...

Kudos to Zhiming Zou .....

I now want to use X-Box Wireless Controller with Xolo!

Any suggestion on how to charge and use OTG Host simultaneously?

No I/O errors when read or write SSD through USB OTG host?

Need to make some modification to kernel to make charging and USB OTG work simultaneously,

while the biggest problem is the locked bootloader, for now we still can't flash unsigned boot image to XOLO X900

And runtime kernel switch (kexec) still hungs the phone

Link to comment
Share on other sites

Guest Zhiming Zhou

Ah you are lucky then. Sadly we do not have the kernel source and the kernels for the phone have been build without saving the config file so we cannot extract it from the kernel because it doesn't exist :(

that's why I need to determine kernel config from current running kernel stats on XOLO X900,

check whether debug kernel is enabled, or other config options

really awful ~~~

Link to comment
Share on other sites

If the stock kernel doesn't support kexec I think its impossible, kexec requires the kernel which is active, and the kernel which is supposed to be booted to have the kexec patches.

Link to comment
Share on other sites

No I/O errors when read or write SSD through USB OTG host?

Need to make some modification to kernel to make charging and USB OTG work simultaneously,

while the biggest problem is the locked bootloader, for now we still can't flash unsigned boot image to XOLO X900

And runtime kernel switch (kexec) still hungs the phone

I didn't get any I/O errors while reading from or writing to SSD. SSD always required to be externally powered to work even with PC and I used the same USB Y cable I use with powered hub/power pack to connect SSD to Xolo. It worked perfectly.

Edited by mmbika
Link to comment
Share on other sites

Guest Zhiming Zhou

have you though about kexec to boot a kernel at boot

current xolo kernel does support kexec, after loading new kernel by "kexec -l" command

and use "kexec -e" to execute new kernel, phone hangs then after a while, xolo x900 automaticly reboots

and I've tried to use kexec to load original offical kernel and initrd (unpacked from offical boot.img),

bad news is xolo x900 still hang and reboot

I think the XOLO X900 kernel should be patched to handle kexec correctly

some hardware initialize modification should be done to current kernel, like this:

http://lkml.org/lkml/2011/10/14/94

Link to comment
Share on other sites

Guest Zhiming Zhou

If the stock kernel doesn't support kexec I think its impossible, kexec requires the kernel which is active, and the kernel which is supposed to be booted to have the kexec patches.

stock kernel does support kexec, but seems doesn't work by now (I use staticlly compiled kexec to load and execute new kernel)

Link to comment
Share on other sites

stock kernel does support kexec, but seems doesn't work by now (I use staticlly compiled kexec to load and execute new kernel)

I know nothing about this stuff so I wouldn't be able to help you, but wish you good luck with that because if you can make it work it would mean we could boot custom roms! Right?

Link to comment
Share on other sites

Guest Simon O

It still won't allow custom roms in the traditional sense. We have no way to run an alternative recovery and the phone won't boot an unsigned OS anyway.

Anyway for those looking at kexec.. have a look at the widi directory in system. There is another kernel in there.. I assume enabling wireless direct causes kexec to load this kernel?? (It's all beyond me)

Link to comment
Share on other sites

Guest MrPuddington

How about loop device support? That could be handy for running a full Linux chroot, and I think it can be compiled as a module.

Edited by MrPuddington
Link to comment
Share on other sites

Guest Zhiming Zhou

How about loop device support? That could be handy for running a full Linux chroot, and I think it can be compiled as a module.

current stocking kernel does support loop, I already made full Ubuntu works via HDMI output (with external USB display adapter)

Link to comment
Share on other sites

current stocking kernel does support loop, I already made full Ubuntu works via HDMI output (with external USB display adapter)

Could you do a guide for how you got ubuntu working please ? I tried to do this with ubuntu installer app from market and it would not work as it is setup for Arm not X86, I originally thought it was no loop support, so that is good news that it is there.

Be good if we could have IP tables for firewall, but our kernel does not have this support :(

Edited by Guest
Link to comment
Share on other sites

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.