Discussion:
[flashrom] New programmer AMD Am79C971 (PCNet32 / Lance), need help
Alexander Lundén
2018-07-29 20:15:05 UTC
Permalink
Hi everyone,

I have spent the past few days implementing support for the AMD
Am79C971, in the family of AMD Lance network controllers. Please see
attached source code.

So far, testing with SST39SF020A memory has shown positive results for
reading flash memory. However, erasure and writing fails now and then,
often with just one or two bytes being erroneous. Sometimes it fails
with “magic data” being written, sometimes with random data at random
locations. Please see the attached log for a full example failure.

"Verifying flash... FAILED at 0x00005555! Expected=0xef, Found=0xaa,
failed byte count from 0x00000000-0x0003ffff: 0x1"
"Verifying flash... FAILED at 0x000008b9! Expected=0x00, Found=0xb9,
failed byte count from 0x00000000-0x0003ffff: 0x1"
"Verifying flash... FAILED at 0x0001fd86! Expected=0x86, Found=0x85,
failed byte count from 0x00000000-0x0003ffff: 0x1"

I have never worked with PCI devices nor flash memory before, and I
would really appreciate some ideas of where to start poking around to
fix the erasure and writing issues. Also, comments on the code is highly
appreciated!

The datasheet for the network controller can be found here:
https://datasheet.octopart.com/AM79C971AKC-W-AMD-datasheet-5389196.pdf

Kind regards,
Alexander Lundén

Loading...