3v1n0 / iwleeprom

Automatically exported from code.google.com/p/iwleeprom
1 stars 0 forks source link

eeprom not modified for Atheros AR9380 card #19

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Save eeprom dump
2. Modify dump
3. Flash modified dump back to card

What is the expected output? What do you see instead?

Eeprom content should change. Instelad, nothing happens, also CRC  stays the 
same.
Issue similar to #17, but NVM type is EEPROM.

~/atheros$ sudo ./iwleeprom -D 1 -d 0000:02:00.0 -i mod.rom 
debug level: 1
Using device 0000:02:00.0 [RW] AR9300 Wireless Adapter (PCI-E) 
IO driver: ath9300
Supported ops:  read write parse
address: 58700000
HW: AR9300 (PCI-E) rev 0003
RF: integrated
Trying EEPROM access...
OTP address out of range: 0fff
OTP address out of range: 1001
ath9300_eeprom_check_header 00000000  @0fff r=0
Filling ath9300 EEPROM... DONE
OTP address out of range: 0401
ath9300_eeprom_check_header 00650000  @03ff r=1
AR9300 device NVM type: EEPROM  (data block @03ff)
Found block at 3ff: code=3 ref=5 length=635 major=2 minor=12 (RAW: 0cb22765)
Calculating EEPROM CRC...
CRC (stored): c211
CRC (eval)  : c211
compression : block
ath9300 short eeprom base: 383 (0x017f) size: 641
About to write device EEPROM, press 'Y' if you are sure... Y
Writing data to EEPROM...
  '.' = match, 'x' = write
Dump file byte order: LITTLE ENDIAN
0000 [.......xx.......................................................]
0080 [................................................................]
0100 [................................................................]
0180 [................................................................]
0200 [................................................................]
0280 [................................................................]
0300 [................................................................]
0380 [................................................................]

EEPROM has been written from 'mod.rom'
~/atheros$

What version of the product are you using? On what operating system?

Tried on Ubuntu 14.10 and 9.04

Please provide any additional information below.

Original issue reported on code.google.com by Ivars.St...@gmail.com on 25 Feb 2015 at 11:11

GoogleCodeExporter commented 9 years ago
Card info from lspci -nv (same as in issue # 7
02:00.0 0280: 168c:0030 (rev 01)
    Subsystem: 106b:009a
    Flags: bus master, fast devsel, latency 0, IRQ 11
    Memory at 58700000 (64-bit, non-prefetchable) [size=128K]
    Expansion ROM at 58a00000 [disabled] [size=64K]
    Capabilities: <access denied>

Original comment by Ivars.St...@gmail.com on 25 Feb 2015 at 11:12

kkeijzer commented 5 years ago

I am having the same problem using iwleeprom trying to update the regulatory domain of about twenty AR9380 chips. They are all EEPROM, not OTP. I can dump the ROM, change the regdomain and checksum, but when I try to write it, nothing changes. The regdomain and checksum just stay the same.

Every time I attempt to write again, the same regions are claimed to be written, but nothing happens.

Is this tool still under development? Because I would really like to get this to work.

root@ubuntu:~# ./iwleeprom -D1 -d 0000:02:00.0 -s
debug level: 1
Using device 0000:02:00.0 [RW] AR9300 Wireless Adapter (PCI-E) 
IO driver: ath9300
Supported ops:  read write parse
address: e1500000
HW: AR9300 (PCI-E) rev 0003
RF: integrated
Trying EEPROM access...
OTP address out of range: 0fff
OTP address out of range: 1001
ath9300_eeprom_check_header 00000000  @0fff r=0
Filling ath9300 EEPROM... DONE
OTP address out of range: 0401
ath9300_eeprom_check_header 00650000  @03ff r=1
AR9300 device NVM type: EEPROM  (data block @03ff)
Found block at 3ff: code=3 ref=5 length=635 major=2 minor=12 (RAW: 0cb22765)
Calculating EEPROM CRC...
CRC (stored): c486
CRC (eval)  : c486
compression : block
ath9300 short eeprom base: 383 (0x017f) size: 641

==== BASE ====
Version     : 02
Template    : 05
Cust data   : C8615260GY8DDV3AL
MAC address : 7c:c3:a1:<cut>
Reg. domain : 0064 001f
Tx mask     : 0111
Rx mask     : 0111
Capabilities: 03
       Bands: 5GHz 2.4GHz
       HT 2G: HT20 HT40
       HT 5G: HT20 HT40
Misc flags  : 00
Big endian  :  0

==== MISC ====
rfSilent       : 00
BT options     : 00
deviceCap      : 00
deviceType     : 05
pwrTableOffset : 00
tuning params  : 00 00
featureEnable  : 0d
miscConfig     : 14
txrxgain       : 00
swreg          : 00000000

==== GPIO ====
EEPROM WE      : 06
WLAN disable   : 00
WLAN LED       : 08
Rx band select : ff

root@ubuntu:~# ./iwleeprom -D1 -d 0000:02:00.0 -o original.bin
debug level: 1
Using device 0000:02:00.0 [RW] AR9300 Wireless Adapter (PCI-E) 
IO driver: ath9300
Supported ops:  read write parse
address: e1500000
HW: AR9300 (PCI-E) rev 0003
RF: integrated
Trying EEPROM access...
OTP address out of range: 0fff
OTP address out of range: 1001
ath9300_eeprom_check_header 00000000  @0fff r=0
Filling ath9300 EEPROM... DONE
OTP address out of range: 0401
ath9300_eeprom_check_header 00650000  @03ff r=1
AR9300 device NVM type: EEPROM  (data block @03ff)
Found block at 3ff: code=3 ref=5 length=635 major=2 minor=12 (RAW: 0cb22765)
Calculating EEPROM CRC...
CRC (stored): c486
CRC (eval)  : c486
compression : block
ath9300 short eeprom base: 383 (0x017f) size: 641
Saving dump with byte order: LITTLE ENDIAN
0000 [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
0080 [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
0100 [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
0180 [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
0200 [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
0280 [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
0300 [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]
0380 [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx]

EEPROM has been dumped to 'original.bin'

<edited with GHex>

root@ubuntu:~# ./iwleeprom -D1 -n -i new.bin -F ath9300 -s
debug level: 1
Forced driver name: ath9300
Device-less operation...
 Using IO driver (forced): ath9300
  byte order: LITTLE ENDIAN
Trying EEPROM access...
OTP address out of range: 0fff
OTP address out of range: 1001
ath9300_eeprom_check_header 00000000  @0fff r=0
Filling ath9300 EEPROM... DONE
OTP address out of range: 0401
ath9300_eeprom_check_header 00650000  @03ff r=1
AR9300 device NVM type: EEPROM  (data block @03ff)
Found block at 3ff: code=3 ref=5 length=635 major=2 minor=12 (RAW: 0cb22765)
Calculating EEPROM CRC...
CRC (stored): c459
CRC (eval)  : c459
compression : block
ath9300 short eeprom base: 383 (0x017f) size: 641

==== BASE ====
Version     : 02
Template    : 05
Cust data   : C8615260GY8DDV3AL
MAC address : 7c:c3:a1:<cut>
Reg. domain : 0037 001f
Tx mask     : 0111
Rx mask     : 0111
Capabilities: 03
       Bands: 5GHz 2.4GHz
       HT 2G: HT20 HT40
       HT 5G: HT20 HT40
Misc flags  : 00
Big endian  :  0

==== MISC ====
rfSilent       : 00
BT options     : 00
deviceCap      : 00
deviceType     : 05
pwrTableOffset : 00
tuning params  : 00 00
featureEnable  : 0d
miscConfig     : 14
txrxgain       : 00
swreg          : 00000000

==== GPIO ====
EEPROM WE      : 06
WLAN disable   : 00
WLAN LED       : 08
Rx band select : ff

root@ubuntu:~# ./iwleeprom -D1 -d 0000:02:00.0 -i new.bin
debug level: 1
Using device 0000:02:00.0 [RW] AR9300 Wireless Adapter (PCI-E) 
IO driver: ath9300
Supported ops:  read write parse
address: e1500000
HW: AR9300 (PCI-E) rev 0003
RF: integrated
Trying EEPROM access...
OTP address out of range: 0fff
OTP address out of range: 1001
ath9300_eeprom_check_header 00000000  @0fff r=0
Filling ath9300 EEPROM... DONE
OTP address out of range: 0401
ath9300_eeprom_check_header 00650000  @03ff r=1
AR9300 device NVM type: EEPROM  (data block @03ff)
Found block at 3ff: code=3 ref=5 length=635 major=2 minor=12 (RAW: 0cb22765)
Calculating EEPROM CRC...
CRC (stored): c486
CRC (eval)  : c486
compression : block
ath9300 short eeprom base: 383 (0x017f) size: 641
About to write device EEPROM, press 'Y' if you are sure... Y
Writing data to EEPROM...
  '.' = match, 'x' = write
Dump file byte order: LITTLE ENDIAN
0000 [................................................................]
0080 [................................................................]
0100 [................................................................]
0180 [x...............................................................]
0200 [................................................................]
0280 [................................................................]
0300 [................................................................]
0380 [...............................................x................]

EEPROM has been written from 'new.bin'

root@ubuntu:~# ./iwleeprom -D1 -d 0000:02:00.0 -s
debug level: 1
Using device 0000:02:00.0 [RW] AR9300 Wireless Adapter (PCI-E) 
IO driver: ath9300
Supported ops:  read write parse
address: e1500000
HW: AR9300 (PCI-E) rev 0003
RF: integrated
Trying EEPROM access...
OTP address out of range: 0fff
OTP address out of range: 1001
ath9300_eeprom_check_header 00000000  @0fff r=0
Filling ath9300 EEPROM... DONE
OTP address out of range: 0401
ath9300_eeprom_check_header 00650000  @03ff r=1
AR9300 device NVM type: EEPROM  (data block @03ff)
Found block at 3ff: code=3 ref=5 length=635 major=2 minor=12 (RAW: 0cb22765)
Calculating EEPROM CRC...
CRC (stored): c486
CRC (eval)  : c486
compression : block
ath9300 short eeprom base: 383 (0x017f) size: 641

==== BASE ====
Version     : 02
Template    : 05
Cust data   : C8615260GY8DDV3AL
MAC address : 7c:c3:a1:<cut>
Reg. domain : 0064 001f
Tx mask     : 0111
Rx mask     : 0111
Capabilities: 03
       Bands: 5GHz 2.4GHz
       HT 2G: HT20 HT40
       HT 5G: HT20 HT40
Misc flags  : 00
Big endian  :  0

==== MISC ====
rfSilent       : 00
BT options     : 00
deviceCap      : 00
deviceType     : 05
pwrTableOffset : 00
tuning params  : 00 00
featureEnable  : 0d
miscConfig     : 14
txrxgain       : 00
swreg          : 00000000

==== GPIO ====
EEPROM WE      : 06
WLAN disable   : 00
WLAN LED       : 08
Rx band select : ff