Ubuntu – Where can a driver for “Broadcom 802.11abgn Wireless SDIO Adapter” be obtained, for use with Ubuntu 19.04


As I wrote in another question, Lubuntu 19.04 does not see wifi network card on a CORE+ 10.1 ultra portable PC , I installed Lubuntu 19.04 on a
Beantech CORE+ 10.1 Ultra Portable PC (basically, a tablet with an attachable keyboard; model W1001PB46FD), but could not get WiFi for work. The usual tools for identifying the WiFi card (lspci, lsusb, rfkill) did not tell anything useful; dmesg told about some SDIO stuff, but not a lot of details.

Since then, I discovered that the manufacturer posted a document on its site with some advice for the users MS Windows users similarly afflicted by a WiFi trouble on these PCs:
("Windows 10 Update results in no Wifi – Click Here for Fix Procedure").
In the PDF document, they tell that the model I have (W1001PB46FD) is a Dual Band Wi Fi Model, and the WiFi card in it is, apparently a "Broadcom 802.11abgn Wireless SDIO Adapter", whatever it means. (I don't know if it's a generic description, or can in fact identify the exact model number). They then outline a process whereby MS Windows users can find the appropriate driver on their computer and apply it.

They also provide a link for downloading driver patches, as a MS Windows EXE file.

I guess their advice is not terribly useful for me, since even if I still had access to the MS Windows driver file, or if I had downloaded the EXE file, it probably is not in the same format as what Ubuntu needs.

I am aware of the detailed answer in this question:
Installing Broadcom Wireless Drivers ,
but I don't see any Wireless SDIO adapters discussed there.

P.S.1 The command dmesg | grep -i brcm produces no output.

With dmesg | grep -i sdio I have
[ 4.372417] mmc1: new ultra high speed DDR50 SDIO card at address 0001
[ 13.780559] Bluetooth: Generic Bluetooth SDIO driver ver 0.1

No file in /sys/firmware/efi has nvram in its name:

ls -l /sys/firmware/efi
total 0
-r--r--r--  1 root root 4096 Apr 12 13:47 config_table
drwxr-xr-x  2 root root    0 Apr 12 13:45 efivars
-r--r--r--  1 root root 4096 Apr 12 13:47 fw_platform_size
-r--r--r--  1 root root 4096 Apr 12 13:47 fw_vendor
-r--r--r--  1 root root 4096 Apr 12 13:47 runtime
drwxr-xr-x 31 root root    0 Apr 12 13:47 runtime-map
-r--------  1 root root 4096 Apr 12 13:47 systab
drwxr-xr-x  2 root root    0 Apr 12 13:47 vars

The file fw_vendor has one word in it. 0xbb9ff710

P.S.2 As requested, I have removed the package bcmwl-kernel-source which I had installed earlier, and rebooted.

  • The directory /sys/firmware/efi/efivars is empty.

  • dmesg | grep -i brcm shows the following

    [   13.497791] brcmfmac: brcmf_fw_alloc_request: using    brcm/brcmfmac43340-sdio for chip BCM43341/2
    [   13.498508] usbcore: registered new interface driver brcmfmac
    [   13.504836] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43340-sdio.Default string-Default string.txt failed with error -2
    [   13.504873] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43340-sdio.txt failed with error -2
    [   14.505548] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50
    [   96.502026] Modules linked in: bnep nls_iso8859_1 snd_soc_sst_cht_bsw_rt5645 joydev intel_rapl intel_powerclamp coretemp gpio_keys kvm_intel punit_atom_debug crct10dif_pclmul crc32_pclmul ghash_clmulni_intel aesni_intel aes_x86_64 btsdio crypto_simd brcmfmac cryptd glue_helper brcmutil intel_cstate input_leds cfg80211 axp288_fuel_gauge axp20x_pek axp288_charger extcon_axp288 axp288_adc snd_intel_sst_acpi snd_intel_sst_core snd_soc_rt5645 snd_soc_sst_atom_hifi2_platform snd_soc_rl6231 snd_soc_acpi_intel_match snd_soc_acpi snd_soc_core snd_hdmi_lpe_audio snd_compress ac97_bus snd_pcm_dmaengine snd_pcm intel_xhci_usb_role_switch roles processor_thermal_device intel_soc_dts_iosf mei_txe snd_seq_midi mei snd_seq_midi_event intel_atomisp2_pm snd_rawmidi hci_uart btqca bmc150_accel_i2c btrtl mac_hid btbcm btintel snd_seq bmc150_accel_core snd_seq_device industrialio_triggered_buffer bluetooth snd_timer kfifo_buf dw_dmac industrialio dw_dmac_core goodix intel_cht_int33fe ecdh_generic snd intel_hid
    [   96.502171]  sparse_keymap soundcore intel_int0002_vgpio int3403_thermal 8250_dw int3400_thermal spi_pxa2xx_platform acpi_thermal_rel int340x_thermal_zone soc_button_array int3406_thermal acpi_pad sch_fq_codel parport_pc ppdev lp parport ip_tables x_tables autofs4 btrfs xor zstd_compress raid6_pq libcrc32c dm_mirror dm_region_hash dm_log hid_ite hid_generic usbhid hid i915 kvmgt vfio_mdev mdev mmc_block vfio_iommu_type1 vfio kvm irqbypass i2c_algo_bit drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops drm lpc_ich video axp20x_i2c axp20x sdhci_acpi sdhci

(The last two lines repeat one more time later, with no changes other than the time stamp).

So I guess it gives us the chip name, BCM43341/2 ? I wondered if I could use the solution from Connection to WiFi network with my Asus x205TA ( they seem to have the same or similar chip ). But maybe not, because that solution relies on the pre-existing file /sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113 , and in my case the directory /sys/firmware/efi/efivars has no files in it.

$ mokutil --sb-state 
This system doesn't support Secure Boot 

Best Answer

Related Question