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