Any idea? About modou M101C: MT7620A+MT7610EN, 128MB Nand Flash, 128MB DDR2, 2.4 TFT-LCD

About modou M101C: MT7620A+MT7610EN, 128MB Nand Flash, 128MB DDR2, 2.4 TFT-LCD

M101C contain 3 system : rescue system, system 1, system 2
MTD:
dev: size erasesize name
mtd0: 08000000 00020000 "all"
mtd1: 00080000 00020000 "uboot"
mtd2: 00600000 00020000 "safe" -------------------- rescue system
mtd3: 00040000 00020000 "sn"
mtd4: 00040000 00020000 "nvram"
mtd5: 00020000 00020000 "Factory"
mtd6: 00600000 00020000 "vm1" --------------------- kernel for system1
mtd7: 00600000 00020000 "vm2" --------------------- kernel for system2
mtd8: 01800000 00020000 "sys1" --------------------- ubi for system1
mtd9: 01800000 00020000 "sys2" --------------------- ubi for system2
mtd10: 03ce0000 00020000 "rootfs_data"

I add the dts , but boot fail :sob: Help me! Please.

boot logs, photo, dts ... download url: http://pan.baidu.com/s/1jHVUzS6 or https://www.mediafire.com/folder/xq8klc69222cc/M101C-boot-logs-pic-dts-bababa

information of cmdline, cpuinfo, devices, dmesg, meminfo, mount, mtd, platform, gpiodump are in folder M101C-boot-logs-pic-dts-bababa/original-system-backup/sys1 and M101C-boot-logs-pic-dts-bababa/original-system-backup/sys2

mt7610.dat from original system is in M101C-boot-logs-pic-dts-bababa/original-system-backup/sys2/mt7610.dat

target/linux/ramips/dts/M101C.dts

git diff target/linux/ramips/image/mt7620.mk
diff --git a/target/linux/ramips/image/mt7620.mk b/target/linux/ramips/image/mt7620.mk
index e0f563e..36c42bc 100644
--- a/target/linux/ramips/image/mt7620.mk
+++ b/target/linux/ramips/image/mt7620.mk
@@ -362,6 +362,29 @@ define Device/rt-ac51u
endef
TARGET_DEVICES += rt-ac51u

+define Device/m101c

  • DTS := M101C
  • UBOOTENV_IN_UBI :=
  • KERNEL_IN_UBI :=
  • BLOCKSIZE := 128k
  • PAGESIZE := 2048
  • SUBPAGESIZE := 512
  • VID_HDR_OFFSET := 2048
  • MKUBIFS_OPTS := -m $$(PAGESIZE) -e 124KiB
  • FEATURES += usb ubifs nand
  • KERNEL := $(KERNEL_DTB) | uImage lzma
  • KERNEL_SIZE := 6291456
    +# KERNEL_IN_UBI := 1
  • UBINIZE_OPTS := -E 5
  • FILESYSTEMS := ubifs
    +# KERNEL_SUFFIX := -uImage
  • IMAGE_SIZE := 25165824
    +# IMAGE/factory.bin := append-kernel $$$$(KERNEL_SIZE) | append-ubi
  • DEVICE_TITLE := Modou M101C
    +# DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ehci kmod-usb-ledtrig-usbport
    +endef
    +TARGET_DEVICES += m101c

define Device/tiny-ac
DTS := TINY-AC
DEVICE_TITLE := Dovado Tiny AC

git diff target/linux/ramips/base-files/lib/ramips.sh

+++ target/linux/ramips/base-files/lib/ramips.sh 2017-06-07 15:06:08.793293661 +0800
@@ -442,6 +442,9 @@
*"RT-AC51U")
name="rt-ac51u"
;;

  • *"M101C")
  •   name="m101c"
    
  •   ;;
    
    *"RT-G32 B1")
    name="rt-g32-b1"
    ;;

hack kernel commandline for target and replace "console=ttyS0,57600" to "console=ttyS1,57600n8 earlyprtintk" and try.

not work :frowning:

change to : console=ttyS1,57600n8 earlyprtintk rootfstype=squashfs,jffs2
(default: rootfstype=squashfs,jffs2)

done
Bytes transferred = 6156047 (5def0f hex)
NetBootFileXferSize= 005def0f
Automatic boot of image at addr 0x80A00000 ...

Booting image at 80a00000 ...

Image Name: MIPS LEDE Linux-4.4.71
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 6155983 Bytes = 5.9 MB
Load Address: 80000000
Entry Point: 80000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
No initrd

Transferring control to Linux (at address 80000000) ...

Giving linux memsize in MB, 128

Starting kernel ...

[ 0.000000] Linux version 4.4.71 (hyn@ubuntu) (gcc version 5.4.0 (LEDE GCC 5.4.0 r4322-f500799) ) #0 Thu Jun 8 17:59:19 UTC 2017
[ 0.000000] Board has DDR2
[ 0.000000] Analog PMU set to hw control
[ 0.000000] Digital PMU set to hw control
[ 0.000000] SoC Type: MediaTek MT7620A ver:2 eco:6
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00019650 (MIPS 24KEc)
[ 0.000000] MIPS: machine is Modou M101C
[ 0.000000] Determined physical RAM map:
[ 0.000000] memory: 08000000 @ 00000000 (usable)
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
[ 0.000000] Kernel command line: console=ttyS1,57600n8 earlyprtintk rootfstype=squashfs,jffs2
[ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Writing ErrCtl register=0006ae90
[ 0.000000] Readback ErrCtl register=0006ae90
[ 0.000000] Memory: 120940K/131072K available (2918K kernel code, 138K rwdata, 816K rodata, 4824K init, 203K bss, 10132K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:256
[ 0.000000] CPU Clock: 580MHz
[ 0.000000] clocksource: systick: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 583261500 ns
[ 0.000000] systick: enable autosleep mode
[ 0.000000] systick: running - mult: 214748, shift: 32
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns
[ 0.000011] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns
[ 0.015452] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
[ 0.080611] pid_max: default: 32768 minimum: 301
[ 0.089934] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.102948] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.123550] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.143044] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.155298] pinctrl core: initialized pinctrl subsystem
[ 0.166295] NET: Registered protocol family 16


change to :


change to : console=ttyS1,57600n8 root=/dev/ram0 console=ttyS0 init_debug=99 (same with original system)

done
Bytes transferred = 5848085 (593c15 hex)
NetBootFileXferSize= 00593c15
Automatic boot of image at addr 0x80A00000 ...

Booting image at 80a00000 ...

Image Name: MIPS LEDE Linux-4.4.71
Image Type: MIPS Linux Kernel Image (lzma compressed)
Data Size: 5848021 Bytes = 5.6 MB
Load Address: 80000000
Entry Point: 80000000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
No initrd

Transferring control to Linux (at address 80000000) ...

Giving linux memsize in MB, 128

Starting kernel ...

[ 0.000000] Linux version 4.4.71 (hyn@ubuntu) (gcc version 5.4.0 (LEDE GCC 5.4.0 r4360+4-c00fbaf) ) #0 Fri Jun 9 15:18:58 UTC 2017
[ 0.000000] Board has DDR2
[ 0.000000] Analog PMU set to hw control
[ 0.000000] Digital PMU set to hw control
[ 0.000000] SoC Type: MediaTek MT7620A ver:2 eco:6
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 00019650 (MIPS 24KEc)
[ 0.000000] MIPS: machine is Modou M101C
[ 0.000000] Determined physical RAM map:
[ 0.000000] memory: 08000000 @ 00000000 (usable)
[ 0.000000] Initrd not found or empty - disabling initrd
[ 0.000000] Zone ranges:
[ 0.000000] Normal [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000007ffffff]
[ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes.
[ 0.000000] Primary data cache 32kB, 4-way, PIPT, no aliases, linesize 32 bytes
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
[ 0.000000] Kernel command line: console=ttyS1,57600n8 root=/dev/ram0 console=ttyS0 init_debug=99
[ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Writing ErrCtl register=0006ae80
[ 0.000000] Readback ErrCtl register=0006ae80
[ 0.000000] Memory: 121260K/131072K available (2918K kernel code, 138K rwdata, 816K rodata, 4504K init, 203K bss, 9812K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:256
[ 0.000000] CPU Clock: 580MHz
[ 0.000000] clocksource: systick: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 583261500 ns
[ 0.000000] systick: enable autosleep mode
[ 0.000000] systick: running - mult: 214748, shift: 32
[ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 6590553264 ns
[ 0.000010] sched_clock: 32 bits at 290MHz, resolution 3ns, wraps every 7405115902ns
[ 0.015452] Calibrating delay loop... 385.84 BogoMIPS (lpj=1929216)
[ 0.080608] pid_max: default: 32768 minimum: 301
[ 0.089931] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.102945] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.123559] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.143053] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.155307] pinctrl core: initialized pinctrl subsystem
[ 0.166305] NET: Registered protocol family 16

Why you comment out &gpio0 {...} block in DTS? Without it console (uartlite) non-functional.
After message NET: Registered protocol family ... kernel try enable console=ttyS1 and disable earlycon output.

Just came across this little device. Would it be possible to use the TFT screen to display "anything"?
And it looks like it has a "phone" connection. VOIP capable??

For 15USD it looks like a fun little device.

Hmm currently busy ..
but it there any source outside china i.e gearbest, dx

I think you'll find there is no opensource driver for the mt7610en side of the wifi.

More worried about the screen and it looks like it comes with a stylus for input...ordering one just for fun. Could be nice to have some home automation running on it with the "touch" input :sunglasses:

So the new "toy" arrived :sunglasses: ... now what to do??

First 2 stupid questions:

Any difference between NAND and the "oldschool“ flash like all my other devices I should know about, or just consider it like "flash" ??

Second, more important: how do I get it to flash / boot only system 2 and/or into safe-mode? Safe-mode probably holding reset while starting?? (I will have a look at the dual-boot feature that is in the making later)