Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Readers > Onyx Boox

Notices

Reply
 
Thread Tools Search this Thread
Old 12-26-2023, 01:50 PM   #16
kyokugen
Junior Member
kyokugen began at the beginning.
 
Posts: 2
Karma: 10
Join Date: Dec 2023
Device: Onyx Boox Air 3 C
Quote:
Originally Posted by Renate View Post
It's pretty similar to this thread.
Of course you start with the the correct update.upx
Where do I get the right update.upx?
kyokugen is offline   Reply With Quote
Old 12-26-2023, 04:36 PM   #17
Renate
Onyx-maniac
Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.
 
Posts: 3,122
Karma: 12439909
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5, Go6
Quote:
Originally Posted by kyokugen View Post
Where do I get the right update.upx?
In the link in Post #2
Renate is online now   Reply With Quote
Old 04-09-2024, 09:11 AM   #18
SuiVu1fa
Member
SuiVu1fa began at the beginning.
 
Posts: 19
Karma: 10
Join Date: Nov 2018
Device: Kindle
How do you get the link to the `update.upx` for Note Air 3C? There is an update now. Last time, I got the link from packet sniffer, but there should be a better way.

Furthermore, is it possible to sideload `update.upx` from the one downloaded on the computer? Thanks.
SuiVu1fa is offline   Reply With Quote
Old 04-09-2024, 10:34 AM   #19
dcarvil
Connoisseur
dcarvil began at the beginning.
 
Posts: 52
Karma: 10
Join Date: Jan 2024
Device: Boox Note Air 3
Quote:
Originally Posted by SuiVu1fa View Post
How do you get the link to the `update.upx` for Note Air 3C? There is an update now. Last time, I got the link from packet sniffer, but there should be a better way.

Furthermore, is it possible to sideload `update.upx` from the one downloaded on the computer? Thanks.
Run this query, then look for the link in downloadUrlList.

http://data.onyx-international.cn/ap...t%22:%22%22%7D

Run these commands to install it.

adb push update.upx sdcard
adb shell am start -a onyx.settings.action.firmware
dcarvil is offline   Reply With Quote
Old 09-27-2024, 05:44 PM   #20
jlark
Enthusiast
jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.
 
Posts: 36
Karma: 8888
Join Date: Mar 2016
Device: Onyx Boox Max
So, I'm trying to root this thing. It got recently upgraded to 3.5.4: NoteAir3C_2024-09-10_21-41_3.5.4_1a0fe4e9b.

I could not find any EDL loader that works. I'm on Linux. Tried everything that could make sense, it either errors straight away ("Mode detected: error"), or breaks somewhere soon enough:

Code:
$ ./edl/edl --loader $l --memory=UFS printgpt
Loading Loaders/lenovo_motorola/001b80e102e80000_8b2d1c830d9d8576_fhprg_moto_g52.bin
Capstone library is missing (optional).
Keystone library is missing (optional).
Qualcomm Sahara / Firehose Client V3.62 (c) B.Kerler 2018-2024.
main - Using loader Loaders/lenovo_motorola/001b80e102e80000_8b2d1c830d9d8576_fhprg_moto_g52.bin ...
main - Waiting for the device
main - Device detected :)
main - Mode detected: sahara
Traceback (most recent call last):
  File "/home/john/Work/android-tools/./edl/edl", line 393, in <module>
    base.run()
  File "/home/john/Work/android-tools/./edl/edl", line 293, in run
    version = conninfo.get("data").version
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: type object 'req' has no attribute 'version'
Tried with and without "--memory".

So I decided to go straight for root from the official update.upx:

Code:
$ fastboot flash boot magisk_patched-27000_bucD7.img 
Sending 'boot_b' (98304 KB)                        OKAY [  2.700s]
Writing 'boot_b'                                   FAILED (remote: 'unknown command')
fastboot: error: Command failed


Is this some "upgrade" brought along by the 3.5.4, or is there something special about my setup?

Know of a loader that works?

Something else I should try?

Note that I'm pretty technical.

Thanks
jlark is offline   Reply With Quote
Old 09-28-2024, 01:05 AM   #21
Renate
Onyx-maniac
Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.
 
Posts: 3,122
Karma: 12439909
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5, Go6
Quote:
Originally Posted by jlark View Post
Code:
Writing 'boot_b'                                   FAILED (remote: 'unknown command')
fastboot has been chopped down and now does not do anything useful.

Do not use a Motorola loader. That _g52.bin file is restricted. Even if you got it working it would not be able to access all of flash. (Yes, I suggested it previously, but I can learn stuff in a year.)

The thing is, you're not bound by the hash so the possibilities is larger. In such cases I run an automated trial and can try 1000 loaders in 20 minutes. But I don't have one of these NoteAir3C.

Try https://github.com/bkerler/Loaders/t...eneric/qcm2290
Renate is online now   Reply With Quote
Old 09-28-2024, 10:08 AM   #22
jlark
Enthusiast
jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.
 
Posts: 36
Karma: 8888
Join Date: Mar 2016
Device: Onyx Boox Max
@Renate, thanks for the reply.

Quote:
Originally Posted by Renate View Post
Do not use a Motorola loader. That _g52.bin file is restricted. Even if you got it working it would not be able to access all of flash. (Yes, I suggested it previously, but I can learn stuff in a year.)
It would be nice if something would happen though.. anything other than an exception.

Quote:
Originally Posted by Renate View Post
Nope

Quote:
Originally Posted by Renate View Post
The thing is, you're not bound by the hash so the possibilities is larger. In such cases I run an automated trial and can try 1000 loaders in 20 minutes. But I don't have one of these NoteAir3C.
So, I did a brute force on everything qualcomm:

Code:
$ shopt -s globstar
$ for l in Loaders/qualcomm/**/*.{bin,elf,mbn}; do
> echo "== Loading $l"
> ./edl/edl printgpt --loader $l
> echo; echo
> sleep 1
> echo "== Loading $l / UFS"
> ./edl/edl printgpt --loader $l --memory ufs
> echo; echo;
> sleep 1
> done
Aaand... nothing. It consistently detects the device and breaks early in python code:

Code:
main - Device detected :)
main - Mode detected: sahara
Traceback (most recent call last):
  File "/home/john/Work/android-tools/./edl/edl", line 293, in run
    version = conninfo.get("data").version
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: type object 'req' has no attribute 'version'
I inspected that `conninfo.get("data")` but I didn't get very far...

I could do a script to run unattended on /everything/. But I somehow feel I won't get differing results.

@Renate such brute force works for you without any need to reset the connection between attempts with different loaders?
jlark is offline   Reply With Quote
Old 09-28-2024, 10:14 AM   #23
jlark
Enthusiast
jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.
 
Posts: 36
Karma: 8888
Join Date: Mar 2016
Device: Onyx Boox Max
Quote:
Originally Posted by Renate View Post
fastboot has been chopped down and now does not do anything useful.
That is just so nice. One must not interfere with the chinese communist party's data mining operation.

I wonder if the know-how within decryptBooxUpdateUpx could be used for the reverse operation: to build a signed update.upx, or the encryption is asymmetric.
jlark is offline   Reply With Quote
Old 09-28-2024, 11:18 AM   #24
Renate
Onyx-maniac
Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.
 
Posts: 3,122
Karma: 12439909
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5, Go6
Quote:
Originally Posted by jlark View Post
Such brute force works for you without any need to reset the connection between attempts with different loaders?
Nope. The ROM bootloader (PBL) is fairly fragile and does not respond correctly after a failed loader attempt.

You need to do a full reset between trials.

But the good news is, most (all?) Firehose loaders don't care about batteries and certainly the PBL has no idea of what a battery is. That means you can run basic operations with PBL and loading a Firehose loader without the battery connected. Of course it has to get power over USB. But it doesn't need much, just 100 mA or so (vs. the 1000 mA or more for booting the full multicore OS).
So if you have a software controlled relay (or software power supply) you can use it to disconnect the USB power for a second to do a full reset.

Note that I am not claiming that flashing a whole device while running only on USB without a battery is the best idea.

AES is symmetric. You can turn a zip into a upx. But that won't get you much.
Renate is online now   Reply With Quote
Old 09-28-2024, 12:10 PM   #25
jlark
Enthusiast
jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.jlark shines like a glazed doughnut.
 
Posts: 36
Karma: 8888
Join Date: Mar 2016
Device: Onyx Boox Max
Quote:
Originally Posted by Renate View Post
You need to do a full reset between trials.

So if you have a software controlled relay (or software power supply) you can use it to disconnect the USB power for a second to do a full reset.
Whoah :)

This doesn't scare me, and I bet I could come up with something using a microcontroller... I'm just not all that fond of taking the thing apart. :)

(but I do have a heatgun :) )

I'll write a script then to monitor for its appearance, put it into edl, monitor again, and then try the loader. And do much manual shutting down.

Do you have any hints for making my life easier? Try only ufs? I'll focus on the “obvious“ loaders in the beginning.

Quote:
Originally Posted by Renate View Post
AES is symmetric. You can turn a zip into a upx. But that won't get you much.
Why say you that, what hurdles are you thinking of? I'd expect the reverse process for building an update package to be fairly straightforward (for one familiar with the code, anyway).

P S.: thanks so much for the input. very valuable.
jlark is offline   Reply With Quote
Old 09-28-2024, 11:50 PM   #26
Renate
Onyx-maniac
Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.Renate ought to be getting tired of karma fortunes by now.
 
Posts: 3,122
Karma: 12439909
Join Date: Feb 2012
Device: Nook NST, Glow2, 3, 4, '21, Kobo Aura2, Poke3, Poke5, Go6
Quote:
Originally Posted by jlark View Post
This doesn't scare me, and I bet I could come up with something using a microcontroller...
I'll bet that you could. If you have a 9 pin serial port you could use that too. By enabling and disabling "break" you have one bit control. You could also programmatically control the other two control signals for three bits total. You need a level shifter/relay driver, but that's only a transistor. You could do the same with a USB UART.

I bought an old TinkerKit DMX controller with 4 relays for $5 and rewrote the software to be a USB controlled relay set.

I also have a little homebrew CV/CC power supply that is USB controlled. I can use that to generate the 5V for USB Vbus.

Oh, I forgot to mention. You have to jumper the EDL test points so that it will come up in EDL mode all the time. Finding the EDL test points is a big theme. In olden days Onyx made it obvious. Now they are tricky. Compare the test points of the Poke3 (reed.jpg) vs. the Poke5 (reed3.jpg). Both of these have a reed magnetic switch on them so that I can always get to EDL without opening the cases (again).

You could also just use the power button. You could mechanically press it. You could electrically press it. It's easy enough to find with a DVM. Moreover, they always have an accessible test point for powering up the board by itself.

Worst case, 10 second press of power button, 30 second normal boot up to system, "adb reboot edl" to get to edl mode, loader attempt, repeat.

Quote:
Originally Posted by jlark View Post
Try only ufs?
Loaders have some combination of support for eMMC, UFS, NAND, NOR. But you don't have to specify that until after you get the loader loaded. Loaders also support some subset of processors AND some subset of power management ICs. So without the limitation of PK hash, the field is wide open.

Quote:
Originally Posted by jlark View Post
Why say you that, what hurdles are you thinking of?
For most folks, simply installing Magisk is the easy way out. If you're going to be difficult (I am) you can patch the kernel, resize internal partitioning of super, unshare system & vendor, rewrite sepolicy...
Attached Thumbnails
Click image for larger version

Name:	reed.jpg
Views:	26
Size:	132.0 KB
ID:	211103   Click image for larger version

Name:	reed3.jpg
Views:	27
Size:	392.5 KB
ID:	211104  
Renate is online now   Reply With Quote
Old 09-29-2024, 08:11 PM   #27
antcamp
Junior Member
antcamp began at the beginning.
 
Posts: 1
Karma: 10
Join Date: Sep 2024
Device: Boox Note Air 3C
Hi! I've been trying to root my new NA3C (via a macbook) for the past few days, and scouring so so many threads here, to no avail. I'm also getting the same issue of fastboot rejecting the commands that work in other threads. E.g.,
Code:
./fastboot flash boot ./magisk_patched.img -v
fastboot: verbose: Do flash boot_b /Users/me/workspace/boox_workspace/platform-tools/magisk_patched.img
fastboot: verbose: target reported max-download-size of 788750336 bytes
Sending 'boot_b' (98304 KB)                        OKAY [  2.331s]
Writing 'boot_b'                                   FAILED (remote: 'unknown command')
fastboot: error: Command failed
I've been learning a lot about low-level systems in the past few days solely because I really want my device rooted, so apologies for butchering any terms.

From what I gathered, is this the goal?
  • Find a Firehose loader (.bin or .mbn) that works for the NA3C (or more specifically the Snapdragon 680?)
  • Hop into EDL mode since it's lower level than fastboot (and fastboot is missing commands)
  • Flash the boots (boot_a and boot_b?)

Just wanted to add a post here to give it some attention too. Good luck with the EDL search!
antcamp is offline   Reply With Quote
Reply


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
How to Root the Onyx Boox Note Air 2 Plus (Windows) Chitter Onyx Boox 126 10-02-2024 03:53 AM
Root for Note Air 2? downeaster59 Onyx Boox 187 11-08-2023 05:54 PM
Ended Boox Note Air 2 downeaster59 Flea Market 3 11-22-2022 08:59 AM
Ended Looking for Boox Note 2 or Air (or other?) Neru Flea Market 2 09-15-2022 08:09 AM
Boox Note Air 2 Plus Sonnenfee Android 0 06-16-2022 08:29 AM


All times are GMT -4. The time now is 08:13 AM.


MobileRead.com is a privately owned, operated and funded community.