Hello and good day, dear XDA Developers forum members!
I have been struggling with this problem for some time and have tried to resolve it myself, but have failed miserably. Anyway, I have installed Linux Deploy from Play Store, an excellent application which automates installation of many Linux distributions on your phone made by a guy called meefik. Everything worked fine. Of course, Linux image file size was automatically calculated by the application so it took quite a lot of free space on my internal SD card. It later proved to be actually reasonable as the desktop environment and everything I installed quite filled those two gigs Linux Deploy allocated. Not quite important for this issue, but... whatever. The real problem I have encountered is the problem of digitizer input. Controlling my phone using x2x through SSH is good enough to eventually resolve some smaller problems or play Dink Smallwood (or freedink, to be exact) just for fun, but it's not quite doable and useful outdoors with no desktop or laptop nearby, so I would like to make Debian somehow recognize digitizer input. Framebuffer output without Android (it is killed by ctl.stop, I guess) and VNC assistance works pretty fine (no HW acceleration, of course, but good enough), just if there is a way to make Debian capture digitizer input, at least in a touchpad-esque way, as I still haven't bought any Bluetooth gear. I tried setting evdev as the driver to recognize digitizer input and /dev/input/event0 as the input device's path in xorg.conf, but no luck. Chroot has access to main Android file system. When cat'ing /dev/input/event0 in terminal it gives output when I tap or swipe on the digitizer, so the actual problem lies in the fact that Linux actually doesn't know to interpret informations that digitizer is sending.
Any ideas? Suggestions? If anything else, do not hesitate to let me know if I made a mistake of some kind (grammar or terminology for example) in my post.
Hooray! Digitizer input finally recognized in Debian! After chatting with pabs* on irc.debian.org I found out that evdev requires ABS_X and ABS_Y coordinates in order to move the cursor successfully around the screen, but as i9000 has a multi-touch digitizer, it sends only ABS_MT_POSITION_X and ABS_MT_POSITION_Y positions** for each finger (as well as an ID for each of them and some other relevant details). Means that evdev isn't quite useful for this purpose. We have a multi-touch digitizer and thus we need a multi-touch driver that will properly interpret our digitizer's input. After browsing through packages in synaptic, I found two seemingly appropriate multi-touch drivers, mtrack and multitouch. As mtrack is a fork of multitouch that (supposedly) brings some improvements when compared to the forkee*** I've chosen to install and set it as the input driver in xorg.conf instead of multitouch. I didn't regret, everything works perfectly! Of course, it still isn't as finger-friendly as Maemo or Android are because it works in touchpad mode, but it's quite a good beginning!
Here's the xorg.conf file (XDA didn't allow me to upload a .conf file as it's an, erm, invalid file) if anyone wants to try this on his i9000!
Code:
Section "ServerLayout"
Identifier "Layout0"
Screen "Screen0"
InputDevice "touchscreen" "CorePointer"
EndSection
Section "InputDevice"
Identifier "touchscreen"
Option "Device" "/dev/input/event0"
Driver "mtrack"
EndSection
Section "Device"
Identifier "Card0"
Driver "fbdev"
Option "fbdev" "/dev/graphics/fb0"
#Option "Rotate" "CW"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
* Who is also the author of this post, quite useful (post, not poster :laugh.
** In order to be properly recognized as a multi-touch input device by Android. ABS_X and ABS_Y are provided only if a single-touch digitizer is installed, see here
*** The one being forked, in this case multitouch. According to Google, it's a valid word, well, kind of.
P.S. I've attached a screenshot of current setup if anyone's wondering how it looks.
P.P.S. Cursor moves awkwardly when Xorg is in landscape mode (as if X and Y axes were swapped) so I commented out the Option "Rotate" "CW" line.
Progress: one step forward, two steps back
Help needed! As I might have mentioned in previous posts, cursor moves weirdly (moving finger to the left moves cursor up, moving to the right moves down, etc.) in landscape mode (i.e. with Option "Rotate" "CW" line under "Device" section uncommented), so I would like to know if there is there any way to swap X and Y axes? There have been some efforts to make X and Y finger coordinates swapped in this thread, but, unfortunately, with no actual result, because mtrack ignores the Rotate and SwapAxes options as if they were not valid for mtrack or just not implemented yet. Of course, I would prefer to have the option of absolute mouse movement (in the manner of what tslib provides) instead of having digitizer input recognized in a touchpad way, but it seems that there is something that should be modified in tslib's source code in order to make it work.
Also, I've tried to install Hildon by wget'ing Squeeze armel .deb packages and installing them through dpkg until all the dependencies were satisfied, but it still seems like there is some more missing packages that ought to be installed... so if you guys have tried installing Hildon on your Android device (not necessarily i9000) please reply here. All suggestions are welcome.
P.S. Feel free to let me know if this thread might be more appropriate in some other (sub)forum.
moorkai said:
P.S. Feel free to let me know if this thread might be more appropriate in some other (sub)forum.
Click to expand...
Click to collapse
yup, it would get better attention here and here
Check this out!You , YES! you are an " Android ". Not your phone but U.
You Must watch this documentary concerning your privacy Terms & Conditions we had agreed to, by using a PC or Smartphone
How to say Thank you? If you find any post helpful on XDA, please click on the Thanks button
If you are using XDA App or Tapatalk, long press on the post and select :good: Thanks Its easier to give "Feedback" in this manner than make an additional post.
Yeah, it could, but over here (at least I believe) I'm dealing with issues that occur only on i9000 and similar boards. After all, Android Software and Hacking General forum seems like it's more appropriate for finalized works done by people who absolutely (or at least mostly) know what they're doing, not that thingy I'm messing with, and on the other hand, Android General is flooded by various posts mostly related to flashing problems and doubts, interesting offers and similar stuff, so my thread doesn't actually fit in neither of these forums. That thing I'm messing with is an odd duck. I'm trying to address issues that are tightly related with i9000 as well as problems more related to Android-Debian communication through chroot (it's not my primary problem at the moment, but I should look into it someday too), and reincarnating Maemo through chrooted Debian through Hildon Desktop too, but I don't consider myself experienced enough to post in any of the above mentioned categories.
So, to summarize, I don't know. Feel free to convince me if you think I'm wrong.
P.S. It's my 60th post, hooray!
Related
This thread is for development discussion only. If you are not actively working on the project, please go to the discussion thread where your contribution will be more valuable. By keeping this thread clean, we can hope to get Android working on our devices much quicker.
Project Status:
We now have a 2.6.27 kernel which is capable of booting Angstrom and Android. Android looks good and is responsive, but most core functions are not there yet. Work is focused on kernel development to provide us with a stable base with working hardware. You can find test files in the second post.
We have a Wiki page where the project gets documented in some detail.
History
The development had a slow start while Orux worked out how to make the mdp talk to mddi to get a working display. We hope that progress will be faster now as there has been considerable work on the Diamond and Raphael hardware, which is quite similar to the Blackstone.
23Feb09
Screen problems fixed at last - many weeks work from Orux got the mdp talking to mddi and give us a working display.
03Mar09
Wow! So much progress in just a week! We now have working SD (some issues with brands of cards - under investigation), allowing booting direct from the SD card; working hardware buttons, and some GSM functionality (the network connects and reports of sending SMS successfully). Credit to Orux, Pichurri, Cybersalsero, Jonlar (and have I missed anyone out - not me, I have been spectating!). Pichurri has posted a full install package on teh wiki, go try it and give feedback in the testing thread.
(to be continued!)
Current tasks
Debugging SD card problems many ppl having
Getting our own version of Android (currently using builds optimised for Raph/Diam
More GSM functions - who will be first to make a call???
What can I do?
You tell us! First thing would be to get yourself set up with a development environment. You need Linux on your PC - either installed as the main OS or if you use Windows, in a virtual machine (eg Virtualbox). Then follow the instructions on the wiki to get the sources and latest diff.
Reserved for files
Here you will find the up to date files related to the project.
Pichurri's full 2.6.27 install package is on the wiki here
You should correct the posts: 2.6.26 and 2.6.27 is the kernels used. More info: www.kernel.org
brumbrum said:
You should correct the posts: 2.6.26 and 2.6.27 is the kernels used. More info: www.kernel.org
Click to expand...
Click to collapse
We are using 2 kernels:
2.6.25 --> htc-msm-2.6.25 branch in git.linuxtogo.org. This is the kernel that we are testing in our machines these days.
2.6.27 --> htc-msm-2.6.27 branch in git.linuxtogo.org. Where we will stay in a few days. Better kernel, more improvements. Here is where people from other projects are working now.
orux said:
We are using 2 kernels:
2.6.25 --> htc-msm-2.6.25 branch in git.linuxtogo.org. This is the kernel that we are testing in our machines these days.
2.6.27 --> htc-msm-2.6.27 branch in git.linuxtogo.org. Where we will stay in a few days. Better kernel, more improvements. Here is where people from other projects are working now.
Click to expand...
Click to collapse
Sorry, my mistake. Typed the message above late in the night.
But in the first and second post in this thread it says 2.2.65 and 2.2.67.
Thanks, was posted in a rush, just pm me if you see more errors. We use the odd numbered dev kernels, they will always have the most recent stuff.
A challenge for someone who likes graphic drivers:
I think linux is using ~10% of epson controller capabilities.
We have a lot of information about this controller, and open source code from epson.
Perhaps someone would like to work with this stuff.
orux said:
A challenge for someone who likes graphic drivers:
I think linux is using ~10% of epson controller capabilities.
We have a lot of information about this controller, and open source code from epson.
Perhaps someone would like to work with this stuff.
Click to expand...
Click to collapse
Do you mean things like picture-in-picture? Would be good later on in the gui - multiple desktops, that kind of thing. Also I noticed the Epson controller handles TV-out. Do we know if the out-connection exists for this, or have they just not connected it up?
Another thing to consider maybe USB on-the-go - the MSM72xx supports it; if (big if) the usb port has the right connections, it would be possible to mount external storage.
But I think it's more for later on - core functionality would be about making calls, sms, GPRS/3G. Let's see what we get from the latest kernel. Orux have you talked to the RAPH/DIAM guys on irc about merging?
orux said:
A challenge for someone who likes graphic drivers:
I think linux is using ~10% of epson controller capabilities.
We have a lot of information about this controller, and open source code from epson.
Perhaps someone would like to work with this stuff.
Click to expand...
Click to collapse
what makes you believe that?
whatever makes you believe it, share it!
if you have anything like docs,etc to share or point to lets have it !
Blackstone has got 2 graphic processors:
--->mdp, inside the chip. We have drivers in the kernel (mdp.c, mdp_ppp.c ...) I am not sure what capabilities are being used in current kernel. There are not good docs about mdp processor (I haven't got any useful).
--->epson controller. It can do:
• Picture in Picture, Transparency, Alpha Blending
• Image Rotation (90°, 180°, 270°) and Mirroring
• Scroll Assist
• AME (Auto Movie Enhancement)
• Supports up to three layers
• Image Doubling
• Bi-Cubic Scaling (1/2x ~ 8x)
• Over/Down Sampling Scaling (1/8x ~ 8x)
• Edge Enhancement
We don't have driver support in current kernel, but we have docs and source code from epson (link posted in discussion thread).
Htc Touch Pro has a tvout usb cable adapter, and seems to work in linux! I don't know if this cable works with our device.
USB on-the-go: interesting TODO.
patp said:
Orux have you talked to the RAPH/DIAM guys on irc about merging?
Click to expand...
Click to collapse
Not yet; perhaps your (or pichurri, ...) task when we have a good .27 diff. I have too much language limitations for an on-line discussion
p3ngwin said:
what makes you believe that?
whatever makes you believe it, share it!
if you have anything like docs,etc to share or point to lets have it !
Click to expand...
Click to collapse
OK, OK! These things take time - we all have other jobs I guess. We plan to get any open source docs online in a systematic way, we just need to figure out a reliable way - ie not RS etc. And we have to be careful of proprietry materials - we don't want copyright lawyers after us...
If anyone wants to offer us some rock solid webspace, that would be awesome.
TODO: Investigate instability of screen
I think that problems with screen are caused by onscreen keyboard. This keyboard is an excellent hack, but it is not 100% integrated with android.
We need to test a kernel without it.
orux said:
I think that problems with screen are caused by onscreen keyboard. This keyboard is an excellent hack, but it is not 100% integrated with android.
We need to test a kernel without it.
Click to expand...
Click to collapse
Or use the cup cake version with the keyboard in android it self.
Full doc of the epson controler : http://vdc.epson.com/index.php?option=com_docman&task=cat_view&gid=278&Itemid=40
Link is at the bottom of the wiki, add yours
I don't think we need to put all the docs at the same place, just add links at the bottom of the wiki, either hosted or link to website.
I can provide hosting if you need, just pm me.
repository
what do you guys think about creating some kind of repository(git or svn) to upload and share our blackstone kernel? i think it would make development much easier if you could see changes of other people immediately. we could use github or sourceforge.
I also think the On-Screen Keyboard is a problem.
Earlyer today I was goofing around in Android and every time I moved the keyboard, the graphics started acting very weird.(scrolling, not updating etc.)
When I hit F5 on the OSK, it would refresh Android and go back to the home page and the screen would be normal again.
Maybe route the OSK to a pip on the epson?
It's git for kernel dev, anyways svn sucks (inc troll)
If we set up a git, we'll need a guy working as a maintainer and pulling from everyone. This may become usefull when people start working in many different areas of the kernel, but for now diffs are better as they can be easily shared, and there's a howto in the wiki.
patp said:
OK, OK! These things take time - we all have other jobs I guess. We plan to get any open source docs online in a systematic way, we just need to figure out a reliable way - ie not RS etc. And we have to be careful of proprietry materials - we don't want copyright lawyers after us...
If anyone wants to offer us some rock solid webspace, that would be awesome.
Click to expand...
Click to collapse
hey i have a servage account that i hardly use which has massive space and bandwidth i could give you a ftp account to and any sql servers you may need. let me know
Rewpparo said:
Full doc of the epson controler : http://vdc.epson.com/index.php?option=com_docman&task=cat_view&gid=278&Itemid=40
Link is at the bottom of the wiki, add yours
I don't think we need to put all the docs at the same place, just add links at the bottom of the wiki, either hosted or link to website.
I can provide hosting if you need, just pm me.
Click to expand...
Click to collapse
Agreed, the wiki is the best place for this. Would you be happy for me to mention your hosting offer on the front page (which will quite soon need a better structure I'm sure).
JanSchotsmans said:
I also think the On-Screen Keyboard is a problem.
Earlyer today I was goofing around in Android and every time I moved the keyboard, the graphics started acting very weird.(scrolling, not updating etc.)
When I hit F5 on the OSK, it would refresh Android and go back to the home page and the screen would be normal again.
Maybe route the OSK to a pip on the epson?
Click to expand...
Click to collapse
Now that my friend, is a stunning idea (if it can be done simply). How does it relate to the Android OSK mentioned by xmoo? I guess the linux one is low level whereas the Android one is basically an app in the gui. Advantages to both, but if it works out of the box, the android one would mean we could essentially get rid of the linux one. We have ssh if we want to type in a console (or maybe android terminal app?).
Here we go:
I use a number of Microsoft Access Databases for my work, and each one is intensely coded and designed and basically run like actual programs. What I am looking for is to be able to take these databases with me. Now understanding that Microsoft and Android are two completely different beasts, what I really am looking for is the ability to take the tables (I use all Back-end database so all my tables are in a completely separate file then all my forms, queries, and reports) and the data with me and be able to run them in a program on Android that keeps the relationships and fields and all of that sort of stuff.
Now what would be great is the ability to use forms (even if special forms for android need to be made), run queries, and even be able to run reports and print as PDFs.
now I know how to code in VBA, hence the extensive coding I have done in Access, so anybody willing to WORK WITH in creating an Android Program to basically be an extension of Microsoft Access please contact me. Please not I use the words WORK WITH loosely, while I am trying to learn how to Program for Android, I currently do not have a computer that I can use to develop programs for android on, and well I would be only able to create the "Hello World" starter program and this project seems a slight bit more complicated. But what I can bring to the table is real world experience in testing and using the program day in and day out, a number of already existing Microsoft Access Databases ranging from Complex to Simple that I use every day. Really a program that can run Microsoft Access Tables on Android would be really useful to me and I am willing to do anything to help make this happen.
kronos82 said:
Here we go:
I use a number of Microsoft Access Databases for my work, and each one is intensely coded and designed and basically run like actual programs. What I am looking for is to be able to take these databases with me. Now understanding that Microsoft and Android are two completely different beasts, what I really am looking for is the ability to take the tables (I use all Back-end database so all my tables are in a completely separate file then all my forms, queries, and reports) and the data with me and be able to run them in a program on Android that keeps the relationships and fields and all of that sort of stuff.
Now what would be great is the ability to use forms (even if special forms for android need to be made), run queries, and even be able to run reports and print as PDFs.
now I know how to code in VBA, hence the extensive coding I have done in Access, so anybody willing to WORK WITH in creating an Android Program to basically be an extension of Microsoft Access please contact me. Please not I use the words WORK WITH loosely, while I am trying to learn how to Program for Android, I currently do not have a computer that I can use to develop programs for android on, and well I would be only able to create the "Hello World" starter program and this project seems a slight bit more complicated. But what I can bring to the table is real world experience in testing and using the program day in and day out, a number of already existing Microsoft Access Databases ranging from Complex to Simple that I use every day. Really a program that can run Microsoft Access Tables on Android would be really useful to me and I am willing to do anything to help make this happen.
Click to expand...
Click to collapse
I think we must have the same job
Android utilizes an sqlite database engine and it looks like sqlite already offers a conversion utility HERE. The real question would be how to get the data in and out of the phone. Regarding forms, they definitely would need to be custom built.
Thanks this is deffenetly a start, From what I can tell this This Looks to be the most promising, It looks like all you would have to do is put a MS Access Database file on your SD CARD and have a program access it. That way you copy it back and forth. Unfortunately it doesn't support Access 2003, but I can save down. I also got a lot of learning to do in programing Java programs.
Forms would be as simply as making a program, this is great thanks much
kronos82 said:
Here we go:
I use a number of Microsoft Access Databases for my work, and each one is intensely coded and designed and basically run like actual programs. What I am looking for is to be able to take these databases with me....
Click to expand...
Click to collapse
I would like to say, "yes, please!" to this idea. I currently use Smart List to Go (the descendant of ThinkDB) on my Palm TX. The TX is dying, and I've been shopping for a replacement. HanDBase exists for the iPhone, but I don't want an iPhone. So I've been focused on WinMo - not by choice as much as by necessity.
And android option would be very welcome around my computers.
benmyers2941 said:
I think we must have the same job
Android utilizes an sqlite database engine and it looks like sqlite already offers a conversion utility HERE. The real question would be how to get the data in and out of the phone. Regarding forms, they definitely would need to be custom built.
Click to expand...
Click to collapse
androids sqlite its for applications to access and store data using java code.
try the pocket office app
Freedomcaller said:
androids sqlite its for applications to access and store data using java code.
try the pocket office app
Click to expand...
Click to collapse
Exactly and we're talking about creating an app that would enable manipulation of an sqlite database. Essentially all that would be needed would be to create a ui framework wrapper for the existing api in android. Not the least monumental task I've heard of an individual taking on but not the most either.
The versions of pocket office that I've seen for android do not currently support Access databases as far as I'm aware. If I'm wrong could you post a link and save everyone some trouble?
aaaaaaaaaaaaaaaaaaa
kronos82 said:
Thanks this is deffenetly a start, From what I can tell this looks to be the most promising, It looks like all you would have to do is put a MS Access Database file on your SD CARD and have a program access it. That way you copy it back and forth. Unfortunately it doesn't support Access 2003, but I can save down. I also got a lot of learning to do in programing Java programs.
Click to expand...
Click to collapse
Jackcess library is now patched to support android (will be in 1.2.2 release). Also seems to support 2000, 2003 and 2007 formats now.
Works great for me.
View jackcess site. Couldn't find anything on support for android. I'm using htc desire and would really like to find program to view ms access file. Can you tell me how you do it?
As I remember reading worked as on PC, while writing had some problems.
This forum prevents me from linking directly, but if you click tracker/patches on Jackcess project, check Android Compatibility Fix - ID: 3101578
The changes are in trunk and will be in the 1.2.2 release. I've added some
notes which will eventually make it to the FAQ page on the website
detailing the compatibility steps:
- Set the system property "com.healthmarketscience.jackcess.broken
Nio=true"
- Set the system property "com.healthmarketscience.jackcess.resour
cePath=res/raw/"
- Copy the *.txt, *.mdb, and *.accdb files from the
"com/healthmarketscience/jackcess/" directory in the Jackcess jar to the
"/res/raw" Android application directory.
- Before executing any Jackcess code, set the current Thread's context
classloader, e.g.
"Thread.currentThread().setContextClassLoader(Database.class.getClassLoader())".
Click to expand...
Click to collapse
Until this version (1.2.2) is released you need to build lib yourself.
You also need commons-lang and commons-logging from apache commons.
Before you use Jackcess in Android code, you set
Thread.currentThread().setContextClassLoader(
getClass().getClassLoader());
System.setProperty(
"com.healthmarketscience.jackcess.brokenNio",
"true");
System.setProperty(
"com.healthmarketscience.jackcess.resourcePath",
"res/raw/");
Click to expand...
Click to collapse
and copy those resource files to res/raw
Then you can work as on PC, for example open /sdcard/yourprogram/file.mdb
Jackcess has no GUI, it's a library to read/write access files.
Getting an Access file into Android
I keep a lot of information on a Psion Revo, which has just turned its face to the wall and is giving up the ghost, and have always backed the information up on to my pc as an Access file. It looks easier to get this into a format acceptable to Android by converting the Access .mbx file into an Excel .xls file. This can be searched readily by Column and Values. Maybe this deals with too simple a need for most enquirers to the forum, but if it helps somebody then so much the better.
hi all i have beenlooking for something the same for some time now and just the other day i came accross this site cellica.com
the android app is free and the desktop application has a 5 day trial period or its $50 to buy it works great the only thing you can not do is create a report from the phone
i have emailed support team and they said they will be adding it on in the future.
Any Updates???
I currently build and use databases in MS Access and was wondering if there are any updates on this topic now that Tablets are in use now. Looking to get the Motorola Xoom (2nd version) in the future, but would love to be able to use a program that I would be able to access my MS Access databases while "on-the-go".
Anyone? This would be huge (I believe), since we now have tablets.
Thanks a bunch,
~Kilch~
Access to MS Access by Android
Hi,
I'm also looking to get on-the-go access to my Access databases on my Android HTC Tattoo.
The file is on it, I just need a tool to access it in read-only / search mode, but judging from the previous comments, there doesn't seem to be an oversupply in applications.
The "convert to Excel format" may be OK for me. I want to use a 3 language Access DB (dictionary) on my phone, so I'll try the Excel solution.
It would be nice if we had an ACCESS reader though...
John
Panacea Database
I know XDA frowns upon excessively hawking your own products here, but I do seem to be directly answering more than one of the reply questions, it just happens that the answer is an application my company released.
The Panacea Database application can handle Access from Access 2000 to Access 2007. It has also worked so far on every Access 2010 database we've tested, and we've received no complaints in that department yet. We release updates from time to time as we improve its functionality and features, often guided in our priorities by user e-mail and market comments. Our next update will be focused on improving screen layout for a variety of Android devices - from small QVGA smartphones, to large WXGA tablets. After that we may move onto other functionality.
In the interest of fairness, I'll point out arafa1209's post. He mentions Celicca Database, which is the only other application that I know of that deals with Access databases on Android. It has features Panacea does not have (yet) - ability to work with forms, ability to create and modify databases, ability to connect to your PC etc. Like us, they also send out updates improving their app regularly. So you can compare the apps, and use which one fits your needs better (or use both). If anyone knows of any others they can post here as well, but these are the only two I know of currently.
Just tried Panacea. Although it is more basic and annoyingly doesn't remember the last files you'be opened necessitating finding the file each time you open the app I prefer it for the simple reason you don't have to convert the Access database to another format.
amwebby said:
doesn't remember the last files you'be opened necessitating finding the file each time you open the app
Click to expand...
Click to collapse
If you update the app, this should be fixed, the last version should have this feature.
Got the update last week. Certainly goes a long way to making it more user-friendly. Keep up the great work!
Since the last update it seems to be broken. Although it remembers the last database I cannot open a table within any database.
Edit: It appears the file was corrupted. Loaded a new file and all working again.
Any news in this topic.
I tried panacea Database, works fine. But not very effective. Searching data is a must for me however I didnt manage to find a search option. When I search for tables, it cant even locate the tables by names.
PLEASE READ POST #2 FOR UPDATES. POST #1 IS STRICTLY INSTRUCTIONS ONLY. UPDATES ARE IN POST 2. THANKS!
Okay! Time to breathe some new life into the Shift. That's right folks. OS X now runs flawlessly on the HTC Shift and graphics are running without a hitch thanks to modified GMA 950 kexts. It's nice to play around with other devices. TBH the HD2 is too plain for me atm and I'm waiting for a Desire HD build of Android for it. In the mean time, here is some darwin goodness for the worlds favourite UMPC. First of all, to answer a few questions I encountered in the other threads, OS X will run perfectly fine on the Shift. Some people are blindly saying that the 950 has issues with OS X. Guys please do some research before posting misleading information. The 950's were the original on-boards for the MacBooks. It's impossible for it not to be supported. Better, with HW Acceleration! Okay so what works and what doesn't?
Working
- GMA 950 w HW Acc.
- Camera
-Trackpad
- Keyboard
- Speakers
- 3.5mm
- Internal drive
- Ethernet/USB Expansion Hub
- Battery/Charging recognition
- Display (although I tried forcing 1024x600 it will only create a scaled view and it's not useable)
- SD Card slot
Not Working
- WiFi
- Bluetooth
- Fingerprint Scanner (I'm not surprise, OS X doesn't have support for it anyway)
So almost everything works! Which is good news. I'm not sure if WiFi and bluetooth will work. Theoretically WiFi should work because the iPhone 2G and 3G use the exact same card that the Shift uses. However I need to find a way to extract the kexts from a firmware file which is proving to be difficult as Apple is now ridiculously locking down access to the images. Once I find this kext, WiFi should be a go. Bluetooth, I'm not sure about. I don't even know what stack it is so I can't look for a driver. Fingerprint scanner I'm not worried about as it proves useless most of the time anyway.
Okay so how do you get this working. Well I went through the trouble (and a majority of my download quota) to find which builds work best so you don't have to. Now don't come asking me for download links to these builds because I will NOT give them to you. Try google. Below is a rundown of the tested builds.
iAtkos 5i - Boots into verbose mode and kernel panics.
iPC - Does not boot at all. Installed netkas PCEFI - no change
XXX_10.5.6 - Boots into installer, won't run after installation
Leo4Allv3 - Boots into verbose mode and kernel panics.
Leopard 10.5.6 Pendrive - Boots perfectly to blue screen, loginwindows.app hangs
So the above builds were pretty helpless. The only ones that worked to some degree were iAtkos, XXX, and Pendrive, pendrive having the most success. Loginwindow.app was the only thing stopping boot. So I tried a number of things. First thing that comes to mind is replacing the app file. This didn't work and continued to crash. Then something else got my attention. the blue screen after the Apple logo turns black and then back to blue again. The only explanation to this would do this is that the graphics drivers were trying to load but failing. So this was a problem with the 950 kexts. The iAtkos disk came with excellent modified 950 drivers. Installing these onto the pendrive bulid solved this and it booted to the desktop. Below is the complete set of instructions to getting everything working including dual boot.
If you want dual boot working properly, I strongly recommend installing Windows first. That is, if you want to avoid a lot of hassle. Now as you may know, OS X is an HFS OS and Windows is an MBR. If you go about installing Windows on a drive with no other system on it, it is going to convert the entire partition table. This can be solved by creating two partitions under GPT. If OS X is on one partition, Windows will create a hybrid partition table. (MBR/GPT)
1) First you are going to need to find a copy of the leopard pendrive build and restore it to an external drive or usb. You are going to need access to a working hackintosh or Mac to be able to do this.
2) Once the restore is complete you need to go ahead and install the GMA950a.pkg and the GMA950b.pkg from inside the iAtkos disk. If you aren't able to find these I will attach these below.
3) Once these are installed, we are going to need a bootloader for the machine to see the drives. There is a great bootloader credits to netkas here.
http://www.mediafire.com/?zybzmmm5uyz
4) Plug in the external drive that you restored and installed these to and fire up your shift. Boot into the external drive bask in the glory of OS X. But we're not done yet.
5) Go and download IOATAFamily_ICH10 that's attached below and install it onto the boot drive. Reboot.
6) You need to head over to /Applications/Utilities/Disk Utility.app. Now we are going to partition the internal drive and it WILL ERASE THE WINDOWS INSTALLATION. It should come up on the top left as a grey hard disk. Now you need to select the one at the very top. i.e. the parent directory. You should now have a tab labeled "Partition." Click on that an you will get a box that has your hard drive name in it. Select "Volume Scheme" -> 2 Partitions and click on the first box. On the right, name this to whatever you like. I had Macintosh HD and select the size. Make sure the Format is set to Mac OS Extended (Journaled).
7) Now select the second partition and name it to something. I had Windows. Adjust the size and set it to MS-DOS (FAT). Now click options. and there will be three partition tables to choose from. Select GUID Partition Table (GPT). Click apply and this will erase the internal disk and replace it with two partitions.
8) Close disk utility and boot into your Windows disk. Install Windows onto THE WINDOWS PARTITION YOU CREATED. Not the Mac one.
9) After the install is complete, reboot into the external drive that you originally booted OS X off and open Disk Utility.
10) Now click on the Mac partition that you created in step 6 and click the restore tab. There will be two entry fields here, one called source, the other destination. Now depending on what the external drive is, it will either be an orange disk or a white disk. What you are going to do is drag the orange/white disk that you booted off into the source, and the Mac partition you created into destination. Tick the erase destination box and click restore. This will take roughly about 20 minutes.
11) When restore is complete, we have two more things left to do. We need to install the bootloader and set the partition as active. Now remember the bootloader we installed onto the external drive? All you need to do is install the same thing, but to the internal this time.
12) Almost there! Just need to mark the partition as active. I will post a screenshot incase this step is confusing. You need to go to /Applications/Utilities/Terminal.app. If you are familiar with Linux, this is a piece of cake. Just type the commands below.
diskutil list
Now there should be all the attached drives listed. Take not of your internal drives now. You should see on the left, /dev/diskX (where X is a positive integer) and under that will be a hash followed by a series of sequential numbers. select the appropriate number for your internal Mac partition. Mine was disk0s2. In most circumstances, it should be disk0 that you are after as it is the main drive. Next type the command below.
sudo frisk -e /dev/rdisk0 (or whatever the 0 is meant to be in your circumstance)
Ignore the error "fdisk: could not open MBR file ..."
next type:
f X (where X is the number that was next to the partition. In my case 2, in disk0s'2'. "
then:
write (hit enter key)
y (hit enter)
exit (to quit)
I FORGOT TO ADD THIS STEP! Before rebooting, run the bootloader from http://www.mediafire.com/?zybzmmm5uyz on the newly imaged internal drive. If you do not do this, the machine will boot up to a flashing underscore. You need to do this as the boot files are not copied from the first time you do it.
Now restart the machine, pull out the external drive and boot into the internal drive. There should now be a countdown timer. Press any key to interrupt this and you will get a list of your partitions. Mac OS X and Windows. if you want to go into Windows, just select it and hit enter. Similarly for Mac.
Hope this wasn't too confusing. Running OS X on alien hardware is not an easy task and if you succeeded, consider it a great accomplishment! Any questions, just ask below. I am on school holiday at the moment so I'll have a lot more time to answer! I will post up developments on WiFi so stay tuned!
Update 21/09/10
- Bluetooth operational with generic bluetooth kext
- 1024x600 mode. I've posted again after the server overload
- Ethernet works on the external hub. Only just tried it.
- For those who are experiencing problems with apps such as iTunes not syncing with iPhones or the store, there is a fix. Open the SystemVersion.plist in /System/Library/Core Services/ and change the system version 10.5.6 to 10.5.8. This will not update the system to 10.5.8 but it will trick software update into thinking you have it so you can update the software without dramas. There isn't much difference between the two except for a few bug fixes and core frameworks. Just remember not to do the security updates or the combo update.
Great work!
Seems like a great guide. I'll surely try this as soon as I get my hands on a crapple device.
Thanks
thaihugo said:
Seems like a great guide. I'll surely try this as soon as I get my hands on a crapple device.
Thanks
Click to expand...
Click to collapse
Haha! yeah i got tired of waiting around for a os x tablet. the shift is a beast.
I'm curious, why didn't you try Snow Leopard? Also, with something as non-generic as the Shift, I would have used Chameleon and went with a vanilla install so I can load each individual kext
EGOvoruhk said:
I'm curious, why didn't you try Snow Leopard? Also, with something as non-generic as the Shift, I would have used Chameleon and went with a vanilla install so I can load each individual kext
Click to expand...
Click to collapse
Good questions and thankfully I have answers for you. First of all note that 10.6 is a very lean version of 10.5. The install goes down from roughly 8GB to 5.5GB. How did they do this? They removed a truckload of obsolete drivers, most of which are needed to run the shift's older hardware. Snow Leopard also requires SSE3 to boot, which the A110 doesn't support. Also, the only practical and surefire way to patch 10.6 is using NBI (netbook installer). Don't get me wrong I did try but if NBI doesn't make SL bootable, nothing will. Anyway, Snow Leopard has a 1GHz cap which is quite hard to bypass without causing stability problems. Even running Leopard on my 667 Powerbook lagged like a b**ch (excuse the language). As for chameleon. The bootloader is a pcefi/chameleon hybrid. The reason for this is that GUI chameleon caused incredible graphics issues. The drive images on boot would be multi-colored and stretched. So GUI was a no go. Vanilla worked but it didn't WORK. The whole point of vanilla is for system updates and stability increases. Unmodified kexts did nothing of the sort for the shift. For example unmodified 950 drivers caused severe disproportionality and VGA out didn't work. In fact, the modified system kexts increased stability and boot time on an ssd is roughly 25 seconds to desktop.
Did you get touch screen working ?
I have also installed 10.5.8 version I used version fromn ASUS eee 701
as you sad there is no bluetooth wifi touchscreen working...
About wifi 8686 iPhone use ARM version the driver must be rewriten to be used on our devices...
-=xXx=- said:
Did you get touch screen working ?
I have also installed 10.5.8 version I used version fromn ASUS eee 701
as you sad there is no bluetooth wifi touchscreen working...
About wifi 8686 iPhone use ARM version the driver must be rewriten to be used on our devices...
Click to expand...
Click to collapse
Bluetooth DOES work. Touchscreen as you said doesn't work. ARM/Intel won't matter as the kexts for peripherals are OS level not architecture level. Hence the reason a PPC kext will work on an Intel based Mac.
Do you know what kind of touch screen is used in shift ?
There are some drivers from usb touck screen maybe we can use them but I didn't find any information about shift touch screen need to see linux drivers...
-=xXx=- said:
Do you know what kind of touch screen is used in shift ?
There are some drivers from usb touck screen maybe we can use them but I didn't find any information about shift touch screen need to see linux drivers...
Click to expand...
Click to collapse
I'm begging to have the same question answered. I've exhausted all resistive touch drivers for OS X and none of them are working. I'm beginning to think its a prop. touch display instead. Anyway, Linux drivers wouldn't work. Darwin has almost nothing in common. The closest thing is bsd as far as OS X applications are concerned, but again, this is just a bsd flavouring and no drivers designed for bsd will work. Sure they can be ported, but it's a much quicker route if it was to be rewritten from scratch.
Do you know what interface is used for touck screen comunication ?
Maybe it can be used for tracing output data and accomodation existing driver to our needs...
And about wifi did you get any progress ?
-=xXx=- said:
Do you know what interface is used for touck screen comunication ?
Maybe it can be used for tracing output data and accomodation existing driver to our needs...
And about wifi did you get any progress ?
Click to expand...
Click to collapse
Touch is definitely USB based (device manager->usb hid device). WiFi is looking slim at the moment. I've gone through a few iPhone firmware files to find a suitable kext with no luck. So it is looking to be a complete rewrite of the driver which will be quite difficult as there is no support for Marvell as far as WiFi goes. Apple only ethernet by Marvell/Yukon, thus ruling out the possibility of common driver properties between other kexts.
Just in reply to a post before the server crashed. None of the touchscreen drivers worked and the panel didn't get recognised. Also the download for the resolution enabler is back up in post 2 again. And it looks like we made it on engadget. AGAIN.
Featured article on egadget congrats.
Sent from my htc hd2 using XDA App
roflcoptrbbq said:
Featured article on egadget congrats.
Sent from my htc hd2 using XDA App
Click to expand...
Click to collapse
Hahaha thanks. Its actually on a lot more now. Its almost a virus! hahaha
could you get the drivers from 10.5 and shove them into 10.6, also see if you can use the axitotron modbook drivers
http://www.axiotron.com/index.php?id=home
i will try all of this next week, as i was about to sell my shift....
it's on marketplace here.
ayilm1 you are awesome.
shad0wfire said:
could you get the drivers from 10.5 and shove them into 10.6, also see if you can use the axitotron modbook drivers
http://www.axiotron.com/index.php?id=home
Click to expand...
Click to collapse
Yeah mate. that did cross my mind until i realised axiotron hasn't done anything to do with Synergy touch yet, meaning no finger touch at all. It's all wacom based. Synergy will incorporate resistive with this, or maybe even capacitive, but no guarantees on it working with the shift. I have started to build a kext for it but it's really difficult when you don't even know the manufacturer of the panel you are writing the driver for! Thanks Seb, just trying to help out the xda community!
Wifi
If it uses the same wifi card as the iPhone 3G, the firmware is decryptable. Head onto the idroidproject.org forums. I spent time on there putting android onto my 3G and the wifi binary files were needed as they were copyrighted material.
If you like get back to me and I can get the binaries for you? If not it's pretty simple just requires some simple linux command line skills, which I'm
Sure you have since you undertook this project.
Anyway good luck, hope this helps with getting wifi to work!!
I haven't really done anything on the programming side of things since VB6.0. Learned a bit of C once upon a time, but never really got anywhere.
Can any of you fine Devs here point me in the right directions to begin learning how to program for Android? Remember, please, that I will likely have to unlearn some things, and that I have ZERO JAVA experience. I would love to be able to make some apps to fill gaps that I see in the market.
I am running on a dual boot lappy with Win Vista and Linux Mint 10(Ubuntu derivative). Links or pointers to what I need for both sides will be welcomed and appreciated.
im reading hello android v3 and its great so far.. ive also been going thru android source.. download the android sdk and eclipse for linux and or windows.. i prefer linux as does most devs. ive also registered for night time java classes at the local community college for 13 bucks a semester. anyways goodluck!
This might be helpful for basic syntax stuff.
Start with fattire's link and pick up the Java basics. To read Android examples, you'll need to understand how Classes and Interfaces work as well as how to extend and implement them, respectively. You'll also want to understand inner classes and anonymous inner classes. Understand variable scoping in classes.
Learn how threads work. Understand the implications of multithreading and reentrance. Experiment a lot in simple, stand-alone samples.
Once you've gotten started with Java, you can download Eclipse and the Android SDK. Here's the Android "Hello World" tutorial, which is a reasonable place to start. It has pointers to everything you'll need.
http://developer.android.com/guide/tutorials/hello-world.html
Android Applications are pretty straightforward once you understand the basics... AppWidgets and Services are less so. The trick is to understand the lifecycle of each -- where and when it's appropriate to do what sorts of work and how to communicate results between different components. It will be rough going in the beginning with a fair amount of crashing as you discover you're taking too long to do something that really should be offloaded to a different part of the lifecycle or a whole new thread -- or when you discover you can't do something you want, directly, because you lack the parts and have to send a message to something that does have all the parts.
My first project was a simple button on the home screen that, in effect, runs a few commands. It took me more than a week to make it work properly, and I was already familiar with Java.
Also understand that some of the examples floating around -- even those from Google employees -- are old and that Android has had some growing pains. Double check the approach suggested by anything that's older than a year. The SDK contains sample programs that make for decent cookbook code.
thanks to all of you...as well as the mod who moved the thread to the correct spot...wasn't sure if this was the correct one.
Hello android (as mentioned above) is awesome! Another good one is Beginning Android 2. Both found here:]
Hello Android
Beginning Android
ok as you are aware motorola have a closed source app called mobile view,
My aim is to reverse engineer it to see if we can port it to other distros i.e like gentop / debian.
PROGRESS:
i have already somewhat worked out and have (with errors) a fully working debian wheezy running with some of the webtop apps working and a few errors, I.e sound not working
i have so far got the fact of the program is called aiw it is launched via aiw -d on boot of webtop, In the start-webtop-1.sh script .
i've located all the files it uses to run i can also see the fact it is wrote in c (c assembly to be precise) .
TO DO:
I should have some what of a base code of it by the end of next week. I've learnt alot about the webtop in the last month and i am continuing to learn it till i know it inside and out.
Also i will be started a git repo later for some of my other work
I.e the full debian wheezzy with gnome and gnome panel working on boot
i don't know how to make it into an easy install so help would be nice on that
If any of you wish to help with this then please let me know its not for the faint hearted also mods if you have a problem with this then please let me know / remove the post.
MOD EDIT:
This dude is looking for folks to help him reverse engineer mobile view, a closed source application on the Atrix, for porting it to gentoo or debian. Hopefully he will edit his thread and use some commas or bullets!
MY EDIT:
I Have re-edited it with commas and full stops and capital letters i'm sorry if some of you were unable to read / understand this
MOD EDIT:
I added some badly needed formatting Good luck!
First step is find a keyboard with punctuation symbols on it so you can communicate with the rest of the development community. After that all things are possible.
sorry i do personally suck at grammer
Trying to read this made me mad. :/
Sent from my MB860 using XDA App
Op has serious development intent. Let's try to keep it on topic now that things have been edited.
there we go edited
I'd very much love to see this happen for a couple reasons
1. I imagine this could be used with a linux based PC to run AIW?
2. We could **** all dependency holding like we do in the current ubuntu setups and have a no-break upgradable linux OS.
Little side bit, though might provide incite as to why some apps have issues
Been looking into VNC server on web-top on my How Too in the general section and as I was working on it I noticed that the ported moto applications such as firfox aiw awn and a few others only function only in the adas hdmi environment such as DISPLAY=:0 as set up by a few scripts in /etc/init.d I was wondering as you mess with your development on this if you manage to find out how to set X to share for Xvnc to utilize or can point me in the right set of files to look at I would appreciate it.
-DjAzin
Djazin said:
Little side bit, though might provide incite as to why some apps have issues
Been looking into VNC server on web-top on my How Too in the general section and as I was working on it I noticed that the ported moto applications such as firfox aiw awn and a few others only function only in the adas hdmi environment such as DISPLAY=:0 as set up by a few scripts in /etc/init.d I was wondering as you mess with your development on this if you manage to find out how to set X to share for Xvnc to utilize or can point me in the right set of files to look at I would appreciate it.
-DjAzin
Click to expand...
Click to collapse
aiw and firefox will run in any enviroment there is some security policy's that were set by motorola that only allow certain process to run / access certain files and would autokill things that it it didnt think should be running and shouldnt be running by a certain user ie adas is the only user allowed to start awn and firefox if you try starting it from root it will kill it straight away i will find out the commnds i used to disable this amd post it up later i,m currently out and about atm and not near my computer