Related
I have a problem that I hope some of the code gurus here can help me with. I have an HTC PDA that was codenamed Colorado. The Colorado is actually the Dell Axim X50 series. I have a thread on Aximsite http://www.aximsite.com/boards/showthread.php?t=140071 where I am trying to add a USB host hardware interface to the PDA. I have done quite a bit of hardware reverse engineering of the X50v device (I'm a old-time hardware hacker) and have been able to bring out the PXA270 USB host port1 interface to the outside world via two unused pins on the sync connector.
I originally noticed that the X50v A02 ROM had the OHCI driver included, so I rolled back to that release on my test PDA and have been attempting to get the interface operational. In my quest, I have determined that I need the usbd.dll driver as well as any client device drivers for HID, mass storage, etc.
I've used a number of the great utilities I've found on this site (thank you very much) to grab a copy of the Axim ROM and pull it apart. I consider myself great at working on hardware but my software skills have become rusty over the years (hey - I started by building this system a 'few' years ago: http://www.sol20.org/ )
What do I need?
I would appreciate getting some guidance on how to dissassemble the ohci.dll module so I can see if in fact, it was designed for the X50 or if it was left in by accident by HTC as the later ROM updates for the X50 series had the ohci.dll module replcaed with one named peripheral.dll which was about 1/5th the size.
Also, I'm wondering if either the ohci or usbd drivers require the irq and/or the membase of the PXA270 USB host port1 interface and if so, how do I determine those.
My original idea was to use a simple 2 port hub to bring out the interface. Unfortunately, I recently discovered that a hub requires a hub client driver. Because of that, I will settle on getting a USB flash memory key to interface directly as the drivers are already available. One of the problems I have is interfacing the 3v USB host lines on the PDA to the 5v data signals that may be present on the client device. The PXA270 USB host lines are already terminated on the PCB with 15K resistors. All that is needed is a transient protection chip and/or port driver chip.
I have installed the free Microsoft WinCE dev environments which I thought contained the source for the generic ohci driver, but I can't find it anywhere so I guessing it's not included in the free dev s/w.
Although this is only my 2nd post here, I do hope to be able to contribute technical information going forward. What I'm doing on the Aximsite is quite advanced as far as hardware hacking goes and I hope to be able to simplify it so a few others can 'play'.
Thanks in advance for any help and I wish everyone here a great New Year!
Wow. Well this is a bit over my head, but does sound great.
I will try pointing you toward a couple of useful tools:
1st is IDA probably the most powerful disassembler for ARM code. The free evaluation works fine, but won't save and closes about every 30 min. Still should do the trick if you just want to look at the code.
2nd to get sample driver code, you need Platform Builder. Not sure if that is what you downloaded, but try the provided link. Evaluation version contains all the source code MS is willing to give, it just has some limitations on ROM compilation (which you should not care about).
The only problem is, it's a real b*** to install. Takes hours even if you have a goo internet connection.
Hope this helps.
Thanks for the quick reply.
Do you know if there is anyone who knows a little on how the low level device drivers actually interact with the hardware ports?
Also, I assume that with just the ohci and usbd drivers, if the port is actually activated by pulling one of the data lines high, I should get the popup box asking for the name of the device driver. correct?
how to determine I/O base offset?
In trying to reverse engineer the ohci driver for a couple for the HTC units, I need to figure out where the I/O register base starts.
Are there any memory dump utils, like dumprom, that would indicate that?
I've installed platform builder and want to try compiling the standard ohci driver, but I need to know how to determine the start of the I/O registers on a given WM2003SE platform.
Any assistance would be greatly appreciated.
thanks
Do you know what devices supports USB host?
as far as I know: no ;-)
Athena, flame and shift
USB Host built in... !?
I have read most of the posts related to the USB Host thing...
Everytime i must read such things like that the Tytn has no hardware that supports USB-Host...
But Samsung says, that the CPU and Chipset has built in USB-Host AND USB-Device Ports...
http://www.samsung.com/global/business/semiconductor/productInfo.do?fmly_id=229&partnum=SC32442
So the statement that its hardware cannot do USB-Host is not true.
If the CPU and Chipsets has built in USB-Host Functionality, the Hardware-Ports in the Chips (i think) have to be used at the USB-Interface at bottom of the Tytn.
So at end, it has to be only a Software Problem to support USB-Host Functionality directly at Tytn...
Anyone who can follow my Ideas, or do i have an error in my thinking?
the usb functions of the cpu is not used there is another chip which handle usb for htc devices
even if the cpu support host non of the connections are passed on to any connctor
So is my Question, why should they do such irrational things ?
Why use another additional Hardware (at additional costs!!), if the already existing can do the functions ?
If they really do that, they must be mad... throwing dollars out of the window and make the product more expensive than it can be.
Its like i buy a Ferrari and only drive 130 km/h instead of 250 km/h on our german highways.
not sure the reason but it have been don for many generations of pda's from htc maybe the r&d cost of changing their pcb design is bigger then using their current design
or maybe they dont want to wander into the jungle of getting piles of support calls and mail with people wanting usb drivers for this and that not to mention the issue with having to be forced to substain a .5 mAmp output to usb devices with batt issues
and having to handle correct handling of init'ing connected usb devices after on off
But the Flame, Shift and Athena have USB-Host Funtionality you said.
Especially the Flame is much like the Tytn. So the Thing about Drivers, Batt and Current have to be the same.
I wonder in addition a little bit how it came to the sdhc compatibility that was not given under WM5 but now under WM6. For me that means the Hardware of SD is everytime the same, only the Software changes a bit. So the Tytn must accept cards up to 32gig...
Why they do such things will be a mystery on for the future.
I think with conventional explanation attempts it will not be done.
Maybe i will write a mail to HTC and will do the Question again there.
you should not sure if they will reply or even read it but you should all the same
but flame is not a htc device
Hello everyone,
I am interested in a port of Android for the HP iPAQ 310 Series Travel Companion. It seems like a fairly capable piece of hardware, but HP dropped the product and hampered by some buggy software issues. It normally runs Windows CE 5.0 with a custom shell. I am trying to find out if it is feasible, any interest, and if there are any previous Linux ports that might make a Android port feasible. This is what I have found out so far:
Here are the product features from HP:
Processor Titan 600 MHz ARM11 Dual-Core Processor
Display 4.3" WVGA 800x480 TFT with touch screen, antiglare, landscape oriented, 16bit RGB depth
Memory Up to 2.0 GB flash ROM for persistent storage, depending on model 128 MB SDRAM for running applications
External Power AC Input: 100~240 Vac, 50/60 Hz, AC Input current: 0.2 A ac max Output Voltage: 5Vdc (typical)
SD Slot Supports SD memory
Antenna Internal Bluetooth antenna
Audio Integrated microphone, speaker, and one 3.5–mm stereo headset jack, 5–band equalizer and 3D sound adjustment
Battery 1,700 mAh Li-ion removable/rechargeable battery
Bluetooth Bluetooth 2.0 with Enhanced Data Rate, typical 10 meter range (approximately 33 feet)–High-speed, low-power, shortrange wireless communication with other Bluetooth devices
GPS Receiver SiRF embedded GPS receiver with InstantFix(TM) time to first fix acceleration
GPS Antenna Internal patch antenna
Physical specifications
Width US: 4.3 in
Metric: 110.2 mm
Height US: 3.4 in
Metric: 86.8 mm
Depth US: 0.7 in
Metric: 18.2 mm
Weight US: 6.6 oz
Metric: 187 g
The screen is beautiful on the thing, the hardware seems to have potential, although it does lack Wifi and WWAN. An SD Wifi card can always be added or it could be tethered via Bluetooth for network access. But never the less, I think it would be a wonderful Android device, especially if there were some way of caching Google Map data on SD or in the 2GB of built-in SLC memory.
I tried to dig up what I can on the internals. I have not been able to find a Linux port specifically to the Centrality Titan processor. Centrality was purchased by Sirf. Since it is ARM11 based, I imagine it shouldn't be too difficult to get Linux up and running.
The GPS receiver is the SE4110L.
I/O is handled by the Wolfson Microelectronics WM9712:
Voice processing is handled by the Fortemedia FM1182.
Bluetooth is handled by the Cambridge Silicon Radio BlueCore 4.
What do you guys think? Would this be feasible to pull off? Are there any other Android based devices that have similar hardware that make make this possible?
Still no updates?
I am going to try Andromnia Port for Samsung Omnia on this device. Just for start.
Try something with a WVGA resolution. Only other 4.3 inch screen device is the hd2.... Never heard of this, is it old?
froggylover1345 said:
Try something with a WVGA resolution. Only other 4.3 inch screen device is the hd2.... Never heard of this, is it old?
Click to expand...
Click to collapse
It is about 2 years old, great device but so stupidly abandoned by HP (along with entire iPaq brand)...
Great 800x480 screen, 600Mhz CPU with both GPU and GPS. Perfect ground for Android!
bump
I own 2 of these lol. I also abandoned it when i started buying android phones. I am interested in this as well.
Hello everyone,
I am glad to see there is some interest in an Android port to this device. I wasn't sure I would receive any replies at first. Now that I see a few of us would like a port lets see what we need to do to accomplish this. I will investigate a few venues for us this afternoon. It is damn shame to let a capable hardware device like this fall by the wayside. It really seemed to have great potential.
I would imagine their are two routes to take. One would be to natively boot Android on the device. This would require the most work and I do not know if all of the hardware would be supported.
The other option would be to go the route of booting Android from a Windows CE based boot loader, similar to other Windows Mobile to Android ports. I think this would probably be the easier route to take.
Does anyone know of any other Windows Mobile or native Android devices with similar components?
Michael.Rose said:
The other option would be to go the route of booting Android from a Windows CE based boot loader, similar to other Windows Mobile to Android ports. I think this would probably be the easier route to take.
Does anyone know of any other Windows Mobile or native Android devices with similar components?
Click to expand...
Click to collapse
As far as I know, Centrality (SIRF) Titan is used in only one type of device - out poor Travel Companion.
Though, I could be compatible with some other CPUs. I'll try to find out.
Hi guys, I've got one of these devices, for some time now,
I've mannaged to hack it, by changing registry settings in
HKLM\INIT and put explorer as an extra launch.
I did find something here:
http://www.smartqmid.com/phpBB3/viewforum.php?f=12
There is simmilar device running linux
and they trying android to boot from SD card:
http://www.jiongtang.com/blog/html/smartq5/boot-the-smartq-5-from-sd-card.html
You have to partition SD card, like here:
http://www.jiongtang.com/blog/html/...-install-software-on-sd-card-for-smartq5.html
There is more info there.
So any luck with running Android on iPAQ?
Vadimus_ca said:
So any luck with running Android on iPAQ?
Click to expand...
Click to collapse
I think, you have to install Linux first and then load Android.
Go here and start reading:
handhelds.org/handhelds-faq/handhelds-faq.html
just add www at the front, someone stuffed something up and
I cannot post url's
I have already started, very interesting article, scroll down and get
PDF file.
Hey guys,
has anybody, by any chance, got the data sheets for this Titan processor,
some owners managed to brick the devices beyond repairs, I think it was due to very low temperature last winter, and the NAND, and boot loader were erased.
Someone is trying to develop some dumper, which would allow to dump the bootloader from working unit and then load it back by JTAG, and then all the rest by normal way from SD card, but he needs these Data Sheets.
HP is not interested in helping, they want money.
One of the rom cooking Gurus has developed simple tool to convert DiskRW's
image dump to the working boot files, which are TINYNK.bin, CHAIN.bin and NK.bin, I have managed to add some .dll files from MioPocket to NK.bin, I think
something about 20 files including all WiFi dlls.
There is big potential here.
hey nice people,
I have managed to install and run DOS on my 312 model,
there is only small problem, the very small keyboard, which pops up
as a part of the DOS screen. We can use PC's keyboard or maybe some
USB one.
There is no far to install Linux and Android, just have to find one.
Sorry, didn't put any links and names:
I've installed PcketDOS_1123 from here:
http://www.pocketdos.com/download.htm
The OEM version is not free, the other one is.
Look at this:
http://dev.openaos.org/browser/trun...-4.1.2_glibc-2.5_linux-2.6.18.ptxconfig?rev=6
interesting thread. Anyone still tinkering with their 310's?
yeah another bump
I'm an interested 310 owner
Hi, all.
Lately I've been trying to build a linux driver to an accelerometer chipset, LIS331DL, embedded to a certain motherboard. System's BIOS has not been updated as to fit current gsensors linux drivers in (communities releases and so). We are positive that the device naturally inputs/outputs info through very specific I/O ports, namely the 0x6C and 0x68 ones. The problem is that I am able to access the device data through those ports in Windows,but not in Linux. Moreover, there's no real datasheet to help us through.
Here I have some few questions:
1) Is there, by any sort, a software kit which could possibly help us into diagnosing the motherboard as to provide more info about the device (LIS331DL accelerometer chip)?
2) Provided that there's already a windows driver that's fully functional and easily gets to send/retrieve data to/from the gsensor, under linux the management of those same I/O ports would end up into same results? In short, is there any difference between Linux and Windows I/O ports access (logical and addressing shifts perhaps)?
Any help would be much appreciated. Thanx in advance.
I managed to successfully get access to the gsensor device. Hope any other won't face the problems I had to, but just in case, I will now provide feedback to my own questions:
1) Is there, by any sort, a software kit which could possibly help us
into diagnosing the motherboard as to provide more info about the
device (LIS331DL accelerometer chip)?
Yes. A very good one called ECTOOL.
It probes the EC-RAM memory, which's quite a good start on taking notice of how bits are behaving and, later on, making decisions on that!
2) Provided that there's already a windows driver that's fully
functional and easily gets to send/retrieve data to/from the gsensor,
under linux, the management of those same I/O would end into same
results? In short, is there any difference between Linux and Windows I/
O ports access (logical and addressing shifts perhaps)?
Yes, same results. No difference. The gsensor got to output the same values (three-axial coordinates) as in windows. Hurray!
I know this is an incredibly newbish question, but I'd flipped through forums and articles and googled it and still don't quite seem to understand it.
My question is why is android dependent upon manufacturer's release?
Take for example, a desktop computer.
OS
This is the core of the device and the UI between the user and the hardware.
Applications talk to the OS to instruct the hardware to do stuff.
Microsoft and Apple makes the OS.
ex. Windows 7, Mac OS, Linux.
Hardware
Asus, Nvidia, Realtek, marvell make the hardware.
ex. video, LAN, sound etc.
Hardware Bundler
Dell, Alienware, Gateway, Acer
They take commercial hardware and some OEM hardware and assemble it in a way that many consumers will buy their bundle.
For 99.9% of us, not counting Synapse, this is the only way the hardware is packaged together.
Device Standards
Collectively, the manufactures work together to determine certain industry standards ex. ATX, PCI-E, SATA 3, USB 3.0 etc...
Drivers
The manufacturers also make drivers so the OS can make use of their hardware.
Compatibility Is Determined by Driver Support
If the driver exists to talk to a given OS, then the hardware will work.
Not all hardware manufacturers will code for every OS out there.
ex. USB works on all OS because it's more established, but not every sound card will work on a Linux system.
Bringing it home...
So if Microsoft releases Windows 8, and as long as Nvidia releases a driver that works with that OS, then the video card will work.
Can you help me understand how the android phone architecture is so different that it's no longer
OS <-> Driver <-> Hardware?
Sorry for not getting it.
oops, sorry.
My bad, I must have clicked the wrong section.
Can somebody move this thread?
Reposted in android section.
Please delete.