.bix seems to be the firmware file format which is used by Accton-powered switches. It has been spotted on 3com (3812/3824/3848, 3870), EdgeCore (ES3526, ES4649, etc.) and Foundry (EdgeIron 24GS, 48GS) so far.
This research has been mainly based on 3com 3812/3824/3848 firmware images, files from other vendors suggest that they are using something similar.
There are 3 times of .BIX files. Runtime, Diag and Multiple Image.
Runtime and Diag contain a single gzipped datablob. Multiple Image can contain multiple modules (runtimes), each with their own 32-byte header, for instance if the ES4649 where the MPC8245 on the main board and the MPC8241 on the 10GE expansion board each run their own runtime.
Some devices just use a regular runtime, others use the multiple image.
Header and Datablob are checksummed seperatly..
Multiple Image headerEdit
|00-03h||9A 8B 7C 6D|
|18-1Bh||module 1 version|
|1C-1Fh||module 1 filesize|
|20-23h||module 2 version|
|24-27h||module 2 filesize|
|00-03h||1A 2B 3C 4D|
|13-17h||01 01 04 0C 16|
|1C-1Fh||File Header Checksum|