Jump to content

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


Recommended Posts

Guest Zhiming Zhou
Posted

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

Guest Simon O
Posted

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.

Guest Zhiming Zhou
Posted

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?

Posted (edited)

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
Guest Keeper-ZTE
Posted

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!

Guest Simon O
Posted

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.

Posted (edited)

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
Guest Keeper-ZTE
Posted

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.

Guest Simon O
Posted

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 :(

Guest Zhiming Zhou
Posted

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

Guest Zhiming Zhou
Posted

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 ~~~

Guest rickywyatt
Posted

have you though about kexec to boot a kernel at boot

Posted

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.

Posted (edited)

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
Guest Zhiming Zhou
Posted

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

Guest Zhiming Zhou
Posted

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)

Posted

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?

Guest ashutosh00074
Posted

Please tell me step by step how to unable usb otg host and how to use the x900.config

Posted (edited)

if you can make it work it would mean we could boot custom roms! Right?

No custom kernel.

Edited by Guest
Posted

No custom kernel.

Yeah but kexec could bring custom kernels... so custom roms!

Guest Simon O
Posted

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)

Guest MrPuddington
Posted (edited)

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
Guest Zhiming Zhou
Posted

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)

Posted (edited)

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

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.