Extracting (boardvendor and) boardtype

Arend van Spriel arend at broadcom.com
Tue Mar 19 07:22:33 EDT 2013


On 03/19/2013 12:18 PM, Rafał Miłecki wrote:
> 2013/3/19 Jonas Gorski <jogo at openwrt.org>:
>> On 19 March 2013 11:36, Rafał Miłecki <zajec5 at gmail.com> wrote:
>>> However take a look at siutils.c you're using internally at Broadcom.
>>> I've found it in:
>>> GPL_RT_AC66U_3004270/asuswrt/release/src-rt-6.x/shared/siutils.c
>>> This file contains si_nvram_process. This function calls that
>>> si_getdevpathintvar and getintvar I'm not sure about. Does
>>> si_nvram_process prefer SPROM's boardtype (offset SROM_SSID==0x2 or
>>> offset SSB_SPROM1_SPID==0x4) if it's available (not 0xFFFF)?
>>
>> The getdevpathintvar and getintvar are for extracting these values
>> from nvram instead of SPROM - remember that embedded bcm47xx devices
>> are "sprom"-less and have these values stored in nvram. Since there is
>> only one global nvram, you need to prefix these values with the
>> "pci/sb" device path to differentiate if you have more than one wifi
>> chip (e.g. "sb/1/boardflags" or "pci/1/boardflags"). But this isn't
>> necessarily done for single wifi devices, hence the getdevpathintvar
>> -> getinvar path (as the fall back).
>
> So what function does Broadcom use to extract something from SPROM?

srom_var_init()

Gr. AvS




More information about the b43-dev mailing list