Welcome! Log In Create A New Profile

Advanced

Lenovo IX2 DL

Posted by luo 
Re: Lenovo IX2 DL
August 19, 2021 11:56PM
A copy of mtd1 would also be useful, I've dumped my env partitions and they look corrupted, with a group of envs repeated at the end:

nanddump -a /dev/mtd2
ECC failed: 0
ECC corrected: 0
Number of bad blocks: 0
Number of bbt blocks: 0
Block size 131072, page size 2048, OOB size 64
Dumping data starting at 0x00000000 and ending at 0x00020000...
�ѡ28baudrate=115200loads_echo=0rootpath=/srv/ubuntunetmask=255.255.255.0MALLOC_len=1ethprime=egiga0image_name=uImageethmtu=1500usb0Mode=hostyuk_ethaddr=00:00:00:EE:51:81nandEcc=1bitnetretry=norcvrip=169.254.100.100loadaddr=0x02000000autoload=noimage_multi=yesethact=egiga0kernel_size=0x300000console=console=ttyS0,115200initrdimage=mfginitrdmfgmodel=ix2preroot_ver=0.0.2uboot_ver=0.0.8serial_number=5563Y01011G33400015J0H1ethaddr=00:D0:B8:15:62:7FserialNo=V7AD360054modelname=70A69003APfw_ver=4.0.4.14600drunintime=10800ftpserver=192.168.43.4testfile=100Mmfgtest_state=system_tested_okpre_path=IX2/1.0.8/download_runin.shpre_path_conf=IX2/1.0.8/download_runin.confpre_serverip=192.168.32.4pre_user=ixxruninpre_passwd=123pre_dirzi=IX2/1.0.8initrd_size=0x400000load_uImage=ext2load usb 0:1 0x800000 /uImagerootdelay=10usb_root=LABEL=rootfsrootfstype=ext3load_initrd=ext2load usb 0:1 0x2100000 /boot/uInitrdusb_boot=usb start; run load_uimage; run load_initrd; bootm 0x800000 0x2100000ipaddr=192.168.1.253bootargs_root=root=partition=nand0,0serverip=192.168.1.6mtdparts=mtdparts=orion_nand:0x100000@0x000000(u-boot)ro,0x20000@0xA0000(u-boot environment)ro,0x300000@0x100000(kernel),0x1C00000@0x400000(ubi)bootargs_end=:::orion:eth0:nonestandalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000;lcd0_enable=0lcd0_params=640x480-16@60mvPhoneConfig=mv_phone_config=dev[0]:fxs,dev[1]:fxomvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500bootcmd=setenv bootargs ${console} ${mtdparts} ${bootargs_root}; nand read.e 0x800000 0x100000 0x300000; bootm 0x800000run_diag=noarcNumber=1680stdin=serialstdout=serialstderr=serialmainlineLinux=yesenaMonExt=noenaCpuStream=noenaWrAllo=nopexMode=RCdisL2Cache=nosetL2CacheWT=yesdisL2Prefetch=yesenaICPref=yesenaDCPref=yessata_dma_mode=yesnetbsd_en=novxworks_en=nokernel_start=0x100000initrd_start=0x400000disaMvPnp=noenaAutoRecovery=yespcieTune=nopcieTune1=nobootdelay=10boardtest=011:88:0f:62:81,0:1:2:3),mtu=1500enaAutoRecovery=yespcieTune=nopcieTune1=noieTune=nopcieTune1=not=0x100000initrd_start=0x400000bootdelay=3disaMvPnp=noenaAutoRecovery=yespcieTune=nopcieTune1=no=3disaMvPnp=noenaAutoRecovery=yespcieTune=nopcieTune1=nopcieTune1=nocieTune1=nonitrd_start=0x400000bootdelay=3disaMvPnp=noenaAutoRecovery=yespcieTune=nopcieTune1=nop=noenaAutoRecovery=yespcieTune=nopcieTune1=noespcieTune=nopcieTune1=nos_en=nokernel_start=0x100000initrd_start=0x400000bootdelay=3disaMvPnp=noenaAutoRecovery=yespcieTune=nopcieTune1=norAllo=nopexMode=RCdisL2Cache=nosetL2CacheWT=yesdisL2Prefetch=yesenaICPref=yesenaDCPref=yessata_dma_mode=yesnetbsd_en=novxworks_en=nokernel_start=0x100000initrd_start=0x400000bootdelay=3disaMvPnp=noenaAutoRecovery=yespcieTune=nopcieTune1=nossata_dma_mode=yesnetbsd_en=novxworks_en=nokernel_start=0x100000initrd_start=0x400000bootdelay=3disaMvPnp=noenaAutoRecovery=yespcieTune=nopcieTune1=noroot@
luo
Re: Lenovo IX2 DL
August 20, 2021 12:09AM
If there is no problem with the uboot partition, try not to move the uboot partition. The root cause is that kwboot does not support IX2 dl

I used to brush and write the defective uboot. I had to remove the NAND chip, weld it on the Linksys ea4500, use kwboot to brush and write the backup uboot, and then weld it. The whole process is too troublesome
Re: Lenovo IX2 DL
August 20, 2021 02:08AM
J,

> nanddump -a /dev/mtd2

That's not correct. The env partition is mtd1.

mtdparts=mtdparts=orion_nand:0x100000@0x000000(u-boot)ro,0x20000@0xA0000(u-boot environment)ro,0x300000@0x100000(kernel),0x1C00000@0x400000(ubi)

Dump mtd1 to a file:
nanddump --noecc --omitoob -f mtd1 /dev/mtd1

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Lenovo IX2 DL
August 20, 2021 02:32AM
Sorry for that, this box has 2 env partitions.

Here's the contents of mtd1

�ѡ29baudrate=115200loads_echo=0rootpath=/srv/ubuntunetmask=255.255.255.0MALLOC_len=1ethprime=egiga0image_name=uImageethmtu=1500usb0Mode=hostyuk_ethaddr=00:00:00:EE:51:81nandEcc=1bitnetretry=norcvrip=169.254.100.100loadaddr=0x02000000autoload=noimage_multi=yesethact=egiga0kernel_size=0x300000console=console=ttyS0,115200initrdimage=mfginitrdmfgmodel=ix2preroot_ver=0.0.2uboot_ver=0.0.8serial_number=5563Y01011G33400015J0H1ethaddr=00:D0:B8:15:62:7FserialNo=V7AD360054modelname=70A69003APfw_ver=4.0.4.14600drunintime=10800ftpserver=192.168.43.4testfile=100Mmfgtest_state=system_tested_okpre_path=IX2/1.0.8/download_runin.shpre_path_conf=IX2/1.0.8/download_runin.confpre_serverip=192.168.32.4pre_user=ixxruninpre_passwd=123pre_dirzi=IX2/1.0.8initrd_size=0x400000load_uImage=ext2load usb 0:1 0x800000 /uImagerootdelay=10usb_root=LABEL=rootfsrootfstype=ext3load_initrd=ext2load usb 0:1 0x2100000 /boot/uInitrdusb_boot=usb start; run load_uimage; run load_initrd; bootm 0x800000 0x2100000ipaddr=192.168.1.253bootargs_root=root=partition=nand0,0serverip=192.168.1.6mtdparts=mtdparts=orion_nand:0x100000@0x000000(u-boot)ro,0x20000@0xA0000(u-boot environment)ro,0x300000@0x100000(kernel),0x1C00000@0x400000(ubi)bootargs_end=:::orion:eth0:nonestandalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000;lcd0_enable=0lcd0_params=640x480-16@60mvPhoneConfig=mv_phone_config=dev[0]:fxs,dev[1]:fxomvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500bootcmd=setenv bootargs ${console} ${mtdparts} ${bootargs_root}; nand read.e 0x800000 0x100000 0x300000; bootm 0x800000run_diag=noarcNumber=1680stdin=serialstdout=serialstderr=serialmainlineLinux=yesenaMonExt=noenaCpuStream=noenaWrAllo=nopexMode=RCdisL2Cache=nosetL2CacheWT=yesdisL2Prefetch=yesenaICPref=yesenaDCPref=yessata_dma_mode=yesnetbsd_en=novxworks_en=nokernel_start=0x100000initrd_start=0x400000disaMvPnp=noenaAutoRecovery=yespcieTune=nopcieTune1=nobootdelay=10boardtest=011:88:0f:62:81,0:1:2:3),mtu=1500enaAutoRecovery=yespcieTune=nopcieTune1=noieTune=nopcieTune1=not=0x100000initrd_start=0x400000bootdelay=3disaMvPnp=noenaAutoRecovery=yespcieTune=nopcieTune1=no=3disaMvPnp=noenaAutoRecovery=yespcieTune=nopcieTune1=nopcieTune1=nocieTune1=nonitrd_start=0x400000bootdelay=3disaMvPnp=noenaAutoRecovery=yespcieTune=nopcieTune1=nop=noenaAutoRecovery=yespcieTune=nopcieTune1=noespcieTune=nopcieTune1=nos_en=nokernel_start=0x100000initrd_start=0x400000bootdelay=3disaMvPnp=noenaAutoRecovery=yespcieTune=nopcieTune1=norAllo=nopexMode=RCdisL2Cache=nosetL2CacheWT=yesdisL2Prefetch=yesenaICPref=yesenaDCPref=yessata_dma_mode=yesnetbsd_en=novxworks_en=nokernel_start=0x100000initrd_start=0x400000bootdelay=3disaMvPnp=noenaAutoRecovery=yespcieTune=nopcieTune1=nossata_dma_mode=yesnetbsd_en=novxworks_en=nokernel_start=0x100000initrd_start=0x400000bootdelay=3disaMvPnp=noenaAutoRecovery=yespcieTune=nopcieTune1=no%
Attachments:
open | download - mtd1 (128 KB)
Re: Lenovo IX2 DL
August 20, 2021 04:59AM
J,

The mtd1 looks good to me. The first few bytes are like that (binary, not text). Use hexedit to view this file and it will look normal.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Lenovo IX2 DL
August 20, 2021 07:03AM
Thanks Bodhi,


I opened it in my hex editor and there's a big section of repeated variables at the end - is that unusual? Can I just delete the duplicated sections and write it back to nand? (if so, how?)

Here's extracts from hex, the repeated 'kernel start' and 'initrd start' stand out.

kernel_start=0x100000�initrd_start=0x400000�disaMvPnp=no�enaAutoRecovery=yes�pcieTune=no�pcieTune1=no�bootdelay=10�boardtest=0���11:88:0f:62:81,0:1:2:3),mtu=1500�enaAutoRecovery=yes�pcieTune=no�pcieTune1=no��ieTune=no�pcieTune1=no��t=0x100000�initrd_start=0x400000�bootdelay=3�disaMvPnp=no�enaAutoRecovery=yes�pcieTune=no�pcieTune1=no��=3�disaMvPnp=no�enaAutoRecovery=yes�pcieTune=no�pcieTune1=no��pcieTune1=no��cieTune1=no��nitrd_start=0x400000�bootdelay=3�disaMvPnp=no�enaAutoRecovery=yes�pcieTune=no�pcieTune1=no��p=no�enaAutoRecovery=yes�pcieTune=no�pcieTune1=no��es�pcieTune=no�pcieTune1=no��s_en=no�kernel_start=0x100000�initrd_start=0x400000�bootdelay=3�disaMvPnp=no�enaAutoRecovery=yes�pcieTune=no�pcieTune1=no��rAllo=no�pexMode=RC�disL2Cache=no�setL2CacheWT=yes�disL2Prefetch=yes�enaICPref=yes�enaDCPref=yes�sata_dma_mode=yes�netbsd_en=no�vxworks_en=no�kernel_start=0x100000�initrd_start=0x400000�bootdelay=3�disaMvPnp=no�enaAutoRecovery=yes�pcieTune=no�pcieTune1=no��s�sata_dma_mode=yes�netbsd_en=no�vxworks_en=no�kernel_start=0x100000�initrd_start=0x400000�bootdelay=3�disaMvPnp=no�enaAutoRecovery=yes�pcieTune=no�pcieTune1=no�

in hex;
6B65726E 656C5F73 74617274 3D307831 30303030 3000696E 69747264 5F737461 72743D30 78343030 30303000 64697361 4D76506E 703D6E6F 00656E61 4175746F 5265636F 76657279 3D796573 00706369 6554756E 653D6E6F 00706369 6554756E 65313D6E 6F00626F 6F746465 6C61793D 31300062 6F617264 74657374 3D300000 0031313A 38383A30 663A3632 3A38312C 303A313A 323A3329 2C6D7475 3D313530 3000656E 61417574 6F526563 6F766572 793D7965 73007063 69655475 6E653D6E 6F007063 69655475 6E65313D 6E6F0000 69655475 6E653D6E 6F007063 69655475 6E65313D 6E6F0000 743D3078 31303030 30300069 6E697472 645F7374 6172743D 30783430 30303030 00626F6F 7464656C 61793D33 00646973 614D7650 6E703D6E 6F00656E 61417574 6F526563 6F766572 793D7965 73007063 69655475 6E653D6E 6F007063 69655475 6E65313D 6E6F0000 3D330064 6973614D 76506E70 3D6E6F00 656E6141 75746F52 65636F76 6572793D 79657300 70636965 54756E65 3D6E6F00 70636965 54756E65 313D6E6F 00007063 69655475 6E65313D 6E6F0000 63696554 756E6531 3D6E6F00 006E6974 72645F73 74617274 3D307834 30303030 3000626F 6F746465 6C61793D 33006469 73614D76 506E703D 6E6F0065 6E614175 746F5265 636F7665 72793D79 65730070 63696554 756E653D 6E6F0070 63696554 756E6531 3D6E6F00 00703D6E 6F00656E 61417574 6F526563 6F766572 793D7965 73007063 69655475 6E653D6E 6F007063 69655475 6E65313D 6E6F0000 65730070 63696554 756E653D 6E6F0070 63696554 756E6531 3D6E6F00 00735F65 6E3D6E6F 006B6572 6E656C5F 73746172 743D3078 31303030 30300069 6E697472 645F7374 6172743D 30783430 30303030 00626F6F 7464656C 61793D33 00646973 614D7650 6E703D6E 6F00656E 61417574 6F526563 6F766572 793D7965 73007063 69655475 6E653D6E 6F007063 69655475 6E65313D 6E6F0000 72416C6C 6F3D6E6F 00706578 4D6F6465 3D524300 6469734C 32436163 68653D6E 6F007365 744C3243 61636865 57543D79 65730064 69734C32 50726566 65746368 3D796573 00656E61 49435072 65663D79 65730065 6E614443 50726566 3D796573 00736174 615F646D 615F6D6F 64653D79 6573006E 65746273 645F656E 3D6E6F00 7678776F 726B735F 656E3D6E 6F006B65 726E656C 5F737461 72743D30 78313030 30303000 696E6974 72645F73 74617274 3D307834 30303030 3000626F 6F746465 6C61793D 33006469 73614D76 506E703D 6E6F0065 6E614175 746F5265 636F7665 72793D79 65730070 63696554 756E653D 6E6F0070 63696554 756E6531 3D6E6F00 00730073 6174615F 646D615F 6D6F6465 3D796573 006E6574 6273645F 656E3D6E 6F007678 776F726B 735F656E 3D6E6F00 6B65726E 656C5F73 74617274 3D307831 30303030 3000696E 69747264 5F737461 72743D30 78343030 30303000 626F6F74 64656C61 793D3300 64697361 4D76506E 703D6E6F 00656E61 4175746F 5265636F 76657279 3D796573 00706369 6554756E 653D6E6F 00706369 6554756E 65313D6E 6F
Re: Lenovo IX2 DL
August 20, 2021 04:44PM
J,

> I opened it in my hex editor and there's a big
> section of repeated variables at the end - is that
> unusual? Can I just delete the duplicated sections
> and write it back to nand? (if so, how?)

Don't edit it, it looks fine in hexedit. I did not see any repeat variables at the end. They are all 0's after that last env.
pcieTune1=no

And this is the format for the envs that u-boot tool creates. So the proper way to edit anything in it is: export to a text file, edit, and recreate with mkenvimage.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Lenovo IX2 DL
August 20, 2021 05:37PM
Thanks Bodhi,

I've tried that, created the envs image and flashed it, on a dump it read back fine - but the IX2 then loaded its default envs on a reboot.

I'm thinking even more that uboot is corrupt. I have a backup mtd0 that's been previously shared here on the forum. Can you advise what the nandwrite command would be to flash it?

mtd partitions are;

[    0.446415] nand: device found, Manufacturer ID: 0xec, Chip ID: 0xd3
[    0.452795] nand: Samsung NAND 1GiB 3,3V 8-bit
[    0.457271] nand: 1024 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
[    0.464963] Scanning device for bad blocks
[    0.473383] Bad eraseblock 54 at 0x0000006c0000
[    0.661024] Bad eraseblock 2380 at 0x000012980000
[    0.842815] Bad eraseblock 4629 at 0x0000242a0000
[    1.119722] Bad eraseblock 8086 at 0x00003f2c0000
[    1.132719] mtd: no closing ) found in partition name
[    1.137816] 5 fixed-partitions partitions found on MTD device orion_nand
[    1.144545] Creating 5 MTD partitions on "orion_nand":
[    1.149713] 0x000000000000-0x000000080000 : "uboot"
[    1.155091] 0x0000000a0000-0x0000000c0000 : "uboot_env"
[    1.160767] 0x0000000c0000-0x0000000e0000 : "uboot_env2"
[    1.166534] 0x000000100000-0x000000400000 : "kernel"
[    1.171918] 0x000000400000-0x000020400000 : "ubi"

root@OpenWrt:/# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00080000 00020000 "uboot"
mtd1: 00020000 00020000 "uboot_env"
mtd2: 00020000 00020000 "uboot_env2"
mtd3: 00300000 00020000 "kernel"
mtd4: 20000000 00020000 "ubi"

Command I used to flash mtd1 was
 nandwrite /dev/mtd1 ix2env.bin 
Re: Lenovo IX2 DL
August 20, 2021 07:26PM
Ok - now it seems to be booting correctly.

Looks like my cheap usb to serial (CH340) was causing the boot failures - if the serial adapter is connected to the IX2 but not to my PC then uboot freaks out.

Weird!
Re: Lenovo IX2 DL
August 20, 2021 07:39PM
J,

Quote

I've tried that, created the envs image and flashed it, on a dump it read back fine - but the IX2 then loaded its default envs on a reboot.

Please post the boot log for this (u-boot part only)

Quote

Looks like my cheap usb to serial (CH340) was causing the boot failures - if the serial adapter is connected to the IX2 but not to my PC then uboot freaks out.

Suspiciously related to UART booting. Freaks out in what way?

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
luo
Re: Lenovo IX2 DL
August 20, 2021 07:44PM
There is a bad block at 0x0, but it can be started

         __  __                      _ _
        |  \/  | __ _ _ ____   _____| | |
        | |\/| |/ _` | '__\ \ / / _ \ | |
        | |  | | (_| | |   \ V /  __/ | |
        |_|  |_|\__,_|_|    \_/ \___|_|_|
 _   _     ____              _
| | | |   | __ )  ___   ___ | |_ 
| | | |___|  _ \ / _ \ / _ \| __| 
| |_| |___| |_) | (_) | (_) | |_ 
 \___/    |____/ \___/ \___/ \__|  ** ix2-nand ** ** uboot_ver:0.0.8 **

 ** MARVELL BOARD: DB-88F6282A-BP LE 

U-Boot 1.1.4 (Oct 28 2011 - 15:19:29) Marvell version: 3.6.1 - EMC

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CFB00

Soc: 88F6282 A1 CPU running @ 1600Mhz L2 running @ 533Mhz
SysClock = 533Mhz , TClock = 200Mhz 

DRAM (DDR3) CAS Latency = 7 tRP = 7 tRAS = 20 tRCD=7
DRAM CS[0] base 0x00000000   size 256MB 
DRAM Total size 256MB  16bit width
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:1024 MB
Found ADT7473, program PWM1 ... OK
Flash:  0 kB

Marvell Serial ATA Adapter
Integrated Sata device found
[0 1 0]: Enable DMA mode (6)
  Device 1 @ 0 1:
Model: ST500DM002-1BD142                        Firm: KC45     Ser#:             Z3T7DVT3
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 476940.0 MB = 465.7 GB (976773168 x 512)


CPU : Marvell Feroceon (Rev 1)
Found kernel at 0x100000
Found initrd at 0x460000

Streaming disabled 
Write allocate disabled


USB 0: host mode
PEX 0: interface detected no Link.
PEX 1: interface detected no Link.
Net:   egiga0 [PRIME]
Hit any key to stop autoboot:  0 
Marvell>> bubt uboot+env.bin
Using egiga0 device
TFTP from server 10.0.0.10; our IP address is 10.0.0.200
Filename 'uboot+env.bin'.
Load address: 0x2000000
Loading: #################################################################
         #################################################################
         ########################
done
Bytes transferred = 786432 (c0000 hex)

**Warning**
If U-Boot Endiannes is going to change (LE->BE or BE->LE), Then Env parameters should be overriden..
Override Env parameters? (y/n) y
Erase Env parameters sector 655360... 
Erase 0 - 655360 ... 
Copy to Nand Flash... 
done
Marvell>> reset

         __  __                      _ _
        |  \/  | __ _ _ ____   _____| | |
        | |\/| |/ _` | '__\ \ / / _ \ | |
        | |  | | (_| | |   \ V /  __/ | |
        |_|  |_|\__,_|_|    \_/ \___|_|_|
 _   _     ____              _
| | | |   | __ )  ___   ___ | |_ 
| | | |___|  _ \ / _ \ / _ \| __| 
| |_| |___| |_) | (_) | (_) | |_ 
 \___/    |____/ \___/ \___/ \__|  ** ix2-nand ** ** uboot_ver:0.0.8 **

 ** MARVELL BOARD: DB-88F6282A-BP LE 

U-Boot 1.1.4 (Oct 28 2011 - 15:19:29) Marvell version: 3.6.1 - EMC

U-Boot code: 00600000 -> 0067FFF0  BSS: -> 006CFB00

Soc: 88F6282 A1 CPU running @ 1600Mhz L2 running @ 533Mhz
SysClock = 533Mhz , TClock = 200Mhz 

DRAM (DDR3) CAS Latency = 7 tRP = 7 tRAS = 20 tRCD=7
DRAM CS[0] base 0x00000000   size 256MB 
DRAM Total size 256MB  16bit width
Addresses 8M - 0M are saved for the U-Boot usage.
Mem malloc Initialization (8M - 7M): Done
NAND:1024 MB
Found ADT7473, program PWM1 ... OK
Flash:  0 kB

Marvell Serial ATA Adapter
Integrated Sata device found
[0 1 0]: Enable DMA mode (6)
  Device 1 @ 0 1:
Model: ST500DM002-1BD142                        Firm: KC45     Ser#:             Z3T7DVT3
            Type: Hard Disk
            Supports 48-bit addressing
            Capacity: 476940.0 MB = 465.7 GB (976773168 x 512)


CPU : Marvell Feroceon (Rev 1)
Found kernel at 0x100000
Found initrd at 0x460000

Streaming disabled 
Write allocate disabled


USB 0: host mode
PEX 0: interface detected no Link.
PEX 1: interface detected no Link.
Net:   egiga0 [PRIME]
Hit any key to stop autoboot:  0 
Marvell>> nand bad

Device 0 bad blocks:
  00000000
  00c20000
  01a80000
  0f0e0000
  12e20000
  13ac0000
  1e140000
  26e20000

In addition, do not use the NAND erase and NAND write commands to brush the env partition. My machine is dead,

I think I should brush uboot and execute PRI and save to save the env partition

Marvell>> tftp 0x800000 uboot+env.bin
Using egiga0 device
TFTP from server 10.0.0.10; our IP address is 10.0.0.200
Filename 'uboot+env.bin'.
Load address: 0x800000
Loading: #################################################################
         #################################################################
         ########################
done
Bytes transferred = 786432 (c0000 hex)
Marvell>> nand erase 0x80000 0x40000

NAND erase: device 0 offset 0x80000, size 0x40000
Erasing at 0xa0000 -- 100% complete.
OK
Marvell>> nand write.e 0x880000 0x80000 0x40000

NAND write: device 0 offset 0x80000, size 0x40000

Writing data at 0xbf800 -- 100% complete.
 262144 bytes written: OK
Marvell>> pri
baudrate=115200
loads_echo=0
run_diag=yes
MALLOC_len=1
ethprime=egiga0
bootargs_end=:::DB88FXX81:eth0:none
image_name=uImage
kernel_size=0x300000
loadzimage=nand read.e 0x40000 $(kernel_start) $(kernel_size);
loadinitrd=nand read.e 0x900000 $(initrd_start) $(initrd_size);
standalone=fsload 0x2000000 $(image_name);setenv bootargs $(console) root=/dev/mtdblock0 rw ip=$(ipaddr):$(serverip)$(bootargs_end) $(mvPhoneConfig); bootm 0x2000000;
ethaddr=00:50:43:3e:39:0a
ethmtu=1500
mvPhoneConfig=mv_phone_config=dev[0]:fxs,dev[1]:fxo
mvNetConfig=mv_net_config=(00:11:88:0f:62:81,0:1:2:3),mtu=1500
usb0Mode=host
yuk_ethaddr=00:00:00:EE:51:81
nandEcc=1bit
netretry=no
rcvrip=169.254.100.100
loadaddr=0x02000000
autoload=no
image_multi=yes
uboot_ver=0.0.8
mfgtest_state=board_tested_fail
kernelimage=zImage
initrdimage=mfginitrd
boardtest=1
lcd0_enable=0
lcd0_params=640x480-16@60
ethact=egiga0
arcNumber=1680
ehtadder=00:11:22:33:44:56
rootpath=/srv/ubuntu
mk_mtdparts=setenv mtdparts mtdparts=nand_mtd:0x80000@0(uboot),0x20000@0xa0000(env),0x20000@0xc0000(env2),0x300000@0x100000(uImage),0x300000@0x400000(initrd),0x3f800000@0x800000(boot),1024m@0x0(flash)
initrd_size=0x400000
mfgmodel=ix2
console=console=ttyS0,115200
serialno=0,01PF6iK2LUqPtDENAaa6cHbNDwAHr753B1X/OTdTPgCK3Oidtov8Lueznw6Pldu3MT,LXAC210046,
serialNo=LXAC210046
serial_number=5563Y01011G2210005BJ0C1
pre_path=IX2/1.0.3/download_runin.sh
pre_path_conf=IX2/1.0.3/download_runin.conf
bootargs_root=root=/dev/sdb1
usb_bootcsetenv=bootcmd usb start; run usb_bootcmd; usb stop; reset
usb_boot=mw 0x800000 0 1; run load_uimage; run load_uinitrd; bootm 0x800000 0x2100000
usb_bootcmd=run usb_set_bootargs; run usb_boot
load_uimage=ext2load usb 0:2 0x800000 /uImage
load_uinitrd=ext2load usb 0:2 0x2100000 /rd.bin
usb_set_bootargs=setenv bootargs console=ttyS0,115200 root=LABEL=rootfs rootdelay=10 earlyprintk=serial init=/bin/systemd mtdparts=orion_nand:0x80000@0(uboot),0x20000@0xa0000(env),0x20000@0xc0000(env2),0x300000@0x100000(uImage),0x300000@0x400000(initrd),0x3f800000@0x800000(boot),1024m@0x0(flash)
bootargs=console=ttyS0,115200console=ttyS0,115200 rootdelay=10 earlyprintk=serial
usbboot=usb start; run usb_bootcmd; usb stop; resetsetenv bootcmd usb start; run usb_bootcmd; usb stop; reset
bootcmd=run owrt_boot
owrt_boot=nand read.e 0x800000 0x100000 0x300000;; setenv bootargs $(console) $(owrt_bootargs_root); bootm 0x800000
owrt_bootargs_root_nand=ubi.mtd=4 root=ubi0:rootfs rootfstype=ubifs rw
owrt_bootargs_root=root=
stdin=serial
stdout=serial
stderr=serial
mainlineLinux=no
enaMonExt=no
enaCpuStream=no
enaWrAllo=no
pexMode=RC
disL2Cache=no
setL2CacheWT=yes
disL2Prefetch=yes
enaICPref=yes
enaDCPref=yes
sata_dma_mode=yes
netbsd_en=no
vxworks_en=no
kernel_start=0x100000
initrd_start=0x460000
bootdelay=3
disaMvPnp=no
enaAutoRecovery=yes
pcieTune=no
pcieTune1=no
filesize=c0000
fileaddr=800000
netmask=255.255.255.0
ipaddr=10.0.0.200
serverip=10.0.0.10

Environment size: 2928/131067 bytes
Marvell>> reset
The fan runs at full speed and the serial port has no output
I need to remove the NAND chip and write uboot with kwboot on another board
Re: Lenovo IX2 DL
August 20, 2021 08:03PM
Hey, if I try to boot with usb connected to the header, but not to my USB port, the unit just sits there - led on but not booting until I connect the usb-serial to my pc and issue a reset in uboot.

Really appears Iomega/lenovo did something daft with the factory uboot, with the problems Luo and I have seen with this box. I think as long as it boots then that's as good as it can be.
Re: Lenovo IX2 DL
August 20, 2021 10:27PM
> Hey, if I try to boot with usb connected to the
> header, but not to my USB port, the unit just sits
> there - led on but not booting until I connect the
> usb-serial to my pc and issue a reset in uboot.

> Really appears Iomega/lenovo did something daft
> with the factory uboot,

It depends what happened when it was not "not booting". It is a catch-22, we don't know where it stops without serial console connected. It could have stopped in the BootROM, before u-boot started. Or it stopped at some point after u-boot started and then when you have serial console connected, all output got printed out, so we don't know for sure where that hang was!!!

So there is one way to find out (hopefully): try kwboot again with the mtd0 backup file. In my experience, this 6282 SoC always has BootROM that supports UART booting, I have not seen one without that capability until this box. For older Kirkwood (i.e. 6281), some BootROM version has problem with UART booting.

Note: kwboot command should use baud rate 12100

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 08/20/2021 10:55PM by bodhi.
Re: Lenovo IX2 DL
August 20, 2021 11:20PM
bodhi Wrote:
>
> Note: kwboot command should use baud rate 12100

I that a typo? I believe baud rate should actually be 115200.
Re: Lenovo IX2 DL
August 21, 2021 12:11AM
Ray,

> > Note: kwboot command should use baud rate 12100
>
> I that a typo? I believe baud rate should
> actually be 115200.

Not a typo. Typically Kirkwood boxes used 115200. But this box serial port is configured with 12100. So J should try that.

Not sure why, but it is possible this BootROM version likes the slower rate due to some bugs (that was reflected how the baud rate was defined in stock u-boot/OS ).

Luo has that number posted up thread.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
luo
Re: Lenovo IX2 DL
August 21, 2021 01:12AM
Kwboot cannot detect this box. Kwboot reports an error using other non-standard baud rates
luo@luo-virtual-machine:~/桌面/kwboot$ sudo chmod 666 /dev/ttyUSB0 
[sudo] luo 的密码: 
luo@luo-virtual-machine:~/桌面/kwboot$ ./kwboot -t -b uboot+env.bin -p -B 115200 /dev/ttyUSB0
Sending boot message. Please reboot the target.../^C
luo@luo-virtual-machine:~/桌面/kwboot$ ./kwboot -t -b uboot+env.bin -p -B 12100 /dev/ttyUSB0
Usage: kwboot -b <image> [ -p ] [ -t ] [-B <baud> ] <TTY>

  -b <image>: boot <image>
  -p: patch <image> to type 0x69 (uart boot)

  -t: mini terminal

  -B <baud>: set baud rate

luo@luo-virtual-machine:~/桌面/kwboot$ ./kwboot -t -b uboot+env.bin -p -B 115200 /dev/ttyUSB0
Sending boot message. Please reboot the target...\^C
luo@luo-virtual-machine:~/桌面/kwboot$ ./kwboot -t -b uboot+env.bin -p -B 57600 /dev/ttyUSB0
Sending boot message. Please reboot the target...|^C
luo@luo-virtual-machine:~/桌面/kwboot$ ./kwboot -t -b uboot+env.bin -p -B 38400 /dev/ttyUSB0
Sending boot message. Please reboot the target...-^C
luo@luo-virtual-machine:~/桌面/kwboot$ ./kwboot -t -b uboot+env.bin -p -B 19200 /dev/ttyUSB0
Sending boot message. Please reboot the target...-^C
luo@luo-virtual-machine:~/桌面/kwboot$ ./kwboot -t -b uboot+env.bin -p -B 9600 /dev/ttyUSB0
Sending boot message. Please reboot the target...-^C
luo@luo-virtual-machine:~/桌面/kwboot$ ^C
luo@luo-virtual-machine:~/桌面/kwboot$ ./kwboot -t -b uboot+env.bin -p -B 4800 /dev/ttyUSB0
Usage: kwboot -b <image> [ -p ] [ -t ] [-B <baud> ] <TTY>

  -b <image>: boot <image>
  -p: patch <image> to type 0x69 (uart boot)

  -t: mini terminal

  -B <baud>: set baud rate

luo@luo-virtual-machine:~/桌面/kwboot$ ./kwboot -t -b uboot+env.bin -p -B 2400 /dev/ttyUSB0
Usage: kwboot -b <image> [ -p ] [ -t ] [-B <baud> ] <TTY>

  -b <image>: boot <image>
  -p: patch <image> to type 0x69 (uart boot)

  -t: mini terminal

  -B <baud>: set baud rate

luo@luo-virtual-machine:~/桌面/kwboot$
12100 should be the register address.
dts file:
/dts-v1/;

/ {
	#address-cells = < 0x01 >;
	#size-cells = < 0x01 >;
	compatible = "lenovo,ix2\0marvell,kirkwood-88f6282\0marvell,kirkwood";
	interrupt-parent = < 0x01 >;
	model = "Lenovo IX2-dl";

	chosen {
		bootargs = "console=ttyS0,115200";
		stdout-path = "/ocp@f1000000/serial@12100";
	};

		serial@12000 {
			compatible = "ns16550a";
			reg = < 0x12000 0x100 >;
			reg-shift = < 0x02 >;
			interrupts = < 0x21 >;
			clocks = < 0x03 0x07 >;
			pinctrl-0 = < 0x08 >;
			pinctrl-names = "default";
			status = "disabled";
		};

		serial@12100 {
			compatible = "ns16550a";
			reg = < 0x12100 0x100 >;
			reg-shift = < 0x02 >;
			interrupts = < 0x22 >;
			clocks = < 0x03 0x07 >;
			pinctrl-0 = < 0x09 >;
			pinctrl-names = "default";
			status = "okay";
		};


I'll take a look at the patch on uboot in the source code



Edited 2 time(s). Last edit at 08/21/2021 01:16AM by luo.
Re: Lenovo IX2 DL
August 21, 2021 01:47AM
Thanks Luo,

That’s what I got as well.

Also, the openwrt team have asked that the full 1GiB of nand be used. Can anyone suggest what the nand settings in the dts and the mtdparts in the command line should be to do that?

I’ve tried with 0x3f800000 however the root partition isn’t found at boot.
Re: Lenovo IX2 DL
August 21, 2021 02:38AM
Quote

bootargs = "console=ttyS0,115200";
stdout-path = "/ocp@f1000000/serial@12100";

Ah! so the baud rate is really 115200.

I recall Luo said the exposed serial header is UART1, is that correct? that meant UART0 is hidden.


luo@luo-virtual-machine:~/桌面/kwboot$ ./kwboot -t -b uboot+env.bin -p -B 115200 /dev/ttyUSB0
Sending boot message. Please reboot the target...

And this does not get any response and just hang there?

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Lenovo IX2 DL
August 21, 2021 02:56AM
Yeah the exposed header is the uart1.

Mine just stops with no response as well.
Re: Lenovo IX2 DL
August 21, 2021 04:30PM
OK then UART booting is not support on this box for sure. It must be UART0. Unless you can find UART0 header exposed somewhere on the board and solder the pins.

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Lenovo IX2 DL
August 31, 2021 08:05PM
Hi All,

My ix2-dl now appears to be functioning correctly.

I needed to completely disconnect my TTL-serial adapter, including the leads, from the mainboard to get reliable boots.

If anyone else sees strange behaviour disconnecting from the board is worth a try.
Re: Lenovo IX2 DL
September 01, 2021 08:32PM
Openwrt files and pre-built images for 19.07 and 21.02 are now available on my GitHub; github link

Huge thanks to Bodhi, Luo and Hippi-viking for needed info.

I'm not going to attempt to upstream again, however anyone is free to take the files from GitHub and send their own pull request to openwrt.



Edited 1 time(s). Last edit at 09/02/2021 10:56PM by jdwl101.
Re: Lenovo IX2 DL
September 02, 2021 10:13PM
Did you post a link to your GitHub? I did not see one.

Ray
Re: Lenovo IX2 DL
September 02, 2021 10:25PM
J,

> I needed to completely disconnect my TTL-serial
> adapter, including the leads, from the mainboard
> to get reliable boots.
>
> If anyone else sees strange behaviour
> disconnecting from the board is worth a try.

That does happen with someboards. Probably the serial lines are noisy so the BootROM keeps waiting for the kwboot header that never comes.

If you are determined to find the real culprit, try replacing the 3 test wires you are probably using, with a shielded cable with the 3 wires inside. One such as the Audio Blaster CD cable, this has 4 wires and a protected sleeve (no magnetic interference to cause noise on the serial header).

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)
Re: Lenovo IX2 DL
September 02, 2021 10:58PM
Hi Ray,

Thanks for raising, I didn’t have a name on the link so it wasn’t visible.

There are two repositories, the linked one is just the files that need to be updated to build openwrt successfully but I also have a fork of the full wrt source with an ix2-dl branch added.
luo
Re: Lenovo IX2 DL
September 20, 2021 02:57AM
IX2 DL fan control in Debian system:
apt-get install fancontrol lm-sensors
root@debian:~# pwmconfig
# pwmconfig revision $Revision$ ($Date$)
This program will search your sensors for pulse width modulation (pwm)
controls, and test each one to see if it controls a fan on
your motherboard. Note that many motherboards do not have pwm
circuitry installed, even if your sensor chip supports pwm.

We will attempt to briefly stop each fan using the pwm controls.
The program will attempt to restore each fan to full speed
after testing. However, it is ** very important ** that you
physically verify that the fans have been to full speed
after the program has completed.

Found the following devices:
   hwmon0 is kirkwood_thermal
   hwmon1/device is adt7473

Found the following PWM controls:
   hwmon1/device/pwm1           current value: 255
   hwmon1/device/pwm2           current value: 255
   hwmon1/device/pwm3           current value: 255

Giving the fans some time to reach full speed...
Found the following fan sensors:
   hwmon1/device/fan1_input     current speed: 3559 RPM
   hwmon1/device/fan2_input     current speed: 0 ... skipping!
   hwmon1/device/fan3_input     current speed: 0 ... skipping!
   hwmon1/device/fan4_input     current speed: 0 ... skipping!

Warning!!! This program will stop your fans, one at a time,
for approximately 5 seconds each!!!
This may cause your processor temperature to rise!!!
If you do not want to do this hit control-C now!!!
Hit return to continue: 

Testing pwm control hwmon1/device/pwm1 ...
  hwmon1/device/fan1_input ... speed was 3559 now 377
    It appears that fan hwmon1/device/fan1_input
    is controlled by pwm hwmon1/device/pwm1
Would you like to generate a detailed correlation (y)? 
    PWM 255 FAN 3426
    PWM 240 FAN 3347
    PWM 225 FAN 3288
    PWM 210 FAN 3180
    PWM 195 FAN 2903
    PWM 180 FAN 2825
    PWM 165 FAN 2571
    PWM 150 FAN 2486
    PWM 135 FAN 2186
    PWM 120 FAN 2113
    PWM 105 FAN 1880
    PWM 90 FAN 1758
    PWM 75 FAN 1538
    PWM 60 FAN 1453
    PWM 45 FAN 1222
    PWM 30 FAN 1141
    PWM 28 FAN 1071
    PWM 26 FAN 1038
    PWM 24 FAN 1024
    PWM 22 FAN 1000
    PWM 20 FAN 980
    PWM 18 FAN 963
    PWM 16 FAN 938
    PWM 14 FAN 916
    PWM 12 FAN 896
    PWM 10 FAN 869
    PWM 8 FAN 859
    PWM 6 FAN 829
    PWM 4 FAN 810
    PWM 2 FAN 797
    PWM 0 FAN 796


Testing pwm control hwmon1/device/pwm2 ...
  hwmon1/device/fan1_input ... speed was 3559 now 3524
    no correlation

No correlations were detected.
There is either no fan connected to the output of hwmon1/device/pwm2,
or the connected fan has no rpm-signal connected to one of
the tested fan sensors. (Note: not all motherboards have
the pwm outputs connected to the fan connectors,
check out the hardware database on http://www.almico.com/forumindex.php)

Did you see/hear a fan stopping during the above test (n)? 

Testing pwm control hwmon1/device/pwm3 ...
  hwmon1/device/fan1_input ... speed was 3559 now 3547
    no correlation

No correlations were detected.
There is either no fan connected to the output of hwmon1/device/pwm3,
or the connected fan has no rpm-signal connected to one of
the tested fan sensors. (Note: not all motherboards have
the pwm outputs connected to the fan connectors,
check out the hardware database on http://www.almico.com/forumindex.php)

Did you see/hear a fan stopping during the above test (n)? 

Testing is complete.
Please verify that all fans have returned to their normal speed.

The fancontrol script can automatically respond to temperature changes
of your system by changing fanspeeds.
Do you want to set up its configuration file now (y)? 
What should be the path to your fancontrol config file (/etc/fancontrol)? 
Loading configuration from /etc/fancontrol ...

Select fan output to configure, or other action:
1) hwmon1/device/pwm1
2) Change INTERVAL
3) Just quit
4) Save and quit
5) Show configuration
select (1-n): 1

Devices:
hwmon0 is kirkwood_thermal
hwmon1/device is adt7473

Current temperature readings are as follows:
hwmon0/temp1_input      46
hwmon1/device/temp1_input       36
hwmon1/device/temp2_input       33
hwmon1/device/temp3_input       31

Select a temperature sensor as source for hwmon1/device/pwm1:
1) hwmon0/temp1_input
2) hwmon1/device/temp1_input
3) hwmon1/device/temp2_input
4) hwmon1/device/temp3_input
5) None (Do not affect this PWM output)
select (1-n): 1

Enter the low temperature (degree C)
below which the fan should spin at minimum speed (20): 40

Enter the high temperature (degree C)
over which the fan should spin at maximum speed (60): 

Enter the PWM value (0-255) to use when the temperature
is over the high temperature limit (255): 


Select fan output to configure, or other action:
1) hwmon1/device/pwm1
2) Change INTERVAL
3) Just quit
4) Save and quit
5) Show configuration
select (1-n): 4

Saving configuration to /etc/fancontrol...
Configuration saved
root@debian:~# cat /etc/fancontrol
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=10
DEVPATH=hwmon0=devices/virtual/thermal/thermal_zone0 hwmon1=devices/platform/ocp@f1000000/f1011000.i2c/i2c-0/0-002e
DEVNAME=hwmon0=kirkwood_thermal hwmon1=adt7473
FCTEMPS= hwmon1/device/pwm1=hwmon0/temp1_input
FCFANS= hwmon1/device/pwm1=hwmon1/device/fan1_input
MINTEMP= hwmon1/device/pwm1=40
MAXTEMP= hwmon1/device/pwm1=60
MINSTART= hwmon1/device/pwm1=150
MINSTOP= hwmon1/device/pwm1=0
root@debian:~# sensors   
kirkwood_thermal-virtual-0
Adapter: Virtual device
temp1:        +46.2 C  

adt7473-i2c-0-2e
Adapter: mv64xxx_i2c adapter
in1:          +1.10 V  (min =  +0.00 V, max =  +2.99 V)
+3.3V:        +3.35 V  (min =  +2.96 V, max =  +3.61 V)
fan1:        3554 RPM  (min =    0 RPM)
fan2:           0 RPM  (min =    0 RPM)
fan3:           0 RPM  (min =    0 RPM)
fan4:           0 RPM  (min =    0 RPM)
temp1:        +35.8 C  (low  = -63.0 C, high = +191.0 C)
                       (crit = +100.0 C, hyst = +96.0 C)
Board Temp:   +33.5 C  (low  = -63.0 C, high = +191.0 C)
                       (crit = +100.0 C, hyst = +96.0 C)
temp3:        +31.0 C  (low  = -63.0 C, high = +191.0 C)
                       (crit = +100.0 C, hyst = +96.0 C)

root@debian:~# nano /etc/fancontrol
root@debian:~# service fancontrol start
[ ok ] Starting fan speed regulator: fancontrol.
root@debian:~# sensors
kirkwood_thermal-virtual-0
Adapter: Virtual device
temp1:        +46.2 C  

adt7473-i2c-0-2e
Adapter: mv64xxx_i2c adapter
in1:          +1.10 V  (min =  +0.00 V, max =  +2.99 V)
+3.3V:        +3.35 V  (min =  +2.96 V, max =  +3.61 V)
fan1:        1817 RPM  (min =    0 RPM)
fan2:           0 RPM  (min =    0 RPM)
fan3:           0 RPM  (min =    0 RPM)
fan4:           0 RPM  (min =    0 RPM)
temp1:        +36.0 C  (low  = -63.0 C, high = +191.0 C)
                       (crit = +100.0 C, hyst = +96.0 C)
Board Temp:   +33.5 C  (low  = -63.0 C, high = +191.0 C)
                       (crit = +100.0 C, hyst = +96.0 C)
temp3:        +31.2 C  (low  = -63.0 C, high = +191.0 C)
                       (crit = +100.0 C, hyst = +96.0 C)

root@debian:~# 
Re: Lenovo IX2 DL
September 22, 2021 04:15PM
Thanks Luo!

Added to the Wiki thread.

https://forum.doozan.com/read.php?2,23630,23630#msg-23630

Quote

Sensors & Fan & WOL

OWFSPlug : 1-Wire File System + Motion Detection Software in a NAND Package
OWFS & Motion Detection (external link)
How to control GPIO in Linux userspace for GPIO-enable fan
Zyxel NSA 310S/320S/325/326 CPU Temperature and Fan Speed reading
Zyxel NAS326 WOL
Zyxel NAS326 Auto-Power Up
Zyxel NAS326 WOL and Auto-Power Up I2C commands
Zyxel NSA320 Auto-Power Up
Setup lm-sensors (example for Lenovo IX2 DL fan control in Debian)

-bodhi
===========================
Forum Wiki
bodhi's corner (buy bodhi a beer)



Edited 1 time(s). Last edit at 09/22/2021 04:26PM by bodhi.
Author:

Your Email:


Subject:


Spam prevention:
Please, enter the code that you see below in the input field. This is for blocking bots that try to post this form automatically. If the code is hard to read, then just try to guess it right. If you enter the wrong code, a new image is created and you get another chance to enter it right.
Message: