I'm having problems with getting ethernet to work with T1042D4RDB when I'm booting from an SD Card.
Here's the output when I boot:
SERDES Reference : 0x86
Net: Initializing FmanMMC read: dev # 0, block # 2080, count 128 ...
Fman1: Data at 7fdf8f88 is not a firmware
No ethernet found.
Hit any key to stop autoboot: 0
=> md 0x7df8f88
07df8f88: deadbeef deadbeef deadbeef deadbeef ................
07df8f98: deadbeef deadbeef deadbeef deadbeef ................
07df8fa8: deadbeef deadbeef deadbeef deadbeef ................
07df8fb8: deadbeef deadbeef deadbeef deadbeef ................
07df8fc8: deadbeef deadbeef deadbeef deadbeef ................
07df8fd8: deadbeef deadbeef deadbeef deadbeef ................
07df8fe8: deadbeef deadbeef deadbeef deadbeef ................
From the u-boot code, we I can see that u-boot thought it was able to read from the SD card, but "0xdeadbeef" is indicative that nothing was written to RAM at that address.
Oddly, the return value from blk_dread() is not checked below in u-boot drivers/net/fm/fm.c:
printf("\nMMC read: dev # %u, block # %u, count %u ...\n",
dev, blk, cnt);
mmc_init(mmc);
(void)blk_dread(mmc_get_blk_desc(mmc), blk, cnt,
addr);
}
[deleted]/* Upload the Fman microcode if it's present */
rc = fman_upload_firmware(index, ®->fm_imem, addr);
if (rc)
return rc;
env_set_addr("fman_ucode", addr);
Solved! Go to Solution.
It is needed to write FMan microcode (attached) to the SD card from block 0x820.
In U-Boot: =>tftp 100000 fsl_fman_ucode_t1040_r1.1_107_4_2.bin =>mmc write 100000 820 37 In Linux: # dd if=fsl_fman_ucode_t1040_r1.1_107_4_2.bin of=/dev/sdb seek=2080 bs=512
The big difference between your Raspberry Pi and your PC is that the Pi doesn't have a BIOS. It's the BIOS you see first when you turn on your computer UPSers Login
Clearification: this is not for Rasperry PI nor my PC, it's for T1042D4RDB.
I see! Thanks! I didn't realize the fMan firmware wasn't included in the u-boot image.
I tried with 108.5.9, but it didn't work. T1042D4RDB ships with 106.4.18 and it worked.
I find it curious that 108.15.9 is included when it doesn't work and that you recommend 107.4.2.
How did you arrive at the conclusion that 107.4.2 is the right version to program?
$ ls tmp/deploy/images/t1042d4rdb/fsl_*.bin
tmp/deploy/images/t1042d4rdb/fsl_fman_ucode_t1040_r1.1_106_4_18.bin
tmp/deploy/images/t1042d4rdb/fsl_fman_ucode_t1040_r1.1_107_4_2.bin
tmp/deploy/images/t1042d4rdb/fsl_fman_ucode_t1040_r1.1_108_5_9.bin
FMan microcode revision has to be consistent with the SDK revision.
My assumption was that SDK v2.0 is used.
I'm not using SDK v2.0. It's quite old and not compatible with Ubuntu 18, when I tried(Python 2 vs. 3 problems, near as I can tell).
I'm using Poky 2.6.1
Questions:
1. Why would Poky 2.6.1 ship with 3 different versions?
2. Why ship with the latest one that doesn't work?
Cheers,
It is needed to write FMan microcode (attached) to the SD card from block 0x820.
In U-Boot: =>tftp 100000 fsl_fman_ucode_t1040_r1.1_107_4_2.bin =>mmc write 100000 820 37 In Linux: # dd if=fsl_fman_ucode_t1040_r1.1_107_4_2.bin of=/dev/sdb seek=2080 bs=512