Thank you everyone for those great tutorials. Unfortunately my Linux live usb stick wasn't working as expected.
So, after digging around. I found the solution to update it in Windows(or PE)
1. Make sure driver for the HBA is working correctly in Windows.
2. Download sg3_utils for Windows port.
3. Open CMD as administrator
4. Get device id of the SAS Expander from running >sg_scan -b -s ( You will get something like SCSI2:0,8,0 for the actual device ID)
You can also find current firmware version here.
5. Run >sg_write_buffer --mode=14 --in=dl-634a.rd2 SCSI2:0,8,0
6. After completion, run again above cmd with mode=15 and without the --in
7. Rescan with sg_scan, you should see the new firmware version.
I have a stupid question, maybe very stupid. If I'm not wrong, IBM 46M0997 and Lenovo 03X3834 use the same chipset. Did someone try to crossflash between IBM 46M0997 and Lenovo 03X3834 (any direction)? What would be potential benefits?
I have upgraded the firmware on the IBM 46M0997, I think it fixed the disk ordering or something. Don't remember, but there is a thread here on STH about it somewhere.
The standard firmware should be just fine for most people, there is not much reason to upgrade the firmware.