hyphop / miZy

miZy - tiny fast embedded linux

Home Page:https://hyphop.github.io/mizy/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Cannot install to SPI flash on Orange Pi Zero (H2+)

probonopd opened this issue · comments

Currently it seems like one needs a serial adapter to get this to work, because the device does not come up as a DHCP client on Ethernet automatically.

Installed miZy according to https://github.com/hyphop/miZy/wiki/miZy-download-install-overlay-usage:

  • With Etcher, burned orange-pi-h2-miZy-musicbox-mpd.MMC.hybrid.8M.8192.bin to SD card
  • Booted Orange Pi Zero from SD
  • Attached serial adapter as shown here
  • sudo screen /dev/ttyUSB0 115200

Trying to copy system to SPI

root@miZy:/# image_copy_sd_spi yes
cat: can't open '/sys/block/mmcblk1/device/type': No such file or directory
[i] sd /dev/mmcblk0 mmc 
[e] not found block dev /dev/mtdblock

Fails, is it missing some mtd devices?

root@miZy:/# ls /dev/mtdblock*
/dev/mtdblock0  /dev/mtdblock1  /dev/mtdblock2

The SPI flash chip is installed on the board from the factory.

Similar message when using orange_pi_zero_miZy-mini-turbo.MMC.hybrid.8M.8192.bin instead:

root@miZy:/# image_copy_sd_spi yes
cat: can't open '/sys/block/mmcblk1/device/type': No such file or directory
[i] sd /dev/mmcblk0 mmc 
[e] not found block dev /dev/mtdblock
root@miZy:/# ls /dev/mtdblock*
/dev/mtdblock0  /dev/mtdblock1  /dev/mtdblock2

root@miZy:/# dmesg | grep mtd
[    0.000000] Kernel command line: ramdisk_size=8192 mmc_core.removable=1 hdmi.audio=EDID:0   itype=openwrt root=/dev/ram0 rw console=tty1 console=ttyS0,115200 mtdparts=W25q128-flash.0:512k(uboot),64k(script),64k(dtb),3712k(kernel),2560k(initrd),1280k(user),-@0(full) panic=10 consoleblank=0 loglevel=3 sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_fb_mem_reserve=16 bootfrom=sd loadfrom=MMC0 loadseq=>MMC0 mmcparts=uboot=524288;script=65536;dtb=65536;kernel=3801088;initrd=2621440;user=1310720 btime=1.207
[    0.354509] mtd: W25q128-flash.0: partitioning exceeds flash size, truncating
[    1.882537] block2mtd: mtd3: [/dev/loop0] erase_size = 64KiB [65536]
[    2.191785] block2mtd: mtd3: [/dev/loop0] removed

The SPI flash chip is installed on the board from the factory.

root@miZy:/# spi_flash_is_blank
/dev/mtd0ro is blank \xff
root@miZy:/# spi_flash_dmesg
[    0.000000] Kernel command line: ramdisk_size=8192 mmc_core.removable=1 hdmi.audio=EDID:0   itype=openwrt root=/dev/ram0 rw console=tty1 console=ttyS0,115200 mtdparts=W25q128-flash.0:512k(uboot),64k(script),64k(dtb),3712k(kernel),2560k(initrd),1280k(user),-@0(full) panic=10 consoleblank=0 loglevel=3 sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_fb_mem_reserve=16 bootfrom=sd loadfrom=MMC0 loadseq=>MMC0 mmcparts=uboot=524288;script=65536;dtb=65536;kernel=3801088;initrd=2621440;user=1310720 btime=1.204
[    0.353906] spi spi0: master is unqueued, this is deprecated
[    0.354435] NorFlash ID: 0xc22015 - 0xc220
[    0.354466] m25p80 spi0.0: found mx25l1606e, expected W25q128
[    0.354496] m25p80 spi0.0: mx25l1606e (2048 Kbytes)
[    0.354545] mtd: W25q128-flash.0: partitioning exceeds flash size, truncating
[    0.354621] 0x000000000000-0x000000080000 : "uboot"
[    1.892567] block2mtd: mtd3: [/dev/loop0] erase_size = 64KiB [65536]
[    2.291848] block2mtd: mtd3: [/dev/loop0] removed
root@miZy:/# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00080000 00001000 "uboot"
mtd1: 00010000 00001000 "script"
mtd2: 00010000 00001000 "dtb"
root@miZy:/# spi_flash_mtd_info
spi flash mtd info
/sys/class/mtd/mtd0/dev:90:0
/sys/class/mtd/mtd0/erasesize:4096
/sys/class/mtd/mtd0/flags:0xc00
/sys/class/mtd/mtd0/name:uboot
/sys/class/mtd/mtd0/numeraseregions:0
/sys/class/mtd/mtd0/oobsize:0
/sys/class/mtd/mtd0/size:524288
/sys/class/mtd/mtd0/subpagesize:1
/sys/class/mtd/mtd0/type:nor
/sys/class/mtd/mtd0/uevent:MAJOR=90
/sys/class/mtd/mtd0/uevent:MINOR=0
/sys/class/mtd/mtd0/uevent:DEVNAME=mtd0
/sys/class/mtd/mtd0/uevent:DEVTYPE=mtd
/sys/class/mtd/mtd0/writesize:1
/sys/class/mtd/mtd0ro/dev:90:1
/sys/class/mtd/mtd0ro/uevent:MAJOR=90
/sys/class/mtd/mtd0ro/uevent:MINOR=1
/sys/class/mtd/mtd0ro/uevent:DEVNAME=mtd0ro
/sys/class/mtd/mtd1/dev:90:2
/sys/class/mtd/mtd1/erasesize:4096
/sys/class/mtd/mtd1/flags:0xc00
/sys/class/mtd/mtd1/name:script
/sys/class/mtd/mtd1/numeraseregions:0
/sys/class/mtd/mtd1/oobsize:0
/sys/class/mtd/mtd1/size:65536
/sys/class/mtd/mtd1/subpagesize:1
/sys/class/mtd/mtd1/type:nor
/sys/class/mtd/mtd1/uevent:MAJOR=90
/sys/class/mtd/mtd1/uevent:MINOR=2
/sys/class/mtd/mtd1/uevent:DEVNAME=mtd1
/sys/class/mtd/mtd1/uevent:DEVTYPE=mtd
/sys/class/mtd/mtd1/writesize:1
/sys/class/mtd/mtd1ro/dev:90:3
/sys/class/mtd/mtd1ro/uevent:MAJOR=90
/sys/class/mtd/mtd1ro/uevent:MINOR=3
/sys/class/mtd/mtd1ro/uevent:DEVNAME=mtd1ro
/sys/class/mtd/mtd2/dev:90:4
/sys/class/mtd/mtd2/erasesize:4096
/sys/class/mtd/mtd2/flags:0xc00
/sys/class/mtd/mtd2/name:dtb
/sys/class/mtd/mtd2/numeraseregions:0
/sys/class/mtd/mtd2/oobsize:0
/sys/class/mtd/mtd2/size:65536
/sys/class/mtd/mtd2/subpagesize:1
/sys/class/mtd/mtd2/type:nor
/sys/class/mtd/mtd2/uevent:MAJOR=90
/sys/class/mtd/mtd2/uevent:MINOR=4
/sys/class/mtd/mtd2/uevent:DEVNAME=mtd2
/sys/class/mtd/mtd2/uevent:DEVTYPE=mtd
/sys/class/mtd/mtd2/writesize:1
/sys/class/mtd/mtd2ro/dev:90:5
/sys/class/mtd/mtd2ro/uevent:MAJOR=90
/sys/class/mtd/mtd2ro/uevent:MINOR=5
/sys/class/mtd/mtd2ro/uevent:DEVNAME=mtd2ro
root@miZy:/# spi_flash_info
SPI bus /sys/devices/platform/spi*
DEV dev /sys/devices/platform/spi*/spi_master/spi*/spi*
DRIVER=m25p80
MODALIAS=spi:W25q128
MODALIAS=spi:mmc_spi
FLASH CHIP: W25q128
mmc_spi

I think my boards have a Macronix SPI flash installed from the factory but the system loads a wrong (Winbond) driver.

Is it a Macronix MX25L1606E 16 Mbit = 2 MB chip? (Why would they solder on such a tiny chip, is is useful for any purpose other than maybe booting from USB?)

http://www.macronix.com/Lists/Datasheet/Attachments/5089/MX25L1606E,%203V,%2016Mb,%20v1.8.pdf

Note to self: Use flashrom to identify the chip.

default macronix spi flash (orange pi zero) its just 2M
is small for miZy
miZy - 8M is minimum

replace to any up 8M

default macronix spi flash (orange pi zero) its just 2M
is small for miZy
miZy - 8M is minimum

replace to any up 8M

Thank you. I fear that I will blow off all the small capacitors with the hot air gun ;-)

I would happily pay a bit more if they could install 8M directly from the factory.