yashsingh1/xdaforums huggingface dataset:
[Moto G9 Play Questions & Answers] RMS100:
Ok, try this, download LSMA from motorola and try to run the fastboot commands with the device connected to the PC with the program already open. if the device is recognized, download the stock and install using the program.
[Moto G9 Play Questions & Answers] L1p3Droid_BR:
the device does not turn on. even the cmd command saying that it was completed for fastboot, but it is false, it does not show any signal, it just exits edl mode only and unresponsive and does not recognize on the computer even with drivers and platform tools configured on the computer. It's a brick, it only enters edl at the moment, I believe only with the blankflash of the current version.
[Moto G9 Play Questions & Answers] L1p3Droid_BR:
Worse than I've done it using LMSA, I left it in the background and it's still not recognized.
[Moto G9 Play Questions & Answers] RMS100:
Hello friend, I didn't find a specific firmware for your model (XT2083-3), apparently the only difference between this model and the XT2083-1 is the NFC, so I made this blankflash based on the latest firmware of the model XT2083-1. If you want to try, do it at your own risk, I am not responsible for any problems.
[Moto G9 Play Questions & Answers] L1p3Droid_BR:
I tried, I didn't succeed. I tried, without success. this phone's software is hosted on lolinet. can you flash this software? Follow the link https://mirrors.lolinet.com/firmware/motorola/guamp/official/RETBR/
[Moto G9 Play Questions & Answers] RMS100:
Hi, I used exactly the firmware available on lolinet, I think unfortunately I can't do anything else for you.
[Moto G9 Play Questions & Answers] L1p3Droid_BR:
Thank you for making yourself available to help. It went into Hard brick after deleting the vendor by passing a gsi. At least the blankflash created can help another forum member.
[Moto G9 Play Questions & Answers] Tomiirossi:
hello someones knows where are the edl points in moto g9 play? i putted in contacts a lot of places and i cant know the place
[Moto G9 Play Questions & Answers] barry_kada:
Where did you get stuck? Tell me a little more in detail

Are you stuck on bootloader?

Your device was not recognized by the 15 Second ADB Installer?

Have you tried the Lenovo's official system repair?
[Moto G9 Play Questions & Answers] Tomiirossi:
Nono, ok i will tell you what happend but first, please sorry for my english... I heard of one custom rom for G9 Play and the method to put the custom rom in the sistem has using a usb cable (i searched a lot of time to know for some custom rom for this mobile, the custom rom was maked for someones called "elite")... so ok, i putted him in my phone doing all the steps of the youtuber man, beyond that this implied not use the twrp that i have installed (The best parthner for someone) and when i finished the process and the phone turned on, he got stucked on power up logo... so i turned off the phone and the next i could know was i couldn't use any bottom combination to wake up him! The phone doesn't wake up with any combination of buttons and don't charge anymore... i only have the notification light blinking every once a while.

So, with a lot of google search i understanded that this is a hard brick, and the method to put on this phone is putting a gripper in 2 places to connect 2 EDL Points and the pc can detect the phone like quantum and i can make something (the phone now that called "qusb_Bulk" for the pc)... i downloaded all the things necesaries to wake up this **** (i downloaded a blankflash of xda for my moto, the quantum drivers, adb things, and of course the lenovo system repair) next i unmounted the phone and putted to work a lot of time seaching this edl points putting the grapping in a lot of points... and this finished here, this is the end of my travel calling for help here. In some of these points the phone was disconnected of the pc and reconnected with the same name, sometimes i needed to unplug it to the pc regonized him again, but i couldn't know where these points are and how i can make the pc detect the phone like quantum...

And i almost forgot, another relevant thing that happened to me is a spark in one of those points near the battery, but nothing changed anyway.

I gave up here and my phone now is in a repair place... but if someone give me any useful answer, I will still be grateful for someone with the same situation!

My moto is guamp xt2083-1
[Moto G9 Play Questions & Answers] barry_kada:
Amigo, ésto va más allá de un hard brick... quemaste la placa por pinear donde no debías 💀 es imposible saber si el asunto es físico o lógico.

Una lástima porque con una guía correcta ya estarías en Android 13 Beta 3

No sabría decirte por donde empezar desde que mencionaste el chispazo: eso ya es trabajo de gente que manipula boards de celulares y suelda con microscopios. ¿Probaste montar una plaqueta de un teléfono usado?

Bro, this goes further than a hard brick... you burned the board for pinning where you shouldn't 💀 it's impossible to know if the matter is physical or logical.

A pity because with a correct guide you would already be in Android 13 Beta 3

Have you tried mounting a board from a used phone? I couldn't tell you where to start since you mentioned the spark: that's already the work of people who manipulate cell phone boards and solder with microscopes.
[Moto G9 Play Questions & Answers] Tomiirossi:
I have a feeling it had to do with putting the battery in contact for a few moments, but there is a possibility that it didn't burn anything... beyond this, the malfunction of the device was before the spark (from the small spark, I think I don't understand why my English) and the problem continued to be the same... So, what do you think was what happened to the rom if we put aside the spark? its only to understand, anyways i wanna talk about what was the problem of my cellphone when i wanna talked with the one who repairs the cell phone (i have to mention your Spanish was great!)
[Moto G9 Play Questions & Answers] barry_kada:
Puede ser, pero al haber hecho el problema más complejo, y sin los conocimientos necesarios lamentablemente estás re tirado. Los técnicos de celulares no resuelven problemas así porque dependen de plaquetas muertas de otros celulares del mismo modelo.

Podés hablar español eh, soy de Argentina
[Moto G9 Play Questions & Answers] Tomiirossi:
ahh jajs na y puede ser, mas alla del haberlo desarmado, etc, yo queria saber sobre mas los blank flash y demas... porque para mi tan solo esta desconfigurado el algoritmo para el boot del movil... va tengo fe en que tan solo sea eso... otra no queda por ahora je

Igual si, el tecnico aparentemente entendio bastante, supongo que tuve algo de suerte.
[Moto G9 Play Questions & Answers] MeoDeus:
I did the whole procedure and the device came back, but nothing related to the audio works (microphone, speaker, headphones) One day I went to put exagear (windows emulator) and it didn't start it says java couldn't start OpenSL, so my doubt is that the rom is corrupt or the repair guy (wasn't authorized by motorola) may have removed some part? Is there any way to see if the rom has opensl via adb?
[Moto G9 Play Questions & Answers] null2025:
Hola, queria saber si tenes idea de como solucionar el hardbrick, ya que yo tambien baje una custom rom del youtuber elite, por medio de un comando automatico, y bueno, se me brickeo el celu.

El tema es que me baje los drivers de qualcomm y logre cargar el bootloader, ahora el problema es que no tengo boot image ni recovery y no puedo flashear ninguna rom, ni siquiera el twrp, ya que siempre que uso el comando de fastboot flash recovery twrp me tira el error: "(bootloader) Invalid partition name recovery".

Tenes idea de como puedo proceder?
[Moto G9 Play Questions & Answers] barry_kada:
si tu celular enciende y puede ir al modo download, bajate el Lenovo Moto Smart Assistant y carga la última ROM oficial (la herramienta realiza la descarga).

Si te da error de garantía y no quiere hacer el flash, pero tu teléfono todavía entra a fastbook entonces bajá cualquier rom stock en la última versión y flashealo a mano (Google flash fastboot moto g9 play)
[Samsung Galaxy Note 8 Questions and Answers] Armadillo0106:
I have no idea what happen

I gave my device to my friend and he ended up in bootloop

So with odin i flashed appropriate firmware and when booting it says installing system update and fails on 32%

So as per xda thread gudies

I planned to reset in recovery

But soon

Ph boots directly to installing system update and like 3-4 seconds later goes into recovery and before i could do anything it restarts

Then same things happens again and again and again

I was hoping if i could reset factory before it restarts it will come to an end

But i tried more than 50 times to be faster

But still it restarts before i could do anything

When i tried to boot into twrp

1.touch is not responding

2.in 3-4 seconds phone restarts... boots to twrp.....restarts...boot to twrp...and contine infinetly....

Please help
[G1 Android Development] Fnorder:
This is probably not that useful unless (a) you're paranoid or (b) you need access to a secured network from your phone, however I managed to build openvpn and stunnel against bionic and the onboard openssl library. These are available at http://g1.fnord.to/crypto

OpenVPN requires root access and busybox. With this you can conceivably route all IP traffic through a server somewhere by use of the 'route' command, after the VPN link is brought up. This has been tested, and does not seem to affect phone functionality.

stunnel doesn't require root afaik so you should be able to run it from /data/local. This should allow you to encrypt web traffic at least, by setting the proxy via the 'Proxy Settings' app that's available with AnyCut.
[G1 Android Development] neoobs:
Some how I think T-Mobile might get mad if you did this... They say they allow tethering but if you go over your 10GB limit and they can't see your traffic I would think they would want to know what is up.

Good idea and I know some people are that paranoid... but I see this getting people in trouble... or maybe it is just me.
[G1 Android Development] rfairburn:
This is GREAT. I've been looking for this since the day I got my G1. I tried to compile a statically-linked binary a while back, but it was HUGE and wouldn't do much before segfaulting at me.

:):):):)

This gets a 4 smilies because this is how I access my work network remotely from my desktop, and now I can access some of these servers for maintenance remotely from my phone! (I would have given it a whole row of smilies, but apparently that is frowned upon.)

Thanks a million for getting this working!

I probably won't be using it as a default route, but it can be a static route to my office servers for sure!
[G1 Android Development] rfairburn:
Just got done testing this to vpn to my workplace and it works awesome. It also routes all traffic while tethering thru the vpn tunnel route.

This has been the best reason for me to get root yet.
[G1 Android Development] aron4588:
Wow this is dope... trying to set this up now so now I can connect to my server on the go. I hope t-mobile don't even see this cuz they will be trippin over why do you need to hide your traffic but this is great no more keeping record of wat you do. Next is gonna be p2p and I will even fell back for t-mobile network lol Thanks this great
[G1 Android Development] jashsu:
It would probably help for wifi usage. I never connect to public wifi with my G1 for this very reason. I have openvpn running on my router at home so I can tunnel into it when i'm wifi-ing on the go. If the G1 is in an area where there is no 3G coverage but there is public wifi, this might just be what the doctor ordered.
[G1 Android Development] ido:
Can the G1 auto connect to openvpn whenever it connects to a network (via wifi), i want it to automatically poll mail for me..
[G1 Android Development] rfairburn:
The openvpn daemon is designed to autoreconnect if a keepalive ping fails. I would think if it is running in the background and you changed from Edge/3g to Wifi that it would force a reconnect situation, and it would re-establish the vpn through the new connection.

I will test this right now and get back to you
[G1 Android Development] rfairburn:
After testing, it works as expected. ~60 seconds after starting wifi I got the following message:

Inactivity timeout (--ping-restart), restarting

After that it re-established the tunnel through the new interface, and I was able to access machines at my office again.
[G1 Android Development] rfairburn:
I didn't know if anyone used a shell script to start/stop their VPN but I made the following so that I can easily start and stop it

#!/system/bin/sh

case "$1" in
'start')
modprobe tun
/data/local/bin/openvpn --config /path/to/config.ovpn --writepid /data/local/openvpn.pid &
;;
'stop')
kill -9 `cat /data/local/openvpn.pid`
sleep 2
rmmod tun
;;
*)
echo "Usage: $0 [start|stop]"
;;
esac
[G1 Android Development] mod1:
Instead of keepalive for timeout detection, it would be nice to have hooks called on ifup/ifdown, just like debian's /etc/network/if-up.d/*.

It would allow immediate reconnection upon switching interfaces (between 3G and Wifi for example), and also prevent a situation where an interface comes up, sets the default route, and traffic goes cleartext for 60 seconds until vpn reconnection.

I can think of a lot of other uses for such hooks. Does android offer them?

If we're certain the hooks do not exist natively, I'll find a non-polling way to provide them.
[G1 Android Development] mod1:
I couldn't find an android interface for ifup, so I just used the netlink notifications, via ip(8). Note that you need the real iproute2 ip binary rather than the busybox one. Probably awk as well - I didn't check since I use debian binaries rather than busybox.

Here's how you use it:

ip monitor route | awk -W interactive '/^default/ {system("/data/local/bin/ifup " $5)}'

It'll execute /data/local/bin/ifup whenever the default route is changed, and pass the interface name as $1. For 3G/GPRS the interface name is usually rmnet0, whereas for WLAN it is if<num> where num is increasing on every insmod, probably indicating a leak in the tiwlan driver.

If you want it to reconnect openvpn whenver the route changes, you should probably

killall -USR1 openvpn

for any interface other than tap0 (or whatever you call your openvpn interface).

The above method can be used for earlier events such as link-up, but I figured a default route would be the best time to start openvpn. For extra paranoia, you might want to use iptables to prevent connections to anything other than openvpn on tiwlan0, and have an "up" line in your openvpn config file to set the default route through your vpn when it comes up.

When I get around to write a nice script that does the above, I'll post it here.
[G1 Android Development] rfairburn:
How much space are we talking about using with native iproute2, awk, and other binaries? I would think the amount of space used is getting rather large. I guess that it quickly becomes a good time to start using the SD card to store apps.

I've not wanted to repartition my card, but I could always make a FS image and mount it 'mount -o loop' style.

As for instant-on, I'm not using this for paranoia like some are, so instant doesn't really matter to me nearly as much as it could otherwise.
[G1 Android Development] mod1:
Space requirements - I don't know how much it takes with the libs since I just use it inside a debian chroot and it's all on the sdcard. I need debian anyway, to run certain X apps, etc, so for me it's not a waste of space. Anyway, if you just build iproute2 and awk, or even your own binary that just creates a netlink socket and blocks on it, it shouldn't take a lot of space. Or, if you happen to have python on the phone, it can be done in a few lines of script instead of another binary.

Re instant on, I find it better, not just for paranoia reasons (e.g. ensuring that I never send a cleartext pop3/imap password over wlan), but also for long-running connections such as ssh. If I run them over the vpn interface, I have a fixed IP and the connections persist. If, on the other hand, I create the connection directly over 3g/wlan/gprs, it'll die as soon as I change interfaces. Therefore, I'd rather run all long-running connections over openvpn. IP mobility RFC implementation would be more efficient but as long as it's not an option, a vpn will do.

By the way, do we currently have a way to tie a script/executable to an icon/shortcut, or do you run your script from a terminal?
[G1 Android Development] rfairburn:
My understanding is there are problems running apps from a gui shortcut.

http://xdaforums.com/showpost.php?p=3142661&postcount=93

I run everything I do from a terminal.
[G1 Android Development] mod1:
I guess we need a small loader then. Something that calls Exec.createSubprocess(), just like Term.apk does. Each app will have a symlink to this ShellLoader.apk, which will execute scripts based on the name it was executed under. Another one for the TODO list :)
[G1 Android Development] rfairburn:
From Term.java:

public void onCreate(Bundle icicle) {

super.onCreate(icicle);

Log.e(Term.LOG_TAG, "onCreate");

setContentView(R.layout.term_activity);

mEmulatorView = (EmulatorView) findViewById(EMULATOR_VIEW);

int[] processId = new int[1];

if (TEST_MODE) {

// This is a vt100 test suite.

mTermFd = Exec.createSubprocess("/sbin/vttest", null, null);

} else {

// This is the standard Android shell.

mTermFd = Exec.createSubprocess("/system/bin/sh", "-", null,

processId);

}

final int procId = processId[0];

final Term me = this;

final Handler handler = new Handler() {

@Override

public void handleMessage(Message msg) {

me.finish();

}

};

Can we use Exec.createSubprocess() as in this above but call "/system/bin/su /data/local/bin/APPLICATIONNAME" to make the Superuser app prompts for root among other things?

Maybe create a user interface that lets you enter what you want in the place of '/data/local/bin/appName' and then when it creates the shortcut also asks if that application needs root?

It could be a list of shortcuts that is selected from a list then. Look like a list of bookmarks perhaps?

I don't know enough of the android environment to know how realistically we could do something like that.
[G1 Android Development] rfairburn:
looks like that code example from above is old. Current source from git looks different, but the call looks similar enough. I will play with it here shortly.
[G1 Android Development] mod1:
Yes, we could do that, including su, but be careful with it :)

Re bookmarks inside a single loader, I think we can do even better:

We can have a single application called Loader, and call it with different parameters using AnyCut. AnyCut has a "make your own shortcut" option, where you can provide Action, Data and Type. I'm not familiar with the Android environment yet, but I guess the Action can point to the loader, and the Data can be a script name to be executed. This way, a single .apk can be used for starting many native programs.

If implemented that way, I suggest stripping slashes from Data and prepending with /data/local/scripts/ or a similar directory, so that it can only execute scripts the user meant for it to run, rather than arbitrary shell commands. /data/local/scripts/ can contain symlinks to scripts/apps the user wishes to execute from the Android interface. It's more secure that way, while retaining usability.

Makes sense?
[G1 Android Development] rfairburn:
Certainly does. You wouldn't want someone to be able to 'rm -rf /' or anything like that.

I think I like restricting it to /data/local/scripts and forcing us to symlink or place any scripts we want to be able run in that path.

Also agree with stripping slashes. There might be other sanitizing that we would want to do to keep malicious actions from being performed.

I would think strip any special characters that have special meaning to the shell * | < > ` etc. If we want to do anything that requires these, we put it in whatever shell script and then just call the script.

Maybe the best route is to just scan the /data/local/scripts folder and allow the user to select from a list.

In any case, whoever does this already has root, so it is just as easy to launch a terminal and break everything from there.

Just a few brainstormed thoughts.
[G1 Android Development] Muty_:
Hi

I just wanted to post my little contribution to this thread if anyone is interested :)

#!/system/bin/sh

case "$1" in
'start')
insmod /data/openvpn/tun.ko
/data/openvpn/openvpn --config /sdcard/openvpn/client.conf --writepid /data/openvpn/openvpn.pid --daemon --log /sdcard/openvpn/ovpn.log
;;
'stop')
kill -9 `cat /data/openvpn/openvpn.pid`
sleep 2
rmmod tun
;;
*)
echo "Usage: $0 [start|stop]"
;;
esac

Hope that helps anyone.
[G1 Android Development] DanOtero:
Apps with ifup and root access

moussam seems to have written an application very similar to the one described here to do bluetooth tethering. It also needs to load a kernel extension (as root) and do things when the interface comes up. It all started as scripts.

Pls see http://xdaforums.com/showthread.php?t=479094
[G1 Android Development] Proxin:
Wow, and I thought regular tethering was hard... do you need to have a port forwarded on this if you have a firewall?
[G1 Android Development] calelloa:
Hello,

I would like to know if it can be a solution for my problem.

In my office, I have wifi signal but through a proxy server. I had a Iphone and I could connect to it seting the ip of proxy in the wifi configuration.

In my G1 I didn´t find a place where I can set these parameters.

Thanks.
[G1 Android Development] Fnorder:
I still use this off and on to route everything encrypted through my server, and so far TMO has yet to break down my door. Out of lazyness I wrote the following script to change the phone's defaultroute. It should probably be rewritten as it's messy, but it works (for me at least).

#!/system/xbin/bb/ash
VPNNODE=XXX.XXX.XXX.XXX # The internet IP address of your vpn server
VPNGATEWAY=10.1.1.1 # The VPN IP address of the router

gw=$(route -n|grep ^0.0.0.0|cut -c 17-|cut -d ' ' -f1)
vpnup=$(route -n|grep ^$VPNGATEWAY)
for i in $gw; do
let numgw++
done

if [ "$gw" == "$VPNGATEWAY" ]; then
vpnroute=yes
else
vpnroute=no
fi
echo Gateway: $gw
echo Routing via vpn: $vpnroute

if [ "$1" == "up" ]; then
echo Attempting to route via vpn.
if [ "$vpnup" == "" ]; then
echo Error, VPN is not up. Run openvpn.
exit 2
fi
if [ "$vpnroute" == "yes" ]; then
echo Already routing via vpn.
exit 2
fi
if [ $numgw != 1 ]; then
echo Something screwy is happening, $numgw defaultroutes are set: $gw
echo Bringing down any lost $VPNGATEWAY defaultroutes
route del default $VPNGATEWAY
gw=$(route -n|grep ^0.0.0.0|cut -c 17-|cut -d ' ' -f1)
numgw=0
for i in $gw; do
let numgw++
done
if [ $numgw != 1 ]; then
echo Still too many defaultroutes.
echo Bailing. Fix this:
route -n
exit 2
fi
fi
echo Routing $VPNNODE via $gw ...
route del $VPNNODE
route add $VPNNODE gw $gw
if [ $? != 0 ]; then
echo Error in route, bailing.;exit 3
fi
echo Bringing down defaultroute ...
route del default
echo Routing through $VPNGATEWAY ...
route add default gw $VPNGATEWAY
gw=$(route -n|grep ^0.0.0.0|cut -c 17-|cut -d ' ' -f1)
echo Defaultroute is now $gw
ping -c 1 4.2.2.1
exit
fi

if [ "$1" == "down" ]; then
echo Attempting to route normally.
if [ "$vpnroute" != "yes" ]; then
echo Not routing via vpn. $vpnroute
exit 2
fi
if [ $numgw != 1 ]; then
echo Something screwy is happening, $numgw defaultroutes are set: $gw
echo Bailing. Fix this:
route -n
exit 2
fi
nodegw=$(route -n|grep ^$VPNNODE|cut -c 17-|cut -d ' ' -f1)
echo Determined normal gateway to be $nodegw
echo Bringing down defaultroute ...
route del default
echo Routing through $nodegw ...
route add default gw $nodegw
echo Bringing down route to $VPNNODE ...
route del $VPNNODE
gw=$(route -n|grep ^0.0.0.0|cut -c 17-|cut -d ' ' -f1)
echo Defaultroute is now $gw
ping -c 1 4.2.2.1
exit
fi