the bottom is getting cut off so I will attach the post as a .txt document. -- This message posted from opensolaris.org -------------- next part -------------- Basically I have theorized that everything is good except when the driver checks to see if the nvm is valid it errors out, so rather than going into a fail state when the driver checks to see if the nvm is invalid and it "is", we just print the error but continue business as usual. This current hack is truly that, an ugly hack and should not be used for any production environment, it is just a test which will eventually lead me to a more elegant solution.
Here is what I have done: in the source under onnv-gate/usr/src/uts/common/io/e1000g/ is the location of the intel driver source code. The file e1000g_main.c there is a routine which checks the state of the NVM. All that I do currently is replace this: 1365 if (result < E1000_SUCCESS) { 1366 e1000g_log(Adapter, CE_WARN, 1367 "Invalid NVM checksum. Please contact " 1368 "the vendor to update the NVM."); 1369 e1000g_fm_ereport(Adapter, DDI_FM_DEVICE_INVAL_STATE); 1370 goto init_fail; 1371 } with 1365 if (result < E1000_SUCCESS) { 1366 e1000g_log(Adapter, CE_WARN, 1367 "Invalid NVM checksum. Please contact " 1368 "the vendor to update the NVM."); 1369 /*e1000g_fm_ereport(Adapter, DDI_FM_DEVICE_INVAL_STATE); 1370 goto init_fail;*/ 1371 } so as to make it not go into a fail state. By no means is this even a reasonably good idea, but for me it is a start, so try at your own risk. Seriously. Message was edited by: dogisfat