You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

romutil.txt 1.3KB

123456789101112131415161718192021222324252627282930313233343536
  1. I wrote the attached little util program to try out the basic approach
  2. and thought that you might find it useful as well as providing some
  3. simple testing. It isn't a final solution so the interface is rough. The
  4. program must be run as root on an Intel based machine.
  5. The key point is that the IO address needs to be entered - I grab it
  6. from the dmesg output:
  7. eth0: 3Com 3c905B Cyclone 100baseTx at 0xe400, 00:10:4b:d2:5e:0d, IRQ
  8. 11
  9. or "cat /proc/pci" to find the "I/O at XXXXXX" for your 3Com Card.
  10. Some example commands are:
  11. romutil 0xe400 erase - erases the ROM contents
  12. romutil 0xe400 protect - enables the Software Data Protection
  13. on the ROM [3c905B only]
  14. romutil 0xe400 unprotect - disables the Software Data Protection
  15. on the ROM [3c905B only]
  16. romutil 0xe400 id - displays the manufacturer and
  17. device IDs
  18. romutil 0xe400 read >file - writes the contents of the ROM to stdout
  19. romutil 0xe400 prog <file - writes the contents of the stdin into the
  20. ROM (<64k)
  21. I tried reading and writing the ROM while doing large ftp transfers and
  22. experienced no problems. I didn't spend much time worrying about the
  23. possible race conditions. My system has lots of resources (450MHx P2,
  24. 128MB RAM) so it might not provide the best test candidate.
  25. Let me know what results you get if you try it out.
  26. Thanks
  27. John