I checked the source code of Atheros EEPROM Tool, it seems like some C++ thing which I don't understand too... About two different dumps - I saw that, seems like big dump is incomplete, in Linux it was complete thing... Needs some thinkering... Which is memory start address for your card? 0xC2400000 ?
I've tried this tool last night on my working AR9280, made a dump with it and compared with the full dump from the Atheros EEPROM tool. Yes, the second one looks incomplete, but most of it is present in the first.
In linux everything is simple - Linux loads ath9k module for all cards and doesn't asks which card is it.... It works OOB....
Hm, it should not be like this... The ath9300 should be chosen by the kernel in case of IDs like yours. How many IDs did you change initially (you know that these IDs can appear in more that one place in the 512b dump, right)?
In "iwleeprom" I changed ath9k driver IDs to detect my card correct as ath9k card, not ath9300... It loads different addresses for ath9k and ath9300... Simple hack...
Code:
/* Atheros 9k devices */
const struct pci_id ath9k_ids[] = {
{ ATHEROS_PCI_VID, 0x0034, "AR9285 Wireless Adapter (PCI-E)" },
/* AR9300 devices */
const struct pci_id ath9300_ids[] = {
{ ATHEROS_PCI_VID, 0x0030, "AR9300 Wireless Adapter (PCI-E)" },
Yeah, I saw that part. This is an easy one.
Maybe it's time to ask the author of this code, I saw there is an e-mail inside the source files.
Edit: may I ask you to send me the dump of your card, made with iwleeprom (the current one)?
Edit2: I almost forgot, may I see the terminal log too? Do you get any error messages, when you try to write the EEPROM?