I've been experminetning hoping i'd get anything to show up in the kernel logs when attempting to connect something to the port.
However, even if the chip itself does support this, I start to believe the circuit board simply isn't wired up to function in this way.
Now think about it: Why would SE put the extra circuitry in (even if themselves are rather primitive), if they never planned to include it in the first place?
What I've done so far:
Made a simple adapter based on a experiment board with two USB connectors, and a DC in jack that supplies both connectors with 5 volts, that charges the phone, provides the common ground and supplies the gadget one connects (In my case a simple USB flash memory)
I tested this adapter on another device that does support USB on the Go, or what it's called. It works.
Even if a kernel doesn't support the device itself, the log will show signs that an unknown device is connected, which is good enough for me, as confirms the hardware works.
Now onto the X10:
Tried the ROM FreeXperia FXP117, with the kernel from FXP115, as is. dmesg gives no result at all. Also tried flipping around the data + and -, no result. Device is charging, bu nothing else.
Tried the kCernels, from the link provided by the OP in the first post.
While I had trouble booting the device up completely (My own fault, has nothing tod with this thread), at least I was able to boot the kernel and was able to access the device from the debug bridge (adb shell).
Yet again no result. Nothing from dmesg, nothing on the flash memory that indicates kernel accessing it. (It flashes a few times initially when detected otherwise)
Are we talking about a separate modified kernel module here?
If so I might have missed it.
Have I missed any importants steps? (loading the external modules for instance?)
Are now "screwing" around with some USB hubs, connectors and are also looking int othis S3C USB Host thing. I suspect that one is aspecial thing for samsung, and are not the same as other devices uses.
We might need another way to control the USB-mode in the X10 chipset, which I suspect is not a S3C based one.
I also suspect the device need a special chip in order to switch between host and device mode, and that chip also provides the "root hub" in question. I suspect the X10 lacks all those things, even if the chipset itself proviced support for it.
No success at all. I even tried to detect if there where any data exchange between the X10 and the hubs I've tried (Both straight and crossover on the data leads)
Nothing. There is no whatsoever activity at all going on between the devices.
With that. I'm pretty sure one need a special chip that wakes up the USB host mode in the chipset when certain circumstances are fulfilled. (Normally a chip integrated in the device itself, which the X10 lacks)
I'll place this little project of mine, on the shelf for the time being.
At least until someone can provide us with additional tips that can lead into forcing the X10 chipset into USB host mode.
To put this in simpler terms:
One cannot simply connect to devices to eachother. Nothing will happen.
Both devices will sit there, waiting for the other one to start speaking so either one can respond to the other.
That is how USB device and host mode works:
When a device is connected, the host will detect it and start speaking to it, asking questions the device have to respond to. The device itself will never start speaking, it will only listen, and only respond when asked.
Once this has happened, the data exchange between the device and the operating system can take its course.
The X10 is a device, it listens.
If we try to connect a device/gadget to it, that is not a host itself, it will also sit there listening.
In this situation, we have two or more devices that refuses to speak, as there are no host around to start the conversation.
What we nee to do here, is encourage the X10 to start speaking, by forcing it into host mode BEFORE we connect anything.
Last edited by SysGhost; 8th May 2012 at 03:52 AM.