Quotebodhi > Do you have a boot log for this run? that could be > very helpful. If we can see how to enumerate the > SPI flash correctly, then flashing a new Wloader > is possible. I don't have that specific attempt, but here's one i did just now that works: root@debian:~# dmesg [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 5.11.0by mmm - Debian
Found a way to flash the firmware from software after all :) Compiled this kernel from the mmp-armada-drm-5 branch Built uImage for the kernel Successfully booted into Debian There were two spi devices, spi0.0 and spi1.0 Followed this guide to bind the spidev driver to spi1.0. Saved original firmware with flashrom -p linux_spi:dev=/dev/spidev1.0 -r original.rom Tried flashing with flashby mmm - Debian
Quotebodhi > > OK. I did not think it would have made a > > difference either, but worth a try! I'll take a > > look at this driver to see if there is anything > > strange. > > I've looked at the Winbond SPI driver and did not > see anything peculiar. Thank you, it seems like I'm off to desolder the SPI after all... On a sidenote, I fouby mmm - Debian
Quoterayknight > Perhaps there was a revision of the firmware on > that 1MB Flash at some point that is exhibiting > the difference you are seeing with how the emmc is > behaving? I suppose that is possible, but that flash doesn't seem to be available for reading/writing (at least with the current dts), so checking my exact firmware revision/flashing new firmware would probby mmm - Debian
Quoteksuszka > Just for reference I took photos of both Winbond > chips visible after taking off the top cover. The > first one is located near the main heatsink and > this is the one I read with an external programmer > and confirmed the content to be the same as read > from /dev/mtd0. The second one is located far from > the heatsink and unfortunately I wasn't abby mmm - Debian
Quotebodhi > I meant if you did the above (ignore eMMC > completely), then later in Debian, can you see the > eMMC drive being initialized by the kernel? Oh I see, yes, here's how that looks in dmesg: root@debian:~# dmesg [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 6.5.7-mvebu-tld-1 (root@tldDebian) (gcc (Debian 12.2.0-14) 12.2.0, GNU ld (by mmm - Debian
Quotebodhi > mmm, > > > Yes, the wloader seems to "jam" the eMMC when > not > > explicitly selecting booting from USB on boot. > > So if you boot with USB only, then you can access > the eMMC drive in Debian? Yes I can boot with USB, but only when I enter the boot selection menu by pressing "P" repeatedly, and then selecting "USBby mmm - Debian
@bodhi I wanted to investigate why the power button wasn't working, so I added some printk's into the ariel-pwrbutton and leds-ariel drivers. After booting into this kernel, I noticed that I didn't find "ariel_pwrbutton_probe" in dmesg, is this expected? I don't really know what I'm doing but I just wanted to ask :) root@debian:~# dmesg | grep ariel [by mmm - Debian
Quotebodhi > Thanks mmm! SPI looks normal. Well it does appear to work correctly, but like @ksuszka already mentioned there's definitely something weird going on: root@debian:/tmp# dd if=/dev/mtd0 | xxd | head -n 64 00000000: 0004 0300 484d 4954 0000 0000 c0aa 6c00 ....HMIT......l. 00000010: 1f00 0000 ffff ffff ffff ffff ffff ffff ................ 00000020: ffff ffff ffff ffffby mmm - Debian
Quotebodhi > Thanks mmm! SPI looks normal. > > Also, this is interesting, I guess this is your > eMMC problem. > > > [ 2.778335] mmc0: SDHCI controller on > d4281000.mmc using ADMA > [ 5.028810] mmc0: Card stuck being busy! > __mmc_poll_for_busy > [ 6.188727] mmc0: Card stuck being busy! > __mmc_poll_for_busy > [ 7.316328] mmc0: Cby mmm - Debian
root@debian:~# dmesg [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 6.5.7-mvebu-tld-1 (mmm@thinkpad) (arm-linux-gnueabihf-gcc (GCC) 13.0.0 20220903 (experimental) , GNU ld (Linaro_Binutils-2022.09) 2.39.50.20220903) #1 SMP PREEMPT Sat Feb 10 23:40:25 CET 2024 [ 0.000000] CPU: ARMv7 Processor [562f5842] revision 2 (ARMv7), cr=10c5387d [ 0.000000] CPU: divby mmm - Debian
After restoring the eMMC and resetting the device to factory settings, the "HardDisk" url is empty and when I force boot from it (in WTOS mode) I just get "Hard Disk failed, try next device...". After switching to Linux mode, i just get "Empty URL", so sadly it seems like that's not going to work with this firmware. On a sidenote, I tried flashing the SPI witby mmm - Debian
Quoteksuszka > @mmm additional thing that comes to my mind. Can > you check what do you have in > mmcblk0boot0/mmcblk0boot1 partitions? maybe their > content confuses WLoader? As far as I can tell > mine are completely empty (filled with zeros) > > > root@debian:~# dd if=/dev/mmcblk0boot0 bs=4096k > conv=sync | gzip -c | wc > 1+0 records in > 1+0 recorby mmm - Debian
Quoteksuszka > @mmm I just noticed something interesting. When > you go to WLoader Boot Order page and you focus on > the device there is the URL field at the bottom > and it shows if WLoader found a viable partition > there. You can see on my screenshot that I've got > HardDisk selected and there is "D:/;" on it. On my > second box I don't have anytby mmm - Debian
Thank you for the screenshots :). Seems like I'm on 7.1_216 which has a completely different splash screen, so there are at least some differences. I'll try flashing this unit with OpenFirmware, hopefully the other unit allows me to boot straight out of eMMC as well.by mmm - Debian
So a few observations lead me to believe that this is some sort of firmware issue: 1. "Empty URL, try next device" means that Wloader cannot find a device, and this is exactly what happens when I force it to boot from "Harddisk". 2. I don't think this is an issue with my wloader.cfg, as I was actually able to boot from USB without it (by putting the kernel params into wby mmm - Debian
Quoteksuszka > EDIT: @mmm an idea - try to uncheck the "Override > settings by configuration file" checkbox and force > boot from eMMC and see if on the screen you will > see that wloader tries to boot using options given > in the "Kernel Parameter" field. If I understand > correctly how it suppose to work, if this checkbox > is checked then wloader.by mmm - Debian
This is exactly what happened to me! The image i made with ddrescue previously is garbage, what i read now with dd is just this: 00000000 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................| * 00400000 but then it worked perfectly? 00000000 00 04 03 00 48 4d 49 54 00 00 00 00 c0 aa 6c 00 |....HMIT......l.| 00000010 1f 00 00 00 ff ff ff ff ff ff ff ff ff ff ff ff |.by mmm - Debian
As far as I'm concerned it's SPI, here's an image i made: # Mapfile. Created by GNU ddrescue version 1.27 # Command line: ddrescue -d -r3 /dev/mtdblock0 mtdblock0.img mtdblock0.log # Start time: 2024-02-09 07:14:31 # Current time: 2024-02-09 07:14:40 # Finished # current_pos current_status current_pass 0x003F0000 + 1 # pos size statusby mmm - Debian
Quoteksuszka > I'm still on 6.4.11 on eMMC. I tried 6.5.7 on the > flash drive and it booted ok, but I didn't yet > bother to upgrade eMMC. However it shouldn't > matter as I understand that in your case it > doesn't even start to boot from the kernel image. > I assume that you have serial console connected as > you were able to capture the kernel paby mmm - Debian
Quoteksuszka > I would try to reset WLoader to factory settings > first, perform complete power off and reboot > cycle, enter WLoader and change image name to > uImage, perform power off and reboot cycle, enter > WLoader again to make sure that boot mode is > switched to Linux, force boot from eMMC. > > If it doesn't work then you can post here > screenshoby mmm - Debian
> @mmm If you want to boot from eMMC you need to include missing kernel modules into the initramfs image, So when you extract 6.5.7 kernel and before you use mkimage for uInitrd run something like: Sadly, no luck "Cannot load OS from PAR1". root@devian:/boot# sed -i -E 's/(CONFIG_MMC_BLOCK|CONFIG_USB_UAS|CONFIG_PXA_SSP|CONFIG_SPI_PXA2XX|CONFIG_I2C_PXA|CONFIG_UIO|CONFIG_Uby mmm - Debian
Hello again, I worked a bit on my installation script, sadly can't update my old post but here's a link to the updated version. Everything I got working: Ethernet Serial Power LED Shutdown Reboot RTC RTC after reboot Read SPI Read SPI after reboot Read eMMC Read eMMC after shutting down, removing power, and selecting USB from the boot menu Write to eMMC What I coulby mmm - Debian