lynxis / iwleeprom

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

Writing centrino 6200 eeprom works, but resets after a reboot. #1

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Hi there,

I'm trying to change the pci vid of an intel centrino 6200 (to get around a pci 
whitelist issue, no idea if that'll actually work though), so I checked out the 
atheros branch, modified iwlio.c to allow writing to the 6200, dumped the 
eeprom to a file, changed the vid, then wrote it to the 6200 again.

Now when I read back the eeprom, I see the changed vid, but when I reboot the 
machine the eeprom is back to what it originally was.
The same thing happens when I pass the -p argument to iwleeprom, the changes 
don't stick after a reboot.

Now I realize that writing the 6200 eeprom is not supported, but I was hoping 
someone could provide me some insight.

Thanks for writing such a nice tool :)

Original issue reported on code.google.com by bob.loo...@gmail.com on 14 Nov 2011 at 5:07

GoogleCodeExporter commented 9 years ago
I figured something out, the eeprom changes survive a reboot, but the eeprom 
gets reset after a power off.
Also, the linux kernel uses the vid to check which driver to load, so changing 
it makes the 6200 non-functional (I figured something like that, but it was 
worth a shot).

Original comment by bob.loo...@gmail.com on 14 Nov 2011 at 6:14

GoogleCodeExporter commented 9 years ago
Hi bob,

I'll soon try to put an Intel Centrino 6250 without Lenovo's approval (aka 
without FRU) into a Thinkpad X121e, which has a whitelist in the BIOS. Not sure 
which of the pci config space id (subsystem, revision) must be adapted. From 
the Linux source code it seems that there is the option of an OTP (one-time 
programmable) EEPROM on the 6250. I hope this isn't the case with my card.

Maybe you wrote to the cached content in RAM instead?
Why didn't you patch the program in the trunk but used the atheros branch for 
your try?

Even if writing the vid let the Linux driver not detected it anymore, the 
iwleeprom program shall be able to change it back, as it doesn't need the 
driver.

Original comment by joerg.al...@googlemail.com on 17 Dec 2011 at 2:26

GoogleCodeExporter commented 9 years ago
Hey all, I have a Centrino N 6235 chip with the same issues, I added my chip to 
the supported listed in your code then was able to dump the eeprom, I havn't 
tried writing to it yet.. How can i confirm the size of my EEPROM is 5k (thats 
what i selected?) to make sure i atleast have that part setup correctly..

thanks!

Original comment by ginolovesyou@gmail.com on 5 Feb 2013 at 7:33

GoogleCodeExporter commented 9 years ago
Intel 6000 and 1000 series often do not have eeprom.
Instead they use OTM (One-Time Programmable) memory.
So, the only option for such cards is soldering external eeprom.
External eeprom must be pre-programmed before soldering because the card checks 
it's signature and if it fails the card tries to use OTP again.

P.S. the same for Intel 100 series

Original comment by alexan...@kalinichenko.org on 17 May 2013 at 9:26

GoogleCodeExporter commented 9 years ago
And if you write OTP it just writes data to card RAM, which is erased after 
power off.

Original comment by alexan...@kalinichenko.org on 17 May 2013 at 9:27

GoogleCodeExporter commented 9 years ago

Original comment by alexan...@kalinichenko.org on 17 May 2013 at 9:28

GoogleCodeExporter commented 9 years ago
Thanks for the explanation.

Original comment by bob.loo...@gmail.com on 17 May 2013 at 10:15