I'm not sure about the legality of disassembling that blob, because although it should be GPL (and the website says it's GPL) there's no source code which is a requirement of the GPL. And if you open the zip file with the firmware, there's a nonfree license.

Anyway, I compiled the rt2x00 drivers with debugging support and installed on my system. So far all I've figured out is a few details about the format of the firmware blob. The last 2 bytes contain a CRC16 checksum of the rest of the file, and the second-last 2 bytes contain the version. The blob seems to be in 2 parts. The first half contains some code, and after that is filled with 0xFF's. The second half contains some code, and after that is filled with 0x00's (except for those last 4 bytes). After removing the whole second half of the blob, it still connects fine, but outputs some warnings.

Reply via email to