raxone / amlogic-usbdl_s905x2 Goto Github PK
View Code? Open in Web Editor NEWs905x2 Dump Bootrom BL1
License: GNU General Public License v3.0
s905x2 Dump Bootrom BL1
License: GNU General Public License v3.0
➜ amlogic-usbdl_s905x2 git:(main) ✗ sudo ./scripts/bootloader_dump.sh
Dump Bootloader
AmlUsbBulkCmd[upload store bootloader normal 0x200000]
AM_REQ_BULK_CMD_Handler ret=-110,blkcmd=upload store bootloader normal 0x200000 error_msg=error sending control message: Connection timed out
[AmlUsbRom]Err:rettemp = 0 buffer = [upload store bootloader normal 0x200000]
ERR: AmlUsbBulkCmd failed!
`
sudo dmesg | grep "usb"
[ 9493.957079] usb 2-1.2: new high-speed USB device number 62 using xhci_hcd
[ 9494.058117] usb 2-1.2: New USB device found, idVendor=1b8e, idProduct=c003, bcdDevice= 0.20
[ 9494.058129] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 9494.058135] usb 2-1.2: Product: GX-CHIP
[ 9494.058138] usb 2-1.2: Manufacturer: Amlogic
[ 9712.677421] usb 2-1.2: usbfs: USBDEVFS_CONTROL failed cmd update rqt 64 rq 52 len 64 ret -110```
Can you make short instruction how to get correct adress for s905x ?
#define P_WATCHDOG_RESET (volatile unsigned int )0xFFD0F0DC
#define _clear_icache() ((void ()(void))0xffff051c)()
#define _dwc_pcd_irq() ((void ()(void))0xffff6c94)()
#define _start_bulk_transfer(pcd) ((void ()(volatile pcd_struct_t *))0xffff5604)(pcd)
#define BOOTROM_ADDR 0xFFFE0000
volatile pcd_struct_t *pcd = (pcd_struct_t *)0xfffe3918;
Hi @Raxone ,
I've checked both repos ( this and for s905x3) and the diff shows just this single difference.
Could I send a MR with cmd args to select the correct SoC so that the tool could be unified?
pethod@CZPRGL-B18SYD3 /tmp$ diff -u amlogic-usbdl.cx2 amlogic-usbdl.c3
--- amlogic-usbdl.cx2 2023-06-07 13:43:35.246366155 +0200
+++ amlogic-usbdl.c3 2023-06-07 13:43:51.810449915 +0200
@@ -23,7 +23,7 @@
#define LOAD_ADDR 0xfffa0000
#define RUN_ADDR LOAD_ADDR
-#define TARGET_RA_PTR 0xfffe3678
+#define TARGET_RA_PTR 0xfffe3688
#define BULK_TRANSFER_SIZE 0x100 //alternative : 0x200, 0x1000
#define MAX_PAYLOAD_SIZE 0x10000 - BULK_TRANSFER_SIZE // we need the last transfer to overwrite return address
#define BULK_TRANSFER_COUNT ((TARGET_RA_PTR - LOAD_ADDR) / BULK_TRANSFER_SIZE)
Hello. In your last commits I've found some commented out lines about boot.img decryption. And i want ask you about offset and length in this dd command:
#dd >/dev/null if=boot.bin bs=1 skip=2304 count=9734268 of=boot_enc.bin status=none
How are they calculated? Do you know a way to decrypt an amlogic encrypted boot.img?
Sorry that I opened an issue, don't want to contact via email
Thanks. Please add script to roll back.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.