On Sun, Nov 03, 2019 at 12:08:08AM +0100, Stefano Enrico Mendola wrote:
> Hi,
> 
> my bad, I thought the grepped output was enough.
> Here's the complete dmesg(8) output. =============================
> OpenBSD 6.6 (GENERIC.MP) #372: Sat Oct 12 10:56:27 MDT 2019
> dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
> real mem = 2056568832 (1961MB)
> avail mem = 1981595648 (1889MB)
> mpath0 at root
> scsibus0 at mpath0: 256 targets
> mainbus0 at root
> bios0 at mainbus0: SMBIOS rev. 2.7 @ 0x7c31a010 (16 entries)
> bios0: vendor American Megatrends Inc. version "X205TA.212" date
> 09/04/2015
> bios0: ASUSTeK COMPUTER INC. X205TA
> acpi0 at bios0: ACPI 5.0
> acpi0: sleep states S0 S5
> acpi0: tables DSDT FACP TCPA UEFI OEM0 DBG2 HPET LPIT APIC MCFG SSDT SSDT
> SSDT SSDT FPDT SSDT SSDT SSDT SSDT TPM2 BGRT CSRT MSDM
> acpi0: wakeup devices WLAN(S0)
> acpihpet0 at acpi0: 14318179 Hz
> acpimadt0 at acpi0 addr 0xfee00000
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: Intel(R) Atom(TM) CPU Z3735F @ 1.33GHz, 1333.58 MHz, 06-37-08
> cpu0:
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,MOVBE,POPCNT,DEADLINE,AES,RDRAND,NXE,RDTSCP,LONG,LAHF,3DNOWP,PERF,ITSC,TSC_ADJUST,SMEP,ERMS,MD_CLEAR,IBRS,IBPB,STIBP,SENSOR,ARAT,MELTDOWN
> cpu0: 1MB 64b/line 16-way L2 cache
> cpu0: smt 0, core 0, package 0
> mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
> cpu0: apic clock running at 83MHz
> cpu0: mwait min=64, max=64, C-substates=0.2.0.0.0.0.3.3, IBE
> cpu1 at mainbus0: apid 2 (application processor)
> cpu1: Intel(R) Atom(TM) CPU Z3735F @ 1.33GHz, 1333.33 MHz, 06-37-08
> cpu1:
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,MOVBE,POPCNT,DEADLINE,AES,RDRAND,NXE,RDTSCP,LONG,LAHF,3DNOWP,PERF,ITSC,TSC_ADJUST,SMEP,ERMS,MD_CLEAR,IBRS,IBPB,STIBP,SENSOR,ARAT,MELTDOWN
> cpu1: 1MB 64b/line 16-way L2 cache
> cpu1: smt 0, core 1, package 0
> cpu2 at mainbus0: apid 4 (application processor)
> cpu2: Intel(R) Atom(TM) CPU Z3735F @ 1.33GHz, 1333.34 MHz, 06-37-08
> cpu2:
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,MOVBE,POPCNT,DEADLINE,AES,RDRAND,NXE,RDTSCP,LONG,LAHF,3DNOWP,PERF,ITSC,TSC_ADJUST,SMEP,ERMS,MD_CLEAR,IBRS,IBPB,STIBP,SENSOR,ARAT,MELTDOWN
> cpu2: 1MB 64b/line 16-way L2 cache
> cpu2: smt 0, core 2, package 0
> cpu3 at mainbus0: apid 6 (application processor)
> cpu3: Intel(R) Atom(TM) CPU Z3735F @ 1.33GHz, 1333.34 MHz, 06-37-08
> cpu3:
> FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,SSE4.1,SSE4.2,MOVBE,POPCNT,DEADLINE,AES,RDRAND,NXE,RDTSCP,LONG,LAHF,3DNOWP,PERF,ITSC,TSC_ADJUST,SMEP,ERMS,MD_CLEAR,IBRS,IBPB,STIBP,SENSOR,ARAT,MELTDOWN
> cpu3: 1MB 64b/line 16-way L2 cache
> cpu3: smt 0, core 3, package 0
> ioapic0 at mainbus0: apid 8 pa 0xfec00000, version 20, 87 pins, remapped
> acpimcfg0 at acpi0
> acpimcfg0: addr 0xe0000000, bus 0-255
> acpiprt0 at acpi0: bus 0 (PCI0)
> acpiec0 at acpi0: not present
> acpicpu0 at acpi0: C3(10@1000 mwait.1@0x64), C2(10@500 mwait.1@0x51),
> C1(1000@1 mwait.1), PSS
> acpicpu1 at acpi0: C3(10@1000 mwait.1@0x64), C2(10@500 mwait.1@0x51),
> C1(1000@1 mwait.1), PSS
> acpicpu2 at acpi0: C3(10@1000 mwait.1@0x64), C2(10@500 mwait.1@0x51),
> C1(1000@1 mwait.1), PSS
> acpicpu3 at acpi0: C3(10@1000 mwait.1@0x64), C2(10@500 mwait.1@0x51),
> C1(1000@1 mwait.1), PSS
> acpipwrres0 at acpi0: PLPE
> acpipwrres1 at acpi0: USBC, resource for XHC1, EHC1, OTG1
> acpipwrres2 at acpi0: CLK0, resource for CAM1
> acpipwrres3 at acpi0: CLK1, resource for CAM0
> acpipwrres4 at acpi0: P28X
> acpipwrres5 at acpi0: P18X
> acpipwrres6 at acpi0: P28P
> acpipwrres7 at acpi0: P18P
> acpipwrres8 at acpi0: P28T, resource for CAM0, CAM1
> acpipwrres9 at acpi0: P18T, resource for CAM0, CAM1
> acpipwrres10 at acpi0: P1XT
> acpitz0 at acpi0: no critical temperature defined
> "INT3396" at acpi0 not configured
> bytgpio0 at acpi0: GPO2 uid 3 addr 0xfed0e000/0x1000 irq 50, 44 pins
> bytgpio1 at acpi0: GPO0 uid 1 addr 0xfed0c000/0x1000 irq 49, 102 pins
> dwiic0 at acpi0 I2C5 addr 0x90932000/0x1000 irq 36
> iic0 at dwiic0
> tipmic0 at iic0 addr 0x5e irq 67
> bytgpio2 at acpi0: GPO1 uid 2 addr 0xfed0d000/0x1000 irq 48, 28 pins
> "80860F0A" at acpi0 not configured
> dwiic1 at acpi0 I2C1 addr 0x9091a000/0x1000 irq 32
> iic1 at dwiic1
> ihidev0 at iic1 addr 0x68 irq 71, vendor 0xb05 product 0x8585, PDEC3393
> ihidev0: 9 report ids
> ikbd0 at ihidev0 reportid 1: 8 variable keys, 6 key codes
> wskbd0 at ikbd0 mux 1
> hid at ihidev0 reportid 3 not configured
> hid at ihidev0 reportid 4 not configured
> hid at ihidev0 reportid 6 not configured
> hid at ihidev0 reportid 9 not configured
> "INT33BD" at acpi0 not configured
> acpibat0 at acpi0: BATC model "SR Real Battery" serial 123456789 type
> LION oem "Intel SR 1"
> acpicmos0 at acpi0
> acpipci0 at acpi0 PCI0: 0x00000004 0x00000011 0x00000001
> "80860F28" at acpi0 not configured
> "INT0002" at acpi0 not configured
> sdhc0 at acpi0 SDHA addr 0x9094d000/0x1000 irq 44
> sdhc0: SDHC 3.0, 200 MHz base clock
> sdmmc0 at sdhc0: 8-bit, sd high-speed, mmc high-speed, dma
> sdhc1 at acpi0 SDHB addr 0x90905000/0x1000 irq 46
> sdhc1: SDHC 3.0, 100 MHz base clock
> sdmmc1 at sdhc1: 4-bit, sd high-speed, mmc high-speed, dma
> sdhc2 at acpi0 SDHC addr 0x9090b000/0x1000 irq 47, gpio
> sdhc2: SDHC 3.0, 100 MHz base clock
> sdmmc2 at sdhc2: 4-bit, sd high-speed, mmc high-speed, dma
> "INTL9C60" at acpi0 not configured
> "INTL9C60" at acpi0 not configured
> "BCM2E65" at acpi0 not configured
> "80860F0A" at acpi0 not configured
> dwiic2 at acpi0 I2C2 addr 0x90920000/0x1000 irq 33
> iic2 at dwiic2
> "10EC5648" at iic2 addr 0x1a not configured
> dwiic3 at acpi0 I2C3 addr 0x90926000/0x1000, failed initializing
> dwiic4 at acpi0 I2C4 addr 0x9092c000/0x1000 irq 35
> iic3 at dwiic4
> ihidev1 at iic3 addr 0x15 irq 72, vendor 0x4f3 product 0x401, ELAN0100
> ihidev1: 93 report ids
> ims0 at ihidev1 reportid 1: 2 buttons, Z dir
> wsmouse0 at ims0 mux 0
> hid at ihidev1 reportid 11 not configured
> hid at ihidev1 reportid 12 not configured
> hid at ihidev1 reportid 13 not configured
> hid at ihidev1 reportid 93 not configured
> "INTCFD9" at acpi0 not configured
> "ACPI000C" at acpi0 not configured
> "PNP0C14" at acpi0 not configured
> "ATK4002" at acpi0 not configured
> acpiac0 at acpi0: AC unit offline
> acpibtn0 at acpi0: LID_
> acpibtn1 at acpi0: PWRB
> acpibtn2 at acpi0: SLPB
> "INT3401" at acpi0 not configured
> "INT3400" at acpi0 not configured
> "INT3407" at acpi0 not configured
> "INT3403" at acpi0 not configured
> "INT3403" at acpi0 not configured
> "INT3403" at acpi0 not configured
> "INT3403" at acpi0 not configured
> "INT3406" at acpi0 not configured
> "MSFT0101" at acpi0 not configured
> acpivideo0 at acpi0: GFX0
> acpivout0 at acpivideo0: DD1F
> cpu0: using VERW MDS workaround
> cpu0: Enhanced SpeedStep 1333 MHz: speeds: 1329, 1328, 1245, 1162, 1079,
> 996, 913, 830, 747, 664, 581, 498 MHz
> pci0 at mainbus0 bus 0
> pchb0 at pci0 dev 0 function 0 "Intel Bay Trail Host" rev 0x0f
> inteldrm0 at pci0 dev 2 function 0 "Intel Bay Trail Video" rev 0x0f
> drm0 at inteldrm0
> inteldrm0: msi
> xhci0 at pci0 dev 20 function 0 "Intel Bay Trail xHCI" rev 0x0f: msi,
> xHCI 1.0
> usb0 at xhci0: USB revision 3.0
> uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev
> 3.00/1.00 addr 1
> "Intel Bay Trail TXE" rev 0x0f at pci0 dev 26 function 0 not configured
> pcib0 at pci0 dev 31 function 0 "Intel Bay Trail LPC" rev 0x0f
> isa0 at pcib0
> isadma0 at isa0
> com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
> pcppi0 at isa0 port 0x61
> spkr0 at pcppi0
> vmm0 at mainbus0: VMX/EPT (using slow L1TF mitigation)
> efifb at mainbus0 not configured
> bwfm0 at sdmmc1 function 1
> manufacturer 0x02d0, product 0x4334 at sdmmc1 function 2 not configured
> manufacturer 0x02d0, product 0x4334 at sdmmc1 function 3 not configured
> scsibus1 at sdmmc0: 2 targets, initiator 0
> sd0 at scsibus1 targ 1 lun 0: <Samsung, MBG4GC, 0000> removable
> sd0: 29820MB, 512 bytes/sector, 61071360 sectors
> uvideo0 at uhub0 port 1 configuration 1 interface 0 "04081-00092400F4M2GJ
> USB Camera" rev 2.00/0.12 addr 2
> video0 at uvideo0
> uhub1 at uhub0 port 2 configuration 1 interface 0 "Genesys Logic USB2.0
> Hub" rev 2.00/32.98 addr 3
> vscsi0 at root
> scsibus2 at vscsi0: 256 targets
> softraid0 at root
> scsibus3 at softraid0: 256 targets
> root on sd0a (3e652799893b23ec.a) swap on sd0b dump on sd0b
> inteldrm0: 1366x768, 32bpp
> wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation)
> wskbd0: connecting to wsdisplay0
> wsdisplay0: screen 1-5 added (std, vt100 emulation)
> bwfm0: failed loadfirmware of file brcmfmac43340-sdio.nvram
> ============================= Sent: Saturday, November 02, 2019 at 11:54
> PM
> From: "Brad Smith" <b...@comstyle.com>
> To: "Stefano Enrico Mendola" <hy...@gmx.com>
> Subject: Re: Broadcom firmwares and nvram filesPost a dmesg from the
> system if you want people to help you.
> 
> On 11/2/2019 6:50 PM, Stefano Enrico Mendola wrote:
> > Hi Folks,
> > A friend of mine gave me an Asus X250TA to use as a low-power home
> > server.
> > I don't want to waste any of the two USB2 ports for an USB-Ethernet
> > adaptor,
> > but I'd like to use the integrated wifi module instead.
> >
> > After launching fw_update(1) using an USB tethered connection,
> > the firmware gets installed, but it's apparently lacking a .nvram file.
> > Here's the error I'm getting:
> >
> > $ dmesg | grep brcmbwfm0: failed loadfirmware of file
> > brcmfmac43340-sdio.nvram The nvram(4) man page is not even that helpful
> > in this case.
> > I don't think the OpenBSD philosophy is to throw partially working
> > firmwares in the repos,
> > so I think the problem could be related to something else, but I have
> no
> > clue what this
> > something else could be.
> >
> > Also, the firmware repository does not contain any .nvram file, which
> > makes me doubteven more that the problem is related to something
> > partially supported.
> >
> > Any ideas? Best regards
> > Stefano
Hi,

all of the SDIO connected chips need an NVRAM, which can not be provided
by the firmware image, since it really is a per-device setting.  So one
could start collecting them, but I'm not sure if that would lead to
covering most of the machines.  Maybe we could cover at least those that
complained...

Anyway, it looks like your NVRAM is stored in a specific EFI variable,
like it is on some other x86 machines, and since we unfortunately have
no support for reading EFI variables yet, you will need to use Linux for
retrieving the file.

mount -t efivarfs efivarfs /sys/firmware/efi/efivars
cp /sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113 
/some/external/stick/brcmfmac43340-sdio.txt

I have attached a program that converts that text file into the nvram
file:

cc -o nvram nvram.c
./nvram brcmfmac43340-sdio.txt brcmfmac43340-sdio.nvram

And that's the file you can then put into /etc/firmware to finally use
your bwfm(4) device!

Patrick

Reply via email to