Related
People exist windows linux for qteks200?
No exist right?
seriously... Windows linux you say? That I'd like to see. Linux linux would be a start...
IMO the life cycle of these devices is to short for it to be worthwhile developing ground-up OS's, but I know very little about this. Obviously there are WM device-linux projects about, but although the prophet's a nice device, due to it's limitations (cpu etc) I don't imagine too many devs with an interest in linux are flocking to develop for it. I'd be happy to be corrected, though...
To s200 i don´t find anything :S but look here: http://www.youtube.com/watch?v=CUy_mUsGjRU
looks great but is only to blue angel...
http://opie.handhelds.org/cgi-bin/moin.cgi/ i think it's a matter of time!
Yeah !!!
I search very for it, and i get it a few. I known that PDA Wizard have OMAP processor too, so I think that it's possible to run this in ower s200.
Download haret and copy in your PDA in /STORAGE/PROGRAM FILES/HARET/ run haret_omap.exe in you Windows Mobile and it's run GNU/Linux
In you computer (GNU/Linux) run
#ifconfig usb0 up 10.226.6.1 netmask 255.255.0.0
#telnet 10.226.6.6
have fun !! Welcome to GNU/Linux in you S200:
Code:
/ # cat /proc/cpuinfo
Processor : ARM926EJ-Sid(wb) rev 3 (v5l)
BogoMIPS : 89.70
Features : swp half thumb fastmult edsp java
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 3
Cache type : write-back
Cache clean : cp15 c7 ops
Cache lockdown : format C
Cache format : Harvard
I size : 16384
I assoc : 4
I line length : 32
I sets : 128
D size : 8192
D assoc : 4
D line length : 32
D sets : 64
Hardware : HTC Wizard
Revision : 0000
Serial : 0000000000000000
Code:
/ # dmesg
Linux version 2.6.16.27-omap1 ([email protected]) (gcc version 3.3.2) #1 PREEMPT Thu Nov 9 18:52:05 CET 2006
CPU: ARM926EJ-Sid(wb) [41069263] revision 3 (ARMv5TEJ)
Machine: HTC Wizard
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 24576
DMA zone: 24576 pages, LIFO batch:7
DMA32 zone: 0 pages, LIFO batch:0
Normal zone: 0 pages, LIFO batch:0
HighMem zone: 0 pages, LIFO batch:0
Unknown OMAP cpu type: 0x00
OMAP0000 revision 1 handled as 00xx id: 0000000000000000
SRAM: Mapped pa 0x20000000 to va 0xd0000000 size: 0x32000
htc_wizard_map_io done.
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists
Kernel command line: root=/dev/ram0 init=/linuxrc
htc_wizard_init_irq.
Clocks: ARM_SYSST: 0x1040 DPLL_CTL: 0x2793 ARM_CKCTL: 0x6506
Clocking rate (xtal/DPLL1/MPU): 13.0/195.0/195.0 MHz
Total of 96 interrupts in 3 interrupt banks
OMAP730 GPIO hardware
PID hash table entries: 512 (order: 9, 8192 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 96MB = 96MB total
Memory: 94592KB available (1684K code, 418K data, 92K init)
Calibrating delay loop... 89.70 BogoMIPS (lpj=448512)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
Freeing initrd memory: 428K
NET: Registered protocol family 16
Tornado init.
OMAP730 Watchdog seems to be activated, disabling it for now.
trying to enable USB.
USB_EN to 0 after 0 tries.
MMC host reset done: remaining tries: 100
OMAP DMA hardware version 1
DMA capabilities: 000c0000:00000000:01ff:003f:007f
Initializing OMAP McBSP system
mcbsp: could not acquire dsp_ck handle.
omapdsp: unsupported omap architecture.
USB: hmc 4, usb0 2 wires (dev)
NetWinder Floating Point Emulator V0.97 (double precision)
io scheduler noop registered
io scheduler deadline registered (default)
HTC Tornado Backlight driver.
VSFB Frame buffer driver for HTC OMAP Based Phones.
vsfb: framebuffer at 0x20001020, mapped to 0xc6800020, size 150k
Console: switching to colour frame buffer device 40x29
TI OMAP Watchdog Timer for OMAP730
RAMDISK driver initialized: 1 RAM disks of 4096K size 1024 blocksize
udc: OMAP UDC driver, version: 4 October 2004 (iso)
udc: OMAP UDC rev 3.6
udc: hmc mode 4, integrated transceiver
udc: fifo mode 3, 648 bytes not used
usb0: Ethernet Gadget, version: May Day 2005
usb0: using omap_udc, OUT ep2out-bulk IN ep1in-bulk STATUS ep3in-int
usb0: MAC ba:aa:57:c0:db:99
usb0: HOST MAC 0a:bb:b8:f9:5e:53
mice: PS/2 mouse device common for all mice
OMAP Keypad Driver
omap_kp_probe.
input: omap-keypad as /class/input/input0
NET: Registered protocol family 2
MMC1: Command timeout, CMD0
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
udc: USB reset done, gadget ether
RAMDISK: Compressed image found at block 0
udc: USB reset done, gadget ether
udc: USB reset done, gadget ether
udc: USB reset done, gadget ether
udc: USB reset done, gadget ether
udc: USB reset done, gadget ether
udc: USB reset done, gadget ether
VFS: Mounted root (ext2 filesystem).
Freeing init memory: 92K
usb0: full speed config #1: 100 mA, Ethernet Gadget, using CDC Ethernet
More .......
With this kernel you have ssh whith dropbear, and nano-X, this is for project LinWizard and run very well in the s200.
ssh -l root 10.226.6.6
Password: root
I think that this is the start point to owner project, then we can compile with opie as in Universal.
Thempra said:
I think that this is the start point to owner project, then we can compile with opie as in Universal.
Click to expand...
Click to collapse
opie needs only minor customizations to run on another device.
IMHO it's more important to make SD and the touchscreen run.
Can you dump the TS and SDHC dlls from the device ?
cr2 said:
Can you dump the TS and SDHC dlls from the device ?
Click to expand...
Click to collapse
No, I can't access to SD memory or I don't know do it. I try to mount /dev/mmc.... by say that it is not here.
I will try to compile de kernel with SD and MMC options ...
Thempra said:
No, I can't access to SD memory or I don't know do it.
Click to expand...
Click to collapse
I meant the wince .dlls. We have already tried it, and it didn't not work
to get them in this way.
I will try to compile de kernel with SD and MMC options ...
Click to expand...
Click to collapse
Look in your logfile, you already have them. And the MMC/SD init command times out
Code:
MMC1: Command timeout, CMD0
Hallo to all... I want to ask a really simple question... I putted linux "HARET" in my s200... it start but... how to have keyboard on screen? Thank all...
sub078 said:
Hallo to all... I want to ask a really simple question... I putted linux "HARET" in my s200... it start but... how to have keyboard on screen? Thank all...
Click to expand...
Click to collapse
You need connect your s200 in USB port and since your computer run
#ifconfig usb0 up 10.226.6.1 netmask 255.255.0.0
#ssh -l root 10.226.6.6
Password: root
So... I need a computer with running linux? I don't have linux on my pc... There is a solution? thanks for answer....
sub078 said:
So... I need a computer with running linux? I don't have linux on my pc... There is a solution? thanks for answer....
Click to expand...
Click to collapse
I dont't try it in windows, but I suppose that you have to run GNU/Linux in the s200 connected to the USB, Windows detected it as network interface and you configure it with IP 10.226.6.1 and netmask 255.255.0.0.
Then with putty conect to ssh at [email protected] with password root.
Thank you... I will try... but... It's possible to install OPIE linux on s200? If yes... where i can find installation guide? My english is not good and I have some problem with the TECNICAL linux guides! Thank all for comprension!
cr2 said:
Look in your logfile, you already have them. And the MMC/SD init command times out
Code:
MMC1: Command timeout, CMD0
Click to expand...
Click to collapse
Ok, i've checked with the wince dlls, the MMC/SD driver is ok.
What you are missing now is the card power gpio, card detect gpio and the irq.
Take the latest haret from http://handhelds.org/~koconnor/haret
read the docs and trace gpio usage.
To know other gpios would be useful too.
This is the output of DUMP GPIO:
HaRET(8)# DUMP GPIO
GPIO# D S A INTER | GPIO# D S A INTER | GPIO# D S A INTER | GPIO# D S A INTER
------------------+-------------------+-------------------+------------------
0 I 1 0 | 21 I 0 0 | 42 O 0 0 | 63 I 0 0
1 I 0 0 | 22 I 0 0 | 43 O 0 0 | 64 I 0 2
2 I 1 0 | 23 I 0 0 | 44 I 0 0 | 65 I 0 2
3 I 0 0 | 24 I 0 0 | 45 I 0 0 | 66 I 0 3
4 I 0 0 | 25 I 0 0 | 46 I 0 0 | 67 I 0 2
5 I 0 0 | 26 I 0 0 | 47 O 0 0 | 68 I 0 0
6 I 0 0 | 27 I 0 0 | 48 I 0 2 | 69 I 0 3
7 I 0 0 | 28 I 0 0 | 49 O 0 2 | 70 I 0 0
8 I 0 0 | 29 I 0 0 | 50 I 0 3 | 71 I 0 2
9 I 0 0 | 30 I 0 0 | 51 O 0 2 | 72 I 0 2
10 I 0 0 | 31 I 0 0 | 52 O 0 0 | 73 I 0 2
11 I 0 0 | 32 I 0 0 FE | 53 O 0 3 | 74 I 0 3
12 I 0 0 | 33 O 0 0 | 54 I 0 0 | 75 I 0 2
13 I 0 0 | 34 I 0 0 FE | 55 O 0 2 | 76 I 0 3
14 I 0 0 | 35 O 0 0 | 56 O 0 2 | 77 I 0 0
15 I 0 0 | 36 O 0 0 | 57 O 0 2 | 78 I 0 3
16 I 0 3 | 37 O 0 0 | 58 I 0 3 | 79 I 0 0
17 I 0 3 | 38 I 0 0 | 59 I 0 2 | 80 I 0 2
18 I 0 3 | 39 O 0 0 | 60 O 0 3 | 81 I 0 2
19 I 0 1 | 40 I 0 0 | 61 O 0 0 | 82 I 0 3
20 I 0 0 | 41 I 0 0 | 62 I 0 3 | 83 I 0 2
Thempra said:
This is the output of DUMP GPIO:
Click to expand...
Click to collapse
This command works only on the Intel PXA CPU.
cr2 said:
This command works only on the Intel PXA CPU.
Click to expand...
Click to collapse
I read, read, read, ..... but..... What is the problem to detect de MMC?? haret or the kernel???
The new version of haret can't run it in s200, do you have the configuration in default.txt file to run it??
could somebody please post instructions for prophet?
Thanks!
Thempra said:
The new version of haret can't run it in s200
Click to expand...
Click to collapse
Try the prophet version from
http://jornada820.sourceforge.net/files/haret
i did not understand what am i supposed to do with harret_prophet.exe
Curently I trying to cross compile mtd utils but without success. But I starting Debian again under phone and I will compile it under phone and will post utils here when finish. P.S. tried to write to mtd without luck so I think mtd utils will give me permisions to write. If you have another idea how to write to flash, please post solution here. Currently I want to change rsa modulus inside spl but not know how to access flash (with haret I done this but after restarting phone all is back to previous state, so I need another way)
Succesfully compiled! I think it will be useful to someone
No way to write to flash, only can read Some info:
Code:
localhost:~/mtd/install/sbin#
localhost:~/mtd/install/sbin#
localhost:~/mtd/install/sbin#
localhost:~/mtd/install/sbin#
localhost:~/mtd/install/sbin#
localhost:~/mtd/install/sbin#
localhost:~/mtd/install/sbin# ls
doc_loadbios flash_lock flashcp mkfs.jffs2 nanddump nftldump serve_image ubidetach ubinize ubiupdatevol
docfdisk flash_otp_dump ftl_check mkfs.ubifs nandtest recv_image sumtool ubiformat ubirename
flash_erase flash_otp_info ftl_format mtd_debug nandwrite rfddump ubiattach ubimkvol ubirmvol
flash_eraseall flash_unlock jffs2dump mtdinfo nftl_format rfdformat ubicrc32 ubinfo ubirsvol
localhost:~/mtd/install/sbin# ./nandtest
usage: nandtest [OPTIONS] <device>
-h, --help Display this help output
-m, --markbad Mark blocks bad if they appear so
-s, --seed Supply random seed
-p, --passes Number of passes
-o, --offset Start offset on flash
-l, --length Length of flash to test
-k, --keep Restore existing contents after test
localhost:~/mtd/install/sbin# ./ftl_check
usage: ftl_check device
localhost:~/mtd/install/sbin# ./ftl_check /dev/mtd0
Memory region info:
Region size = 512 mb Erase block size = 128 kb
No valid erase unit headers!
localhost:~/mtd/install/sbin# ./flash_otp_info /dev/mtd0
Usage: flash_otp_info [ -f | -u ] <device>
localhost:~/mtd/install/sbin# ./flash_otp_info -f /dev/mtd0
OTPSELECT: Inappropriate ioctl for device
localhost:~/mtd/install/sbin# ./mtd_debug
usage: mtd_debug info <device>
mtd_debug read <device> <offset> <len> <dest-filename>
mtd_debug write <device> <offset> <len> <source-filename>
mtd_debug erase <device> <offset> <len>
localhost:~/mtd/install/sbin# ./mtd_debug info /dev/mtd00
open(): No such file or directory
localhost:~/mtd/install/sbin# ./mtd_debug info /dev/mtd0
mtd.type = MTD_NANDFLASH
mtd.flags = MTD_CAP_NANDFLASH
mtd.size = 536870912 (512M)
mtd.erasesize = 131072 (128K)
mtd.writesize = 2048 (2K)
mtd.oobsize = 64
regions = 0
localhost:~/mtd/install/sbin# ./nandwrite /dev/mtd0 /root/ttt/mtd.img
Writing data to block 0 at offset 0x0
libmtd: error!: cannot write 2048 bytes to mtd0 (eraseblock 0, offset 0)
error 5 (Input/output error)
Erasing failed write from 00000000 to 0x01ffff
libmtd: error!: bad eraseblock number 131072, mtd0 has 4096 eraseblocks
nandwrite: error!: /dev/mtd0: MTD Erase failure
error 22 (Invalid argument)
Data was only partially written due to error
: Invalid argument
localhost:~/mtd/install/sbin# ./mtdinfo /dev/mtd0
mtd0
Name: msm_nand
Type: nand
Eraseblock size: 131072 bytes, 128.0 KiB
Amount of eraseblocks: 4096 (536870912 bytes, 512.0 MiB)
Minimum input/output unit size: 2048 bytes
Sub-page size: 2048 bytes
OOB size: 64 bytes
Character device major/minor: 90:0
Bad blocks are allowed: true
Device is writable: true
localhost:~/mtd/install/sbin#
localhost:~/mtd/install/sbin# cat /root/ttt/mtd.img > /dev/mtd0
cat: write error: Input/output error
localhost:~/mtd/install/sbin# ./mtd_debug erase /dev/mtd0 0x200000 0x20000
MEMERASE: Input/output error
localhost:~/mtd/install/sbin# ./flash_erase -N -u /dev/mtd0 0x200000 0x20000
Erasing 128 Kibyte @ 200000 -- 0 % complete libmtd: error!: MEMUNLOCK ioctl failed for eraseblock 16 (mtd0)
error 95 (Operation not supported)
flash_erase: error!: /dev/mtd0: MTD unlock failure
error 95 (Operation not supported)
Erasing 128 Kibyte @ 220000 -- 0 % complete libmtd: error!: MEMUNLOCK ioctl failed for eraseblock 17 (mtd0)
error 95 (Operation not supported)
flash_erase: error!: /dev/mtd0: MTD unlock failure
error 95 (Operation not supported)
Erasing 128 Kibyte @ 240000 -- 0 % complete libmtd: error!: MEMUNLOCK ioctl failed for eraseblock 18 (mtd0)
error 95 (Operation not supported)
flash_erase: error!: /dev/mtd0: MTD unlock failure
error 95 (Operation not supported)
Erasing 128 Kibyte @ 260000 -- 0 % complete libmtd: error!: MEMUNLOCK ioctl failed for eraseblock 19 (mtd0)
error 95 (Operation not supported)
flash_erase: error!: /dev/mtd0: MTD unlock failure
error 95 (Operation not supported)
Erasing 128 Kibyte @ 280000 -- 0 % complete libmtd: error!: MEMUNLOCK ioctl failed for eraseblock 20 (mtd0)
error 95 (Operation not supported)
flash_erase: error!: /dev/mtd0: MTD unlock failure
error 95 (Operation not supported)
Erasing 128 Kibyte @ 2a0000 -- 0 % complete libmtd: error!: MEMUNLOCK ioctl failed for eraseblock 21 (mtd0)
error 95 (Operation not supported)
flash_erase: error!: /dev/mtd0: MTD unlock failure
error 95 (Operation not supported)
Erasing 128 Kibyte @ 2c0000 -- 0 % complete libmtd: error!: MEMUNLOCK ioctl failed for eraseblock 22 (mtd0)
error 95 (Operation not supported)
flash_erase: error!: /dev/mtd0: MTD unlock failure
error 95 (Operation not supported)
Erasing 128 Kibyte @ 2e0000 -- 0 % complete libmtd: error!: MEMUNLOCK ioctl failed for eraseblock 23 (mtd0)
localhost:~/mtd/install/sbin# ./flash_erase --help
Usage: flash_erase [options] MTD_DEVICE <start offset> <block count>
Erase blocks of the specified MTD device.
Specify a count of 0 to erase to end of device.
-j, --jffs2 format the device for jffs2
-N, --noskipbad don't skip bad blocks
-u, --unlock unlock sectors before erasing
-q, --quiet do not display progress messages
--silent same as --quiet
--help display this help and exit
--version output version information and exit
localhost:~/mtd/install/sbin# ./flash_erase -N -j /dev/mtd0 0x200000 0x20000
flash_erase: error!: /dev/mtd0: unable to get NAND oobinfo
error 22 (Invalid argument)
localhost:~/mtd/install/sbin#
localhost:~/mtd/install/sbin# ./flash_erase -N /dev/mtd0 0x200000 0x20000
Erasing 128 Kibyte @ 200000 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 16 (mtd0)
error 5 (Input/output error)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 5 (Input/output error)
Erasing 128 Kibyte @ 220000 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 17 (mtd0)
error 5 (Input/output error)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 5 (Input/output error)
Erasing 128 Kibyte @ 240000 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 18 (mtd0)
error 5 (Input/output error)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 5 (Input/output error)
Erasing 128 Kibyte @ 260000 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 19 (mtd0)
error 5 (Input/output error)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 5 (Input/output error)
Erasing 128 Kibyte @ 280000 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 20 (mtd0)
error 5 (Input/output error)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 5 (Input/output error)
Erasing 128 Kibyte @ 2a0000 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 21 (mtd0)
error 5 (Input/output error)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 5 (Input/output error)
Erasing 128 Kibyte @ 2c0000 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 22 (mtd0)
error 5 (Input/output error)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 5 (Input/output error)
Erasing 128 Kibyte @ 2e0000 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 23 (mtd0)
error 5 (Input/output error)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 5 (Input/output error)
Erasing 128 Kibyte @ 300000 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 24 (mtd0)
error 5 (Input/output error)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 5 (Input/output error)
Erasing 128 Kibyte @ 320000 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 25 (mtd0)
If I could I would like to help you, but you write something in Japanese ...
whatever good luck!
Good job pal, hope nand android will be ready suddenly, thanks you're a great dev!!
After new nand driver I am able to write to flash chip but one problem is first 0x59bffff bytes is protected! Some offsets I erased sucessfully (83%)! And succesfully writing to flash (83%) but could not write to memory where is spl I think (maybe need special access to unlock it?) Or only solution is jtag? But, maybe, I seen in kernel option in nand driver (errase call and reset call... I will try)
Code:
localhost:~/mtd/sbin# cat /proc/mtd
dev: size erasesize name
mtd0: 20000000 00020000 "msm_nand"
localhost:~/mtd/sbin# ./mtdinfo /dev/mtd0
mtd0
Name: msm_nand
Type: nand
Eraseblock size: 131072 bytes, 128.0 KiB
Amount of eraseblocks: 4096 (536870912 bytes, 512.0 MiB)
Minimum input/output unit size: 2048 bytes
Sub-page size: 2048 bytes
OOB size: 64 bytes
Character device major/minor: 90:0
Bad blocks are allowed: true
Device is writable: true
localhost:~/mtd/sbin# ./flash_erase /dev/mtd0 0 4096
Erasing 128 Kibyte @ 0 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 0 (mtd0)
error 22 (Invalid argument)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 22 (Invalid argument)
Erasing 128 Kibyte @ 20000 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 1 (mtd0)
error 22 (Invalid argument)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 22 (Invalid argument)
Erasing 128 Kibyte @ 40000 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 2 (mtd0)
error 22 (Invalid argument)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 22 (Invalid argument)
Erasing 128 Kibyte @ 60000 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 3 (mtd0)
error 22 (Invalid argument)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 22 (Invalid argument)
Erasing 128 Kibyte @ 80000 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 4 (mtd0)
error 22 (Invalid argument)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 22 (Invalid argument)
Erasing 128 Kibyte @ a0000 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 5 (mtd0)
error 22 (Invalid argument)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 22 (Invalid argument)
Erasing 128 Kibyte @ c0000 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 6 (mtd0)
error 22 (Invalid argument)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 22 (Invalid argument)
Erasing 128 Kibyte @ e0000 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 7 (mtd0)
error 22 (Invalid argument)
error 22 (Invalid argument)
Erasing 128 Kibyte @ 41a0000 -- 12 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 525 (mtd0)
error 22 (Invalid argument)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 22 (Invalid argument)
Erasing 128 Kibyte @ 41c0000 -- 12 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 526 (mtd0)
error 22 (Invalid argument)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 22 (Invalid argument)
Erasing 128 Kibyte @ 41e0000 -- 12 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 527 (mtd0)
error 22 (Invalid argument)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 22 (Invalid argument)
Erasing 128 Kibyte @ 4200000 -- 12 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 528 (mtd0)
error 22 (Invalid argument)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 22 (Invalid argument)
Erasing 128 Kibyte @ 4220000 -- 12 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 529 (mtd0)
error 22 (Invalid argument)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 22 (Invalid argument)
Erasing 128 Kibyte @ 59c0000 -- 17 % complete flash_erase: Skipping bad block at 059e0000
Erasing 128 Kibyte @ 70a0000 -- 21 % complete flash_erase: Skipping bad block at 070c0000
Erasing 128 Kibyte @ b6e0000 -- 35 % complete flash_erase: Skipping bad block at 0b700000
Erasing 128 Kibyte @ 11460000 -- 53 % complete flash_erase: Skipping bad block at 11480000
Erasing 128 Kibyte @ 116c0000 -- 54 % complete flash_erase: Skipping bad block at 116e0000
Erasing 128 Kibyte @ 14660000 -- 63 % complete flash_erase: Skipping bad block at 14680000
Erasing 128 Kibyte @ 1f820000 -- 98 % complete flash_erase: Skipping bad block at 1f840000
Erasing 128 Kibyte @ 1ffe0000 -- 100 % complete
localhost:~/mtd/sbin#
Writing only from offset 0x59c0000 and good news I think I cid unlocked my device!!! (offset 0x1FEE0000)
Code:
localhost:~/mtd/sbin# ./nandwrite -s 0x59c0000 -m --pad /dev/mtd0 ../mtd.img
Writing data to block 718 at offset 0x59c0000
Writing data to block 719 at offset 0x59e0000
Bad block at 59e0000, 1 block(s) from 59e0000 will be skipped
Writing data to block 720 at offset 0x5a00000
Writing data to block 721 at offset 0x5a20000
Writing data to block 722 at offset 0x5a40000
Writing data to block 723 at offset 0x5a60000
Writing data to block 724 at offset 0x5a80000
Writing data to block 725 at offset 0x5aa0000
Writing data to block 726 at offset 0x5ac0000
Writing data to block 727 at offset 0x5ae0000
Writing data to block 728 at offset 0x5b00000
Writing data to block 729 at offset 0x5b20000
Writing data to block 730 at offset 0x5b40000
Writing data to block 731 at offset 0x5b60000
Writing data to block 732 at offset 0x5b80000
Writing data to block 733 at offset 0x5ba0000
Writing data to block 734 at offset 0x5bc0000
Writing data to block 735 at offset 0x5be0000
Writing data to block 736 at offset 0x5c00000
....
....
good work munjeni,it's a good news!!
i will Expected for another good news.
i have a one questios:what is cid unlocked??are you test nand in your device??!!
you're the best dev
Milane, ne nisam napravio jos uvek nista, hehe no, I curently testing nand driver, and nand booting will be "only" when bootloader be unlocked (when I get access to first 0x59bffff bytes)! After that I will try something
hahahaha #define PROTECT_BLOCK_NUM (0x212)
Maybe changing to 0x0 ...DONE! Huh I have one chance to try and to write to flash hmmm... must be 100% sure to have good nand backup without bad blocks if something go bad my device will be bricked (I not care becouse I will by new phone, our phone will be for playing with jtag)
For developers here is working nand driver
munjeni said:
For developers here is working nand driver
Click to expand...
Click to collapse
Cool Man Munjeni.
You are The King of HD MINI Android and
Gabana Is The King of HD MINI WM.
Thank All of You......
Simple bootloader I think will be good now:
http://androidhtc.git.sourceforge.net/git/gitweb.cgi?p=androidhtc/tinboot.git;a=summary
Some interested links:
http://forum.xda-developers.com/showthread.php?t=614275
hi munjeni,good work ,you're the best development in the xda.
MOUNTED!!!
Code:
# mount
mount
rootfs / rootfs ro,relatime 0 0
/dev/block/mmcblk0p1 /sdcard vfat rw,noatime,nodiratime,fmask=0111,dmask=0000,al
low_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=re
mount-ro 0 0
/dev/block/loop0 /data ext2 rw,sync,noatime,nodiratime,errors=continue 0 0
/dev/block/loop1 /system ext2 rw,noatime,nodiratime,errors=continue 0 0
/dev/block/loop2 /cache ext2 rw,sync,noatime,nodiratime,errors=continue 0 0
tmpfs /dev tmpfs rw,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /sqlite_stmt_journals tmpfs rw,relatime,size=4096k 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/vold/179:1 /mnt/sdcard vfat rw,nosuid,nodev,noexec,relatime,fmask=011
1,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=mixed
,utf8,errors=remount-ro 0 0
/dev/block/vold/179:1 /mnt/secure/asec vfat rw,nosuid,nodev,noexec,relatime,fmas
k=0111,dmask=0000,allow_utime=0022,codepage=cp437,iocharset=iso8859-1,shortname=
mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
/dev/block/dm-0 /mnt/asec/com.jcwp.Txwy-1 vfat ro,dirsync,nosuid,nodev,noexec,re
latime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortna
me=mixed,utf8,errors=remount-ro 0 0
/dev/block/dm-1 /mnt/asec/com.jcwp.I3Dbz-1 vfat ro,dirsync,nosuid,nodev,noexec,r
elatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortn
ame=mixed,utf8,errors=remount-ro 0 0
/dev/block/dm-2 /mnt/asec/com.jcwp.S4305-1 vfat ro,dirsync,nosuid,nodev,noexec,r
elatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortn
ame=mixed,utf8,errors=remount-ro 0 0
/dev/block/dm-3 /mnt/asec/com.demo.android.waterfallwallpaper-1 vfat ro,dirsync,
nosuid,nodev,noexec,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocha
rset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
[COLOR="Red"][B][SIZE="6"]/dev/block/mtdblock0 /mnt/sdcard/flash yaffs2 rw,relatime 0 0[/SIZE][/B][/COLOR]#
I have good news, nand driver is now able to write to region at 0x2820000 (there is master boot record, partition table, imgfs ...etc) I think we will be able now to create android nand rom creating new MBR and partition table (not 100% sure)!!!
Here is erase block offsets http://pastebin.com/xAhnEXBU
I confirm I sucessfully erased mbr and my partitions but no way to unlock spl (start offset 0x2400000) and I don't know why:
Code:
localhost:~/mtd/sbin# ./flash_erase /dev/mtd0 0x2400000 1
Erasing 128 Kibyte @ 2400000 -- 0 % complete libmtd: error!: MEMERASE64 ioctl failed for eraseblock 288 (mtd0)
error 5 (Input/output error)
flash_erase: error!: /dev/mtd0: MTD Erase failure
error 5 (Input/output error)
Erasing 128 Kibyte @ 2400000 -- 100 % complete
If someone have skills hex editing mbr it will be good! In attachment is mbr and msflsh dump... I waiting expert with ideas and my device will be testing device!
Great job! looks great! also there must be another partition maps, for example in computer GUI Partition map, Apple Partiton, and MBR (known also as Microsoft's Master Boot Record)
& also you still need JAG picture? right?
Other partition table? MBR contains a partition table describing the locations, sizes, and other attributes of linear regions referred to as partitions! We have mbr and we have all needed to create nand rom but I need to learn now how to do it. I think will not be hard (maybe I will create linux partition layout)
I Checked some info.
I just think you should do with MBR Partition Table.
I saw EBR Scheme it's says for Linux. (not sure), but it's not famous now, looked at HD2, nothing says about MBR .. Partition Maps it's specially for computers between Mac, Linux and Windows now.
Also I checked about Linux Partition Layout that you said.. I didn't see in Mobile Phones right now (maybe future), not famous.
Anyway, seems MBR is the Default and the Famous for Mobiles right now.
Try MBR Partition Map Scheme
First I will map all wince partition tables, all offsets, all sizes, and will resize one wince partition and to free space will create one yaffs2, then I will try to see that partition from android becouse I not know if nand driver is good for reading (yes it is good for writing now but from android I see only 2 mtd - one is mtd0 and seccond is mtd0ro, but I not see partition layout from android, it is problem now)... will try to create one yaffs2 and mount it under android, if all go ok than I will delete all layouts and try creating new layout for android boot!
If you want to help, please ask some guys to hd2 forums about how to create custom android layout in nand for android, maybe someone will help. Only good thing is: I am able to edit/delete mbr, table, imgfs...
EDIT:
hmmm I have idea. Maybe puting modified spl (hex edited spl with my rsa modulus) to memory regions where it will be executed? And than signing rom with my rsa key and using regular htc utility to install all (install nbh with modified spl)
I have bricked EMMC chip on my HTC Desire S, but bootloader and recovery working in readonly mode. I created the partition table on the external memory card (Micro SD), similar to the structure of internal memory in the extended partition. I modified the init.saga.rc in boot.img for using new partitions on sdcard. After booting over fastboot, I got a working phone
But i need help to configure the phone to use the internal memory, 1st partition on sdcard mmcblk1p1(vold/179:65 - fat32) or /data partition for DCIM, Music and etc.
I see several solutions, but do not know how to do:
1. "/data" partition, like /data/Documents...
2. Automounting through DirectVolume manager 1st partion on sd
3. Mount through init.rc, but system cant find STORAGE
4. Make 2nd storage like PHONE_STORAGE/INTERNAL_STORAGE
5. ?????
Code:
# logcat | grep Vold
logcat | grep Vold
I/Vold ( 1217): Vold 2.1 (the revenge) firing up
D/Vold ( 1217): Volume sdcard state changing -1 (Initializing) -> 0 (No-Media
)
D/Vold ( 1217): Volume sdcard state changing 0 (No-Media) -> 2 (Pending)
D/Vold ( 1217): USB connected
D/Vold ( 1217): Share method ums now available
D/Vold ( 1217): USB connected
D/VoldCmdListener( 1217): volume list
D/VoldCmdListener( 1217): share status ums
Code:
# logcat | grep Volume
logcat | grep Volume
D/Vold ( 1217): Volume sdcard state changing -1 (Initializing) -> 0 (No-Media
)
D/Vold ( 1217): Volume sdcard state changing 0 (No-Media) -> 2 (Pending)
W/DirectVolume( 1217): Invalid 'PARTN' value
W/DirectVolume( 1217): Invalid 'PARTN' value
W/DirectVolume( 1217): Invalid 'PARTN' value
W/DirectVolume( 1217): Invalid 'PARTN' value
W/DirectVolume( 1217): Invalid 'PARTN' value
W/DirectVolume( 1217): Invalid 'PARTN' value
W/DirectVolume( 1217): Invalid 'PARTN' value
W/DirectVolume( 1217): Invalid 'PARTN' value
Code:
# logcat | grep Mount
I/SystemServer( 1332): Mount Service
D/MountService( 1332): got storage path: /mnt/sdcard description: USB storage pr
imary: true removable: true emulated: false mtpReserve: 0 allowMassStorage: true
maxFileSize: 4294967296
E/MountService( 1332): Error processing initial volume state
E/MountService( 1332): java.lang.Exception: Unexpected state 2
E/MountService( 1332): at com.android.server.MountService$2.run(MountService.ja
va:656)
D/MountService( 1332): volume state changed for /mnt/sdcard (null -> removed)
Code:
# mount
mount
rootfs on / type rootfs (ro,relatime)
tmpfs on /dev type tmpfs (rw,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
none on /acct type cgroup (rw,relatime,cpuacct)
tmpfs on /mnt/asec type tmpfs (rw,relatime,mode=755,gid=1000)
tmpfs on /mnt/obb type tmpfs (rw,relatime,mode=755,gid=1000)
none on /dev/cpuctl type cgroup (rw,relatime,cpu)
/dev/block/mmcblk1p8 on /system type ext4 (ro,relatime,barrier=1,data=ordered)
/dev/block/mmcblk1p9 on /data type ext4 (rw,nosuid,nodev,noatime,barrier=1,data=
ordered,noauto_da_alloc)
/dev/block/mmcblk1p10 on /cache type ext4 (rw,nosuid,nodev,noatime,barrier=1,dat
a=ordered)
/dev/block/mmcblk1p11 on /devlog type ext2 (rw,nosuid,nodev,noatime,barrier=1,da
ta=writeback)
/sys/kernel/debug on /sys/kernel/debug type debugfs (rw,relatime)
Code:
# ls -l dev/block/vold
brw-rw---- 1 root root 179, 64 Jul 3 11:09 179:64
brw-rw---- 1 root root 179, 65 Jul 3 11:09 179:65
brw-rw---- 1 root root 179, 66 Jul 3 11:09 179:66
brw-rw---- 1 root root 179, 69 Jul 3 11:09 179:69
brw-rw---- 1 root root 179, 70 Jul 3 11:09 179:70
brw-rw---- 1 root root 179, 71 Jul 3 11:09 179:71
brw-rw---- 1 root root 179, 72 Jul 3 11:09 179:72
brw-rw---- 1 root root 179, 73 Jul 3 11:09 179:73
brw-rw---- 1 root root 179, 74 Jul 3 11:09 179:74
brw-rw---- 1 root root 179, 75 Jul 3 11:09 179:75
brw-rw---- 1 root root 179, 76 Jul 3 11:09 179:76
Code:
# cat /etc/vold.fstab
# Mounts the first usable partition of the specified device
dev_mount sdcard /mnt/sdcard auto /devices/platform/msm_sdcc.4/mmc_host/mmc2
PS: Manual mount
Code:
mount /dev/block/mmcblk1p1 /mnt/sdcard
working, but system applications still want to EXTERNAL_STORAGE.
kibril said:
I have bricked EMMC chip on my HTC Desire S, but bootloader and recovery working in readonly mode. I created the partition table on the external memory card (Micro SD), similar to the structure of internal memory in the extended partition. I modified the init.saga.rc in boot.img for using new partitions on sdcard. After booting over fastboot, I got a working phone
But i need help to configure the phone to use the internal memory, 1st partition on sdcard mmcblk1p1(vold/179:65 - fat32) or /data partition for DCIM, Music and etc.
I see several solutions, but do not know how to do:
1. "/data" partition, like /data/Documents...
2. Automounting through DirectVolume manager 1st partion on sd
3. Mount through init.rc, but system cant find STORAGE
4. Make 2nd storage like PHONE_STORAGE/INTERNAL_STORAGE
5. ?????
Code:
# logcat | grep Vold
logcat | grep Vold
I/Vold ( 1217): Vold 2.1 (the revenge) firing up
D/Vold ( 1217): Volume sdcard state changing -1 (Initializing) -> 0 (No-Media
)
D/Vold ( 1217): Volume sdcard state changing 0 (No-Media) -> 2 (Pending)
D/Vold ( 1217): USB connected
D/Vold ( 1217): Share method ums now available
D/Vold ( 1217): USB connected
D/VoldCmdListener( 1217): volume list
D/VoldCmdListener( 1217): share status ums
Code:
# logcat | grep Volume
logcat | grep Volume
D/Vold ( 1217): Volume sdcard state changing -1 (Initializing) -> 0 (No-Media
)
D/Vold ( 1217): Volume sdcard state changing 0 (No-Media) -> 2 (Pending)
W/DirectVolume( 1217): Invalid 'PARTN' value
W/DirectVolume( 1217): Invalid 'PARTN' value
W/DirectVolume( 1217): Invalid 'PARTN' value
W/DirectVolume( 1217): Invalid 'PARTN' value
W/DirectVolume( 1217): Invalid 'PARTN' value
W/DirectVolume( 1217): Invalid 'PARTN' value
W/DirectVolume( 1217): Invalid 'PARTN' value
W/DirectVolume( 1217): Invalid 'PARTN' value
Code:
# logcat | grep Mount
I/SystemServer( 1332): Mount Service
D/MountService( 1332): got storage path: /mnt/sdcard description: USB storage pr
imary: true removable: true emulated: false mtpReserve: 0 allowMassStorage: true
maxFileSize: 4294967296
E/MountService( 1332): Error processing initial volume state
E/MountService( 1332): java.lang.Exception: Unexpected state 2
E/MountService( 1332): at com.android.server.MountService$2.run(MountService.ja
va:656)
D/MountService( 1332): volume state changed for /mnt/sdcard (null -> removed)
Code:
# mount
mount
rootfs on / type rootfs (ro,relatime)
tmpfs on /dev type tmpfs (rw,relatime,mode=755)
devpts on /dev/pts type devpts (rw,relatime,mode=600)
proc on /proc type proc (rw,relatime)
sysfs on /sys type sysfs (rw,relatime)
none on /acct type cgroup (rw,relatime,cpuacct)
tmpfs on /mnt/asec type tmpfs (rw,relatime,mode=755,gid=1000)
tmpfs on /mnt/obb type tmpfs (rw,relatime,mode=755,gid=1000)
none on /dev/cpuctl type cgroup (rw,relatime,cpu)
/dev/block/mmcblk1p8 on /system type ext4 (ro,relatime,barrier=1,data=ordered)
/dev/block/mmcblk1p9 on /data type ext4 (rw,nosuid,nodev,noatime,barrier=1,data=
ordered,noauto_da_alloc)
/dev/block/mmcblk1p10 on /cache type ext4 (rw,nosuid,nodev,noatime,barrier=1,dat
a=ordered)
/dev/block/mmcblk1p11 on /devlog type ext2 (rw,nosuid,nodev,noatime,barrier=1,da
ta=writeback)
/sys/kernel/debug on /sys/kernel/debug type debugfs (rw,relatime)
Code:
# ls -l dev/block/vold
brw-rw---- 1 root root 179, 64 Jul 3 11:09 179:64
brw-rw---- 1 root root 179, 65 Jul 3 11:09 179:65
brw-rw---- 1 root root 179, 66 Jul 3 11:09 179:66
brw-rw---- 1 root root 179, 69 Jul 3 11:09 179:69
brw-rw---- 1 root root 179, 70 Jul 3 11:09 179:70
brw-rw---- 1 root root 179, 71 Jul 3 11:09 179:71
brw-rw---- 1 root root 179, 72 Jul 3 11:09 179:72
brw-rw---- 1 root root 179, 73 Jul 3 11:09 179:73
brw-rw---- 1 root root 179, 74 Jul 3 11:09 179:74
brw-rw---- 1 root root 179, 75 Jul 3 11:09 179:75
brw-rw---- 1 root root 179, 76 Jul 3 11:09 179:76
Code:
# cat /etc/vold.fstab
# Mounts the first usable partition of the specified device
dev_mount sdcard /mnt/sdcard auto /devices/platform/msm_sdcc.4/mmc_host/mmc2
PS: Manual mount
Code:
mount /dev/block/mmcblk1p1 /mnt/sdcard
working, but system applications still want to EXTERNAL_STORAGE.
Click to expand...
Click to collapse
hey, hey,,,, can u pls describe the following:
"I created
the partition table on the external
memory card (Micro SD), similar to
the structure of internal memory in
the extended partition. "
u r my new hope. I really need this. pls pls...can u put some attachments to help me??
All done, thanks for replays!
I'll build images ROM(CM7) on the weekend.
I'm very interested on this, same situation here, fried emmc chip but recovery and boot still workin on ro mode. I've been trying with fastboot for a while but all I can do is boot with a different recovery image.
Keep on this and please share all you can
Usb mass storage
Now from unresolved problems remained automounting via usb fat32 partition, ill try fix this.
PS: Somebody can up my rating for developer part of forum?!))
You need another 4 posts to be able to post there.
[GUIDE] How to run SD version of CM7.1 on HTC Desire S (fried emmc chips too).
I published a complete guide in "Desire S General":
http://forum.xda-developers.com/showthread.php?t=1756287
Introduction
Hi folks,
While trying to get CM on a LG G3 (D855), I found people recommending Newest Root Method for LG devices (by digital-bug). Unfortunately this tool is Windows only and does not really describe what happens under the hood. For this reason I started reverse engineering the Download Mode protocol and created a Python tool that can replace the Send_Command.exe binary.
This project is aimed at users who would like to dump or restore partitions and developers who need some power in download mode.
Source code: https://github.com/Lekensteyn/lglaf
(Protocol documentation: https://github.com/Lekensteyn/lglaf/blob/master/protocol.md)
Features
Should work on any LG device.
Dump and restore partitions.
Dump individual files.
Run any shell command as root in Download Mode.
Works on Linux.
Works on Windows.
Opensource code and protocol documentation.
Installation instructions
See the README for details. Basically:
Install Python (www.python.org)
Install PyUSB (Linux) or LG drivers (Windows)
Ensure phone is connected and started in Download Mode (poweroff, hold Volume Up and insert USB cable in a PC).
Run the tool of your choice (lglaf.py, partitions.py, etc.)
Examples
Some examples are listed in the README, here are additional ones:
List partitions, dump the userdata partition (/data) to a local "data.bin" file (may take a while):
Code:
python partitions.py --list
python partitions.py --dump data.bin userdata
Dump all partitions (except ones larger than 64 MiB: cache, userdata, system, cust):
Code:
python extract-partitions.py
Backup the contents of the data partition (assuming it to be small enough to fit in /) and retrieve it:
Code:
python lglaf.py -c "busybox tar czf data.tar.gz data"
python dump-file.py /data.tar.gz data.tar.gz
Get more usage information on these tools:
Code:
python lglaf.py --help
python partitions.py --help
python extract-partitions.py --help
python dump-file.py --help
Q&A
Q: What devices are supported?
A: In principle all LG devices as they all use the same download mode. Tested with G2, G3, G4 (see README).
Q: How can I root a device with this?
A: This depends on your currently installed ROM. Feel free to post a guide.
Q: How can I install a custom ROM using this?
A: With older bootloader versions, you should be able to write a "bumped" recovery image:
Code:
python partitions.py --wipe recovery
python partitions.py --restore cm-12.1-20151117-SNAPSHOT-YOG7DAO1K8-d855-recovery.img recovery
Newer versions (such as my G3 (D855 with 20T)) do not support the "bump" method and will refuse to boot ("ERROR: Boot certification verify").
In that case, wipe the recovery partition and you will end up in the fastboot mode where you can boot your custom images:
Code:
# recovery
fastboot boot cm-12.1-20151117-SNAPSHOT-YOG7DAO1K8-d855-recovery.img
# after installing zip in recovery, reboot, then boot with:
unzip cm-12.1-20151117-SNAPSHOT-YOG7DAO1K8-d855.zip boot.img
fastboot boot boot.img
XDA:DevDB Information
LG Download Mode utility (LGLAF.py), Tool/Utility for all devices (see above for details)
Contributors
Lekensteyn
Source Code: https://github.com/Lekensteyn/lglaf
Version Information
Status: Beta
Created 2016-01-04
Last Updated 2016-01-04
(Reserved post)
(Also, was planning to post this in G3 general, but this is possibly of interest to other LG hackers.)
Hi! I got this to work with lglaf.py but I get the following error with partitions.py
$ python partitions.py --list
Traceback (most recent call last):
File "partitions.py", line 276, in <module>
main()
File "partitions.py", line 253, in main
list_partitions(comm, args.partition)
File "partitions.py", line 124, in list_partitions
partitions = get_partitions(comm)
File "partitions.py", line 41, in get_partitions
assert arrow == '->', "Expected arrow in ls output"
AssertionError: Expected arrow in ls output
Not sure what might be wrong.
Lekensteyn said:
(Also, was planning to post this in G3 general, but this is possibly of interest to other LG hackers.)
Click to expand...
Click to collapse
First of all, this is an awesome tool. I am very intrigued as I have bricked my lgk7 (lgk330). I am running into some trouble with it however.
lets get the preliminaries out of the way:
background:
bootloader is unlocked. neither adb nor fastboot see the device.
I did a full wipe from TWRP, even the system partition, (forgot to restore my backup ) and rebooted . In it's current form, doing this button combination to get back into TWRP on my K7 only runs TWRP "open recovery script" which reboots to the bootloader and no further.
I am using Ubuntu 16.04. Per your readme.md, I have installed Python 2.7.11 as well as 3.5.1+, PyUSB v1.0.0 (from source), and libusb-1.0-0
I added 42-usb-lglaf.rules to my udev rules.d
I have next to no skill with python.
verbose lsusb while in download mode, you'll notice that idProduct is "633e" just like the G3.
Code:
Bus 001 Device 011: ID 1004:633e LG Electronics, Inc. G2 Android Phone [MTP mode]
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1004 LG Electronics, Inc.
idProduct 0x633e G2 Android Phone [MTP mode]
bcdDevice 3.10
iManufacturer 1 LG Electronics Inc.
iProduct 2 LGE Android Phone
iSerial 3 LGK330b3b3462
bNumConfigurations 2
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 6 Imaging
bInterfaceSubClass 1 Still Image Capture
bInterfaceProtocol 1 Picture Transfer Protocol (PIMA 15470)
iInterface 5 MTP
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x001c 1x 28 bytes
bInterval 6
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 128
bNumInterfaces 4
bConfigurationValue 2
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 6 Imaging
bInterfaceSubClass 1 Still Image Capture
bInterfaceProtocol 1 Picture Transfer Protocol (PIMA 15470)
iInterface 6 MTP
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x001c 1x 28 bytes
bInterval 6
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 1
bInterfaceCount 2
bFunctionClass 2 Communications
bFunctionSubClass 2 Abstract (modem)
bFunctionProtocol 1 AT-commands (v.25ter)
iFunction 9 CDC Serial
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 2 Communications
bInterfaceSubClass 2 Abstract (modem)
bInterfaceProtocol 1 AT-commands (v.25ter)
iInterface 7 CDC Abstract Control Model (ACM)
CDC Header:
bcdCDC 1.10
CDC Call Management:
bmCapabilities 0x00
bDataInterface 2
CDC ACM:
bmCapabilities 0x02
line coding and serial state
CDC Union:
bMasterInterface 1
bSlaveInterface 2
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x84 EP 4 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 9
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 10 CDC Data
bInterfaceSubClass 0 Unused
bInterfaceProtocol 0
iInterface 8 CDC ACM Data
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 EP 3 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 3
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x85 EP 5 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x03 EP 3 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 2
Device Status: 0x0000
(Bus Powered)
lglfa does communicate with the phone. For example if I run
Code:
/opt/lglaf$ ./lglaf.py
LGLAF.py by Peter Wu (https://lekensteyn.nl/lglaf)
Type a shell command to execute or "exit" to leave.
# !INFO
LGLAF.py: WARNING: Command failed with error code 0x80000001
#ls
LGLAF.py: WARNING: Command failed with error code 0x8000010a
#!EXEC ls\0
LGLAF.py: WARNING: Header field requires a DWORD, got str 'ls\x00'
# dd if=/dev/zero of=/dev/null bs=5129 count=1
LGLAF.py: WARNING: Command failed with error code 0x8000010a
!INFO chances the status box on the phone to
Code:
USER S0.0 AS0.0 S
S U LG-K330 05.1.1 Hrev_10
K33010f
However, if i run something like extract-partitions.py
Code:
/opt/lglaf$ ./extract-partitions.py
Traceback (most recent call last):
File "./extract-partitions.py", line 63, in <module>
main()
File "./extract-partitions.py", line 58, in main
with partitions.laf_open_disk(comm) as disk_fd:
File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
return self.gen.next()
File "/opt/lglaf/partitions.py", line 73, in laf_open_disk
open_header = comm.call(open_cmd)[0]
File "/opt/lglaf/lglaf.py", line 176, in call
raise RuntimeError('Command failed with error code %#x' % errCode)
RuntimeError: Command failed with error code 0x8000010a
as a last note, here is my !INFO GPRO if it helps
Code:
download cable = 'USER'
battery level = 100
download type = ' '
download speed = 0
usb version = 'UHS'
hardware revision = 'rev_10'
download sw version = ' '
device sw version = 'K33010f'
secure device = 'S'
laf sw version = '1.2'
device factory version = 'LGK330AT-01-V10f-310-260-JAN-06-2016-ARB00+0'
device factory out version = 'LGK330AT-00-V10f-TMO-US-JAN-06-2016-ARB00+0'
pid = 'CY17S160129000815'
imei = 'xxxxxxxxxxxxxxxx'
model name = 'LG-K330'
device build type = 'U'
chipset platform = 'msm8909'
target_operator = 'TMO'
target_country = 'US'
ap_factory_reset_status = 6
cp_factory_reset_status = 0
isDownloadNotFinish = 0
qem = 0
cupss swfv = 'FFFFFFFFFFF-FFFFFFFFFFF-FFFFFFFFFFF-FFFFFFFFFFF-F'
is one binary dual plan = 0
memory size = 15269888
memory_id = 'H8G1e\x05\n'
bootloader_ver = 'MiniOS 3.0'
Any input at all would be greatly appreciated.
I am experiencing the same error with LG G3 EU D855: 0x8000010a. Connection seems to be working (lglaf.py -c '!INFO GPRO \x08\x0b\0\0' > props.bin returns correctly the information), but for any other command I get the error above.
I am trying to retrieve the userdata partition from a device in bootloop, therefore I would be very interested in a solution of this issue.
I don't know if someone is working on this problem, or has any suggestion, that would be very appreciated.
Thank you.
Hi, does anyone know how to push files to the device? I ended up in a bootloop after a botched install of Xposed.
EDIT: By pushing files, maybe something using "<, >, or |" via Command Prompt. I have cat and dd and the like for Windows, if that can be of any use.
rk2612 said:
Hi! I got this to work with lglaf.py but I get the following error with partitions.py ....
Click to expand...
Click to collapse
I couldn't get partitions.py to work and my guess is that this occurs because partitions of my LG-G3-D858HK are perhaps different from D855 for which this is written.
Nonetheless, I was able to use the following to try and install TWRP:
1. Copied TWRP to internal SD Card
2. Once connected in download mode:
$ python lglaf.py
LGLAF.py by Peter Wu (https://lekensteyn.nl/lglaf)
Type a shell command to execute or "exit" to leave.
# dd if=/data/media/0/[name_of_your_recovery].img of=/dev/block/platform/msm_sdcc.1/by-name/recovery
27540+1 records in
27540+1 records out
14100496 bytes transferred in 1.152 secs (12240013 bytes/sec)
# exitThat's it. TWRP installed without a fuss.
Sounds too good to be true but I am wondering if this can be used on all LG / Qualcomm devices. Anyone willing to try?
PS: Make sure that you've got Python 2.7 or 3 and pyusb installed (https://github.com/walac/pyusb) installed. I tried it on Ubuntu 16.04.
rk2612 said:
I couldn't get partitions.py to work and my guess is that this occurs because partitions of my LG-G3-D858HK are perhaps different from D855 for which this is written.
Nonetheless, I was able to use the following to try and install TWRP:
1. Copied TWRP to internal SD Card
2. Once connected in download mode:
$ python lglaf.py
LGLAF.py by Peter Wu (https://lekensteyn.nl/lglaf)
Type a shell command to execute or "exit" to leave.
# dd if=/data/media/0/[name_of_your_recovery].img of=/dev/block/platform/msm_sdcc.1/by-name/recovery
27540+1 records in
27540+1 records out
14100496 bytes transferred in 1.152 secs (12240013 bytes/sec)
# exit
That's it. TWRP installed without a fuss.
Sounds too good to be true but I am wondering if this can be used on all LG / Qualcomm devices. Anyone willing to try?
PS: Make sure that you've got Python 2.7 or 3 and pyusb installed (https://github.com/walac/pyusb) installed. I tried it on Ubuntu 16.04.
Click to expand...
Click to collapse
Yes it works fine for the LG G4 and is my preferred choice because I have linux boxes only. it is integrated in the next version of FWUL as well .
Sent from my LG-H815 using XDA Labs
steadfasterX said:
Yes it works fine for the LG G4 and is my preferred choice because I have linux boxes only. it is integrated in the next version of FWUL as well .
Sent from my LG-H815 using XDA Labs
Click to expand...
Click to collapse
Great! FWUL sounds good like what a lot of people on this forum could use.
Any idea if LG has patched lglaf now like they did patch the bump on LG G3 in subsequent upgrades? Wondering if it works only on LG lglaf partitions that most of us may have if we've manually upgraded system and boot partitions from the KDZ. E.g. when I upgraded from LP to MM, I extracted the system and boot images and then flashed them from TWRP (...hope that your FWUL has KDZ tools and boot / ramdisk pack & unpack tools integrated in it).
rk2612 said:
Great! FWUL sounds good like what a lot of people on this forum could use.
Any idea if LG has patched lglaf now like they did patch the bump on LG G3 in subsequent upgrades? Wondering if it works only on LG lglaf partitions that most of us may have if we've manually upgraded system and boot partitions from the KDZ. E.g. when I upgraded from LP to MM, I extracted the system and boot images and then flashed them from TWRP (...hope that your FWUL has KDZ tools and boot / ramdisk pack & unpack tools integrated in it).
Click to expand...
Click to collapse
Well I don't think so. Keep in mind that those both are total different things and the lglaf communication is needed by their own flashing tools as well.
Bump instead was ..afaik.. a method to unlock/trick the bootloader.
Added your suggestions to the roadmap Thx for the idea!
Sent from my LG-H815 using XDA Labs
steadfasterX said:
...
Added your suggestions to the roadmap Thx for the idea!
Click to expand...
Click to collapse
And since your FWUL is based on Arch, will the ISO be bootable from a grub menu entry? If so, what will that be?
rk2612 said:
And since your FWUL is based on Arch, will the ISO be bootable from a grub menu entry? If so, what will that be?
Click to expand...
Click to collapse
I dont get u sorry. FWUL is an ISO booted from an USB stick or CD/DVD and the idea is to give windows users the option to have a just-working environment for Android end-user tasks.
but we better discuss that in the FWUL thread I think
.
How to reboot to fastboot or recovery? I cant reboot to this
Excellent idea! Unfortunately I get a timeout on both my windows and linux box
Windows:
Code:
IOError: [Errno 2] No such file or directory: u'COM41'
(Correct drivers installed, I can us LGFlashTool to downgrade fine, and device is on COM41)
Linux:
List partitions fails:
Code:
usb.core.USBError: [Errno 110] Operation timed out
lglaf shell:
Code:
# !INFO
LGLAF.py: WARNING: Command failed with error code 0x80000001
It is definitely making communication in linux - if the device isn't plugged in, it gives me that error. Also, certain commands will cause the screen on the phone to change, but not fully as expected. Rats. Any ideas? (I installed the rules.d) Also, I am on BBQ Linux (which is Arch based)
Fix for reading/writing partitions!!
If you know your block mapping (you have a rooted device and can dump the partition table outside of download mode (with real root you would do ls -l /dev/block/platform/msm_sdcc.1/by-name) you can use something like my patch here to get things working:
https://github.com/blastagator/lglaf/commit/6397f3ad88cc9729ff671351991499523e37dfe6
THIS IS ONLY FOR G3 VS985!!! YOUR BLOCK MAPPING MIGHT BE DIFFERENT, DONT JUST COPY MINE!!!
Once you do this, commands like
Code:
python partitions.py --dump boot.img boot
will work fine.
blastagator said:
Excellent idea! Unfortunately I get a timeout on both my windows and linux box
Windows:
(Correct drivers installed, I can us LGFlashTool to downgrade fine, and device is on COM41)
Linux:
List partitions fails:
lglaf shell:
It is definitely making communication in linux - if the device isn't plugged in, it gives me that error. Also, certain commands will cause the screen on the phone to change, but not fully as expected. Rats. Any ideas? (I installed the rules.d) Also, I am on BBQ Linux (which is Arch based)
Fix for reading/writing partitions!!
If you know your block mapping (you have a rooted device and can dump the partition table outside of download mode (with real root you would do ls -l /dev/block/platform/msm_sdcc.1/by-name) you can use something like my patch here to get things working:
https://github.com/blastagator/lglaf/commit/6397f3ad88cc9729ff671351991499523e37dfe6
THIS IS ONLY FOR G3 VS985!!! YOUR BLOCK MAPPING MIGHT BE DIFFERENT, DONT JUST COPY MINE!!!
Once you do this, commands like
will work fine.
Click to expand...
Click to collapse
Have you tried the argument unlock? The name for this argument is totally misleading a better name would be auth because it does not unlock your device but uses a challenge and response method to communicate. Atm it is available with the shell only
Sent from my LG-H815 using XDA Labs
steadfasterX said:
Have you tried the argument unlock? The name for this argument is totally misleading a better name would be auth because it does not unlock your device but uses a challenge and response method to communicate. Atm it is available with the shell only
Sent from my LG-H815 using XDA Labs
Click to expand...
Click to collapse
Ya, it didn't work for me (I also tried the key that was in the comments as something to try if the first didn't work). I'm not too worried about this personally, my main goal was read/write partitions, which is still easily done with my workaround. Certainly things may change down the line though, if they make the unlock nonsense needed for read/write commands. Not sure they would do that though, considering things like the VZW PC update app would need to be able to unlock, and the key could probably be fished out of that communication. *shrug*
Hope my workaround helps someone
K10 has a different structure.
K430TV
partitions.py getting assert error.
this is my mount output
rootfs / rootfs rw,seclabel 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
debugfs /sys/kernel/debug debugfs rw,seclabel,relatime 0 0
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/cache /cache ext4 rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/protect1 /protect_f ext4 rw,seclabel,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,commit=1,data=ordered 0 0
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/protect2 /protect_s ext4 rw,seclabel,nosuid,nodev,noatime,nodelalloc,noauto_da_alloc,commit=1,data=ordered 0 0
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/nvdata /nvdata ext4 rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/cust /cust ext4 rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/mpt /mpt ext4 rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/persist /persist ext4 rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/persist_lg /persist-lg ext4 rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered 0 0
/dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/OP /OP ext4 rw,seclabel,nosuid,nodev,noatime,discard,noauto_da_alloc,data=ordered 0 0
Any chance to make this work to extract userdata?
Dont know if it helps but if I do a ls with a mount address I get the device. see
# ls -l /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/nvdata
lrwxrwxrwx root root 2010-01-03 08:58 nvdata -> /dev/block/mmcblk0p35
# ls -l /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/OP
lrwxrwxrwx root root 2010-01-03 08:58 OP -> /dev/block/mmcblk0p38
If I ls -l to /dev/block/
# ls -l /dev/block/
lstat '/dev/block//mmcblk0p11' failed: Permission denied
lstat '/dev/block//mmcblk0p12' failed: Permission denied
lstat '/dev/block//mmcblk0p14' failed: Permission denied
lstat '/dev/block//mmcblk0p16' failed: Permission denied
lstat '/dev/block//mmcblk0p17' failed: Permission denied
lstat '/dev/block//mmcblk0p18' failed: Permission denied
lstat '/dev/block//mmcblk0p19' failed: Permission denied
lstat '/dev/block//mmcblk0p20' failed: Permission denied
lstat '/dev/block//mmcblk0p21' failed: Permission denied
lstat '/dev/block//mmcblk0p22' failed: Permission denied
lstat '/dev/block//mmcblk0p26' failed: Permission denied
lstat '/dev/block//mmcblk0p27' failed: Permission denied
lstat '/dev/block//mmcblk0p29' failed: Permission denied
lstat '/dev/block//mmcblk0p32' failed: Permission denied
lstat '/dev/block//mmcblk0p34' failed: Permission denied
lstat '/dev/block//mmcblk0p35' failed: Permission denied
lstat '/dev/block//mmcblk0p36' failed: Permission denied
lstat '/dev/block//mmcblk0p38' failed: Permission denied
brw------- root root 7, 0 2010-01-03 08:58 loop0
brw------- root root 7, 1 2010-01-03 08:58 loop1
brw------- root root 7, 2 2010-01-03 08:58 loop2
brw------- root root 7, 3 2010-01-03 08:58 loop3
brw------- root root 7, 4 2010-01-03 08:58 loop4
brw------- root root 7, 5 2010-01-03 08:58 loop5
brw------- root root 7, 6 2010-01-03 08:58 loop6
brw------- root root 7, 7 2010-01-03 08:58 loop7
brw-rw---- root system 179, 0 2010-01-03 08:58 mmcblk0
brw-rw---- root system 179, 32 2010-01-03 08:58 mmcblk0boot0
brw-rw---- root system 179, 64 2010-01-03 08:58 mmcblk0boot1
brw-rw---- root system 179, 1 2010-01-03 08:58 mmcblk0p1
brw-rw---- root system 179, 10 2010-01-03 08:58 mmcblk0p10
brw------- root root 179, 13 2010-01-03 08:58 mmcblk0p13
brw------- root root 179, 15 2010-01-03 08:58 mmcblk0p15
brw-rw---- root system 179, 2 2010-01-03 08:58 mmcblk0p2
brw------- root root 179, 23 2010-01-03 08:58 mmcblk0p23
brw------- root root 179, 24 2010-01-03 08:58 mmcblk0p24
brw------- root root 179, 25 2010-01-03 08:58 mmcblk0p25
brw------- root root 179, 28 2010-01-03 08:58 mmcblk0p28
brw------- root root 179, 3 2010-01-03 08:58 mmcblk0p3
brw------- root root 179, 30 2010-01-03 08:58 mmcblk0p30
brw------- root root 179, 31 2010-01-03 08:58 mmcblk0p31
brw-r--r-- root system 259, 1 2010-01-03 08:58 mmcblk0p33
brw------- root root 259, 5 2010-01-03 08:58 mmcblk0p37
brw------- root root 259, 7 2010-01-03 08:58 mmcblk0p39
brw-rw---- root system 179, 4 2010-01-03 08:58 mmcblk0p4
brw------- root root 259, 8 2010-01-03 08:58 mmcblk0p40
brw------- root root 179, 5 2010-01-03 08:58 mmcblk0p5
brw------- root root 179, 6 2010-01-03 08:58 mmcblk0p6
brw------- root root 179, 7 2010-01-03 08:58 mmcblk0p7
brw------- root root 179, 8 2010-01-03 08:58 mmcblk0p8
brw------- root root 179, 9 2010-01-03 08:58 mmcblk0p9
brw------- root root 179, 96 2010-01-03 08:58 mmcblk0rpmb
drwxr-xr-x root root 2010-01-03 08:58 platform
brw------- root root 254, 0 2010-01-03 08:58 zram0
#
Hope this helps
---------- Post added at 02:16 AM ---------- Previous post was at 01:54 AM ----------
Can I use DD to dump to an sd card or OTG?
---------- Post added at 02:35 AM ---------- Previous post was at 02:16 AM ----------
Changed the path in partition.py to /dev/block/platform/mtk-msdc.0/11230000.msdc0/by-name/
Dumping now..
OK dumped data.bin 11gb file, how can I mount that?
rk2612 said:
AssertionError: Expected arrow in ls output
Not sure what might be wrong.
Click to expand...
Click to collapse
I'm getting this error, too. I was able to fix it by doing two small changes to partitions.py, function "get_partitions":
1. Change the line starting with "name_cmd" into:
Code:
name_cmd = 'ls -l /dev/block/platform/msm_sdcc.1/by-name'
2. Insert the following line after "for line in output.strip()...":
Code:
if line[0]=="l":
Make sure, the indentation is correct (more the the preceding "for" line, less than the following line with "label,arrow,path").
Probably someone by whom the original implementation works can check, whether this is a more generic solution?
I need help. I am trying to install either firmware OR custom recovery onto an LS660. This is my last hope. Please understand I know nothing of python and this is a one time fix. So plese be descriptive in lamen's terms for what file needs to be where and exactly what I must type.
Hi!
I bought Amlogic S905X3 4/64GB 1Gbit Ethernet Android Box (VONTAR X3) and it was DOA. No input from HDMI, only two LEDs are glowing and that’s it.
I tried Amlogic Burning Tool, without success. My PC doesn’t see the device despite using USB male-male cable capable of data transfer. The drivers are installed and everything should be ok.
I tried shorting some ‘pins’ as shown here (source: 4pda):
https://cs5-2.4pda.to/19610657/IMG_20200502_174831.jpg?ac3ab8d6ab3d87cf727a9e13ad8d43a8
But that didn’t work either. Maybe these aren’t the ‘pins’ I am looking for?
Also tried the reset button behind the AV/jack port but nothing happened.
Anyway, I’ve connected the device using UART and here’s my PuTTY log (it doesn't matter if I push the reset button or short the pins or put a bootable microSD inside - it's always the same):
Code:
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2020.10.03 19:16:17 =~=~=~=~=~=~=~=~=~=~=~=
SM1:BL:511f6b:81ca2f;FEAT:A0F83180:20282000;POC:F; RCY:0;EMMC:0;READ:0;0.0;CHK:0;
bl2_stage_init 0x01
bl2_stage_init 0x81
hw id: 0x0001 - pwm id 0x00
bl2_stage_init 0xc0
bl2_stage_init 0x02
L0:00000000
L1:00000703
L2:00008067
L3:15000020
S1:00000000
B2:20282000
B1:a0f83180
TE: 101694
BL2 Built : 20:29:41, Jun 18 2019. g12a ga659aac - [email protected]
Board ID = 1
Set cpu clk to 24M
Set clk81 to 24M
Use GP1_pll as DSU clk.
DSU clk: 1200 Mhz
CPU clk: 1200 MHz
Set clk81 to 166.6M
eMMC boot @ 0
sw8 s
DDR driver_vesion: LPDDR4_PHY_V_0_1_15 build time: Jun 18 2019 20:29:37
board id: 1
Load FIP HDR from eMMC, src: 0x00010200, des: 0xfffd0000, size: 0x00004000, part: 0
fw parse done
Load ddrfw from eMMC, src: 0x00060200, des: 0xfffd0000, size: 0x0000c000, part: 0
Load ddrfw from eMMC, src: 0x00038200, des: 0xfffd0000, size: 0x00004000, part: 0
PIEI prepare done
fastboot data load
00000000
emmc switch 1 ok
ddr saved addr:00016000
Load ddr parameter from eMMC, src: 0x02c00000, des: 0xfffd0000, size: 0x00001000, part: 0
00000000
emmc switch 0 ok
fastboot data verify
verify result: 0
enable_fast_boot
dmc_margin_rx==12 dmc_margin_tx==11 steps
DDR3 probe
ddr clk to 672MHz
Load ddrfw from eMMC, src: 0x0002c200, des: 0xfffd0000, size: 0x0000c000, part: 0
dmc_version 0001
Check phy result
INFO : End of initialization
INFO : Training has run successfully!
aml_ddr_fw_vesion: LPDDR4_PHY_V_0_1_15 build time: Jun 18 2019 20:29:43
DDR cs0 size: 3928MB
DDR cs1 size: 0MB
DMC_DDR_CTRL: 0000002dDDR size: 3928MB
DATA-W[0x00000000]:0xaaaaaaaa,R:0xaaafaaaa
fail D16 18
DATA-W[0x00000000]:0x55555555,R:0x55515555
fail D18
DATA-W[0x00000000]:0x00000001,R:0x00010001
fail D16
DATA-W[0x00000000]:0x00000002,R:0x00010002
fail D16
DATA-W[0x00000000]:0x00000004,R:0x00010004
fail D16
DATA-W[0x00000000]:0x00000008,R:0x00010008
fail D16
DATA-W[0x00000000]:0x00000010,R:0x00010010
fail D16
DATA-W[0x00000000]:0x00000020,R:0x00010020
fail D16
DATA-W[0x00000000]:0x00000040,R:0x00010040
fail D16
DATA-W[0x00000000]:0x00000080,R:0x00010080
fail D16
DATA-W[0x00000000]:0x00000100,R:0x00010100
fail D16
DATA-W[0x00000000]:0x00000200,R:0x00010200
fail D16
DATA-W[0x00000000]:0x00000400,R:0x00010400
fail D16
DATA-W[0x00000000]:0x00000800,R:0x00010800
fail D16
DATA-W[0x00000000]:0x00001000,R:0x00011000
fail D16
DATA-W[0x00000000]:0x00002000,R:0x00012000
fail D16
DATA-W[0x00000000]:0x00004000,R:0x00014000
fail D16
DATA-W[0x00000000]:0x00008000,R:0x00018000
fail D16
DATA-W[0x00000000]:0x00040000,R:0x00010000
fail D16 18
DATA-W[0x00000000]:0x00080000,R:0x00090000
fail D16
DATA-W[0x00000000]:0x00100000,R:0x00110000
fail D16
DATA-W[0x00000000]:0x00200000,R:0x00210000
fail D16
DATA-W[0x00000000]:0x00400000,R:0x00410000
fail D16
DATA-W[0x00000000]:0x00800000,R:0x00810000
fail D16
DATA-W[0x00000000]:0x01000000,R:0x01010000
fail D16
DATA-W[0x00000000]:0x02000000,R:0x02010000
fail D16
DATA-W[0x00000000]:0x04000000,R:0x04010000
fail D16
DATA-W[0x00000000]:0x08000000,R:0x08010000
fail D16
DATA-W[0x00000000]:0x10000000,R:0x10010000
fail D16
DATA-W[0x00000000]:0x20000000,R:0x20010000
fail D16
DATA-W[0x00000000]:0x40000000,R:0x40010000
fail D16
DATA-W[0x00000000]:0x80000000,R:0x80010000
fail D16
cs0 DataBus test failed
ADDR-W[0x00000004]:0xaaaaaaaa,R:0xaaaeaaaa
cs0 AddrBus test failed
fail address pin cs 0 add 0x 00000004
Cfg max: 5, cur: 1. Board id: 255. Force loop cfg
DDR3 probe
ddr clk to 672MHz
Load ddrfw from eMMC, src: 0x0002c200, des: 0xfffd0000, size: 0x0000c000, part: 0
dmc_version 0001
Check phy result
INFO : End of initialization
INFO : ERROR : Training has failed!
1D training failed
Cfg max: 5, cur: 2. Board id: 255. Force loop cfg
DDR3 probe
ddr clk to 672MHz
Load ddrfw from eMMC, src: 0x0002c200, des: 0xfffd0000, size: 0x0000c000, part: 0
dmc_version 0001
Check phy result
INFO : End of initialization
INFO : End of read enable training
INFO : End of fine write leveling
INFO : ERROR : Training has failed!
1D training failed
Cfg max: 5, cur: 3. Board id: 255. Force loop cfg
DDR3 probe
ddr clk to 672MHz
Load ddrfw from eMMC, src: 0x0002c200, des: 0xfffd0000, size: 0x0000c000, part: 0
dmc_version 0001
Check phy result
INFO : End of initialization
INFO : End of read enable training
INFO : End of fine write leveling
INFO : ERROR : Training has failed!
1D training failed
Cfg max: 5, cur: 4. Board id: 255. Force loop cfg
LPDDR4 probe
ddr clk to 1008MHz
Load ddrfw from eMMC, src: 0x0003c200, des: 0xfffd0000, size: 0x0000c000, part: 0
dmc_version 0001
Check phy result
INFO : ERROR : Training has failed!
1D training failed
Cfg max: 5, cur: 5. Board id: 255. Force loop cfg
DDR3 probe
ddr clk to 672MHz
Load ddrfw from eMMC, src: 0x0002c200, des: 0xfffd0000, size: 0x0000c000, part: 0
dmc_version 0001
Check phy result
INFO : End of initialization
INFO : End of read enable training
INFO : End of fine write leveling
INFO : ERROR : Training has failed!
1D training failed
All ddr config failed...
Reset...
boot times 0
And it loops from there to eternity so I decided to post only one loop.
Here are some PCB photos:
https://imgur.com/a/JH8OAEn
Is it dead like disco or can it be reanimated somehow?
I already got a partial refund so if nothing can be done then it goes to a trash can.
Any help would be greatly appreciated.
P.S. Sorry for the external (non)links but I didn't want to post 10 random replies in 10 random threads to unlock the ability to post proper external links. I'm not a filthy spammer
Try using the Amlogic Burning Tool and connect the usb cable to the 2.0 port of the android tv, not to usb 3.0
Hi loocas21,
I had the same problem here.(only 2 leds on)
How I solve it:
1 - diconnect the power on your device;
2 - press the reset button (and let it pressed)
3 - connect the power
I hope it helps you
Hi,
Any news on this?
I'm looking for the right steps before flash.
Thank you