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:
https://beantech.net/support/
https://beantech.net/wp-content/uploads/2017/12/Core-10.1-No-Wi-Fi-8A.122617.3-Solution-Procedure.pdf
("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