0

For the solution skip to the very bottom of this post. Keeping all track changes for anyone else looking for this.

I've decided since the original post is no longer updated, I'm going to start a new thread on this issue. This issue is still on-going and I haven't found a solution, yet.

When installing linux on the Sony Vaio Pro Duo 13, the SDIO Broadcom BCM43241 wireless device is not recognized. Thanks to kwoby from his comment on this post, the reason it does not work is because it is normally is created using nvram-tools, but it does not work on the Sony Pro 13.

For the Sony Vaio Pro Duo 13 this post might have possibly found an answer.

In the post it links to two different files:

https://github.com/jfwells/linux-asus-t100ta/blob/master/nvram/lib/firmware/brcm/brcmfmac43241b4-sdio.txt

brcmfmac43241b4-sdio.txt: 280cece85aa76413e0a0e9ce4ea6782dc60ba4753b8266d4a91d7c73d0fee5a6

https://www.dropbox.com/s/8m9n4qolf76iz11/brcmfmac-sdio.zip

brcmfmac-sdio.zip
brcmfmac-sdio.txt: 9af05fba32b8254bb9437aceffabbf0822d617350a455ce56c66c9a53a99d533
brcmfmac-sdio.bin: 0e53e2eadb22610c298df18b631f571d216a3eca3d537812a6f074337fb38eca

The latter, the user claimed to have contacted a developer from Broadcom, and it is the file the developer provided.

Here's that user's quote

After contacted a developer of broadcom, he gave me mails between him and an user who had same issue but have successfully solved this. The user helped me by sending another nvram and firmware (a bin and a txt) and it worked. I think it's just because the wireless card is too new for the current kernel (correct me if I say something wrong as a novice of linux).

I tried the brcmfmac-sdio.zip file and it only worked partially for me.

Before brcmfmac-sdio.zip:

dmesg:

[    1.876661] brcmfmac: brcmf_sdio_drivestrengthinit: No SDIO Drive strength init done for chip 4324 rev 5 pmurev 17
[    1.877893] usbcore: registered new interface driver brcmfmac
[    1.888464] brcmfmac_sdio mmc0:0001:1: firmware: direct-loading firmware brcm/brcmfmac43241b4-sdio.bin
[    1.888486] brcmfmac_sdio mmc0:0001:1: firmware: failed to load brcm/brcmfmac43241b4-sdio.txt (-2)
[    1.888550] brcmfmac_sdio mmc0:0001:1: Direct firmware load for brcm/brcmfmac43241b4-sdio.txt failed with error -2
[    2.891252] brcmfmac: brcmf_sdio_htclk: HT Avail timeout (1000000): clkctl 0x50

After brcmfmac-sdio.zip:

dmesg:

[ 1548.361470] usbcore: deregistering interface driver brcmfmac
[ 1553.562888] brcmfmac: brcmf_sdio_drivestrengthinit: No SDIO Drive strength init done for chip 4324 rev 5 pmurev 17
[ 1553.563246] usbcore: registered new interface driver brcmfmac
[ 1553.563343] brcmfmac_sdio mmc0:0001:1: firmware: direct-loading firmware brcm/brcmfmac43241b4-sdio.bin
[ 1553.563352] brcmfmac_sdio mmc0:0001:1: firmware: direct-loading firmware brcm/brcmfmac43241b4-sdio.txt
[ 1553.709778] brcmfmac: brcmf_c_preinit_dcmds: Firmware version = wl0: Jul 17 2013 07:36:07 version 6.10.197.71 (r412987) FWID 01-882d2634
[ 1553.723455] brcmfmac: brcmf_cfg80211_reg_notifier: not a ISO3166 code
[ 1553.764370] brcmfmac: brcmf_add_if: ERROR: netdev:wlan0 already exists
[ 1553.764376] brcmfmac: brcmf_add_if: ignore IF event
[ 1563.827235] brcmfmac: brcmf_escan_timeout: timer expired

You can see that it's recognized in iwconfig now:

root@chickenbutt:~# iwconfig wlan0
wlan0     IEEE 802.11abgn  ESSID:off/any  
          Mode:Managed  Access Point: Not-Associated   
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on

We can see that, because the brcmfmac43241b4-sdio.txt file now exists, it is able to finish loading the brcmfmac module. But it doesn't work, completely. Such as, you can't set the wireless interface to monitor mode, and you can't use iw to scan for routers.

root@chickenbutt:~# ifconfig wlan0 down
root@chickenbutt:~# iwconfig wlan0 mode monitor
Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlan0 ; Operation not supported.

This is what happens if you try to use iw to scan for networks:

root@chickenbutt:~# iw wlan0 scan
scan aborted!

Update to @Pilot6:

lspci -vnn:

00:00.0 Host bridge [0600]: Intel Corporation Haswell-ULT DRAM Controller [8086:0a04] (rev 09)
    Subsystem: Sony Corporation Device [104d:90b1]
00:02.0 VGA compatible controller [0300]: Intel Corporation Haswell-ULT Integrated Graphics Controller [8086:0a26] (rev 09)
    Subsystem: Sony Corporation Device [104d:90b1]
    Kernel driver in use: i915
00:03.0 Audio device [0403]: Intel Corporation Haswell-ULT HD Audio Controller [8086:0a0c] (rev 09)
    Subsystem: Sony Corporation Device [104d:90b1]
    Kernel driver in use: snd_hda_intel
00:14.0 USB controller [0c03]: Intel Corporation 8 Series USB xHCI HC [8086:9c31] (rev 04)
    Subsystem: Sony Corporation Device [104d:90b1]
    Kernel driver in use: xhci_hcd
00:16.0 Communication controller [0780]: Intel Corporation 8 Series HECI #0 [8086:9c3a] (rev 04)
    Subsystem: Sony Corporation Device [104d:90b1]
    Kernel driver in use: mei_me
00:1b.0 Audio device [0403]: Intel Corporation 8 Series HD Audio Controller [8086:9c20] (rev 04)
    Subsystem: Sony Corporation Device [104d:90b1]
    Kernel driver in use: snd_hda_intel
00:1f.0 ISA bridge [0601]: Intel Corporation 8 Series LPC Controller [8086:9c43] (rev 04)
    Subsystem: Sony Corporation Device [104d:90b1]
    Kernel driver in use: lpc_ich
00:1f.2 SATA controller [0106]: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] [8086:9c03] (rev 04)
    Subsystem: Sony Corporation Device [104d:90b1]
    Kernel driver in use: ahci
00:1f.3 SMBus [0c05]: Intel Corporation 8 Series SMBus Controller [8086:9c22] (rev 04)
    Subsystem: Sony Corporation Device [104d:90b1]

Update to @Pilot6:

lsusb:

Bus 002 Device 002: ID 1f75:0916 Innostor Technology Corporation 
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0bda:0176 Realtek Semiconductor Corp. Mass Storage Device
Bus 001 Device 003: ID 0bda:5722 Realtek Semiconductor Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Update, stack dump when forcing an association to a router (over 5Ghz? need more testing):

[ 1564.665199] ------------[ cut here ]------------
[ 1564.665264] WARNING: CPU: 1 PID: 1385 at /build/linux-SgRlNT/linux-4.0.4/net/wireless/sme.c:664 __cfg80211_connect_result+0x3f9/0x470 [cfg80211]()
[ 1564.665266] Modules linked in: binfmt_misc nfnetlink_queue nfnetlink_log nfnetlink bluetooth snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic uvcvideo uas videobuf2_vmalloc videobuf2_memops videobuf2_core v4l2_common videodev usb_storage media joydev hid_sensor_rotation hid_sensor_incl_3d hid_sensor_magn_3d hid_sensor_als hid_sensor_gyro_3d hid_sensor_accel_3d hid_sensor_trigger hid_sensor_iio_common industrialio_triggered_buffer kfifo_buf industrialio snd_soc_rt5640 snd_soc_rl6231 hid_rmi snd_soc_core snd_compress hid_sensor_hub regmap_i2c hid_multitouch nls_utf8 nls_cp437 vfat fat pn544_mei mei_phy pn544 hci nfc iTCO_wdt iTCO_vendor_support x86_pkg_temp_thermal intel_powerclamp intel_rapl iosf_mbi coretemp kvm_intel efi_pstore kvm evdev pcspkr serio_raw efivars brcmfmac brcmutil snd_hda_intel
[ 1564.665298]  sony_laptop snd_hda_controller cfg80211 snd_hda_codec i915 i2c_i801 snd_hwdep rfkill battery snd_pcm button dw_dmac dw_dmac_core drm_kms_helper snd_timer video drm i2c_designware_platform i2c_designware_core snd i2c_algo_bit lpc_ich mei_me soundcore mei mfd_core ac processor fuse autofs4 hid_generic usbhid ext4 crc16 mbcache jbd2 dm_mod sg sd_mod mmc_block crct10dif_pclmul crc32_pclmul crc32c_intel ghash_clmulni_intel aesni_intel aes_x86_64 lrw gf128mul glue_helper ablk_helper cryptd ahci libahci libata scsi_mod xhci_pci xhci_hcd usbcore usb_common thermal fan thermal_sys sdhci_acpi sdhci mmc_core i2c_hid hid
[ 1564.665364] CPU: 1 PID: 1385 Comm: kworker/u16:0 Tainted: G        W       
[ 1564.665367] Hardware name: Sony Corporation SVD132190X/VAIO, BIOS R1082S7 04/03/2014
[ 1564.665374] Workqueue: cfg80211 cfg80211_event_work [cfg80211]
[ 1564.665377]  0000000000000000 ffffffffa067a740 ffffffff81567c30 0000000000000000
[ 1564.665381]  ffffffff8106e321 ffff880252432008 0000000000000000 0000000000000000
[ 1564.665383]  ffff880253875000 ffff880036823618 ffffffffa0657fc9 0000000000000001
[ 1564.665386] Call Trace:
[ 1564.665400]  [<ffffffff81567c30>] ? dump_stack+0x40/0x50
[ 1564.665415]  [<ffffffff8106e321>] ? warn_slowpath_common+0x81/0xb0
[ 1564.665424]  [<ffffffffa0657fc9>] ? __cfg80211_connect_result+0x3f9/0x470 [cfg80211]
[ 1564.665437]  [<ffffffff810ab8c4>] ? __wake_up+0x34/0x50
[ 1564.665446]  [<ffffffffa0632258>] ? cfg80211_process_wdev_events+0x148/0x1c0 [cfg80211]
[ 1564.665450]  [<ffffffff810a230a>] ? dequeue_task_fair+0x9a/0xa70
[ 1564.665458]  [<ffffffffa0632308>] ? cfg80211_process_rdev_events+0x38/0x70 [cfg80211]
[ 1564.665464]  [<ffffffffa062d01a>] ? cfg80211_event_work+0x1a/0x20 [cfg80211]
[ 1564.665469]  [<ffffffff81086a12>] ? process_one_work+0x152/0x440
[ 1564.665472]  [<ffffffff8108758b>] ? worker_thread+0x6b/0x560
[ 1564.665474]  [<ffffffff81087520>] ? rescuer_thread+0x3b0/0x3b0
[ 1564.665481]  [<ffffffff8108c543>] ? kthread+0xd3/0xf0
[ 1564.665484]  [<ffffffff8108c470>] ? kthread_create_on_node+0x180/0x180
[ 1564.665489]  [<ffffffff8156de98>] ? ret_from_fork+0x58/0x90
[ 1564.665492]  [<ffffffff8108c470>] ? kthread_create_on_node+0x180/0x180
[ 1564.665494] ---[ end trace 59434d2d70a007f1 ]---

Update, unable to connect scan and connect to 5GHz stations:

After the driver gets loaded it doesn't seem to connect to 5GHz stations. However, changing the regulatory domain seems to work.

Before changing regulatory domain:

root@chickenbutt:~# iw reg get
country 00: DFS-UNSET
    (2402 - 2472 @ 40), (N/A, 20), (N/A)
    (2457 - 2482 @ 40), (N/A, 20), (N/A), NO-IR
    (2474 - 2494 @ 20), (N/A, 20), (N/A), NO-OFDM, NO-IR
    (5170 - 5250 @ 80), (N/A, 20), (N/A), NO-IR
    (5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS, NO-IR
    (5490 - 5730 @ 160), (N/A, 20), (0 ms), DFS, NO-IR
    (5735 - 5835 @ 80), (N/A, 20), (N/A), NO-IR
    (57240 - 63720 @ 2160), (N/A, 0), (N/A)

After changing regulatory domain:

root@chickenbutt:~# iw reg set US
root@chickenbutt:~# iw reg get
country US: DFS-FCC
    (2402 - 2472 @ 40), (N/A, 30), (N/A)
    (5170 - 5250 @ 80), (N/A, 17), (N/A)
    (5250 - 5330 @ 80), (N/A, 23), (0 ms), DFS
    (5735 - 5835 @ 80), (N/A, 30), (N/A)
    (57240 - 63720 @ 2160), (N/A, 40), (N/A)

Now, it is able to connect:

root@chickenbutt:~# iwconfig wlan0
wlan0     IEEE 802.11abgn  ESSID:"5GHz"
          Mode:Managed  Frequency:5.785 GHz  Access Point: AF-3A-A8-9F-89-A4
          Bit Rate=300 Mb/s   Tx-Power=1496 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:on
          Link Quality=53/70  Signal level=-57 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Solution:

  1. Download brcmfmac-sdio.zip from the link above
  2. Copy the .txt file to /lib/firmware/brcm/brcmfmac43241b4-sdio.txt
  3. Reboot
  4. Run the command iw reg set US
7
  • Please add output of lspci -knn | grep Net -A2
    – Pilot6
    Aug 23, 2015 at 8:40
  • @Pilot6 the output did not have any match. The full output has been updated to the post
    – naisanza
    Aug 23, 2015 at 9:43
  • I missed that it is USB. Then I need lsusb.
    – Pilot6
    Aug 23, 2015 at 10:20
  • @Pilot6 added lsusb output
    – naisanza
    Aug 23, 2015 at 17:22
  • Was the dongle connected when you ran this command?
    – Pilot6
    Aug 23, 2015 at 17:28

2 Answers 2

1

Here's what i did and worked perfectly fine. Please don't download other .txt , it won't work as you expect (meaning both 2.4 GHz / 5 GHz and capable of reaching up to 300Mb/s) .You have to create your txt from your NVRAM (step 3).

  1. Make sure you have /lib/firmware/brcm/brcmfmac43241b4-sdio.bin
  2. If not already mounted : "mount -t efivarfs none sys/firmware/efi/efivars"
  3. cat /sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113 > /lib/firmware/brcm/brcmfmac43241b4-sdio.txt
  4. modprobe -r brcmfmac && modprobe brcmfmac
  5. Ready!!
0

Solution:

  1. Download brcmfmac-sdio.zip from the link above
  2. Copy the .txt file to /lib/firmware/brcm/brcmfmac43241b4-sdio.txt
  3. Reboot
  4. Run the command iw reg set US

Now, there might be a way to set the adapter regulatory domain permanently (in boot parameters or configuration), but for now this will do :D

Credit for the idea comes from http://ubuntuforums.org/showthread.php?t=2276504&page=2&p=13279137#post13279137

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .