T1042D4RDB networking problems when booting from SD card

cancel
Showing results for 
Search instead for 
Did you mean: 

T1042D4RDB networking problems when booting from SD card

Jump to solution
221 Views
oyvind_harboe
Contributor I

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 Fman

MMC 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, &reg->fm_imem, addr);
if (rc)
   return rc;
env_set_addr("fman_ucode", addr);

0 Kudos
1 Solution
76 Views
ufedor
NXP TechSupport
NXP TechSupport

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

View solution in original post

0 Kudos
6 Replies
76 Views
joecornish981
Contributor I

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

0 Kudos
76 Views
oyvind_harboe
Contributor I

Clearification: this is not for Rasperry PI nor my PC, it's for T1042D4RDB.

0 Kudos
76 Views
oyvind_harboe
Contributor I

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

0 Kudos
76 Views
ufedor
NXP TechSupport
NXP TechSupport

FMan microcode revision has to be consistent with the SDK revision.

My assumption was that SDK v2.0 is used.

0 Kudos
76 Views
oyvind_harboe
Contributor I

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,

0 Kudos
77 Views
ufedor
NXP TechSupport
NXP TechSupport

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

View solution in original post

0 Kudos