PDA

View Full Version : strange homieflash 1.5 error: error reading (null)



dcbarry
04-01-2010, 01:21 PM
Keep getting hints of success, but then I get to the point where I'm stuck again.

Quick summary: Homieflash 1.5 recognized my EPROM correctly, but is throwing this error trying to write:


FATAL: error reading (null)
System error string: Bad address


Right now, I'm trying to flash my PROM for my THD box, unsing an Intel NIC card that had a preexisting ROM socket. I tried using the FBOOT and IBAUTILs, and achieved partial degrees of success in having my EPROM recognized, and it seems read, but could not seem to cross the line.

So, instead, I've tried to use homieflash. Here are my details:


PROM ---> SST39VF010 EPROM (1 Meg)

NIC --> Intel 82558B PRO/100+ PCI

OS -> Fedora 12 (Live CD)


eepro-diag --> using the version compiled / posted by bcc here :
( http://www.dealdatabase.com/forum/showpost.php?p=300353&postcount=20 )

homie-flash --> using verion 1.5 posted by "bcc":
( http://www.dealdatabase.com/forum/showpost.php?p=301068&postcount=52 )


Flash image: using v1_06_c1.edited as posted by t_rj here:
( http://dealdatabase.com/forum/showpost.php?p=302023&postcount=9 )

Note to self: original 1.06 PROM:

( http://dealdatabase.com/forum/showpost.php?p=302023&postcount=9 )


Here is the command output of running lspci, eepro100-diag, and homieflash [NOTE: I did rename the flash file from v1_06_c1.edited to v1_06.bin ]:





[root@localhost THUMBDRIVE]# lspci -v -d 8086:1229
00:09.0 Ethernet controller: Intel Corporation 82557/8/9/0/1 Ethernet Pro 100 (rev 05)
Subsystem: Intel Corporation 82558B PRO/100+ PCI (TP)
Flags: medium devsel, IRQ 17
Memory at ef100000 (32-bit, prefetchable) [size=4K]
I/O ports at d000 [size=32]
Memory at ef000000 (32-bit, non-prefetchable) [size=1M]
[virtual] Expansion ROM at 80000000 [disabled] [size=1M]
Capabilities: [dc] Power Management version 1
Kernel modules: e100

[root@localhost THUMBDRIVE]# ./eepro100-diag -B -v

eepro100-diag.c:v2.13 2/28/2005 Donald Becker (becker@scyld.com)
http://www.scyld.com/diag/index.html
Index #1: Found a Intel i82557/8/9 EtherExpressPro100 adapter at 0xd000.
i82557 chip registers at 0xd000:
01000000 00000000 00000000 00080001 183fffff 00000000
No interrupt sources are pending.
The transmit unit state is 'Idle'.
The receive unit state is 'Idle'.
This status is unusual for an activated interface.
The Command register has an unprocessed command 0100(?!).
Intel EtherExpress Pro 10/100 EEPROM contents:
Station address 01:E0:27:98:D5:F0.
Receiver lock-up bug exists. (The driver work-around *is* implemented.)
Board assembly 697680-002, Physical connectors present: RJ45
Primary interface chip i82555 PHY #1.
Primary transceiver is MII PHY #1. MII PHY #1 transceiver registers:
3000 7809 02a8 0150 05e1 0000 0000 ffff
ffff ffff ffff ffff ffff ffff ffff ffff
0000 0000 0001 0000 0000 0000 0000 0000
0000 0000 0000 0000 ffff ffff ffff ffff.

BIOS ROM setup for read/write access
Use '-a' or '-aa' to show device registers,
'-e' to show EEPROM contents, -ee for parsed contents,
or '-m' or '-mm' to show MII management registers.

[root@localhost THUMBDRIVE]# ./homieflash -f EF000000 -w ./v1_06.bin

Setting FLASH_START=ef000000
flash id bfd5: SST39VF010
Flash size: 131072
FATAL: error reading (null)
System error string: Bad address






I even took a peek at the source for this, but my C skills are mostly non-existant. However, in looking at this code, I'm guessing the error may not be in the actual flash write:

else if (dowrite) {
if (readfile(optarg, newflash, flash_mem_size)) {
fatal("error reading %s", optarg);
}
flash_write(flash, flash_mem_size, flash_ent->flags, newflash);
}


.... and which now as I read closer seems to hint at some form of problem with the file name (???) -- since the error message is reporting the file name as (null) ????



Any thoughts? I feel so close, yet so far......


All help is greatly appreciated. Unfortunately, writing/debugging/compiling C is not in my skillset. So far, I've taught myself SMD soldering, debugged various issues in linux (not my native OS), and all sorts of other things to get here. I don't know how much more I can squeeze in...... so if there is a coding error requiring re-compilation, I'd greatly appreciate if someone could tackle that.


Meanwhile, the only other thing I can think of is to play with the filename ... perhaps I need to remove the ./ for some reason???

Thanks,

d.

bcc
04-01-2010, 02:38 PM
Keep getting hints of success, but then I get to the point where I'm stuck again.

Quick summary: Homieflash 1.5 recognized my EPROM correctly, but is throwing this error trying to write:


FATAL: error reading (null)
System error string: Bad address
Whoops, the newer code wasn't handling the file name correctly. Bug introduced with the 1.4 version. Guess you're the first person to try it after all this time. A fixed version is here:
http://www.dealdatabase.com/forum/showpost.php?p=306721&postcount=53

dcbarry
04-02-2010, 12:12 AM
Sorry to be a PITA:


But now, I am getting bash: ./homieflash: cannot execute binary file

although the file is marked as executable.


Is it me, or is it possibly a compile error?


Thanks,

d.