From: Larry Finger <Larry.Finger@lwfinger.net>
To: Michael Buesch <mb@bu3sch.de>
Cc: bcm43xx devel <Bcm43xx-dev@lists.berlios.de>,
wireless <linux-wireless@vger.kernel.org>
Subject: RFC: A workaround for BCM43XX devices with no on-board SPROM
Date: Thu, 18 Mar 2010 12:46:35 -0500 [thread overview]
Message-ID: <4BA266FB.1080507@lwfinger.net> (raw)
Michael,
I'm switching this discussion from the kernel Bugzilla to the lists.
As you know, but I'm restating for anyone that has not read our previous
discussions, the b43 driver needs to be changed to handle some of the newer
devices do not have an on-board SPROM. It would be trivial to incorporate the
data except for the need to have a unique, reproducible MAC.
I am proposing to solve this problem using the following steps:
(1) Modify b43-fwcutter to take data from an existing SPROM, modify the MAC by
replacing the last 3 octets with random numbers, and write the resulting file to
/lib/firmware/b43. Fortunately, all affected devices seem to have Revision 8
SPROMS, which makes preparation easier. All such devices will need to use the
calibration parameters of the device from which the prototype SPROM was copied,
but that should not be a serious problem. I have chosen to implement this in
fwcutter rather than ssb_sprom because the ordinary user will not have access to
ssb_sprom; however, they do have a version of fwcutter supplied by the distro.
Unconditionally writing an additional small file to the firmware directory when
extracting firmware is small overhead and it will be transparent to the user of
whatever mechanism the distro uses. The routines needed to calculate the CRC,
etc. have been copied into fwcutter from ssb_sprom. A version of this code is
already running.
(2) Use the steps in http://bcm-v4.sipsolutions.net/802.11/IsSpromAvailable to
determine if the device has an SPROM. If not, then use the kernel's firmware
loading mechanism to get the contents of the file prepared in step 1. This file
has an 8-bit CRC, thus the validity of the file can be tested even though the
test is not very robust.
It it reasonable to keep the vendor portion of the MAC and only replace the
"serial number", or would it be better to randomize all 6 octants?
Is there a better way to load a file into the kernel?
Thanks,
Larry
next reply other threads:[~2010-03-18 17:47 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-18 17:46 Larry Finger [this message]
2010-03-18 19:31 ` RFC: A workaround for BCM43XX devices with no on-board SPROM Michael Buesch
2010-03-18 20:20 ` John W. Linville
2010-03-18 20:31 ` Johannes Berg
2010-03-18 21:38 ` Larry Finger
2010-03-19 7:36 ` Michael Buesch
2010-03-18 20:51 ` Nicolas de Pesloüan
2010-03-18 20:53 ` Johannes Berg
2010-03-18 21:10 ` Larry Finger
2010-03-18 21:20 ` Johannes Berg
2010-03-18 21:47 ` Larry Finger
2010-03-19 18:40 ` Kalle Valo
2010-03-19 19:08 ` [PATCH] ssb: do not read SPROM if it does not exist John W. Linville
2010-03-19 19:41 ` Michael Buesch
2010-03-19 19:46 ` Michael Buesch
2010-03-19 20:21 ` John W. Linville
2010-03-19 20:30 ` Michael Buesch
2010-03-19 20:31 ` John W. Linville
2010-03-19 20:33 ` [PATCH v2] " John W. Linville
2010-03-19 20:41 ` [PATCH v3] " John W. Linville
2010-03-19 21:12 ` Michael Buesch
2010-03-19 22:10 ` John W. Linville
2010-03-19 22:10 ` [PATCH v4] " John W. Linville
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4BA266FB.1080507@lwfinger.net \
--to=larry.finger@lwfinger.net \
--cc=Bcm43xx-dev@lists.berlios.de \
--cc=linux-wireless@vger.kernel.org \
--cc=mb@bu3sch.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).