1. Download our Official Android App: Forums for Android!

Root [DEV][THEORY] usb UART connection

Discussion in 'Android Devices' started by dark_samus, Jan 20, 2014.

  1. dark_samus

    dark_samus Member
    Thread Starter
    Rank:
    None
    Points:
    33
    Posts:
    67
    Joined:
    Dec 14, 2012

    Dec 14, 2012
    67
    32
    33
    Male
    So after doing a little digging I'm thinking I can blow this phone open with a new bootloader that supports fastboot mode and dual boot, I've been working on CM for this phone and found a similar phone with CM, while looking through some threads I came across this [DEV] MSM7x30 Open Source Bootloader '(L)ittle (K)ernel' - xda-developers and this [GUIDE] USB Uart on Galaxy S devices [2012/09/25] - xda-developers while looking into what USB chip our phone uses I found this https://github.com/mrg666/android_kernel_icon/blob/master/drivers/i2c/chips/fsa9485.c different chip from the other phone but after a quick search I found this de7ec7ed's blog: UART Dongle (Samsung Galaxy SIII) obviously it's for the sIII but it seems that it uses the same USB chip so we have a starting point for UART, also when looking thru the fsa9485.c I found "#if defined(CONFIG_MACH_ICON) || defined(CONFIG_MACH_PREVAIL2)" which shows that the galaxy rush (codename prevail2) also uses this chip so anything that works on ours should work on theirs. Also after looking around on the forums I've found that people with the Jellybean bootloader have more crashes than ones with the ICS bootloader so if/when I start developing a new bootloader it'll be based off of the ICS bootloader if possible

    Bootloader to be used: https://www.codeaurora.org/blogs/little-kernel-based-android-bootloader
    this bootloader supports our SoC (System on a Chip) which is msm7630_surf all it really needs is the ram amount changed (Default 256MB) and the NAND partitions mapped, I extracted the PIT (Partition Information Table) with Heimdall (Will be posted later) which gives me the NAND partition table so that'll be a breeze, so hopefully we'll have this new bootloader soon

    UPDATE: it seems that google uses this lk for it's bootloaders :D samsung doesn't obviously but here is google source and fixes for our SoC https://android.googlesource.com/kernel/lk/+/qcom-dima-7x30-fixes

    UPDATE2: did a test compile and it was probly the easiest thing I've ever done all I had to do was type "make msm7630_surf" and it compiled :D but it won't be ready yet this was just a practice to see if I could compile it... feeling awesome right now, possible new bootloader for the reverb :D
    EDIT: since our phone has EMMC nand it seems I need to enable the flag EMMC_BOOT=1 which enables the bootloader to do it's magic with emmc nand also uploaded this phones PIT use PIT magic (found on XDA) to read it

    More info as I discover it
     

    Attached Files:


    Advertisement

  2. soxtober05

    soxtober05 Android Enthusiast
    Rank:
     #180
    Points:
    73
    Posts:
    357
    Joined:
    Aug 29, 2012

    Aug 29, 2012
    357
    77
    73
    Makes big, yellow tractors
    Small midwest town
    So...I'm reading this and trying to wrap my abso-noob brain cells around it, and after perusing the links you provided the only thing that comes to mind is a dual boot set-up on a pc. Probably a VERY poor analogy, right? Anyhow, is there a slightly less tech-speak way of presenting your idea? I want to learn and understand this stuff, and would LOVE to help out when & where I can...

    Thanks for not laughing at me :)rofl: OK, I'll laugh with you)
    & apologies for noobness...
    Sox
     
  3. dark_samus

    dark_samus Member
    Thread Starter
    Rank:
    None
    Points:
    33
    Posts:
    67
    Joined:
    Dec 14, 2012

    Dec 14, 2012
    67
    32
    33
    Male
    Well a bootloader starts the device from it's off status, bootloaders can be locked down, buggy and not have features users want, basically a UART (Universal Asynchronous Receiver Transmitter) is a way to talk to the phone on a very low level and debug and recover phones, basically my goal is to make a new bootloader which will eventually support dual boot (Exactly like a PC, perfect analogy) a bootloader is similar to BIOS on a computer and can control many options but none are usually accessible to the average user, basically here's how it works bootloader>kernel>android>user applications or for an even more in depth look
    bootloader: loads the kernel and ramdisk into the RAM
    kernel: opens the ramdisk and loads init scripts and sets the file system up, starts the dalvik virtual machine
    android: run on a dalvik virtual machine or ART(new in kitkat) interprets and runs compiled code from user and system apps

    without a bootloader your phone wouldn't even turn on into any sort of software config

    if you have questions on any of the terms used here remember google is your friend
     
  4. soxtober05

    soxtober05 Android Enthusiast
    Rank:
     #180
    Points:
    73
    Posts:
    357
    Joined:
    Aug 29, 2012

    Aug 29, 2012
    357
    77
    73
    Makes big, yellow tractors
    Small midwest town
    OK, that's a little less intimidating; Thanks. I thought I read a thread for this phone somewhere that this (Reverb's) bootloader wasn't locked...wish I could remember which thread it was in...oh well, maybe I'll find it later.
    This morning I was over on the Optimus F7 All Things Root board, and it seems to me they're going or went through a similar situation with their bootloader.
     
  5. dark_samus

    dark_samus Member
    Thread Starter
    Rank:
    None
    Points:
    33
    Posts:
    67
    Joined:
    Dec 14, 2012

    Dec 14, 2012
    67
    32
    33
    Male
    the Reverbs bootloader isn't locked I was just providing examples of why you'd want to replace a bootloader if it was locked we wouldn't be able to flash recoveries or boot images (contains a kernel and a ramdisk)
     

Share This Page

Loading...