ToDo
From iDroid Project
This is a rough list of things that need to be done. Feel free to add to the list or claim items from the list that you are working on.
Contents |
Easy stuff
These can be done by programmers with no reverse engineering experience.
- Accelerometer support in the kernel/Android. openiboot has support but it needs to be ported to the kernel.
- Ambient light sensor support in the kernel/Android. openiboot has support but it needs to be ported to the kernel.
-
Figure out how to get media to work without a SD card→ Fixed, see: SDcard emulation - Calibrate the multitouch driver. Right now, contrary to the range of values reported by the multitouch firmware, some of the values dip into the negatives. I don't know if it is the same offset in all devices or if it's different for each device. Collect data from many different iPhones using multitouch_setup in openiboot and figure out a good way to calibrate multitouch.
- multitouch_setup asks for some values, how i can extrapolate the data?
- needs a calibration to sensitivity also.
- multitouch_setup asks for some values, how i can extrapolate the data?
- Calendar application crashes on start up.
- Calendar.apk from HTC recovery images works.
- Where can we get this image?(try forum. I use 2g>idroid>Guide to making g app work. I think calendar need to login to google server)
- Calendar.apk from HTC recovery images works.
-
Backlight support.-
Works great in the openiboot console, any idea to connect it to android?-
Setting backlight in oibc and doing a tethered boot android keeps the value for all it's session.
-
-
Works in android to a certain extent. Youtube app can change screen brightness itself. My device locked while buffering a video, I unlocked it and the screen dimmed.It's a fading effect only.
-
- Clean-up and refactor the code
- Power management code. Use the existing power and clock gating stuff to add proper suspend and resume to all the devices.
- Easier installation.
- If development really takes off maybe easier update method then replacing ROMs
- The iPhone does not have enough buttons to use Android well enough.
- click emulation (can we do without the search button?)
- single click for back
- double click for home
- long click for settings
- sleep button remains the sleep button, volume buttons remain the volume buttons
- Recompile maybe the key layout? Looking into it atm
- Remap other buttons to replace call/end call buttons in some situations? E.g. proposal:
- when incoming call is ringing: sleep button & volume button turn off sound, sleep button twice declines call, home button (if unlocked) accepts call.
- while talking: sleep button ends call.
- Use lock button as modifier to change function of other buttons (doubles our buttons might be easier to do)
- click emulation (can we do without the search button?)
- Vibration. This is already in openiboot and might require modifying the RIL.
- Fix DNS. Currently you must use IP addresses in the Browser.
- Really? I don't. (planetbeing)
- Current Fix: DNS_Fix
-
Be able to turn off the phone. :)-
See PMU shutdown code in openiboot - Need to unmount partitions cleanly, which may be a little non-standard because of the loopbacks. All Android partitions should be unmounted or remounted read-only. The loopback devices should be set read-only and the HFS+ iPhone data partition needs to be mounted read-only. This will make everything clean upon reboot (made possible by a custom patch to the kernel's loop block device and HFS+ filesystem).
- Reboot command unmounts cleanly to me.
-
-
ADB via USB.Network_over_usb -- I have ADB over USB in my tree. Ricky26 - Include Google apps such as GMail and Market (Copyrighted, if I recall, so it might require a workaround similar to what cyanogenmod does).
- I worked on it to a certain extent. Got everything working apart from maps (said it needed a data connection) and marketplace. When attempting to contact the servers to get a list of the applications, vending just gives an error about not being able to connect to the server. logcat also doesn't give much insight onto why the error is occuring.
- The market.apk got released from Google? If not there's a way to extrapolate it from a Google official release ROM? Might be awesome if there's a wiki article on that.
- I can't post the link here because its coyrighted material. If I or anyone else gets the market place server thing fixed, be sure to see a wiki page on it.
- I know it would be a little far-fetched, but since we can't legally provide "The Google Experience" you think we could just ask Google if they would distribute it on their own terms to users? Has anyone tried?
- I can't post the link here because its coyrighted material. If I or anyone else gets the market place server thing fixed, be sure to see a wiki page on it.
- The market.apk got released from Google? If not there's a way to extrapolate it from a Google official release ROM? Might be awesome if there's a wiki article on that.
- For those who are wondering the .apk can be found inside the HTC recovery images
- Can install third-party markets and they work without problem.
- I worked on it to a certain extent. Got everything working apart from maps (said it needed a data connection) and marketplace. When attempting to contact the servers to get a list of the applications, vending just gives an error about not being able to connect to the server. logcat also doesn't give much insight onto why the error is occuring.
- Sim pin support
- Anything else?
- Newer Android version - 2.x?
- Nick just released a thing for Gingerbread code-named Pepparkaka :) -themiddlegeek
- Setting in Open iBoot what is the default operating system
- Basic accessories? The Apple headphones or others with mic and volume?
- Newer Android version - 2.x?
Harder stuff
- The current USB gadget controller driver is really buggy. We need to fix or replace it.
- Cellular data for the baseband.
- Reverse the camera driver stuff. Talk to CPICH stuff and possibly consult S3C/S5L datasheets that are available.
- Implement 3D acceleration (no open-source driver exists for the PowerVR GPUs that the iPhone uses).
Porting
- iPod touch and iPhone 3G port (and then 3Gs, iPod touch 2G, iPad, and iPod touch 3G)
- Compile openiboot for the two devices and make sure it works and all the devices that openiboot supports work.
- Got most of openiboot working on ipt1G, except we've got some NAND issues. (Terinjokes)
- Port any fixes back into the Linux kernel.
-
Reverse Zephyr2 (planetbeing's got this one) - Investigate 3G baseband communications... Some of it seems to happen over SPI
- Compile openiboot for the two devices and make sure it works and all the devices that openiboot supports work.
- Other ports?
Wiki
- Expand Hardware page and add information about the drivers.
- A template is given.
- Add datasheets for the components
- Gather information about the drivers and their source
- Found in Androird-Kernel or Written by Jone Doe. Something like that.
- Hardware page has been merged with Status page
- Add your experiences and solutions on FAQ page