Re: Re: [Etherboot-developers] 3C905CX-TXM flashing with cromutil hangs
Donald Becker <[email protected]>
| Newsgroups | gmane.linux.drivers.vortex.devel |
|---|---|
| Message-ID | <[email protected]> |
On Fri, 4 Jul 2003, Hans-Peter Jansen wrote: > pretty late follow up, sorry. On the bright side, my netbooted ramdisk > rescue environment has pretty nice evolved 'til the last time... Using PXE to load an interactive rescue environment? Presumably not NFS root, which can complicate things... > ON FRIDAY 18 April 2003 18:18, Donald Becker wrote: > > On Fri, 18 Apr 2003, Hans-Peter Jansen wrote: .. > > > > Index #1: Found a 3c905C Tornado 100baseTx adapter at 0xd800. > > > > Hmmm, no response to the ID command, trying again.. > > > > ACKKK, this may not be a programmable Flash part! > > > > Unknown BIOS ROM ID 55 AA. ... > > I have updated libflash with code that may work with the new parts. > > Who has a board with a AM29F002BT or AM29F002BB that could try it > > out? ... > I have two different NICS, some labeled 3C905CX-TXM with a AM29F002BT > and some 3C905C-TX-M with a Atmel AT49BV512. While the latter could > be easily flashed with cromutil (will check vortex-diag soon), the > former resisted insistently on any attempts :-(. ... > vortex-diag.c:v2.14 12/28/2002 Donald Becker ([email protected]) > http://www.scyld.com/diag/index.html > Index #1: Found a 3c905C Tornado 100baseTx adapter at 0xd000. ... > Saved EEPROM settings of a 3Com Vortex/Boomerang: > 3Com Node Address 00:0A:0D:D4:77:D7 (used as a unique ID only). > OEM Station address 00:0A:0D:D4:77:D7 (used as the ethernet address). > Device ID 9200, Manufacturer ID 6d50. > Manufacture date (MM/DD/YYYY) 11/12/2001, division H, product SZ. > No BIOS ROM is present. <- vortex-diag doesn't > recognize the flash -> Not exactly -- the serial EEPROM is programmed so that the board reports that no BIOS ROM exists. > Hmmm, no response to the ID command, trying again with '80/60'.. > That did not work either, trying with '90/01'... > > <!-- 90/01 is expected to work with this device, but it doesn't --!> > > ACKKK, this may not be a programmable Flash part! > BIOS ROM ID 55 AA, looking up vendor... > Unknown BIOS ROM ID 55 AA. > 0x000: 55 aa 08 e9 bf 07 55 4c 44 52 00 00 05 03 00 00 U.....ULDR...... > 0x010: 00 00 e0 06 50 05 70 00 58 00 38 00 6d 00 30 04 ....P.p.X.8.m.0. The good news is that the Flash ROM can be read. Usually that means that it may be written as well. But if the read-ID command doesn't work, the write commands won't work. > According to > http://www.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/21527d.pdf > p. 16, the command sequence seems to differ from other such devices, > therefor I experimented with a specialized do_cmd(): > > static void do_am_cmd(long addr_ioaddr, long data_ioaddr, int cmd) > { > flash_out(addr_ioaddr, data_ioaddr, 0x555, 0xAA); > flash_out(addr_ioaddr, data_ioaddr, 0x2AA, 0x55); > flash_out(addr_ioaddr, data_ioaddr, 0x555, cmd); > /* Alternate command is simply > flash_out(addr_ioaddr, data_ioaddr, 0, cmd); */ > } > > in both, the first do_cmd() and the one in the 90/01 method in > get_part_id() without success. Does 3com fiddle with any hardware > protection here? But I doubt, that this would protect the id reading. > Am I on a lost track? What can I try next? I don't know -- I don't believe that there is a new write-protection method. I'll have to track down a board with this Flash part. > BTW, attached is a gcc3.3 compile fix for vortex-diag.c. Grrrrr, this is perfectly valid C code, of the type that has worked for a quarter century. And someone had to break it in a pseudo-pedantic crusade. -- Donald Becker [email protected] Scyld Computing Corporation http://www.scyld.com 914 Bay Ridge Road, Suite 220 Scyld Beowulf cluster system Annapolis MD 21403 410-990-9993 _______________________________________________ vortex mailing list [email protected] http://www.scyld.com/mailman/listinfo/vortex