Michael Buesch wrote: > On Sunday 20 April 2008 07:27:57 Larry Finger wrote: >> I'm not sure what happened to my patch; however, I just added that >> information to the sprom section of the b43 wiki at linux-wireless. > > Can you resend it?
Yes. Larry Index: ssb_sprom/README =================================================================== --- ssb_sprom.orig/README +++ ssb_sprom/README @@ -13,3 +13,78 @@ 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 + +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 cp 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
