[Partial] Hacking myford touch, were getting closer!!! - Windows Mobile Development and Hacking General

Ok Devs-
(ALSO sync owners, don't update your sync systems anymore by ford, we are getting close to unlock it, and they will put out updates to bork our hack).
I need some help please. I need to modify this POS sync. You can't do anything with it. I want to get navigation running or bluestacks to run android.
I got the official ford , usb reboot file I have attached it here. It has the signed files that we need.
I was able to tigger the install event with those files. And I believe this is our key to Jailbreak the system.
The best part is that you can run stacked commands on those install scripts. https://www.coalfire.com/The-Coalfire-Blog/October-2014-(1)/Reverse-Shells-and-Your-Car?feed=blogs
I have been struggling to get it it to execute, presumably, I don't know anything about win CE.
I have the win CE cmd.exe on my usb. Place it into the system, it recognizes and initiates upload. What the code below is trying to do is piggy back on the copy via stacked code to upload cmd.exe to the system then execute it. UNless there is another way to get a shell, once we get the shell, WE OWN THEM.
This is what my path is listed on my autoinstall.1st file -
Open1 = DelayedReboot.cab; cmd.exe \tmp\cmd.exe; \tmp\cmd.exe
the cab is required as it is signed by microsoft and bypasses the lock to load additional code.
Changing the semi colon to & makes it error out, so the semi colon is correct, just dunno if I have the paths right. Normally, it would be something like for linux /fs/usb0/etc...... but I am not sure about CE lists the usb device path...again I am win CE retarded. UNless there is a way to % to the paths, but I dunno much about win.
Sync, recognizes and executes with no errors. If I change my code a little, it will not work and say error.
SO what am I missing to get the cmd to run? Or is it already? I was expecting a shell to pop up?
If someone can point me in the right direction, or to point what file I can call to execute the onboard navigation, that would be awesome as well.
Even if we can't get a shell, I'd like to be able to execute a file, then I can run MIOpocket on this thing and ditch sync for android apps.
I have also attached the sync app developer guide link. With programming commands for apps.
https://developer.ford.com/uploads/DevConf%20-%20Track%205%20-%20Best%20Practices.pdf
Here is a link to the windows 7 automotive guide on how the system operates, kernel info, driver info, and stuff.
http://download.microsoft.com/download/0/A/1/0A1E07D6-7562-4566-AACF-E04DF4FF8879/A%20Technical%20Companion%20to%20Windows%20Embedded%20Automotive%207%20(final).pdf
UPDATE: 04/19/2015 -
While it is not a software hack, IT IS possible to unlock the navigation only portion of the MFT 8", if you have it without nav.
IF YOU DO THIS, YOUR CAR WARRANTY IS VOID. You've been warned.
It will cost a little money, but not set you back $1000 like nav tv and lockpick are charging. Maybe $100 or so.
Here is what you need to do, if you can't wait for us to unlock the bootloader.....
1 - Get a used APIM only part with the numbers DS7T in it. (aluminum only part with the fins, you DO NOT need the screen)
2 - Get the VIN# of the car it came out of and check the VIN to see if it was enabled with factory NAV. There are internet sites that will check the VIN for you. Must be a unit with NAV enabled.
http://researchmaniacs.com/VIN-Number-Lookup/WindowSticker/Ford.html
3. Install the APIM only to the back of your LCD.
4. The system will reboot and reset.
5. The system will them ask you to insert the NAV sd card, do that. (obviously, you have to buy a nav card from ebay as well, but those are $10)
6. Enjoy factory NAV for about $100
This is the only workaround for now. THE APIM is separate from the sync system and only interfaces with it. So, you will retain all your OEM VIN# locked stuff and it will survive reboots and updates. The nac actually just unlocks on that APIM portion, believe it or not. This method doesn't tie into the file system software, it merely accesses it.
Now.... if someone would be so kind as to just rip the NAND chip from one of those units and post it, so that we can just flash over our existing equipment, we can do this for FREE!!!!!!
Still working on the video bypass.... It would be nice if our Russian friends can start chiming in for that one please.....
DON"T FALL FOR THE EBAY GUY CHARGING $600 to $700 for this. Let's put him out of business.... Your help is needed.
PROPS TO rahrena8690 for the find.
WORKING FILE LINKS - FOR DEVELOPERS ONLY
Delayed Reboot project
https://mega.co.nz/#!m0BEWSrA!qrdgIRYTvccH52794ktdpRfrulI_pSdY3g-iiCyhaFs

awesome work
kthejoker20 said:
Ok Devs-
(ALSO sync owners, don't update your sync systems anymore by ford, we are getting close to unlock it, and they will put out updates to bork our hack).
I need some help please. I need to modify this POS sync. You can't do anything with it. I want to get navigation running or bluestacks to run android.
I got the official ford , usb reboot file I have attached it here. It has the signed files that we need.
I was able to tigger the install event with those files. And I believe this is our key to Jailbreak the system.
The best part is that you can run stacked commands on those install scripts. https://www.coalfire.com/The-Coalfire-Blog/October-2014-(1)/Reverse-Shells-and-Your-Car?feed=blogs
I have been struggling to get it it to execute, presumably, I don't know anything about win CE.
I have the win CE cmd.exe on my usb. Place it into the system, it recognizes and initiates upload. What the code below is trying to do is piggy back on the copy via stacked code to upload cmd.exe to the system then execute it. UNless there is another way to get a shell, once we get the shell, WE OWN THEM.
This is what my path is listed on my autoinstall.1st file -
Open1 = DelayedReboot.cab; cmd.exe \tmp\cmd.exe; \tmp\cmd.exe
the cab is required as it is signed by microsoft and bypasses the lock to load additional code.
Changing the semi colon to & makes it error out, so the semi colon is correct, just dunno if I have the paths right. Normally, it would be something like for linux /fs/usb0/etc...... but I am not sure about CE lists the usb device path...again I am win CE retarded. UNless there is a way to % to the paths, but I dunno much about win.
Sync, recognizes and executes with no errors. If I change my code a little, it will not work and say error.
SO what am I missing to get the cmd to run? Or is it already? I was expecting a shell to pop up?
If someone can point me in the right direction, or to point what file I can call to execute the onboard navigation, that would be awesome as well.
Even if we can't get a shell, I'd like to be able to execute a file, then I can run MIOpocket on this thing and ditch sync for android apps.
I have also attached the sync app developer guide link. With programming commands for apps.
https://developer.ford.com/uploads/DevConf%20-%20Track%205%20-%20Best%20Practices.pdf
Here is a link to the windows 7 automotive guide on how the system operates, kernel info, driver info, and stuff.
http://download.microsoft.com/download/0/A/1/0A1E07D6-7562-4566-AACF-E04DF4FF8879/A%20Technical%20Companion%20to%20Windows%20Embedded%20Automotive%207%20(final).pdf
Click to expand...
Click to collapse
I have been wanting to get into this system since the day I got my truck. All ford has succeeded in doing is piss me off with "updates" that didn't amount to much. I would be happy if they would at least allow applink on the touch systems, as that would at least give us some options to add our own work.
I would love to help, but don't have much experience with "rooting", Windows CE, etc. But looking at what you have so far, I will offer some thoughts that came to mind:
It seems to me that you are working at the bootloader level, not the OS level. I may be way off here, but this could be why cmd won't work, as the OS is not loaded, so a traditional shell is not yet possible.
If you are indeed at the OS level, I wonder since you didn't get any errors when trying to launch cmd, if it was indeed actually running. I know on windows systems, if you manage to launch a process as "system", you typically can't interact with it (security issue). I don't know CE at all, but wonder if PsExec would work if it is launching your exe, but as system...
If it is executing your exe as system, perhaps a script or small app that writes some info about the system to a file on the usb drive would help. IE, have it list the folder structure for example.
I know we are not alone on people wanting to work on this. It looks to me that with Sync 3 dumping MSFT, we may be left in the dust with no further updates, although, this guy has found some signs that it might still get some useful updates:
http://www.reddit.com/r/Ford/comments/2rf2cc/ford_may_announce_updates_to_sync_gen2_myford/
Thanks

kthejoker20 said:
Ok Devs-
(ALSO sync owners, don't update your sync systems anymore by ford, we are getting close to unlock it, and they will put out updates to bork our hack).
I need some help please. I need to modify this POS sync. You can't do anything with it. I want to get navigation running or bluestacks to run android.
I got the official ford , usb reboot file I have attached it here. It has the signed files that we need.
I was able to tigger the install event with those files. And I believe this is our key to Jailbreak the system.
The best part is that you can run stacked commands on those install scripts. https://www.coalfire.com/The-Coalfire-Blog/October-2014-(1)/Reverse-Shells-and-Your-Car?feed=blogs
I have been struggling to get it it to execute, presumably, I don't know anything about win CE.
I have the win CE cmd.exe on my usb. Place it into the system, it recognizes and initiates upload. What the code below is trying to do is piggy back on the copy via stacked code to upload cmd.exe to the system then execute it. UNless there is another way to get a shell, once we get the shell, WE OWN THEM.
This is what my path is listed on my autoinstall.1st file -
Open1 = DelayedReboot.cab; cmd.exe \tmp\cmd.exe; \tmp\cmd.exe
the cab is required as it is signed by microsoft and bypasses the lock to load additional code.
Changing the semi colon to & makes it error out, so the semi colon is correct, just dunno if I have the paths right. Normally, it would be something like for linux /fs/usb0/etc...... but I am not sure about CE lists the usb device path...again I am win CE retarded. UNless there is a way to % to the paths, but I dunno much about win.
Sync, recognizes and executes with no errors. If I change my code a little, it will not work and say error.
SO what am I missing to get the cmd to run? Or is it already? I was expecting a shell to pop up?
If someone can point me in the right direction, or to point what file I can call to execute the onboard navigation, that would be awesome as well.
Even if we can't get a shell, I'd like to be able to execute a file, then I can run MIOpocket on this thing and ditch sync for android apps.
I have also attached the sync app developer guide link. With programming commands for apps.
https://developer.ford.com/uploads/DevConf%20-%20Track%205%20-%20Best%20Practices.pdf
Here is a link to the windows 7 automotive guide on how the system operates, kernel info, driver info, and stuff.
http://download.microsoft.com/download/0/A/1/0A1E07D6-7562-4566-AACF-E04DF4FF8879/A%20Technical%20Companion%20to%20Windows%20Embedded%20Automotive%207%20(final).pdf
Click to expand...
Click to collapse
Thanks Pro. any new updates. Actually i just purchase Lincoln MKZ 2014, although i know it is hardware capable to run navigation since i get latitude and longitude, but unfortunately no navigation from the factory. i just play with My Lincoln Touch and on the sittings there is a tab for installing apps. so can we install and windows CE app?

Nothing yet.
Sync updates are rolled out every 6 months.
Rumor was that we are all getting blackberry upgrade from Microsoft.
Update is expected Feb 2015 or so.
We are sitting on the sidelines waiting to see what Ford will do, before we start porting over. There may be no need for our work if we get port link to the new system. I think Ford is on our side, as they don't want us open sourcing the system and have to deal with warranty claims.

kthejoker20 said:
Nothing yet.
Sync updates are rolled out every 6 months.
Rumor was that we are all getting blackberry upgrade from Microsoft.
Update is expected Feb 2015 or so.
We are sitting on the sidelines waiting to see what Ford will do, before we start porting over. There may be no need for our work if we get port link to the new system. I think Ford is on our side, as they don't want us open sourcing the system and have to deal with warranty claims.
Click to expand...
Click to collapse
i don't think so. we will not get the QNX update. I think it is a different system with different architecture and requirements. but i hope they unlock the FMT or LMT so we can install any windows ce app.

Please don't reply to this thread with comments or requests.
I'd like to keep it clean to only development comments.

Based on what I'm reading around the page 26 mark (bootloaders section of the windows embedded 7 pdf), it sounds like we need to attempt to give the IPL boot arguments to get into update or development mode and from there we could have a chance of pushing our own files. I would think update mode looks for a signature but dev mode might let anything in.

Way ahead if you. The attached file has the signature. I was able to successfully run stacked commands by modifying the attached reboot file. Problem, the command doesn't stick on reboot.

kthejoker20 said:
Way ahead if you. The attached file has the signature. I was able to successfully run stacked commands by modifying the attached reboot file. Problem, the command doesn't stick on reboot.
Click to expand...
Click to collapse
So you were able to launch a command prompt via the delayed reboot zip? I wonder if it would be possible to hack a sync update and then use this to push it.

I need a zip please... I can induce an update no command prompt yet
I can only run commands stacked, but I need to run a script on the sync side, but I can't figure out how to push the script to the sync

kthejoker20 said:
I need a zip please... I can induce an update no command prompt yet
I can only run commands stacked, but I need to run a script on the sync side, but I can't figure out how to push the script to the sync
Click to expand...
Click to collapse
This the latest myford touch update Gen2-V3.7.11
http://www.mediafire.com/?79v3d0d8972sy44
Here is the Delayed Reboot zip
http://outofmytouch.com/assets/delayed_reboot.zip

So some very quick looking tonight and I found EA5T-14D546-ATD contains the master patch. Decompiling some of the shockwave files I have found some interesting code. These would most likely be the files to hack to change factory behavior. Getting them flashed to a vehicle might be a whole other issue though.
Edit: After more browsing I think we need to target a master patch for an older version of Sync. I was looking at the master patch for the most current so there are going to be less files patched. I will have a peek at those later.

For some reason, the coalfire site took down it's information regarding the reverse shell of the infotainment system.
Here is what I am talking about with the command on the delayed reboot file. I have conveniently located the stacked command image and attached it for your viewing pleasure.
If we can patch the files, this is how we push them to the chip. Otherwise, I may have to PHYSICALLY pull the system files through JTAG tap... sigh... not really wanting to do that though...
If we can push them, we would have to unlock the bootloader to bypass the sigs... This is where my brain is staring to hurt....
Obviously, these commands do not apply to what we are doing, as that is QNX. Plus, I don't want any noobs spunking their system with our fashizzle yet...until we test it.
Just a final thought, as a plan B, we could reverse shell with the USB exploit as well... just saying.. might be easier

An integer overflow might work as well, but I have never experiemented on an embedded chip. Stacked command invoking an integer overflow, might give us write access to the system.

Has any thought gone into rewriting one of the dll's included in the latest patch to include some sort of backdoor? It seems it'd be easy (maybe I'm missing something here) to just modify the latest patch's install files to install our new dll.

I haven't had time yet, but I am going to try to USB otg pull.... I'm sure I can probably at least disable the vss lock.

kthejoker20 said:
I haven't had time yet, but I am going to try to USB otg pull.... I'm sure I can probably at least disable the vss lock.
Click to expand...
Click to collapse
When you tried running the cmd prompt with the stacked command approach did get any indications of the program running? I was thinking about adding some arguments to the end of the command to write a random file to the root of an available drive (like you said, who knows how the thumb drive is recognized).
Also, what type of processor does the system run on?
---------- Post added at 11:51 PM ---------- Previous post was at 11:30 PM ----------
duckboy81 said:
When you tried running the cmd prompt with the stacked command approach did get any indications of the program running? I was thinking about adding some arguments to the end of the command to write a random file to the root of an available drive (like you said, who knows how the thumb drive is recognized).
Also, what type of processor does the system run on?
Click to expand...
Click to collapse
I think I answered one of the questions. From the PDF you posted "A Technical Companion..." it's a Freescale IMX35 processor.
freescale.com/webapp/sps/site/taxonomy.jsp?code=IMX35_FAMILY&cof=0&am=0

Looking forward to following the progress of this thread! I hope that you all will discover a new solution to our these outdated systems! Good luck guys, I am rooting for you!

duckboy81 said:
When you tried running the cmd prompt with the stacked command approach did get any indications of the program running? I was thinking about adding some arguments to the end of the command to write a random file to the root of an available drive (like you said, who knows how the thumb drive is recognized).
Also, what type of processor does the system run on?
---------- Post added at 11:51 PM ---------- Previous post was at 11:30 PM ----------
I think I answered one of the questions. From the PDF you posted "A Technical Companion..." it's a Freescale IMX35 processor.
freescale.com/webapp/sps/site/taxonomy.jsp?code=IMX35_FAMILY&cof=0&am=0
Click to expand...
Click to collapse
Actually I am pretty sure the MyFord Touch processor is an I.MX51 acccording to a Ford PDF I found. Unfortunately I am new to posting here and it won't let me post links.
I work on the almost identical I.MX53 processor at work doing Linux kernel, u-boot boot loader, and Linux application software, so I might be able to help.
Most of the I.MX processors have built in ROM code that allows booting to a USB or Serial downloaded mode. This allows loading any software you want into any RAM address and then booting from it. Then you run completely out of RAM (like a live CD). Depending on how Ford setup the I.MX51 e-fuse settings, there may be an external pin that could be used to enter this serial downloaded mode. Freescale provides a tool called the MfgTool to load software using the serial download mode. Then you could load Linux, Android, or whatever. The e-fuses also allow you to lock out JTAG, serial downloaded mode, and enable boot time signature checking, but I am not sure if Ford used any of these to lock the system down.

Do we know where the processor is located in the fusion?

Related

Ubuntu LiveCD with ADB and Unrevoked Recovery installer(Guide).

I have been helping out with rooting HTC Aria's over in IRC in the #liberatedAria channel for a while now. A lot of people have problems with drivers on Windows. The easiest solution for them to do this has been to download an Ubuntu LiveCD and use it to root their phone, however many people know nothing about Linux at all and feel daunted by this.
I have created a customized Ubuntu LiveCD that has a script that downloads the Unrevoked Teams reflash, untars it, and runs it as root to root HTC's phones that are supported by the tool (HTC Evo, Hero, Aria, Desire, and Incredible). It also has the Android SDK included and added to the path so it is accessible from a terminal. Everything can be done without a single change to the computer you are doing it on.
Download the iso image here:
MD5: 9a34c343e8f610e66674af9384334bf6
ubuntu-10.04-desktop-i386-HTCROOT.iso Primary
ubuntu-10.04-desktop-i386-HTCROOT.iso FileFactory.com
Burn the iso to a cd (This can be done with any cd burning software, imgburn found here is free)
[Optional]
If you do not have a CD drive, you can create a bootable flash drive by using the tool found here:Pendrive Linux
Put the CD into your computer cd/dvd drive and reboot your computer.
You must make your computer boot from CD, there are many different ways to do this depending on what computer you have, most recent computers have this enabled by default. Here is a guide that may help if you can't get this to work:Enable Boot from CD
Once it boots from the cd it will show a small picture of a keyboard and a person, do not press anything here and it will come to a window that will allow you to select your language.
Select your language and click "Try Ubuntu 10.04 LTS". This will boot up to a standard Ubuntu livecd desktop.
On your phone click menu, settings, applications, development, usb debugging
On the computer click "Places" on the top menubar and click "Home Folder". This will open a file explorer window, in that window is a script called "reflash.sh".
Double click reflash.sh. A window will pop up asking you what to do with this file, click "Run in Terminal". This will go get from the internet the current version of Unrevoked recovery installer from unrevoked.com/recovery, unzip/tar it, and run it as root.
Once it is complete you will be looking at the unrevoked3 screen and you should follow the prompts on screen.
You will then follow the prompts on the screen to plug in your phone, from the notification pane in android select charge only.
unrevoked3 will reboot your phone twice and leave you in ClockworkMod Recovery. On the computer at the bottom of the window it will say "Done".
Close the window, if you do not need to do anything further you can shut down the machine and be back in windows with nothing changed on your windows system.
Congratulations, your phone is now rooted and has ClockworkMod recovery installed.
There are other guides to setup of sideloading for the aria as well as how to load roms. You can do these using this live cd as well, this is a full ubuntu 10.04 livecd with only games and open office removed, and the unrevoked3 installer and the android sdk installed, it is already in the path and you can use adb commands from the terminal without having to switch directories(however it can be found in /opt/android-sdk-linux_86).
I would like to thank The Unrevoked team for making such a nice tool, and website that made this possible. I would like to that the guys in IRC on Freenode.net channels #liberatedAria and #koush for everything I've learned recently as well as all the great work they have done. Thanks also to Attn1 for making some nice roms for the HTC Aria and gave me the idea to create this. Thanks to Downer3d for the torrent mirror. Thanks to Neolobster for the new faster mirror.
Allowing Non-Market Apps using this cd on the stock ARIA rom:
Click Applications in the upper left corner.
Go to Accessories, click Terminal. This will put in you a terminal in the default users home folder. Because ADB(and android sdk) are in the path you do not need to change any directories. Start the phone in CLockworkmod with data mounted from the partitions menu and plug the phone into the computer.
Code:
sudo su
adb pull /data/data/com.android.providers.settings/databases/settings.db settings.db
echo "update secure set value = 1 where name = 'install_non_market_apps';"|sqlite3 ./settings.db
adb push settings.db /data/data/com.android.providers.settings/databases/settings.db
adb reboot
What this does:
Switch user to root.
ADB pulls the file that contains the setting to allow non market apps down to the machine from the phone.
The next line runs a sql update of the field install_non_market_apps in table 'secure' and sets the value to 1 (on).
ADB then pushes the file back to the phone in its original location.
You then use ADB to reboot the phone to enable it.
Thats awesome!! If I didnt already go through all the trouble of doing it on my Windows box I would definitely try your live CD. I already have 10.04 installed on my laptop and I never really thought of trying it on there. I wonder if it would have been easier....oh well. Thanks again. Im sure there are plenty of people out there that will find this very useful.
Much easier. And yes, this IS awesome. Great job, Shad0wf0x. This kicks ass.
This is a fantastic idea, I had a ton of trouble rooting my Aria on Win7 x64 and downloading and using Ubuntu 10.04 eventually proved to be much easier. If your iso works as advertised I can see this possibly being the most pain-free solution for annoyed Windows rooters.
Sent from my HTC Liberty using XDA App
This works wonderfully for rooting and sideloading apps (the only issue there was figuring out I needed the root account and permissions). As painless as a dentist trip.
If I was to install Ubuntu from that LiveCD, would it still have the Android SDK on it or would I need to reinstall it? I like not having to cd to it.
the android sdk is installed on the livecd and in the path, you'll have it every time you boot up, the part the script downloads will be gone on a second boot(unrevoked.com's recovery installer)
Great job!
Do u think that u could add some other HTC devices, in the future?
Awesome, thanks!
matteios said:
Great job!
Do u think that u could add some other HTC devices, in the future?
Click to expand...
Click to collapse
The devices supported are the devices supported by the unrevoked3 tool, I am not part of their team, just trying to help out some windows users who have driver problems.
Virtual image?
Has anyone created a virtual image of s full Android dev system? That would sure be handy!
jmdearras said:
Has anyone created a virtual image of s full Android dev system? That would sure be handy!
Click to expand...
Click to collapse
not sure if this is what you're looking for, but it'll help.
http://forum.xda-developers.com/showthread.php?t=701816
Problem with reflash.sh tool
I followed all the steps, till the final step, and it said failed to flash recovery image and my phone only booted up once. Am I doing something wrong?
I am currently running.
Version 2.2 updated OTA last week Aug 3rd
Kernel version - 2.6.32.15
build #: 3.26.651.6
software: 3.26.651.6
PRI version: 1.40_003
jbwfg said:
I followed all the steps, till the final step, and it said failed to flash recovery image and my phone only booted up once. Am I doing something wrong?
I am currently running.
Version 2.2 updated OTA last week Aug 3rd
Kernel version - 2.6.32.15
build #: 3.26.651.6
software: 3.26.651.6
PRI version: 1.40_003
Click to expand...
Click to collapse
it says in your signature you have 2.2 updated OTA, that must mean you have an evo, and those aren't supported by the unrevoked tool when running 2.2.
awesome shortcut for rooting phones, however I followed the steps and it is saying that the hero is not supported at this time? Did i do something wrong, I'm running 2.27.651.5
I've burned the the iso file to a cd but I'm not able to get the boot-up to work correctly..or to come up at all, when re-booting windows.
@lcw
When you boot, you will need to hit your bios and select your CD drive as a boot device. Then enjoy the ride - easy as falling off a bike.
I cannot get my dell d600 or d630 to boot. The CD spins but I get the message "No bootable device".
I verified that the ubunto_*HTCROOT.iso file 641,942 kb is the only file on the CD.
Can someone please help.
pinkpanther2000 said:
I cannot get my dell d600 or d630 to boot. The CD spins but I get the message "No bootable device".
I verified that the ubunto_*HTCROOT.iso file 641,942 kb is the only file on the CD.
Can someone please help.
Click to expand...
Click to collapse
You're not supposed to burn the ISO file onto a disc as a file. You're supposed to burn the contents of the ISO to a disc.
Sent from my HTC Liberty using XDA App
I attempted to boot from the CD, I get the person/keyboard screen then i get the Ubuntu screen, then my computer goes black, any solutions?
This is the BEST way to root your Aria. Big props to everyone that helped create it. You guys are the best.

[DEV][WIP] PyAdb Python 2.7 Package [Windows/Unix]

KEarlier I saw a thread that demonstrated a python wrapper for the adb command. I remembered a while ago that adb uses a TCP protocol (duh it's written in the docs)
I had some spare time today so I decided to write a script for you all (I know how redundant it is, but hey why not)
This script incorporates the core functionality of adb into it, such as detecting your device... that's pretty much it at this stage..
so here it is. PyAdb​
I doubt this will brick anyone's devices... but just in case..
disclaimer:
if this bricks your device, it was not my fault. you used this at your own risk.
I don't care if this crashes your computers, or shoots you in the foot. you used it, not me
Click to expand...
Click to collapse
The general concept with how this works is below:
firstly, you have to choose your command from this list
secondly: the length of that command (in hexadecimal) needs to be prefixed before the command is sent. This is probably to do with security so the adb server on the device only reads the right amount of data
thirdly:... well there's not much more to it. just enjoy, tinker with it, and remember to contribute!!
note about getting device detected:
You need to ensure that the Android Debugging Bridge driver is installed for your device. this is normally supplied with standard device drivers. please refer to your device forums for instructions on how to install these
You also need to make sure your pc is authorised with stock adb, otherwise you won't be able to connect with PyAdb (for 4.2 upwards)
note about the current shell integration:
I now have a threaded interactive console, however single commands are still not read from a thread. If you want to use grep or kmsg, launch a full session
page not found!
Fixed link: https://github.com/cybojenix/PyAdb/
Looks like OP removed the file he linked to and forgot to change the link.
404 page not found?
cybojenix said:
Earlier I saw a thread that demonstrated a python wrapper for the adb command. I remembered a while ago that adb uses a TCP protocol (duh it's written in the docs)
I had some spare time today so I decided to write a script for you all (I know how redundant it is, but hey why not)
This script incorporates the core functionality of adb into it, such as detecting your device... that's pretty much it at this stage..
so here it is. PyAdb​
I doubt this will brick anyone's devices... but just in case..
disclaimer:
The general concept with how this works is below:
firstly, you have to choose your command from this list
secondly: the length of that command (in hexadecimal) needs to be prefixed before the command is sent. This is probably to do with security so the adb server on the device only reads the right amount of data
thirdly:... well there's not much more to it. just enjoy, tinker with it, and remember to contribute!!
note about getting device detected:
You need to ensure that the Android Debugging Bridge driver is installed for your device. this is normally supplied with standard device drivers. please refer to your device forums for instructions on how to install these
note about the current shell integration:
I haven't added a threaded data capture method yet, purely because I don't have time at the moment. it will (should) work with single commands. it isn't reliable for commands that take a while to run (such as grep)
Click to expand...
Click to collapse
404 page not found?
omegavesko said:
Fixed link: https://github.com/cybojenix/PyAdb/
Looks like OP removed the file he linked to and forgot to change the link.
Click to expand...
Click to collapse
lol yeah thanks. I did some file changes and forgot I linked to the file in the thread rather than the repo

[Q] Power Button Light and Nothing Else - Please Help

Just as the title states - the power button will light up, but just a black screen.
I've read around, holding this button and that button, loading zip files on the sd card - holding this and that, still nothing.
I get no vibration and still a black screen like it's turned off.
Perhaps a bad logic board? - If so, I'll stop wasting my time and yours.
Thanks in advance for any replies.
samething here...power light on , black screen. Is it totally bricked?
Helps to see that I'm not the only one with the same issue.
I can only hope someone chimes in to direct us both in the right direction.
I think you should try to enter apx mode (you have to keep pressing reset with a needle or something like that, press the power button for 3-4 seconds, and after 1 second release the reset), and see if you can flash a new bootloader and recovery with the A500APXFlash tool (search in the web). But you have to retrieve the cpuid of your tablet, in order to use the flash tool...It's a kind of mess, but it can be done.
omniastrider said:
I think you should try to enter apx mode (you have to keep pressing reset with a needle or something like that, press the power button for 3-4 seconds, and after 1 second release the reset), and see if you can flash a new bootloader and recovery with the A500APXFlash tool (search in the web). But you have to retrieve the cpuid of your tablet, in order to use the flash tool...It's a kind of mess, but it can be done.
Click to expand...
Click to collapse
I'm lost.
Let me just say, when I mean a black screen, I mean it's black - no lcd back-lighting or vibration from the unit.
I've tried what you described w/o a micro sd card in the slot and nothing hooked up to the tablet what so ever - nothing happens, except the power light coming on.
I've searched for the tool, read a little bit, but I'm getting lost within the terms.
Nothing I come across really explains what and how to do from a dummy standpoint.
Velocity_Stack said:
I'm lost.
Let me just say, when I mean a black screen, I mean it's black - no lcd back-lighting or vibration from the unit.
I've tried what you described w/o a micro sd card in the slot and nothing hooked up to the tablet what so ever - nothing happens, except the power light coming on.
I've searched for the tool, read a little bit, but I'm getting lost within the terms.
Nothing I come across really explains what and how to do from a dummy standpoint.
Click to expand...
Click to collapse
I know that feeling...It's non easy, even for those who knows a bit of pc and electronic devices (like me). In these days I have tried all I could try in order to revive the Acer of my friend. At one point it didn't even show the Acer logo, neither anything on screen, only the power light on. I suppose that the bootloader was corrupted somehow. So, if you wanna try, you will need:
1) the CPUID of your tablet. For this you can use usbdeview, if you have ever connect the tablet to your pc (if you haven't it's much more difficult!). Double click on USBdeview.exe, click on "edit" and then on "find" (or simply CTRL+F). Search for "Acer Iconia" and then double click on the result. Now copy the serial number somewhere.
2) If you got the cpuid you can get the SBK (copy the serial numer on this site, and click on "generate my SBK". Now copy all the SBK and paste it on notepad or similar. All the 4 parts, with all the spaces!)
3) Now the tricky part: open the A500APXFlash tool, click on "Bundle market", "view bundles" and select one of the bootloader with a decent recovery (for example the bundle number 17). Type the number of the bundle, and click on "download". You can download it on your pc, or you can download the bundle in a temporary file. It doesn't change much, you choose.
4) You can skip the "BTC selection", and go on. Now follow the instructions on screen, and if your tablet get in apx mode maybe you are lucky enough to recover it.
I don't remember if you have to install the Iconia drivers in advance, but maybe you already have them on your pc.
If you manage to flash the bootloader, then you could flash whatever rom you want. If something is not clear, feel free to ask.
omniastrider said:
I know that feeling...It's non easy, even for those who knows a bit of pc and electronic devices (like me). In these days I have tried all I could try in order to revive the Acer of my friend. At one point it didn't even show the Acer logo, neither anything on screen, only the power light on. I suppose that the bootloader was corrupted somehow. So, if you wanna try, you will need:
1) the CPUID of your tablet. For this you can use, if you have ever connect the tablet to your pc (if you haven't it's much more difficult!). Double click on USBdeview.exe, click on "edit" and then on "find" (or simply CTRL+F). Search for "Acer Iconia" and then double click on the result. Now copy the serial number somewhere.
2) If you got the cpuid you can get the SBK (copy the serial numer , and click on "generate my SBK". Now copy all the SBK and paste it on notepad or similar. All the 4 parts, with all the spaces!)
3) Now the tricky part: open the A500APXFlash tool, click on "Bundle market", "view bundles" and select one of the bootloader with a decent recovery (for example the bundle number 17). Type the number of the bundle, and click on "download". You can download it on your pc, or you can download the bundle in a temporary file. It doesn't change much, you choose.
4) You can skip the "BTC selection", and go on. Now follow the instructions on screen, and if your tablet get in apx mode maybe you are lucky enough to recover it.
I don't remember if you have to install the Iconia drivers in advance, but maybe you already have them on your pc.
If you manage to flash the bootloader, then you could flash whatever rom you want. If something is not clear, feel free to ask.
Click to expand...
Click to collapse
I hooked the tablet up to my pc and saw the term APX pop up at the bottom right of the pc screen, like any new usb device does.
I ran usbdereview in section 1 of your instructions. Found APX in the list, double clicked and it brought up very little info about the device, but no serial number. Is the serial number on the original box the box the tablet came in possibly be the same serial number I might be trying to find? Cause I have the original box with all the bar code label info.
I won't go any farther until I hear back from you.
Thank you very much for attempting to walk me through this process, it really means a lot.
By the way, I'm a pc guru too, on a hardware platform mostly. I've built may puters and enjoy overclocking them to see how far I can push them, but when it comes to phones and tablets, I'm lost.
Thanks again.
Velocity_Stack said:
I hooked the tablet up to my pc and saw the term APX pop up at the bottom right of the pc screen, like any new usb device does.
I ran usbdereview in section 1 of your instructions. Found APX in the list, double clicked and it brought up very little info about the device, but no serial number. Is the serial number on the original box the box the tablet came in possibly be the same serial number I might be trying to find? Cause I have the original box with all the bar code label info.
I won't go any farther until I hear back from you.
Thank you very much for attempting to walk me through this process, it really means a lot.
By the way, I'm a pc guru too, on a hardware platform mostly. I've built may puters and enjoy overclocking them to see how far I can push them, but when it comes to phones and tablets, I'm lost.
Thanks again.
Click to expand...
Click to collapse
Unfortunately the serial numbers are not the same....
Now, if you can't find the cpuid using usbdeview, there is another option, you have to use Linux! Here is the guide to follow to get the cpuid. After obtaining the cpuid, the rest is pretty easy. I hope this will help!
omniastrider said:
Unfortunately the serial numbers are not the same....
Now, if you can't find the cpuid using usbdeview, there is another option, you have to use Linux! Here is the guide to follow to get the cpuid. After obtaining the cpuid, the rest is pretty easy. I hope this will help!
Click to expand...
Click to collapse
I got lost pretty quick.
This is how far I made it: I downloaded Ubuntu 14.04.2, burned the image to disc, ran it live as a trial (wow, it's different than windows), used the embedded Firefox to install all of the needed libusb (not sure I did all that correctly).
The thread said "grab the code eppeP posted and save to to a text file as apx.c", so that is where I got lost.
I restarted the PC to come back here for more guidance.
I'm also unclear on the following from where I left off in the guide "fire up terminal, brouse to where the apx.c file is ........ect" What terminal are they talking about? How do I get there?
Then farther down in the thread it says "run the following commands: sudo su gcc apx.c -o apx -apx -lusb-1.0 ............ How do run these commands?
Like I said, I'm lost and very sorry I can't grasp this.
Velocity_Stack said:
I got lost pretty quick.
This is how far I made it: I downloaded Ubuntu 14.04.2, burned the image to disc, ran it live as a trial (wow, it's different than windows), used the embedded Firefox to install all of the needed libusb (not sure I did all that correctly).
The thread said "grab the code eppeP posted and save to to a text file as apx.c", so that is where I got lost.
I restarted the PC to come back here for more guidance.
I'm also unclear on the following from where I left off in the guide "fire up terminal, brouse to where the apx.c file is ........ect" What terminal are they talking about? How do I get there?
Then farther down in the thread it says "run the following commands: sudo su gcc apx.c -o apx -apx -lusb-1.0 ............ How do run these commands?
Like I said, I'm lost and very sorry I can't grasp this.
Click to expand...
Click to collapse
Sorry if I didn't answer before, but I was a little busy...So, Linux can be a little tricky, especially if you're not a developer (I learned something in school). By the way, all you have to do is to install those softwares, and then compile this piece of code, using gcc (the Gnu C Compiler). The linux terminal is basically like the Dos terminal, known as command line terminal, as you may know. There may be many kind of terminals in the Linux environment, one of the most used is the Bash Shell. In Ubuntu you can open a terminal by pressing CTRL + ALT + T.
So, just to be sure to be clear:
1) save this code in a file called apx.c
2) Boot Ubuntu, install GCC, lsusb, libusb-1.0.x, libusb-1.0-dev
3) Open the terminal, change the "working directory" with the "cd" (it's "change directory" in short) command. You have to get to the directory where the apx.c file is.
4) Run the following commands
sudo su
gcc apx.c -o apx -lusb-1.0
5) Next, pop your tablet into APX mode - plug in microUSB, hold the RESET button, and press power for around 4 sec
6) Run the following commands (assuming same root terminal permissions. If not run sudo su beforehand)
./apx
If all went well, you should obtain the cpuid, or whatever it's called. Don't forget to write that damned number somewhere (even taking a screenshot or a photo of the screen!!). I hope this can help you.
Just a minor update to what I've done so far, with questions. LOL
I decided to load Ubuntu as a side OS on my old laptop, which Vista resides on. I didn't want to screw with my tower in case of a crash, but wanted to retain my downloads and work instead of working on a *live" platform. (not knowing anything about dual boot OS)
Went well I guess, but Ubuntu takes over as the main OS if no action is taken on the boot screen, then if action is taken and you don't log into Windows, Ubuntu resorts back and loads. (lame IMO)
Ubuntu does not recognize any kind of wireless signal and wanted me to set it up manually (like I know all the numbers to make this happen, not), so I just hooked a CAT5 cable from the living room router for my next steps.
I attempted to to download the files mentioned, but remembering when I was running the *live DVD" there was a Ubuntu site for software packages, so I went there to grab what I needed. (I think this method was a fail)
When on the Ubuntu package site, I had the option of AMD64 and i386 for each file, I chose the AMD64 first and it gave a error window, then I followed up with the i386 and got nothing but a window with the circular icon and nothing in the window after that, so I closed the window.
I really have no idea if any of the downloads and installs actually work at this point. The laptop does have Intel hardware, so I'm thinking maybe the AMD64 software error-ed out because of that, but it doesn't explain why I never got a confirmation running the i386 software.
Should I have just stayed away from the Ubuntu site all together and just installed for a basic Linux system?
I'm done for tonight, but on vacation for the next week, so hopefully I can gain some ground and move forward to revamp this bricked Acer tablet.
I really appreciate your help and patients you've provided me to this point.
Now I'm really stuck.
I saved that code on my windows desktop and in Ubuntu desktop - as a windows text file. (not sure if that is the correct way)
Anyway, I did open the terminal using the 3 keys as described.
It shows: user [email protected] name:~$
I can't navigate away from that prompt....... I get: Bash: command not found or file or directory not found.
I started by using: cd/home/user name/Desktop/APX and various combinations.
Man I feel dumb.
We could try another approach: you could create a new file on the Linux desktop called "apx.c", and paste into it the source code. Then, using the command "ls" (which is the same dos "dir" command) and "cd" you could find the path to the file.
I report here some commands I used to compile the application needed to get the cpuid:
[email protected]:~$ sudo su
[sudo] password for white:
[email protected]:/home/white# ls
Desktop Downloads Music Public Videos
Documents examples.desktop Pictures Templates
[email protected]:/home/white# cd Desktop
[email protected]:/home/white/Desktop# ls
apx.c
[email protected]:/home/white/Desktop# apt-get install libusb
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package libusb
[email protected]:/home/white/Desktop# apt-get install libusb-1.0
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libusb-1.0-0' for regex 'libusb-1.0'
Note, selecting 'libusb-1.0-0-dbg' for regex 'libusb-1.0'
Note, selecting 'libusb-1.0-0-dev' for regex 'libusb-1.0'
Note, selecting 'libusb-1.0-doc' for regex 'libusb-1.0'
libusb-1.0-0 is already the newest version.
libusb-1.0-0 set to manually installed.
The following NEW packages will be installed:
libusb-1.0-0-dbg libusb-1.0-0-dev libusb-1.0-doc
0 upgraded, 3 newly installed, 0 to remove and 90 not upgraded.
Need to get 245 kB of archives.
After this operation, 1,795 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty/main libusb-1.0-0-dev amd64 2:1.0.17-1ubuntu2 [54.7 kB]
Get:2 http://us.archive.ubuntu.com/ubuntu/ trusty/main libusb-1.0-doc all 2:1.0.17-1ubuntu2 [115 kB]
Get:3 http://us.archive.ubuntu.com/ubuntu/ trusty/main libusb-1.0-0-dbg amd64 2:1.0.17-1ubuntu2 [76.0 kB]
Fetched 245 kB in 3s (74.4 kB/s)
Selecting previously unselected package libusb-1.0-0-dev:amd64.
(Reading database ... 163905 files and directories currently installed.)
Preparing to unpack .../libusb-1.0-0-dev_2%3a1.0.17-1ubuntu2_amd64.deb ...
Unpacking libusb-1.0-0-dev:amd64 (2:1.0.17-1ubuntu2) ...
Selecting previously unselected package libusb-1.0-doc.
Preparing to unpack .../libusb-1.0-doc_2%3a1.0.17-1ubuntu2_all.deb ...
Unpacking libusb-1.0-doc (2:1.0.17-1ubuntu2) ...
Selecting previously unselected package libusb-1.0-0-dbg:amd64.
Preparing to unpack .../libusb-1.0-0-dbg_2%3a1.0.17-1ubuntu2_amd64.deb ...
Unpacking libusb-1.0-0-dbg:amd64 (2:1.0.17-1ubuntu2) ...
Processing triggers for doc-base (0.10.5) ...
Processing 32 changed doc-base files, 1 added doc-base file...
Setting up libusb-1.0-0-dev:amd64 (2:1.0.17-1ubuntu2) ...
Setting up libusb-1.0-doc (2:1.0.17-1ubuntu2) ...
Setting up libusb-1.0-0-dbg:amd64 (2:1.0.17-1ubuntu2) ...
[email protected]:/home/white/Desktop# gcc apx.c -o apx -lusb-1.0
[email protected]:/home/white/Desktop# ./apx
Error: Failed to open device! //failed because there wasn't any tablet attached!!!
Click to expand...
Click to collapse

Ipython/Jupyter Notebook on Android

Hello All
I was able to successefuly install Ipython(jupyter) on my nexus(2013) and wanted to share the procedure with all that could be interested.
You could learn and read about Ipython[Jupyter] here
CAUTION:
> To the best of my knowledge this is the first tutorial of it's kind.
> I strongly recomend that you try this on a fresh rom. Use MultiROM for instance
> This was tried on Nexus 7(2013) with android 4.4.4. But I see no reason why it shouldn't work on lolipop 5.0 or on another android tablet. [You could try at your own risk and report your findings]
> Allow minimum 4Gb free space. I used rougthly 2.2 Gb, but i installed more than just ipython
> Hackers Keyboard is VERY HANDY if not NECESSARY
> I apologize for typos and gramar mistakes in advance
> Some of the following steps take time (a long time). Just make sure your tablet is connected to the charge and chose to keep the screan ON while it's on charge
> I am UNLOCKED and ROOTED. I can't tell whether it is required. If it is it would have to be with the prerequired apps. YOU WANNA VERIFY THAT before anything
> MOST IMPORTANTLY, DO THIS AT YOUR OWN RISK. I'm NOT RESPONSIBLE for any INCONVENIANCE whatsoever.
Procedure:
1-: Install GNURoot WheezyX . I am more confortable with debian, tryFedora or Gentoo ... If you know what you are doing.
2- Install GNURoot
3- Open GNURoot
4- Chose wheezyx (or fedora or gentoo ... depending on the distro you like) in the "Select Rootfs to Create " drop-down menu.
5- Click on 'Create New Rootfs' button
6- Chose wheezyx(or fedora or gentoo ... depending on the distro you chose) in the "Select Rootfs to Launch " drop-down menu
7- Check 'Lauch as Facke Root' box. This will give us root privilege
8- Click on 'Lauch Rootfs' button
At this point you shoud have 'Terminal Emulator" open up a window with '[email protected]:/# ' and a prompt ready to take instrucktions
Welcome to linux !!!
Now we need to install "python" and "pip", but before that we need to install 'build-essentials' which will make 'gcc' and all tools required to build a package available on our linux platform:
In the following: if you chose wheezy distro it's the same procedure; if you chose fedora distro replace apt-get with yum; if you chose gentoo you are on your own because I'm not familiar with it
Anyways I assume no responsability anyhow whatsoever.
9 - At the prompt type 'apt-get update' and press Enter
10 - Type 'apt-get upgrade' and press Enter'
11 - Type 'apt-get install build-essential' and press Enter' : This will install "build essential"
12- - Type 'apt-get install python' and press Enter' : This will install "python". I got the version 2.7.3 . You could find the version you installed by typing "python -V" and pressing Enter
13 - Type 'apt-get install python-pip' and press Enter' : This will install "pip", the python package manger
At this point we have python setup in the linux environement. Let's finally install ipython:
14-a Type 'pip install ipython' and press Enter if all you want is the ipython interpreter
15-a Type 'pip install ipython --upgrade' and press Enter to make sure you got the latest version
or
14-b Type 'pip install ipython[all] ' and press Enter if you want ipython and all the goodies like notebook
15-b Type 'pip install ipython [all]--upgrade' and press Enter to make sure you got the latest version
I do scientific work with ipython, so if you are on the same boat as me you could install scientific packages numpy,sympy,pandas,nose,.... with:
"apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose" !!! This is a lot about 1.2Gb !!!
At this point everything is set up. "when the wine is drawn, we now just have to drink it"
16-a Type ' ipython ' and press Enter to run ipython interpreter
or
16-b Type ' ipython notebook' and press Enter to run ipython notwbook. If you get an error message say that ''no web browser could be found" ignore it. look for the server address (looks like http://localhost:8888)
17-b Enter that adress (http://localhost:8888 in my case) in Chrome (I had no problem with chrom so far, but you could try on your favorite web browser) press Enter. Et voila you should be in the ipython notebook tree
I have been here for a couple of years, and never got to share anything.
This is my first thread, and i hope it is the beging of a very long series of contributions
> I will upload screenshots later to better guide noobs (I was one onece)
> PM me if you like to donate. I would appreciate it
> Please support the GNURoot developpers, or ipython[Jupyter] developpers if you can. They are all doing a terrific work. (I'm in no way associated to them, but love and support their work)
> I'm not very good at making videos, but I welcome any initiative.
You now Know how to install ipython, I trus you could be very creative since you now got linux at your finger tip :laugh:
Help to use pandas + matplotlib: no $DISPLAY environment variable
First of all thank you for this pretty cool tutorial
i did it and everything else works after all that huge pip installation!
my problem is that i need to see the result of my codes which sometimes is to show me plots of my data using the library matplotlib.pyplot
when i do that i get the following error:
TclError: no display name and no $DISPLAY environment variable
i found someone with the same problem in another situation (not on android but something like trying to save the plots in a pdf) and the problem was solved doing the import like this:
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
plt.plot([1,2,3])
plt.show()
By using matplotlib.use('Agg'), python knows to use the non-interactive back-end Agg instead of trying to display to the screen
this means that i don't have anymore the error but the plot won't be shown either
this happens not only when i do python file.py from command line but also when i run the same codes on jupyter notebook
so is there a way to execute file.py so they do what ever pandas want to do in this android environment (especially pop up windows with my plots when I execute the files)?
if there is no way how do i get rid of android to install some better OS on my tablet that can do all this kind of stuff?
thank you but all of this that you have done it's really not that useful if i cant see my plots
let me know!
paolotamag said:
First of all thank you for this pretty cool tutorial
i did it and everything else works after all that huge pip installation!
my problem is that i need to see the result of my codes which sometimes is to show me plots of my data using the library matplotlib.pyplot
when i do that i get the following error:
TclError: no display name and no $DISPLAY environment variable
i found someone with the same problem in another situation (not on android but something like trying to save the plots in a pdf) and the problem was solved doing the import like this:
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
plt.plot([1,2,3])
plt.show()
By using matplotlib.use('Agg'), python knows to use the non-interactive back-end Agg instead of trying to display to the screen
this means that i don't have anymore the error but the plot won't be shown either
this happens not only when i do python file.py from command line but also when i run the same codes on jupyter notebook
so is there a way to execute file.py so they do what ever pandas want to do in this android environment (especially pop up windows with my plots when I execute the files)?
if there is no way how do i get rid of android to install some better OS on my tablet that can do all this kind of stuff?
thank you but all of this that you have done it's really not that useful if i cant see my plots
let me know!
Click to expand...
Click to collapse
You should know that the linux running GNURoot doesn't have an X-session. You kinda need x11 installed on it to be able to have windows popping up and showing your plots. I remember trying apt-get install x11 without success on "Wheesy". Now, I know there is the "wheesy X" distro of GNURoot, but I don't know whether the X stands for X-session capability; I suggest you try that. (I no longer have my nexus7 to try, but it would be nice to see what happens).
I was able to go around this problem by working on the notebook. I could see my plots fine. I remember firefox beeing the best browser to work on the notebook.
Plots at least on jupyter and transfer files
hey so i found this : (i dont have authorization to post links normally)
stackoverflow .com / questions / 18353203 / using-python-and-matplotlib-on-android
where someone is stating is a big deal to have plotlib working on android
jupyter notebook is not displaying plots not even on firefox, it always give the "TclError: no display name and no $DISPLAY environment variable". It would be awesome if you'd give me a straight solution so i can see plots on jupyter! that would be more than enough to follow lessons in class
the temporary solution i found for now is to remote control my pc at home from the tablet to do all the coding but i cannot work without connection this way
i also found out about this website Wakari but they are saying now there isn't anymore free space for new subscription..
the best solution would be to have plots displaying on jupyter with your help
so the plan for now is to stick to let the pc at home do all the work and remote control it with the samsung remote pc app or to find a good website to log in from the tablet and write codes on browser
ill still use this command line of yours when ever i can thou, when ever there is nothing to display i guess.. but how do I find the folders so i can move to the desktop computer the .py files or the notebook files i create? i was expecting to find the files when i was connecting the tablet with usb wire.. is there anyway to transfer those files?
thank you
izzox said:
You should know that the linux running GNURoot doesn't have an X-session. You kinda need x11 installed on it to be able to have windows popping up and showing your plots. I remember trying apt-get install x11 without success on "Wheesy". Now, I know there is the "wheesy X" distro of GNURoot, but I don't know whether the X stands for X-session capability; I suggest you try that. (I no longer have my nexus7 to try, but it would be nice to see what happens).
I was able to go around this problem by working on the notebook. I could see my plots fine. I remember firefox beeing the best browser to work on the notebook.
Click to expand...
Click to collapse
Use:
%matplotlibe inline
Instead of:
matplotlib.use('Agg')

Nextbook Flexx 11 Tutorials

Nextbook Flexx 11
A 200-250$ 2-in-1 laptop.
CPU: 1.83 GHz Intel Atom Z3735F Quad-Core
RAM: 2 GBs
SSD: 64GBs
Screen: 11.6" Touchscreen
Ports: 1 x MicroHDMI, 1 x MicroUSB 2.0, 2 x USB 2.0
Micro SD Card slot
Installing every linux based OS(Android, RemixOS, Linux Distros)
Prerequisites:
A bootia32.efi file (Found in attachments)
A copy of your favorite linux distro
Rufus, UNetbootin, or a USB disk image write of your choice.
A flash you can wipe, and boot from
A little bit of time
Step 1: Setting up
First thing you'll need to do is use your image writer to write the iso to your USB.
MAKE SURE YOU SELECTED THE RIGHT USB DRIVE!
I cannot stress this enough, if you don't want to lose everything on another flash drive, or your hard drive, check and make sure you are using the right drive letter.
Do not restart now. We need to add some files to it.
Extract bootia32.efi and copy it to /boot/efi on your flash drive.
So this was some instructions I made for booting it, but this is much more complicated than it should be. You can totally disregard this spoiler.
Step 2: Booting
Plug your USB into your nextbook (if you haven't already) and turn it on/reboot it.
As its powering on, hold ESC to get into the boot options.
Click "Boot Manager" and select your USB drive.
IF IT DOESN'T SHOW UP, FORMAT YOUR USB DRIVE TO FAT32 AND GO BACK TO STEP 1.
Now, 2 things may happen, it may boot up perfectly, and from there, just follow the steps to install.
If it doesn't boot properly, we'll need to type a few commands.
Step 2.1: Grub Command Line.
So if it doesn't boot up properly, which chances are it wont, you'll be dropped into a command line.
This is grub, if you didn't know, and to boot we need to locate the drive its on.
First press FN+Ins to turn off NumLk, then type,
Code:
linux (hd
now if you press tab, it should list everything you have attached, for example:
Code:
hd0, hd1, hd2, hd3
The usb will most likely be hd0. So now you should have
Code:
linux (hd0,
If you press tab again, it will list off all of your partitions, or autofill one in.
Now you should have either:
Code:
1. linux (hd0,msdos1)
2. linux (hd0,gpt1)
Now, if you have this, type this(replace hd0,gpt1 with what you got):
Code:
set root=(hd0,gpt1)
then type
(new)Step 2: Creating a boot file.
So, now that you have the files copied over, you need to name the drive.
Right click your drive, and click Rename... (Remember the drive name, its important)
After you renamed your drive, create a folder at DriveLetter:/boot/grub
In that directory, create a file named grub.cfg
Now depending on your linux version, you'll have either syslinux, or grub already.
If grub: The file should already be there, so you can move on to step 3.
If syslinux: Find the isolinux.cfg or syslinux.cfg (probably in /syslinux or in /isolinux)
It will look something like:
Code:
label LinuxVersion
kernel /kernelFile
append initrd=/initrdFile (more options)
We're going to use these options to create our grub.cfg file.
Use this as a template.
Code:
menuentry 'LinuxVersion' {
search --set=root --label THIS_IS_WHERE_THE_LABEL_YOU_SET_EARLIER_GOES
linux /kernelFile (more options)
initrd /initrdFile
}
Step 3: Boot into your new OS.
Reboot your PC. When it turns back on, hold ESC.
You should be brought back to the BIOS area.
Press "Boot Manager" (you will need a mouse for this), and select your USB drive.
If you did everything correctly, it should boot.
Step 4: Go wild!
You should be booted, GO CRAZY!
There are a few problems with most distros, including:
No Wifi
No Bluetooth
No Gyroscope
No Audio
There are drivers online for these, but you need to be able to patch a kernel, and build/install a driver.
Wifi
Is the guide not working?
Go ahead and ask some questions, don't be afraid of help.
Useful resources:
Ubuntu with Wifi (Source)
Thats all the links for now. I will add more as I find them (hopefully to fix audio, power button, and rotation)
Huge thanks to Ian Morrison for the Ubuntu iso.
TAG
Any chance you're going to do the linux?
Reserved
I'm guessing that is where the linux how to, is going.
Dude.. You gonna finish this?
set code=(hd0,msdos1)
Then type
Type what? Need a complete tutorial here...
I'm so sorry
Chaosmstr said:
Dude.. You gonna finish this?
set code=(hd0,msdos1)
Then type
Type what? Need a complete tutorial here...
Click to expand...
Click to collapse
I apologize for the delay, busy with school and all.
You can't leave us hanging like this!
I'm not sure about OP here, but I have the smaller model of this device being the Flexx 10. Now I haven't tried to boot Android on it, but I have successfully booted Linux Mint with it.
First I would recommend using a USB OTG capable flash drive (they are available at office stores, walmart, and so on and so forth,) or an OTG adaptor instead of using a full sized usb. The reason for this is stability of the booted system as the connection of the keyboard dock does not appear to be extremely reliable. This may vary by model or device but I would still recommend it as you may need the full sized USB ports later.
Now instead of using Unetbootin, I used Rufus. I used the settings of GTP for efi and bios to write the image to the drive. I didn't mess with any other settings there. After that I had to get a file called bootia32.efi and then add it to the /efi/BOOT/ before the system would even try to recognize it. From there it was just waiting patiently while it booted. (use the instructions in the earlier post to get to the boot options of the UEFI) It took it a while to boot as I suspect the USB speed was rather slow.
As I didn't really have time to really mess with it and get to the point of install, I will list the issues I came across.
1: Automatic rotation of the screen did not work.
2: wifi (RTL8723BS SDIO)
3: bluetooth
4: sound
everything else seemed to work just fine though, even the volume rocker, windows button and power button on the tablet section reacted and did things. not entirely useful, but they did work.
Edit: forgot to mention that if you go through with the install, you will have to finish the install by doing some grub modifications to make it boot without a live disk. just a heads up.
Hmfan said:
I'm not sure about OP here, but I have the smaller model of this device being the Flexx 10. Now I haven't tried to boot Android on it, but I have successfully booted Linux Mint with it.
First I would recommend using a USB OTG capable flash drive (they are available at office stores, walmart, and so on and so forth,) or an OTG adaptor instead of using a full sized usb. The reason for this is stability of the booted system as the connection of the keyboard dock does not appear to be extremely reliable. This may vary by model or device but I would still recommend it as you may need the full sized USB ports later.
Now instead of using Unetbootin, I used Rufus. I used the settings of GTP for efi and bios to write the image to the drive. I didn't mess with any other settings there. After that I had to get a file called bootia32.efi and then add it to the /efi/BOOT/ before the system would even try to recognize it. From there it was just waiting patiently while it booted. (use the instructions in the earlier post to get to the boot options of the UEFI) It took it a while to boot as I suspect the USB speed was rather slow.
As I didn't really have time to really mess with it and get to the point of install, I will list the issues I came across.
1: Automatic rotation of the screen did not work.
2: wifi (RTL8723BS SDIO)
3: bluetooth
4: sound
everything else seemed to work just fine though, even the volume rocker, windows button and power button on the tablet section reacted and did things. not entirely useful, but they did work.
Edit: forgot to mention that if you go through with the install, you will have to finish the install by doing some grub modifications to make it boot without a live disk. just a heads up.
Click to expand...
Click to collapse
Sorry I'm coming back so late, I've been busy with life.
The Wifi issue can be fixed by building the driver (https://github.com/hadess/rtl8723bs)
The bluetooth wont work on most OS' because it relies on some windows drivers to work.
I might be able to find a driver for screen rotation/audio.
Another issue is the power doesn't get registered, and the touch screen is VERY flaky.
Kitsumi said:
Sorry I'm coming back so late, I've been busy with life.
The Wifi issue can be fixed by building the driver (URL removed per post restrictions.)
The bluetooth wont work on most OS' because it relies on some windows drivers to work.
I might be able to find a driver for screen rotation/audio.
Another issue is the power doesn't get registered, and the touch screen is VERY flaky.
Click to expand...
Click to collapse
I didn't really notice that power one as I did not use it long, but I think that is just an atom thing. My old n270 based aspire one does that too.
Really though, the way I would use it, I wouldn't miss screen rotation or the bluetooth, but the touch screen is the nuisance. What I noticed with it is that when the screen is forced into proper orientation (by use of screen rotation in the settings, you know without using the command line) is that the touch screen doesn't follow the new orientation correctly. It appears to have the portrait resolution set to the top left of the screen in landscape. That said, it works fine in portait. Or at least managably.
Hmfan said:
I didn't really notice that power one as I did not use it long, but I think that is just an atom thing. My old n270 based aspire one does that too.
Really though, the way I would use it, I wouldn't miss screen rotation or the bluetooth, but the touch screen is the nuisance. What I noticed with it is that when the screen is forced into proper orientation (by use of screen rotation in the settings, you know without using the command line) is that the touch screen doesn't follow the new orientation correctly. It appears to have the portrait resolution set to the top left of the screen in landscape. That said, it works fine in portait. Or at least managably.
Click to expand...
Click to collapse
Well, I decied to try and boot remixOS, and it works VERY well, so does android-x86 5.0
That being said, audio is a glaring issue.
When you tried Remix OS and say it worked very well. What do you mean? What actually worked? Obviously audio is what doesn't since you mentioned it. But am I to assume that screen rotation works as expected then?
I'm not willing to use REMIX OS personally as the whole android bit is a limiting factor to me. Unless it rooted of ccourse. but even then some of my prefered uses for Linux is lost.
Also hows the hardware acceleration?
How do I install the x64 version of Windows? I downloaded the ISO with the Media Creation Tool and it won't boot from the USB drive. I enabled USB booting and made sure secure boot was off, but it's not working. It keeps saying there's no USB device available.
Unfortunately due to the way that Windows works, the 64 bit version is not usable due to the bootloader difference. Even though the hardware of the device is capable of 64 bit code execution, the 32 bit UEFI Bootloader will only allow a 32 bit version of Windows or a 64 bit version of Linux with some EFI fiddling. And as far as I know there is not a way to fiddle with the EFI related workings of a Windows ISO so 64 bit Windows is not possible on these Nexbook devices or others with similar hardware (Asus t100 is a good example of similar device)
Hmfan said:
Unfortunately due to the way that Windows works, the 64 bit version is not usable due to the bootloader difference. Even though the hardware of the device is capable of 64 bit code execution, the 32 bit UEFI Bootloader will only allow a 32 bit version of Windows or a 64 bit version of Linux with some EFI fiddling. And as far as I know there is not a way to fiddle with the EFI related workings of a Windows ISO so 64 bit Windows is not possible on these Nexbook devices or others with similar hardware (Asus t100 is a good example of similar device)
Click to expand...
Click to collapse
That's really dumb. Most Windows devices are 64-bit nowadays. Why would they put in a 64-bit processor but not allow x64 operating systems?
You're guess is as good as mine on that one. Ask Microsoft on that one. They used the 32 bit version because Microsoft will only give the "Windows XX (originally 8.1) with bing 32bit for free. Which keeps the device cost down. Kinda hard to to sell a cheapskate device when it ends up costing as much as a better speced laptop.
Where can I find recovery images for this? I messed up and now I don't have audio or touchscreen drivers.
You can try this web site from Efun themselves
http://nextbookusa.com/recovery/index.html That is their official recovery download site.
(apparently I can post links...)
Hmfan said:
You can try this web site from Efun themselves
http://nextbookusa.com/recovery/index.html That is their official recovery download site.
(apparently I can post links...)
Click to expand...
Click to collapse
I tried that. It says there's no recovery option for this model....
Do you have this tablet? Do you think you could do a driver backup and upload it here? Or create a recovery image and share it?

Categories

Resources