Maybe you've thought, "Oh, if only I had GPS on me ereader I could have it log locations so that it could tell me exactly where I read the last page of Jane Eyre".
Or you could use it for hiking/mapping applications.
I presume that this thread will be more for amusement than actual instruction.
I have a Glow3. I prefer Glow2's for normal reading.
I have a GPS module, the GP-2106.
It's small, not being sold anymore.
The lower corner of the Glow3 PCB is only ground plane with no traces.
You can cut out a bunch of it, then you have about 1/4" depth to put stuff.
The only accessible UART is UART4 (/dev/ttymxc3) since we want to keep the original console in place.
That UART is not already configured or existing as a /dev/
The GP-2106 uses 1.8V interfaces and supply.
I modified the kernel (not rebuilt, just hex modified) to initialize UART4.
I stole 1.8V power supply off a bus.
Currently I am using this directly in an application and not implemented as a LocationProvider (yet).
I have a JNI NDK thread that reads the NMEA data and parses it.
Shown is my own little hiking app that uses my own KML maps.
(On other devices I use this with the standard built-in LocationProvider.)
Yes, the grab is in color, although the Nook is obviously black & white.
That's a bit of a con, but the visibility in bright sunlight is a plus.
So, I took a look at how the whole Android GPS worked.
In the Secure settings you have:
location_providers_allowed = gps
location_mode = 3 (3 = high accuracy, 0 = off)
In /system/framework/framework.jar is android.location.LocationManager
In /system/framework/services.jar is com.android.server.location.GpsLocationProvider
This tries to read /etc/gps.conf (which gives you network resources like NTP and is not strictly required, it's not present)
This uses native code like "native_agps_..." in:
/system/lib/libandroid_servers.so
This uses hw_get_module() in:
/system/lib/libhardware.so
Which uses a search for hardware HAL modules to load, like
/system/lib/hw/gps.default.so
Which does not exist on our Glows
I made a junk file and libhardware.so does try to load it (and fails)
Code:
E/HAL ( 2461): load: module=/system/lib/hw/gps.default.so
E/HAL ( 2461): dlopen failed: "/system/lib/hw/gps.default.so" is too small to be an ELF executable
There are some projects out there for building a generic gps.default.so
FWIW, the whole meat of GPS is in this file, i.e. NMEA decoders, callbacks...
I'll be trying to do that later.
Edit: Well, I built a gps.default.so and it seems to work fine, but somewhere along the way I misplaced my serial port.
In any case:
Code:
GPS: [email protected]
Renate NST said:
So, I took a look at how the whole Android GPS worked.
In the Secure settings you have:
location_providers_allowed = gps
location_mode = 3 (3 = high accuracy, 0 = off)
In /system/framework/framework.jar is android.location.LocationManager
In /system/framework/services.jar is com.android.server.location.GpsLocationProvider
This tries to read /etc/gps.conf (which gives you network resources like NTP and is not strictly required, it's not present)
This uses native code like "native_agps_..." in:
/system/lib/libandroid_servers.so
This uses hw_get_module() in:
/system/lib/libhardware.so
Which uses a search for hardware HAL modules to load, like
/system/lib/hw/gps.default.so
Which does not exist on our Glows
I made a junk file and libhardware.so does try to load it (and fails)
Code:
E/HAL ( 2461): load: module=/system/lib/hw/gps.default.so
E/HAL ( 2461): dlopen failed: "/system/lib/hw/gps.default.so" is too small to be an ELF executable
There are some projects out there for building a generic gps.default.so
FWIW, the whole meat of GPS is in this file, i.e. NMEA decoders, callbacks...
I'll be trying to do that later.
Edit: Well, I built a gps.default.so and it seems to work fine, but somewhere along the way I misplaced my serial port.
In any case:
Code:
GPS: [email protected]
Click to expand...
Click to collapse
Hi Renate !
I was off grid for some time, so i 'm just taking known of your work. Quite impressive, again.
It's look like a very good news, so you made a custom gps.default.so from scratch ?
not sure to undersand perfectly what you mean about misplaced the seral port, but existing projects about generic serial driver seem use directive based from build.prop like this :
Code:
# Custom GPS driver
ro.kernel.android.gps=ttyS1
ro.kernel.android.gps.speed=9600
ro.kernel.android.gps.max_rate=1
BTW you have make a great improvement of GPS support on the NST !
let us know when you will able to release your work
See you later !
liptonthe said:
misplaced the seral port...
Click to expand...
Click to collapse
Oh, I lost track of where the patches for ttymxc3 were.
I found them, tried the built gps.default.so and it was eating all the CPU.
I'll have to do some debugging.
(The GPS module is pretty crappy, slowest fix that I've ever seen.)
Renate NST said:
Oh, I lost track of where the patches for ttymxc3 were.
I found them, tried the built gps.default.so and it was eating all the CPU.
I'll have to do some debugging.
(The GPS module is pretty crappy, slowest fix that I've ever seen.)
Click to expand...
Click to collapse
All right, i guess it would be too easy that work at the first attempt.
But at least it's a progress, i can relate, UsbGps4Droid is not really a fast fix solution too !
Hi @Renate NST, what's up
Did you fix your issue about CPU comsumtion ?
i'm still interessted to try it on my BNRV300 if you want.
See you later.
liptonthe said:
I'm still interested to try it on my BNRV300 if you want.
Click to expand...
Click to collapse
Yeah, the NST gives you a choice of 1.8V or 3.3V also.
I've been busy on other stuff, but I should get back to this.
Renate NST said:
Yeah, the NST gives you a choice of 1.8V or 3.3V also.
I've been busy on other stuff, but I should get back to this.
Click to expand...
Click to collapse
Hi, Okay thats a good news
i'm availble for trying binary's and confs. Let me know when you are ready.
I realized what the problem was with the lost /dev/ttymxc3
I had bodged it into where the Bluetooth goes and it only worked if you had the WiFi on.
I knew this, but I forgot it.
I've got that working a different way now (but I managed to disable the console accidentally).
So now I'm back to something eating all my CPU.
And the stupid GPS module still hasn't gotten a fix after 15 minutes.
Renate NST said:
I realized what the problem was with the lost /dev/ttymxc3
I had bodged it into where the Bluetooth goes and it only worked if you had the WiFi on.
I knew this, but I forgot it.
I've got that working a different way now (but I managed to disable the console accidentally).
So now I'm back to something eating all my CPU.
And the stupid GPS module still hasn't gotten a fix after 15 minutes.
Click to expand...
Click to collapse
Hi Renate !
It look like i have missed the notification of your last response the 10/03..
I'm working myself on the implementation of the gps.default.so from this project : https://github.com/dipcore/gps-glonass-android-driver
i have pushed + chmod the gps.default.so lib in /system/lib/hw/ and edited the /system/build.prop to add :
Code:
# Custom GPS driver
ro.kernel.android.gps=ttyS1
ro.kernel.android.gps.speed=9600
ro.kernel.android.gps.max_rate=1
But actually i'm not able to see anything loading in logcat or dmesg for the moment.
Maybe you could try yourself with this lib ?
---------- Post added at 11:12 PM ---------- Previous post was at 10:35 PM ----------
Actually i set this value but it's not better.
Code:
sqlite> update secure set value=3 where name='location_mode';
sqlite> update secure set value=0 where name='mock_location';
sqlite> update secure set value='gps' where name='location_providers_allowed';
gps.default.so should be natively loaded by HAL scanner as described in the /system/lib/libhardware.so but i don't see it in logs.
Perhaps
Code:
ls /sys/module
seem show the loading of a "garmin_gps" module
Still loaded when gps.default.so is no present in the system, that's strange !
Code:
# ls /sys/module
kernel
printk
wakelock
userwakelock
earlysuspend
spurious
omap3epfb
keyboard
vt
bridgedriver
scsi_mod
sg
usbcore
usb_storage
usbserial
aircable
ark3116
belkin_sa
ch341
cp2101
cyberjack
cypress_m8
digi_acceleport
io_edgeport
io_ti
empeg
ftdi_sio
funsoft
[B]garmin_gps[/B] <---------------
ipaq
ipw
ir_usb
iuu_phoenix
keyspan
keyspan_pda
kl5kusb105
kobil_sct
mct_u232
mos7720
mos7840
navman
omninet
opticon
option
oti6858
pl2303
safe_serial
sierra
spcp8x5
ti_usb_3410_5052
visor
whiteheat
adutux
berry_charge
iowarrior
ldusb
legousbtower
usbtest
musb_hdrc
mousedev
psmouse
omap_hdq
w1_bq27000
usbhid
binder
lowmemorykiller
snd
snd_timer
snd_pcm
snd_dummy
snd_usb_audio
oprofile
rfkill
pvrsrvkm
omaplfb
bc_example
tiwlan_drv
It loads and correctly accesses the GPS module and decodes the NMEA correctly.
You can see that if you edit gps.h and rebuild it.
Code:
#define GPS_DEBUG 1
//#undef GPS_DEBUG
(You get lots more messages.)
My stupid GPS module was being so annoying. It would take 20 minutes to capture.
I've been looking for a new module, but all the small ones use a stupid scheme where pulsing a pin cycles it through various modes.
You can never tell what mode you're in.
In any case, I was still left with the Android world not getting GPS updates and "top" was showing 99% CPU.
Does yours react this way?
Renate NST said:
It loads and correctly accesses the GPS module and decodes the NMEA correctly.
You can see that if you edit gps.h and rebuild it.
Code:
#define GPS_DEBUG 1
//#undef GPS_DEBUG
(You get lots more messages.)
Click to expand...
Click to collapse
Hum great tips ! I've been able to find and edit the .h file but i'm not common with the rebuilt / compile process of C programs.
did you use GCC, make and stuff to do that ?
In any case, I was still left with the Android world not getting GPS updates and "top" was showing 99% CPU.
Does yours react this way?
Click to expand...
Click to collapse
A quick look on "top" was not showing an overstimulated CPU, maybe it's due to the debug params.
---------- Post added at 02:03 AM ---------- Previous post was at 01:55 AM ----------
I'm using a little app to get somes indicatives values about GPS data.
--> https://apkpure.com/just-gps/net.thenumber42.android.justgps
When i launch it i get a pop-up about "The GPS is not enabled" however i have set the settings.db properly.
This app is running like charm when i use the moc location trick.
Maybe i missed something, when this app is launched the result in logcat is :
Code:
E/LocationManagerService( 1026): requestUpdates got exception:
E/LocationManagerService( 1026): java.lang.IllegalArgumentException: provider=gps
E/LocationManagerService( 1026): at com.android.server.LocationManagerService.requestLocationUpdatesLocked(LocationManagerService.java:863)
E/LocationManagerService( 1026): at com.android.server.LocationManagerService.requestLocationUpdates(LocationManagerService.java:833)
E/LocationManagerService( 1026): at android.location.ILocationManager$Stub.onTransact(ILocationManager.java:79)
E/LocationManagerService( 1026): at android.os.Binder.execTransact(Binder.java:287)
E/LocationManagerService( 1026): at com.android.server.SystemServer.init1(Native Method)
E/LocationManagerService( 1026): at com.android.server.SystemServer.main(SystemServer.java:514)
E/LocationManagerService( 1026): at java.lang.reflect.Method.invokeNative(Native Method)
E/LocationManagerService( 1026): at java.lang.reflect.Method.invoke(Method.java:521)
E/LocationManagerService( 1026): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
E/LocationManagerService( 1026): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
E/LocationManagerService( 1026): at dalvik.system.NativeStart.main(Native Method)
I/PowerManagerService( 1026): setPowerState: mPowerState=0x3 newState=0x3 noChangeLights=false reason=2
E/LocationManagerService( 1026): isProviderEnabled got exception:
E/LocationManagerService( 1026): java.lang.IllegalArgumentException: provider=gps
E/LocationManagerService( 1026): at com.android.server.LocationManagerService._isProviderEnabledLocked(LocationManagerService.java:1387)
E/LocationManagerService( 1026): at com.android.server.LocationManagerService.isProviderEnabled(LocationManagerService.java:1361)
E/LocationManagerService( 1026): at android.location.ILocationManager$Stub.onTransact(ILocationManager.java:237)
E/LocationManagerService( 1026): at android.os.Binder.execTransact(Binder.java:287)
E/LocationManagerService( 1026): at dalvik.system.NativeStart.run(Native Method)
---------- Post added at 02:31 AM ---------- Previous post was at 02:03 AM ----------
Also i just found this project dedicated to generic serial GPS driver : https://tinkerboarding.co.uk/forum/thread-671.html && https://github.com/joerg65/libGPS_TinkerBoard
Hmm, do you have secure / location_providers_allowed=gps
My GPS is working (when the GPS module finally captures).
The CPU being eaten is possibly unrelated.
It's the Alarm Manager spamming on an alarm set for the year 2000!
It may be trying to set the time constantly.
If I delete gps.default.so it stops.
But, in any case, the clock is not even syncing to the NMEA.
I tried the beaglebone one, it builds fine and does about the same. Oops, I was rebuilding the first one.
Renate NST said:
Hmm, do you have secure / location_providers_allowed=gps
Click to expand...
Click to collapse
I think it should be good, there is my setup sequence :
Code:
adb connect xxx.xxx.x.x:5555
adb shell mount -o rw,remount -t ext2 /dev/block/mmcblk0p5 /system
adb push gps.default.so /system/lib/hw/
adb shell chmod 644 /system/lib/hw/gps.default.so
cd /data/data/com.android.providers.settings/databases
sqlite3 settings.db
update secure set value=3 where name='location_mode';
update secure set value=0 where name='mock_location';
update secure set value='gps' where name='location_providers_allowed';
.q
reboot
But my apps (Oruxmaps or Just GPS) still saying GPS is disabled :/
My GPS is working (when the GPS module finally captures).
Click to expand...
Click to collapse
I'm happy to ear that ! A great improvement I hope reproducing it too.
The CPU being eaten is possibly unrelated.
It's the Alarm Manager spamming on an alarm set for the year 2000!
It may be trying to set the time constantly.
If I delete gps.default.so it stops.
Click to expand...
Click to collapse
A really strange glitch..
But yes it's could be the time updating system, but the alarm.. this is really strange.
But, in any case, the clock is not even syncing to the NMEA.
Click to expand...
Click to collapse
That's strange because that should be updated ! maybe this is a linked to the high power consumtion (infinite retry of time setup after failed attempt ?)
I tried the beaglebone one, it builds fine and does about the same. Oops, I was rebuilding the first one.
Click to expand...
Click to collapse
I'm not sure to understand, do you try the other GPS project's lib ?
---------- Post added at 12:26 AM ---------- Previous post was at 12:24 AM ----------
Maybe you could share me the lib you recompile with log enabled ?
---------- Post added at 12:50 AM ---------- Previous post was at 12:26 AM ----------
It seem this command has no effect in my case :
Code:
sqlite> update secure set value=3 where name='location_mode';
I can't see it in the DB
Code:
sqlite> select * from secure;
1|android_id|1e70509c-cb20-4b12-8ce2-2a3fce741da9
2|bluetooth_on|0
3|data_roaming|1
4|install_non_market_apps|1
5|location_providers_allowed|gps
6|assisted_gps_enabled|1
7|network_preference|1
8|usb_mass_storage_enabled|1
11|wifi_networks_available_notification_on|0
12|preferred_network_mode|0
13|cdma_cell_broadcast_sms|1
14|preferred_cdma_subscription|1
15|mock_location|0
16|backup_enabled|0
17|backup_transport|
18|demo_mode|off
19|wifi_max_restart_supplicant_attempts|3
20|enabled_input_methods|com.android.inputmethod.latin/.LatinIME
26|device_provisioned|1
274|wifi_on|1
277|default_input_method|com.android.inputmethod.latin/.LatinIME
278|adb_enabled|0
sqlite>
---------- Post added at 01:17 AM ---------- Previous post was at 12:50 AM ----------
I just create a row mannualy in the DB.
But i still gett "GPS disabled in apps"
Code:
insert into secure (name) VALUES('location_mode');
Code:
select * from secure;
...
279|location_mode|3
...
Hello @Renate NST
I've retry to setup the gps library on a brand new NST BNRV300 from ebay this week to create an second topographic eReader like mine.
The result is the same i'm stuck with the gps.default.so, i don't know how to rebuilt it to integrate debug and check if it's loaded correctly. On the other hand it seem the OS has not GPS settings enabled. (But my params has been pushed successfully by sqlite). i'm really confused about that point.
I'm still getting thoses errors in logcat when i'm launching an app with GPS location needs :
Code:
E/LocationManagerService( 822): requestUpdates got exception:
E/LocationManagerService( 822): java.lang.IllegalArgumentException: provider=gps
E/LocationManagerService( 822): at com.android.server.LocationManagerService.requestLocationUpdatesLocked(LocationManagerService.java:863)
E/LocationManagerService( 822): at com.android.server.LocationManagerService.requestLocationUpdates(LocationManagerService.java:833)
E/LocationManagerService( 822): at android.location.ILocationManager$Stub.onTransact(ILocationManager.java:79)
E/LocationManagerService( 822): at android.os.Binder.execTransact(Binder.java:287)
E/LocationManagerService( 822): at dalvik.system.NativeStart.run(Native Method)
I/PowerManagerService( 822): setPowerState: mPowerState=0x3 newState=0x3 noChangeLights=false reason=2
E/LocationManagerService( 822): isProviderEnabled got exception:
E/LocationManagerService( 822): java.lang.IllegalArgumentException: provider=gps
E/LocationManagerService( 822): at com.android.server.LocationManagerService._isProviderEnabledLocked(LocationManagerService.java:1387)
E/LocationManagerService( 822): at com.android.server.LocationManagerService.isProviderEnabled(LocationManagerService.java:1361)
E/LocationManagerService( 822): at android.location.ILocationManager$Stub.onTransact(ILocationManager.java:237)
E/LocationManagerService( 822): at android.os.Binder.execTransact(Binder.java:287)
E/LocationManagerService( 822): at dalvik.system.NativeStart.run(Native Method)
I guess the glowlight 3 you are using has some differences about that in the firmware.
Do you have an opinion on that ?
##### Other Subject #####
I just read your thread about the SD card soldering perfomed on Glows 2/3/4 and it's very interesting
I will maybe buy a BNRV510 (Glow2) and try to reproduce the SD card mod but also soldering a GPS on the UART. I'm not totally sure but i guess it will be easier to make it work natively with a 4.4 Android OS.
The BNRV510 is waterproof, has SD card (after mod) and an UART serial input so it's a good setup for me but i'm not aware about what expect.
Advices ?
By the way, thank's for your time !
Yeah, I've got to get back on this.
I had tried the two different sources for gps.default.so, the one with a bunch of files, the one with one big source file.
I'm just building them using the stock Android NDK toolchain.
The bunch-of build is detected as GPS but it does weird stuff like using NaN for no fix and I think it's reporting erroneous time which drives the AlarmManager crazy and eats CPU.
The big-file build is not recognized as GPS. I haven't really looked at it, but it doesn't touch the serial port at all.
When troubleshooting it helps to look at the serial port and see if the driver has set baud rate and characteristics.
Code:
# busybox stty -F /dev/ttymxc3
(Or whichever your device is.)
You should be able to cat it and see NMEA sentences. (Although it "steals" the text while you are doing this.)
Code:
# cat /dev/ttymxc3
Are you sure that your serial port is accessible?
I added this to ueventd.rc
Code:
/dev/ttymxc3 0666 root root
Adding an SD card on the Glow2 & Glow4 is easy.
The Glow3 needs a kernel mod and/or NTX hwcfg mod.
Oh! I see a problem with my build of the single-source gps.default.so:
Code:
E/HAL ( 2454): dlopen failed: cannot locate symbol "floor" referenced by "gps.default.so"...
Interesting, the other one didn't use math.
Also, I had to patch the source to understand 4800 baud, slow, but the official baud for NMEA-0183.
So, here's gps.default.txt, just rename it gps.default.so (it's not zipped or anything).
MD5=4c3eb7408a1ef94ec90ea44d045b7df2
The setup goes in /system/etc/gps.conf (not in build.prop like the other one).
Code:
GPSPORT /dev/ttymxc3
GPSSPEED 4800
Renate NST said:
When troubleshooting it helps to look at the serial port and see if the driver has set baud rate and characteristics.
Code:
# busybox stty -F /dev/ttymxc3
(Or whichever your device is.)
Click to expand...
Click to collapse
Yes, the GP-735 is running well at 9600 baud on ttyS1 in my case :
Code:
# busybox stty -F /dev/ttyS1
speed 9600 baud;
Renate NST said:
You should be able to cat it and see NMEA sentences. (Although it "steals" the text while you are doing this.)
Code:
# cat /dev/ttymxc3
Click to expand...
Click to collapse
Yeap this is work perfectly too, i'm able to see NMEA sentences :
Code:
# cat /dev/ttyS1
$GPRMC,224350.00,V,,,,,,,271120,,,N*78
$GPVTG,,,,,,,,,N*30
$GPGGA,224350.00,,,,,0,00,99.99,,,,,,*64
$GPGSA,A,1,,,,,,,,,,,,,99.99,99.99,99.99*30
$GPGSV,1,1,02,26,,,33,30,,,24*7A
$GPGLL,,,,,224350.00,V,N*48
Renate NST said:
Are you sure that your serial port is accessible?
I added this to ueventd.rc
Code:
/dev/ttymxc3 0666 root root
Click to expand...
Click to collapse
Yes it was 0660, but worked perfectly with the UsbGps app.
But i changed it to try with 0666, it seem not changing the matter.
Renate NST said:
Adding an SD card on the Glow2 & Glow4 is easy.
The Glow3 needs a kernel mod and/or NTX hwcfg mod.
Click to expand...
Click to collapse
This is a very good news, do you think the UART serial port is also ready to use on the Glow2 ?
Renate NST said:
Oh! I see a problem with my build of the single-source gps.default.so:
Code:
E/HAL ( 2454): dlopen failed: cannot locate symbol "floor" referenced by "gps.default.so"...
Interesting, the other one didn't use math.
Also, I had to patch the source to understand 4800 baud, slow, but the official baud for NMEA-0183.
So, here's gps.default.txt, just rename it gps.default.so (it's not zipped or anything).
MD5=4c3eb7408a1ef94ec90ea44d045b7df2
The setup goes in /system/etc/gps.conf (not in build.prop like the other one).
Code:
GPSPORT /dev/ttymxc3
GPSSPEED 4800
Click to expand...
Click to collapse
Thank's you, i have tried with the gps.default.so an gps.conf you provide (but with adapted params).
I'm not able to see anything in logcat or dmesg at this time. But the error about GPS not enabled in Android still present.
This last error is not a problem with the lib for sure but with the android system itself about his settings parameters. I will continue to try things with the settings.db
Since you're using the default of 9600 that won't tell you anything.
If stty says "echo" then the driver hasn't touched it.
It should show "-echo".
Check to see if it even tried to load.
I'll get you the debug version in a bit.
Edit: Charging up my old Nook NST to check what the scoop with that is...
Edit^2: What I posted above is actually the verbose one (that spams logcat) but works fine on the Glows.
The NST needs a different build.
I'll post a non-logcat-spamming versions for the Glows in a bit.
Renate NST said:
Since you're using the default of 9600 that won't tell you anything.
If stty says "echo" then the driver hasn't touched it.
It should show "-echo".
Check to see if it even tried to load.
I'll get you the debug version in a bit.
Click to expand...
Click to collapse
I guess i have understand what you want mean. It's about using the "GPSSPEED" value to check with stty if the lib module is correctly loaded by alterating the link speed ?
So to test it i have changed the value to 4800 has you recommanded. But the stty stil give back the 9600 default value.
Code:
# busybox stty -F /dev/ttyS1
speed 9600 baud; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>;
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
-brkint -imaxbel
#
nothing revelent about :
Code:
/ # dmesg | grep gps
/ # logcat | grep gps
Renate NST said:
Edit: Charging up my old Nook NST to check what the scoop with that is...
Edit^2: What I posted above is actually the verbose one (that spams logcat) but works fine on the Glows.
The NST needs a different build.
I'll post a non-logcat-spamming versions for the Glows in a bit.
Click to expand...
Click to collapse
Alright !
[If I can only figure out how this forum works now...]
Ok, so the problem was getting this to run on the NST, which is still running Android 2.1, API 7.
Android forced us to Clang for builds, there's an incompatibility with libdl.so, dladdr() is too modern.
So, here's a version that should work on both old and new.
I haven't double-checked it on the Glow3 yet.
It loads on the NST but I don't have any hardware check of it yet.
This is called gps.default.txt, rename it gps.default.so
MD5 188477c37d86b7a3ae43573e7174238b
Dear friends
When i try to root my hd8 2017 (douglas) by bootrom-step give me this error
[2020-06-11 02:27:33.218732]*
[2020-06-11 02:27:33.218958] Check boot0
[2020-06-11 02:27:33.511356] Check rpmb
[2020-06-11 02:27:33.736158] Clear preloader header
[8 / 8]
[2020-06-11 02:27:34.323531] Downgrade rpmb
[2020-06-11 02:27:34.338328] Recheck rpmb
Traceback (most recent call last):
File "main.py", line 216, in <module>
main()
File "main.py", line 175, in main
raise RuntimeError("downgrade failure, giving up")
RuntimeError: downgrade failure, giving up
My tablet now not work please help me
deathlessster said:
Dear friends
When i try to root my hd8 2017 (douglas) by bootrom-step give me this error
[2020-06-11 02:27:33.218732]*
[2020-06-11 02:27:33.218958] Check boot0
[2020-06-11 02:27:33.511356] Check rpmb
[2020-06-11 02:27:33.736158] Clear preloader header
[8 / 8]
[2020-06-11 02:27:34.323531] Downgrade rpmb
[2020-06-11 02:27:34.338328] Recheck rpmb
Traceback (most recent call last):
File "main.py", line 216, in <module>
main()
File "main.py", line 175, in main
raise RuntimeError("downgrade failure, giving up")
RuntimeError: downgrade failure, giving up
My tablet now not work please help me
Click to expand...
Click to collapse
Now after several attempts i can boot in fastboot mode ( not hacked) with black screen and when i use this command (brick.sh) or (brick-9820.sh) and after sending the file i get this massage : Failed (status malformed (0 bytes)
deathlessster said:
Dear friends
When i try to root my hd8 2017 (douglas) by bootrom-step give me this error
[2020-06-11 02:27:33.218732]*
[2020-06-11 02:27:33.218958] Check boot0
[2020-06-11 02:27:33.511356] Check rpmb
[2020-06-11 02:27:33.736158] Clear preloader header
[8 / 8]
[2020-06-11 02:27:34.323531] Downgrade rpmb
[2020-06-11 02:27:34.338328] Recheck rpmb
Traceback (most recent call last):
File "main.py", line 216, in <module>
main()
File "main.py", line 175, in main
raise RuntimeError("downgrade failure, giving up")
RuntimeError: downgrade failure, giving up
My tablet now not work please help me
Click to expand...
Click to collapse
If you can edit the title of your thread to give your tablet's model, more people owning the same model will come in to help!
You can still open the back cover to use the hardware method.
Following this guide, I was able to successfully root and install lineage OS on my first Fire HD 8. I have two, so I want to do it to my other HD 8. I do everything up until bootrom-step.sh. When I short CLK, it gives me this error. Every single time I do it. Can't seem to fix it.
[email protected]:/home/aden/Downloads/amonet# ./bootrom-step.sh
[2022-08-05 12:28:22.282976] Waiting for bootrom
[2022-08-05 12:29:12.540370] Found port = /dev/ttyACM0
[2022-08-05 12:29:12.570923] Handshake
[2022-08-05 12:29:12.591566] Disable watchdog
Traceback (most recent call last):
File "/home/aden/Downloads/amonet/modules/main.py", line 121, in <module>
main()
File "/home/aden/Downloads/amonet/modules/main.py", line 54, in main
handshake(dev)
File "/home/aden/Downloads/amonet/modules/handshake.py", line 11, in handshake
dev.write32(0x10007000, 0x22000000)
File "/home/aden/Downloads/amonet/modules/common.py", line 147, in write32
self.check(self.dev.read(2), b'\x00\x01') # arg check
File "/home/aden/Downloads/amonet/modules/common.py", line 84, in check
raise RuntimeError("ERROR: Serial protocol mismatch")
RuntimeError: ERROR: Serial protocol mismatch
Anyone know how to fix this? I uninstalled modem manager a long time ago, and double checked. It is not installed. I don't know what is causing this issue :/
It always fails on "Disable watchdog".
Najatski said:
Following this guide, I was able to successfully root and install lineage OS on my first Fire HD 8. I have two, so I want to do it to my other HD 8. I do everything up until bootrom-step.sh. When I short CLK, it gives me this error. Every single time I do it. Can't seem to fix it.
[email protected]:/home/aden/Downloads/amonet# ./bootrom-step.sh
[2022-08-05 12:28:22.282976] Waiting for bootrom
[2022-08-05 12:29:12.540370] Found port = /dev/ttyACM0
[2022-08-05 12:29:12.570923] Handshake
[2022-08-05 12:29:12.591566] Disable watchdog
Traceback (most recent call last):
File "/home/aden/Downloads/amonet/modules/main.py", line 121, in <module>
main()
File "/home/aden/Downloads/amonet/modules/main.py", line 54, in main
handshake(dev)
File "/home/aden/Downloads/amonet/modules/handshake.py", line 11, in handshake
dev.write32(0x10007000, 0x22000000)
File "/home/aden/Downloads/amonet/modules/common.py", line 147, in write32
self.check(self.dev.read(2), b'\x00\x01') # arg check
File "/home/aden/Downloads/amonet/modules/common.py", line 84, in check
raise RuntimeError("ERROR: Serial protocol mismatch")
RuntimeError: ERROR: Serial protocol mismatch
Anyone know how to fix this? I uninstalled modem manager a long time ago, and double checked. It is not installed. I don't know what is causing this issue :/
It always fails on "Disable watchdog".
Click to expand...
Click to collapse
You forgot to disable or stop ModemManager. Try this command:
Code:
sudo systemctl stop ModemManager
sudo systemctl disable ModemManager
Najatski said:
Following this guide, I was able to successfully root and install lineage OS on my first Fire HD 8. I have two, so I want to do it to my other HD 8. I do everything up until bootrom-step.sh. When I short CLK, it gives me this error. Every single time I do it. Can't seem to fix it.
[email protected]:/home/aden/Downloads/amonet# ./bootrom-step.sh
[2022-08-05 12:28:22.282976] Waiting for bootrom
[2022-08-05 12:29:12.540370] Found port = /dev/ttyACM0
[2022-08-05 12:29:12.570923] Handshake
[2022-08-05 12:29:12.591566] Disable watchdog
Traceback (most recent call last):
File "/home/aden/Downloads/amonet/modules/main.py", line 121, in <module>
main()
File "/home/aden/Downloads/amonet/modules/main.py", line 54, in main
handshake(dev)
File "/home/aden/Downloads/amonet/modules/handshake.py", line 11, in handshake
dev.write32(0x10007000, 0x22000000)
File "/home/aden/Downloads/amonet/modules/common.py", line 147, in write32
self.check(self.dev.read(2), b'\x00\x01') # arg check
File "/home/aden/Downloads/amonet/modules/common.py", line 84, in check
raise RuntimeError("ERROR: Serial protocol mismatch")
RuntimeError: ERROR: Serial protocol mismatch
Anyone know how to fix this? I uninstalled modem manager a long time ago, and double checked. It is not installed. I don't know what is causing this issue :/
It always fails on "Disable watchdog".
Click to expand...
Click to collapse
If purchased after Jan 2020 the exploit was blocked.