This patch adds a small tutorial to the README of ssb-sprom. There is a steep learning curve for this tool - I hope this will help.
Larry Index: sprom/README =================================================================== --- sprom.orig/README +++ sprom/README @@ -13,3 +13,80 @@ Requirements ------------ 1) C99 compatible compiler. + +Usage +----- + +The contents of the sprom are exposed to the user in sysfs. This tool can, in +principle, read and write the sprom in place; however, making a mistake during +sprom writing could render your device unusable. For this reason, we recommend +copying the sprom contents to disk as the first step. This copy can then be +modified until it contains the desired new information. Only then and with +caution should the sprom be rewritten. DO NOT MAKE ANY CHANGES UNLESS YOU KNOW +WHAT YOU ARE DOING!!!! You have been warned!!! + +Obtaining a disk copy of the sprom contents +------------------------------------------- + +This file name for the sprom contents depends on the bus layout of the specific +computer being used and will be something cryptic like + +/sys/devices/pci0000:00/0000:00:02.0/0000:01:00.0/ssb_sprom + +It is not recommended that you try to type the name. Instead, you should +use the following commands to get the working copy: + +SSB_SPROM=`find /sys -name ssb_sprom` +sudo cat $SSB_SPROM > ssb_sprom_copy + +Newbie Note: In the first line, those symbols are back ticks (usually found +near the <ESC> key, not forward ticks usually found near the <CR> (enter) key. + +Modifying the contents of the working copy +------------------------------------------ + +You may now look at the contents of your sprom with the command + +ssb-sprom -i ssb_sprom_copy -P + +As an example, let us suppose that you have purchased a Dell mini-pci card to +use in an HP laptop. The HP BIOS refuses to use the card when the pcivendor is +Dell (code 0x1028), not HP (code 0x103C). From the dump above, we learn that the +pcivendor code is a 16-bit quantity stored at 0x06. To change that code, we use +the commands + +ssb-sprom -i ssb_sprom_copy -o ssb_sprom_copy -s 0x06,0x3C +ssb-sprom -i ssb_sprom_copy -o ssb_sprom_copy -s 0x07.0x10 + +to write the two bytes separately. The documentation implies that these data +could be written as a single 16-bit quantity; however, that doesn't work at +the moment. + +Once you think you have updated correctly, use + +ssb-sprom -i ssb_sprom_copy -P + +again to check the contents. + +Rewriting the sprom contents +---------------------------- + +Once the sprom contents are the way you want them, and presumably correct, +you are ready to rewrite the file. If you have logged out since the working +copy of the sprom contents was obtained, the symbol containing the location +of the file in sysfs will have been lost. In any case, it is safe to reload +that symbol again with + +SSB_SPROM=`find /sys -name ssb_sprom` + +You are then ready to rewrite the sprom with + +sudo cat ssb_sprom_copy > $SSB_SPROM + +Once again, you are urged to be absolutely certain of the contents of the +working copy BEFORE taking this step. If your interface becomes unusable as a +result of writing incorrect data into the sprom, the responsibility is YOURS. +Once again, you have been warned. + +---------- + _______________________________________________ Bcm43xx-dev mailing list [email protected] https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
