antoineco / broadcom-wl Goto Github PK
View Code? Open in Web Editor NEWBroadcom Linux hybrid wireless driver (64-bit)
Broadcom Linux hybrid wireless driver (64-bit)
EDIT [09-Dec-2023]:
If you also have a TP Link Archer T6E AC1300 card with BCM4360 chip, TL;DR: the broadcom-wl driver doesn't support AP mode. As of writing this, it's been about a week now since I reached out to the TP Link support using their Email Support form. There was no response from them yet, so I don't think they're gonna work on this in future.
I'm using a Fedora-based distro (Nobara) with KDE, dual-booting with Windows 10 from a physically separate drive. I have the TP Link Archer T6E AC1300 wifi card and broadcom-wl driver version 6.30.223.271-21.fc38 from the RPM Fusion Non-free repository. My card is working fine and connects with my router, hotspots from my phones, but is unable to create a hotspot from the desktop.
Every time I click on the Hotspot button from the Network menu in the system tray, nothing happens and I get the message "Authorisation supplicant timed out". Below the is the notification popup that I see--
Blacksite is the name of my PC and wlp4s0 is the wifi card name in the system.
Below is the output of the command lspci -vnn -d 14e4:
--
04:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter [14e4:43a0] (rev 03)
Subsystem: Broadcom Inc. and subsidiaries Device [14e4:0619]
Flags: bus master, fast devsel, latency 0, IRQ 31
Memory at fc400000 (64-bit, non-prefetchable) [size=32K]
Memory at fc200000 (64-bit, non-prefetchable) [size=2M]
Capabilities: <access denied>
Kernel driver in use: wl
Kernel modules: bcma, wl
I know that my card supports the AP mode because I can create hotspots in Windows 10, and also, it shows in the iw list
output--
Supported interface modes:
* IBSS
* managed
* AP
I ran journatctl -f
and saved the logs in the attached file. journalctl.txt
I tried using linux-wifi-hotspot by following this instruction, but I keep getting the following error--
pkexec --user root create_ap wlp4s0 enp5s0 'Blacksite' '12345678' --mkconfig /etc/create_ap.conf --no-virt
Config options written to '/etc/create_ap.conf'
Error: Failed to run hostapd, maybe a program is interfering.
If an error like 'n80211: Could not configure driver mode' was thrown
try running the following before starting create_ap:
nmcli r wifi off
rfkill unblock wlan
Command not found or exited with error status
PC Specifications:-
I have tried restarting the wpa_supplicant and the NetworkManager services multiple times, reinstalled the driver, tried using pre-installed drivers but card wasn't detected. Now I have no idea why the WPA Supplicant is failing.
I'm new to Linux, but I can find my way around the system, so I'll appreciate all the details provided when preforming tasks for troubleshooting. If it's not possible to create access point at all, then I'll appreciate the explanations too.
Thanks!
Hi. I have problem with BCM43142 and HP x360 i3-4010T on Ubuntu 16,18,20 and 22.
The card result hard blocked in rfkill but there are no buttons.
When i try to up the interface up the wl driver return error -1 in dmesg.
Any solution?
trying to build driver in kernel 5.10 results in:
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory '/usr/src/linux-5.10.0-1.g1bdd4f9-obj/x86_64/default'
CFG80211 API is prefered for this kernel version
Using CFG80211 API
CC [M] /usr/src/packages/SOURCES/broadcom-wl-patch-linux4.7/src/shared/linux_osl.o
CC [M] /usr/src/packages/SOURCES/broadcom-wl-patch-linux4.7/src/wl/sys/wl_linux.o
CC [M] /usr/src/packages/SOURCES/broadcom-wl-patch-linux4.7/src/wl/sys/wl_iw.o
CC [M] /usr/src/packages/SOURCES/broadcom-wl-patch-linux4.7/src/wl/sys/wl_cfg80211_hybrid.o
/usr/src/packages/SOURCES/broadcom-wl-patch-linux4.7/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_dev_ioctl’:
/usr/src/packages/SOURCES/broadcom-wl-patch-linux4.7/src/wl/sys/wl_cfg80211_hybrid.c:459:7: error: implicit declaration of function ‘get_fs’; did you mean ‘sget_fc’? [-Werror=implicit-function-declaration]
459 | fs = get_fs();
| ^~~~~~
| sget_fc
/usr/src/packages/SOURCES/broadcom-wl-patch-linux4.7/src/wl/sys/wl_cfg80211_hybrid.c:459:7: error: incompatible types when assigning to type ‘mm_segment_t’ from type ‘int’
/usr/src/packages/SOURCES/broadcom-wl-patch-linux4.7/src/wl/sys/wl_cfg80211_hybrid.c:461:2: error: implicit declaration of function ‘set_fs’; did you mean ‘sget_fc’? [-Werror=implicit-function-declaration]
461 | set_fs(KERNEL_DS);
| ^~~~~~
| sget_fc
/usr/src/packages/SOURCES/broadcom-wl-patch-linux4.7/src/wl/sys/wl_cfg80211_hybrid.c:461:9: error: ‘KERNEL_DS’ undeclared (first use in this function); did you mean ‘KERNFS_NS’?
461 | set_fs(KERNEL_DS);
| ^~~~~~~~~
| KERNFS_NS
/usr/src/packages/SOURCES/broadcom-wl-patch-linux4.7/src/wl/sys/wl_cfg80211_hybrid.c:461:9: note: each undeclared identifier is reported only once for each function it appears in
cc1: some warnings being treated as errors
make[3]: *** [/usr/src/linux-5.10.0-1.g1bdd4f9/scripts/Makefile.build:280: /usr/src/packages/SOURCES/broadcom-wl-patch-linux4.7/src/wl/sys/wl_cfg80211_hybrid.o] Error 1
make[2]: *** [/usr/src/linux-5.10.0-1.g1bdd4f9/Makefile:1819: /usr/src/packages/SOURCES/broadcom-wl-patch-linux4.7] Error 2
make[1]: *** [../../../linux-5.10.0-1.g1bdd4f9/Makefile:185: __sub-make] Error 2
make[1]: Leaving directory '/usr/src/linux-5.10.0-1.g1bdd4f9-obj/x86_64/default'
make: *** [Makefile:159: all] Error 2
this is because of function set_fs()
is not any more available in kernel 5.10
lspci -nn | grep Network
03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM43602 802.11ac Wireless LAN SoC [14e4:43ba] (rev 01)
this apple device works with brcmfmac and should be exclude form broadcom-wl.
Thanks for exclusion.
The wifi does work despite the warning, it has become very slow with connecting.
Based on cfg80211: change netdev registration/unregistration semantics
I came up with the following patch, which for me at least resolves the issue. Though I'm not sure both netdev register changes are necessary
wl.diff.txt
it works on 5.6.12-1-default tho
i installed it on my package manager
Hi,
I don't know if is the right place to ask. Currently I have a TP-LINK Archer T9E PCIE board with BCM4360 ( Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter (rev 03)) and seems that with the propietary driver AP mode is not available.
I've compiled and installed this one and seems the same thing. Do you know if is a hardware or software problem?
Thanks.
Not sure if anyone else is seeing this, but I've seen this with both the 5.19 and 6.0-rc1 kernels, and maybe earlier too...
[40089.502762] ------------[ cut here ]------------
[40089.502768] WARNING: CPU: 4 PID: 409095 at net/wireless/sme.c:823 __cfg80211_connect_result+0x5ed/0x680 [cfg80211]
[40089.502875] Modules linked in: rfcomm nls_utf8 cifs cifs_arc4 cifs_md4 fscache netfs qrtr cmac algif_hash algif_skcipher af_alg bnep nls_iso8859_1 intel_rapl_msr intel_rapl_common snd_hda_codec_cirrus x86_pkg_temp_thermal snd_hda_codec_generic intel_powerclamp ledtrig_audio snd_hda_codec_hdmi snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi snd_hda_codec snd_hda_core snd_hwdep snd_pcm kvm_intel btusb snd_seq_midi snd_seq_midi_event btrtl btbcm btintel btmtk sch_fq_codel snd_rawmidi kvm joydev wl(POE) snd_seq mei_pxp mei_hdcp sbs rapl bluetooth cmdlinepart input_leds bcm5974 applesmc ecdh_generic snd_seq_device intel_cstate ecc sbshc spi_nor mei_me apple_mfi_fastcharge snd_timer cfg80211 snd mei soundcore acpi_als industrialio_triggered_buffer kfifo_buf apple_gmux industrialio apple_bl mac_hid facetimehd(OE) videobuf2_dma_sg videobuf2_memops videobuf2_v4l2 videobuf2_common videodev mc coretemp ipmi_devintf ipmi_msghandler msr parport_pc ppdev lp ramoops parport reed_solomon pstore_blk
[40089.502979] pstore_zone mtd efi_pstore ip_tables x_tables autofs4 zfs(POE) zunicode(POE) zzstd(OE) zlua(OE) zavl(POE) icp(POE) zcommon(POE) znvpair(POE) spl(OE) z3fold lz4 lz4_compress hid_apple hid_generic usbhid hid i915 uas nouveau usb_storage mxm_wmi wmi drm_buddy i2c_algo_bit drm_ttm_helper ttm drm_display_helper cec rc_core drm_kms_helper syscopyarea crct10dif_pclmul sysfillrect crc32_pclmul ghash_clmulni_intel aesni_intel sysimgblt fb_sys_fops nvme spi_intel_platform crypto_simd spi_intel cryptd i2c_i801 drm thunderbolt nvme_core lpc_ich i2c_smbus xhci_pci xhci_pci_renesas video
[40089.503048] Unloaded tainted modules: mtdpstore():1 chromeos_pstore():1 mtdpstore():1 chromeos_pstore():1 fjes():1 mtdpstore():1 chromeos_pstore():1 asus_ec_sensors():1 fjes():1 asus_ec_sensors():1 mtdpstore():1 chromeos_pstore():1 fjes():1 fjes():1
[40089.503076] CPU: 4 PID: 409095 Comm: kworker/u16:0 Tainted: P OE 6.0.0-rc1 #1
[40089.503082] Hardware name: Apple Inc. MacBookPro11,3/Mac-2BD1B31983FE1663, BIOS 432.60.3.0.0 10/27/2021
[40089.503085] Workqueue: cfg80211 cfg80211_event_work [cfg80211]
[40089.503144] RIP: 0010:__cfg80211_connect_result+0x5ed/0x680 [cfg80211]
[40089.503221] Code: 00 00 66 89 45 b8 e8 92 86 6a e6 48 8b 55 a8 e9 b0 fd ff ff 0f 0b 4c 89 ef e8 ff e0 ff ff 41 8b 14 24 85 d2 0f 85 0a ff ff ff <0f> 0b 4c 89 e6 4c 89 ef e8 a6 e6 ff ff e9 d2 fa ff ff 0f 0b 31 db
[40089.503225] RSP: 0018:ffffc2729ec6fd80 EFLAGS: 00010246
[40089.503229] RAX: 0000000000000000 RBX: ffff9e492d59b018 RCX: 0000000000000002
[40089.503232] RDX: 0000000000000000 RSI: 00000000fffffe00 RDI: ffff9e4890727000
[40089.503235] RBP: ffffc2729ec6fde0 R08: ffff9e48867960b8 R09: 0000000000000003
[40089.503238] R10: ffff9e492d59b3b0 R11: fffffffeff6855bb R12: ffff9e492d59b018
[40089.503240] R13: ffff9e4890727000 R14: ffff9e492d59b3b0 R15: 0000000000000000
[40089.503243] FS: 0000000000000000(0000) GS:ffff9e4bef300000(0000) knlGS:0000000000000000
[40089.503246] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[40089.503249] CR2: 00007ffacb1cf90b CR3: 000000042360f005 CR4: 00000000001706e0
[40089.503253] Call Trace:
[40089.503255] <TASK>
[40089.503260] cfg80211_process_wdev_events+0x115/0x190 [cfg80211]
[40089.503323] ? cfg80211_process_wdev_events+0x115/0x190 [cfg80211]
[40089.503384] cfg80211_process_rdev_events+0x2b/0x40 [cfg80211]
[40089.503445] cfg80211_event_work+0x2a/0x40 [cfg80211]
[40089.503501] process_one_work+0x219/0x3f0
[40089.503508] worker_thread+0x50/0x3e0
[40089.503513] ? process_one_work+0x3f0/0x3f0
[40089.503517] kthread+0xeb/0x110
[40089.503524] ? kthread_complete_and_exit+0x20/0x20
[40089.503531] ret_from_fork+0x1f/0x30
[40089.503540] </TASK>
[40089.503542] ---[ end trace 0000000000000000 ]---
lsapi
01:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM43224 802.11a/b/g/n [14e4:4353] (rev 01)
iw list
Wiphy phy0
wiphy index: 0
max # scan SSIDs: 1
max scan IEs length: 0 bytes
max # sched scan SSIDs: 0
max # match sets: 0
Retry short limit: 7
Retry long limit: 4
Coverage class: 0 (up to 0m)
Supported Ciphers:
* WEP40 (00-0f-ac:1)
* WEP104 (00-0f-ac:5)
* TKIP (00-0f-ac:2)
* CCMP-128 (00-0f-ac:4)
* CMAC (00-0f-ac:6)
Available Antennas: TX 0 RX 0
Supported interface modes:
* IBSS
* managed
Band 1:
Bitrates (non-HT):
* 1.0 Mbps
* 2.0 Mbps (short preamble supported)
* 5.5 Mbps (short preamble supported)
* 11.0 Mbps (short preamble supported)
* 6.0 Mbps
* 9.0 Mbps
* 12.0 Mbps
* 18.0 Mbps
* 24.0 Mbps
* 36.0 Mbps
* 48.0 Mbps
* 54.0 Mbps
Frequencies:
* 2412 MHz [1] (20.0 dBm)
* 2417 MHz [2] (20.0 dBm)
* 2422 MHz [3] (20.0 dBm)
* 2427 MHz [4] (20.0 dBm)
* 2432 MHz [5] (20.0 dBm)
* 2437 MHz [6] (20.0 dBm)
* 2442 MHz [7] (20.0 dBm)
* 2447 MHz [8] (20.0 dBm)
* 2452 MHz [9] (20.0 dBm)
* 2457 MHz [10] (20.0 dBm)
* 2462 MHz [11] (20.0 dBm)
* 2467 MHz [12] (20.0 dBm) (no IR)
* 2472 MHz [13] (20.0 dBm) (no IR)
* 2484 MHz [14] (20.0 dBm) (no IR)
Band 2:
Bitrates (non-HT):
* 6.0 Mbps
* 9.0 Mbps
* 12.0 Mbps
* 18.0 Mbps
* 24.0 Mbps
* 36.0 Mbps
* 48.0 Mbps
* 54.0 Mbps
Frequencies:
* 5160 MHz [32] (30.0 dBm)
* 5170 MHz [34] (30.0 dBm)
* 5180 MHz [36] (30.0 dBm)
* 5190 MHz [38] (30.0 dBm)
* 5200 MHz [40] (30.0 dBm)
* 5210 MHz [42] (30.0 dBm)
* 5220 MHz [44] (30.0 dBm)
* 5230 MHz [46] (30.0 dBm)
* 5240 MHz [48] (30.0 dBm)
* 5250 MHz [50] (30.0 dBm)
* 5260 MHz [52] (30.0 dBm)
* 5270 MHz [54] (30.0 dBm)
* 5280 MHz [56] (30.0 dBm)
* 5290 MHz [58] (30.0 dBm)
* 5300 MHz [60] (30.0 dBm)
* 5310 MHz [62] (30.0 dBm)
* 5320 MHz [64] (30.0 dBm)
* 5330 MHz [66] (30.0 dBm)
* 5340 MHz [68] (30.0 dBm)
* 5350 MHz [70] (30.0 dBm)
* 5360 MHz [72] (30.0 dBm)
* 5370 MHz [74] (30.0 dBm)
* 5380 MHz [76] (30.0 dBm)
* 5390 MHz [78] (30.0 dBm)
* 5400 MHz [80] (30.0 dBm)
* 5410 MHz [82] (30.0 dBm)
* 5420 MHz [84] (30.0 dBm)
* 5430 MHz [86] (30.0 dBm)
* 5440 MHz [88] (30.0 dBm)
* 5450 MHz [90] (30.0 dBm)
* 5460 MHz [92] (30.0 dBm)
* 5470 MHz [94] (30.0 dBm)
* 5480 MHz [96] (30.0 dBm)
* 5490 MHz [98] (30.0 dBm)
* 5500 MHz [100] (30.0 dBm)
* 5510 MHz [102] (30.0 dBm)
* 5520 MHz [104] (30.0 dBm)
* 5530 MHz [106] (30.0 dBm)
* 5540 MHz [108] (30.0 dBm)
* 5550 MHz [110] (30.0 dBm)
* 5560 MHz [112] (30.0 dBm)
* 5570 MHz [114] (30.0 dBm)
* 5580 MHz [116] (30.0 dBm)
* 5590 MHz [118] (30.0 dBm)
* 5600 MHz [120] (30.0 dBm)
* 5610 MHz [122] (30.0 dBm)
* 5620 MHz [124] (30.0 dBm)
* 5630 MHz [126] (30.0 dBm)
* 5640 MHz [128] (30.0 dBm)
* 5650 MHz [130] (30.0 dBm)
* 5660 MHz [132] (30.0 dBm)
* 5670 MHz [134] (30.0 dBm)
* 5680 MHz [136] (30.0 dBm)
* 5690 MHz [138] (30.0 dBm)
* 5700 MHz [140] (30.0 dBm)
* 5710 MHz [142] (30.0 dBm)
* 5720 MHz [144] (30.0 dBm)
* 5725 MHz [145] (30.0 dBm)
* 5730 MHz [146] (30.0 dBm)
* 5735 MHz [147] (30.0 dBm)
* 5740 MHz [148] (30.0 dBm)
* 5745 MHz [149] (30.0 dBm)
* 5750 MHz [150] (30.0 dBm)
* 5755 MHz [151] (30.0 dBm)
* 5760 MHz [152] (30.0 dBm)
* 5765 MHz [153] (30.0 dBm)
* 5770 MHz [154] (30.0 dBm)
* 5775 MHz [155] (30.0 dBm)
* 5780 MHz [156] (30.0 dBm)
* 5785 MHz [157] (30.0 dBm)
* 5790 MHz [158] (30.0 dBm)
* 5795 MHz [159] (30.0 dBm)
* 5800 MHz [160] (30.0 dBm)
* 5805 MHz [161] (30.0 dBm)
* 5810 MHz [162] (30.0 dBm)
* 5815 MHz [163] (30.0 dBm)
* 5820 MHz [164] (30.0 dBm)
* 5825 MHz [165] (30.0 dBm)
* 5830 MHz [166] (30.0 dBm)
* 5840 MHz [168] (30.0 dBm)
* 5850 MHz [170] (30.0 dBm)
* 5860 MHz [172] (30.0 dBm)
* 5870 MHz [174] (30.0 dBm)
* 5880 MHz [176] (30.0 dBm)
* 5890 MHz [178] (30.0 dBm)
* 5900 MHz [180] (30.0 dBm)
* 5910 MHz [182] (30.0 dBm)
* 5920 MHz [184] (30.0 dBm)
* 5930 MHz [186] (30.0 dBm)
* 5940 MHz [188] (30.0 dBm)
* 5950 MHz [0] (30.0 dBm)
* 5960 MHz [2] (30.0 dBm)
* 5970 MHz [4] (30.0 dBm)
* 5980 MHz [6] (30.0 dBm)
* 5990 MHz [8] (30.0 dBm)
* 6000 MHz [10] (30.0 dBm)
* 6010 MHz [12] (30.0 dBm)
* 6020 MHz [14] (30.0 dBm)
* 6030 MHz [16] (30.0 dBm)
* 6040 MHz [18] (30.0 dBm)
* 6050 MHz [20] (30.0 dBm)
* 6060 MHz [22] (30.0 dBm)
* 6070 MHz [24] (30.0 dBm)
* 6080 MHz [26] (30.0 dBm)
* 6090 MHz [28] (30.0 dBm)
* 6100 MHz [30] (30.0 dBm)
* 6110 MHz [32] (30.0 dBm)
* 6120 MHz [34] (30.0 dBm)
* 6130 MHz [36] (30.0 dBm)
* 6140 MHz [38] (30.0 dBm)
Supported commands:
* set_interface
* new_key
* join_ibss
* set_pmksa
* del_pmksa
* flush_pmksa
* connect
* disconnect
software interface modes (can always be added):
interface combinations are not supported
Device supports scan flush.
max # scan plans: 1
max scan plan interval: -1
max scan plan iterations: 0
Supported extended features:
Just looking towards the future here with this one. If I had any level of C knowledge, I would provide a patch. Based on my knowledge, the fix should be easy though!
In src/wl/sys/wl_linux.c
, segment_eq(get_fs(), KERNEL_DS)
is implicitly declared. It seems this is the only such function.
Fails for modern kernels, modern gcc
https://bugzilla.rpmfusion.org/show_bug.cgi?id=5565
/home/dsouthwi/broadcom-wl/src/wl/sys/wl_linux.c: In function ‘wl_attach’:
/home/dsouthwi/broadcom-wl/src/wl/sys/wl_linux.c:591:20: error: implicit declaration of function ‘ioremap_nocache’; did you mean ‘ioremap_cache’? [-Werror=implicit-function-declaration]
591 | if ((wl->regsva = ioremap_nocache(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) {
| ^~~~~~~~~~~~~~~
| ioremap_cache
/home/dsouthwi/broadcom-wl/src/wl/sys/wl_linux.c:591:18: warning: assignment to ‘void *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
591 | if ((wl->regsva = ioremap_nocache(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) {
| ^
/home/dsouthwi/broadcom-wl/src/wl/sys/wl_linux.c: In function ‘wl_pci_probe’:
/home/dsouthwi/broadcom-wl/src/wl/sys/wl_linux.c:781:14: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
781 | bar1_addr = (uchar *)ioremap_nocache(pci_resource_start(pdev, 2), bar1_size);
| ^
/home/dsouthwi/broadcom-wl/src/wl/sys/wl_linux.c: In function ‘wl_reg_proc_entry’:
/home/dsouthwi/broadcom-wl/src/wl/sys/wl_linux.c:3377:58: error: passing argument 4 of ‘proc_create_data’ from incompatible pointer type [-Werror=incompatible-pointer-types]
3377 | if ((wl->proc_entry = proc_create_data(tmp, 0644, NULL, &wl_fops, wl)) == NULL) {
| ^~~~~~~~
| |
| const struct file_operations *
In file included from /home/dsouthwi/broadcom-wl/src/wl/sys/wl_linux.c:38:
./include/linux/proc_fs.h:61:13: note: expected ‘const struct proc_ops *’ but argument is of type ‘const struct file_operations *’
61 | const struct proc_ops *,
| ^~~~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
Is there a way to get higher 5Ghz channels working with this driver?
All I see are lower channels below 100:
iwlist chan
lo no frequency information.
wlp2s0 32 channels in total; available frequencies :
Channel 01 : 2.412 GHz
Channel 02 : 2.417 GHz
Channel 03 : 2.422 GHz
Channel 04 : 2.427 GHz
Channel 05 : 2.432 GHz
Channel 06 : 2.437 GHz
Channel 07 : 2.442 GHz
Channel 08 : 2.447 GHz
Channel 09 : 2.452 GHz
Channel 10 : 2.457 GHz
Channel 11 : 2.462 GHz
Channel 32 : 5.16 GHz
Channel 34 : 5.17 GHz
Channel 36 : 5.18 GHz
Channel 38 : 5.19 GHz
Channel 40 : 5.2 GHz
Channel 42 : 5.21 GHz
Channel 44 : 5.22 GHz
Channel 46 : 5.23 GHz
Channel 48 : 5.24 GHz
Channel 50 : 5.25 GHz
Channel 52 : 5.26 GHz
Channel 54 : 5.27 GHz
Channel 56 : 5.28 GHz
Channel 58 : 5.29 GHz
Channel 60 : 5.3 GHz
Channel 62 : 5.31 GHz
Channel 64 : 5.32 GHz
Channel 66 : 5.33 GHz
Channel 68 : 5.34 GHz
Channel 96 : 5.48 GHz
Channel 98 : 5.49 GHz
Current Frequency:2.447 GHz (Channel 8)
.
There's a version of a patch for arch available here: https://gist.github.com/joanbm/207210d74637870c01ef5a3c262a597d
But that doesn't apply cleanly to this.
I have a Rosewill RNX-AC1300PCE
wifi-card which use BCM4360.
I installed this package by following the manual instruction in the readme (so the make installation).
I rebooted my computer, but ubuntu doesn't recognize my wifi-card like you can see in this screenshot:
I don't know if it is revelant, but I also got some warning when I did a make
. I don't know if it change anything:
moi15moi@moi15moi-System-Product-Name:~/Téléchargements/broadcom-wl-patch-linux4.7$ make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1] : on entre dans le répertoire « /usr/src/linux-headers-6.2.0-26-generic »
warning: the compiler differs from the one used to build the kernel
The kernel was built by: x86_64-linux-gnu-gcc-11 (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0
You are using: gcc-11 (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
CFG80211 API is prefered for this kernel version
Using CFG80211 API
CC [M] /home/moi15moi/Téléchargements/broadcom-wl-patch-linux4.7/src/shared/linux_osl.o
CC [M] /home/moi15moi/Téléchargements/broadcom-wl-patch-linux4.7/src/wl/sys/wl_linux.o
CC [M] /home/moi15moi/Téléchargements/broadcom-wl-patch-linux4.7/src/wl/sys/wl_iw.o
CC [M] /home/moi15moi/Téléchargements/broadcom-wl-patch-linux4.7/src/wl/sys/wl_cfg80211_hybrid.o
LD [M] /home/moi15moi/Téléchargements/broadcom-wl-patch-linux4.7/wl.o
CFG80211 API is prefered for this kernel version
Using CFG80211 API
MODPOST /home/moi15moi/Téléchargements/broadcom-wl-patch-linux4.7/Module.symvers
CC [M] /home/moi15moi/Téléchargements/broadcom-wl-patch-linux4.7/wl.mod.o
LD [M] /home/moi15moi/Téléchargements/broadcom-wl-patch-linux4.7/wl.ko
BTF [M] /home/moi15moi/Téléchargements/broadcom-wl-patch-linux4.7/wl.ko
Skipping BTF generation for /home/moi15moi/Téléchargements/broadcom-wl-patch-linux4.7/wl.ko due to unavailability of vmlinux
make[1] : on quitte le répertoire « /usr/src/linux-headers-6.2.0-26-generic »
Here is the details of my Network controller:
moi15moi@moi15moi-System-Product-Name:~$ sudo lspci -vnn -d 14e4:
[sudo] Mot de passe de moi15moi :
04:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter [14e4:43a0] (rev 03)
Subsystem: Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter [14e4:0619]
Flags: bus master, fast devsel, latency 0, IRQ 17
Memory at f7400000 (64-bit, non-prefetchable) [size=32K]
Memory at f7200000 (64-bit, non-prefetchable) [size=2M]
Capabilities: [48] Power Management version 3
Capabilities: [58] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [68] Vendor Specific Information: Len=44 <?>
Capabilities: [ac] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [13c] Device Serial Number 68-1c-00-ff-ff-00-00-00
Capabilities: [150] Power Budgeting <?>
Capabilities: [160] Virtual Channel
Capabilities: [1b0] Latency Tolerance Reporting
Capabilities: [220] Physical Resizable BAR
Kernel driver in use: bcma-pci-bridge
Kernel modules: bcma, wl
I have the
03:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4360 802.11ac Wireless Network Adapter [14e4:43a0] (rev 03)
The wl driver works, but Im trying to upgrade to the open source brcmfmac driver and it requires firmware. How does this driver work without firmware?
I don't know a lot about compilation.
I just installed Ubuntu 22.04.3 LTS.
I installed gcc and make.
Then, I runned the command sudo make
, but I get this error (it is in french, if you need it in english, tell me)
moi15moi@moi15moi-System-Product-Name:/media/moi15moi/UBUNTU 22_0/broadcom-wl-patch-linux4.7$ sudo make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1] : on entre dans le répertoire « /usr/src/linux-headers-6.2.0-26-generic »
make[1]: *** Aucune règle pour fabriquer la cible « 22_0/broadcom-wl-patch-linux4.7 ». Arrêt.
make[1] : on quitte le répertoire « /usr/src/linux-headers-6.2.0-26-generic »
make: *** [Makefile:159 : all] Erreur 2
How can I make it work, so I can install this package?
This warning is back, despite the fallthrough comment added in #12:
In file included from /home/fedora/actions-runner/_work/broadcom-wl/broadcom-wl/src/wl/sys/wl_cfg80211_hybrid.c:43:
/home/fedora/actions-runner/_work/broadcom-wl/broadcom-wl/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_set_auth_type’:
/home/fedora/actions-runner/_work/broadcom-wl/broadcom-wl/src/wl/sys/wl_cfg80211_hybrid.h:57:12: warning: this statement may fall through [-Wimplicit-fallthrough=]
57 | if (wl_dbg_level & WL_DBG_DBG) { \
| ^
/home/fedora/actions-runner/_work/broadcom-wl/broadcom-wl/src/wl/sys/wl_cfg80211_hybrid.c:826:17: note: in expansion of macro ‘WL_DBG’
826 | WL_DBG(("network eap\n"));
| ^~~~~~
/home/fedora/actions-runner/_work/broadcom-wl/broadcom-wl/src/wl/sys/wl_cfg80211_hybrid.c:828:9: note: here
828 | default:
| ^~~~~~~
https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Warning-Options.html#index-Wimplicit-fallthrough
For kernel versions ≥ 5.4, we should probably switch to the fallthrough
pseudo-keyword:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=294f69e662d1570703e9b56e95be37a9fd3afba5
I started seeing this error message in the CI environment while building wl
on Fedora 38 (Rawhide) against the 6.1.0-0.rc2.20221028git23758867219c.24.fc38 kernel.
Using CFG80211 API
MODPOST /tmp/lima/broadcom-wl/Module.symvers
ERROR: modpost: GPL-incompatible module wl.ko uses GPL-only symbol 'lockdep_init_map_type'
ERROR: modpost: GPL-incompatible module wl.ko uses GPL-only symbol '__init_work'
make[2]: *** [scripts/Makefile.modpost:126: /tmp/lima/broadcom-wl/Module.symvers] Error 1
make[1]: *** [Makefile:1954: modpost] Error 2
make[1]: Leaving directory '/usr/src/kernels/6.1.0-0.rc2.20221028git[23](https://github.com/antoineco/broadcom-wl/actions/runs/3353399908/jobs/5556142523#step:7:24)758867219c.[24](https://github.com/antoineco/broadcom-wl/actions/runs/3353399908/jobs/5556142523#step:7:25).fc38.x86_64'
make: *** [Makefile:159: all] Error 2
While I understand its meaning, I'm surprised that the previous build against the 6.1.0-0.rc1.15.fc38 kernel on the same OS didn't yield such error.
Note: the previous CI environment had been provisioned manually on a cloud VPS by updating from a bare installation of Fedora 36 to 37 to 38 by using DNF System Upgrade, whereas this build was performed against a fresh Rawhide image (20221029.n.0). Some OS package versions may have differed. [irrelevant]
Note2: after another try on a fresh Rawhide image (20221104.n.0), I can confirm that building against 6.0.0-54.fc38 succeeds whereas building against 6.1.0-0.rc3.20221102git8f71a2b3f435.29.fc38 doesn't.
repo
it's not open source tho we can get sources
this driver may also support ap mode
which can be used on routers
Here is what I did:
> rmmod bcma # and add to /etc/modprobe.d/blacklist.conf
# none of the other conflicting modules were loaded
> git clone https://github.com/antoineco/broadcom-wl.git
> git checkout patch-linux4.7
> dkms add /usr/src/broadcom-wl-6.30.223.271
> dkms status
broadcom-wl, 6.30.223.271: added
> dkms build -m broadcom-wl -v 6.30.223.271
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area...
make -j4 KERNELRELEASE=5.14.12-200.fc34.x86_64 KBASE=/lib/modules/5.14.12-200.fc34.x86_64.....
cleaning build area...
> reboot
> lsmod | grep wl
# no output
> lspci -k
04:00.0 Network controller: Broadcom Inc. and subsidiaries BCM43142 802.11b/g/n (rev 01)
Subsystem: Hewlett-Packard Company Device 804a
Kernel modules: bcma, wl
> rmmod bcma
rmmod: ERROR: Module bcma is not currently loaded
> modprobe wl
modprobe: ERROR: could not insert 'wl': Key was rejected by service
> dkms install broadcom-wl/6.30.223.271
Module broadcom-wl/6.30.223.271 already installed on kernel 5.14.12-200.fc34.x86_64 (x86_64).
> nmcli device
# wifi no listed
More info:
> cat /etc/redhat-release
Fedora release 34 (Thirty Four)
> uname -a
Linux 5.14.12-200.fc34.x86_64 #1 SMP Wed Oct 13 14:16:18 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
I'm using the dkms version on Arch, and when I upgraded to linux 4.13.3, the networking stopped working. Same issue with linux 4.13.4. I have no problems when I go back down to 4.12.13.
I'm not sure if this is related, but I see these messages in the journal around the time it says the adapter is inactive:
DMAR: DRHD: handling fault status reg 2
DMAR: [DMA Read] Request device [02:00.0] fault addr fffeb000
[fault reason 06] PTE Read access is not set
Hello, thank you so much for maintaining this open source driver!
The culprit is shown in the below code snippet:
case NL80211_AUTHTYPE_NETWORK_EAP:
WL_DBG(("network eap\n"));
default:
val = 2;
WL_ERR(("invalid auth type (%d)\n", sme->auth_type));
break;
My suggestion is that we should add a single-line comment "// fallthrough" before default
, which documents the intention more clearly and also suppresses the warning.
Build log:
> make
KBUILD_NOPEDANTIC=1 make -C /lib/modules/`uname -r`/build M=`pwd`
make[1]: Entering directory '/usr/src/linux-5.4.28-gentoo'
CFG80211 API is prefered for this kernel version
Using CFG80211 API
AR /home/aesophor/Code/broadcom-wl/built-in.a
CC [M] /home/aesophor/Code/broadcom-wl/src/shared/linux_osl.o
CC [M] /home/aesophor/Code/broadcom-wl/src/wl/sys/wl_linux.o
CC [M] /home/aesophor/Code/broadcom-wl/src/wl/sys/wl_iw.o
CC [M] /home/aesophor/Code/broadcom-wl/src/wl/sys/wl_cfg80211_hybrid.o
In file included from /home/aesophor/Code/broadcom-wl/src/wl/sys/wl_cfg80211_hybrid.c:43:
/home/aesophor/Code/broadcom-wl/src/wl/sys/wl_cfg80211_hybrid.c: In function ‘wl_set_auth_type’:
/home/aesophor/Code/broadcom-wl/src/wl/sys/wl_cfg80211_hybrid.h:57:5: warning: this statement may fall through [-Wimplicit-fallthrough=]
57 | if (wl_dbg_level & WL_DBG_DBG) { \
| ^
/home/aesophor/Code/broadcom-wl/src/wl/sys/wl_cfg80211_hybrid.c:817:3: note: in expansion of macro ‘WL_DBG’
817 | WL_DBG(("network eap\n"));
| ^~~~~~
/home/aesophor/Code/broadcom-wl/src/wl/sys/wl_cfg80211_hybrid.c:818:2: note: here
818 | default:
| ^~~~~~~
LD [M] /home/aesophor/Code/broadcom-wl/wl.o
CFG80211 API is prefered for this kernel version
Using CFG80211 API
Building modules, stage 2.
MODPOST 1 modules
CC [M] /home/aesophor/Code/broadcom-wl/wl.mod.o
LD [M] /home/aesophor/Code/broadcom-wl/wl.ko
make[1]: Leaving directory '/usr/src/linux-5.4.28-gentoo'
Hello,
Is it possible to set BCM4360 device (Asus PCI-E AC68) into Access Point mode?
Currently there is no NL80211_IFTYPE_AP
mode in the list of modes:
wdev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_ADHOC);
Thanks in advance.
I am using BCM43228 card, the connection is fine and it works, but the connection bitrate shows up as 0 kb/s. With an Intel card, it worked fine. My setup is like the following
OS : Arch Linux (5.15.12)
Network manager : wpa_supplicant
Windows manager : i3 WM with i3 status bar
i3status
bar queries nl80211
driver output, I think. So, I tried forcing wpa_supplicant
to use nl80211
driver, but nothing changed (network connection works, but still 0 kb/s for the bitrate). Even with wext
driver option, the results were same.
GCC 12 is complaining about the isprint
macro which is redefined here as an alias to bcm_isprint
:
broadcom-wl/src/wl/sys/wl_iw.h
Line 73 in 6175bee
In file included from /home/fedora/actions-runner/_work/broadcom-wl/broadcom-wl/src/wl/sys/wl_linux.c:81:
/home/fedora/actions-runner/_work/broadcom-wl/broadcom-wl/src/wl/sys/wl_iw.h:73: warning: "isprint" redefined
73 | #define isprint(c) bcm_isprint(c)
|
In file included from ./include/linux/string_helpers.h:6,
from ./include/linux/seq_file.h:7,
from ./include/linux/seq_file_net.h:5,
from ./include/net/net_namespace.h:183,
from ./include/linux/netdevice.h:38,
from /home/fedora/actions-runner/_work/broadcom-wl/broadcom-wl/src/include/linuxver.h:69,
from /home/fedora/actions-runner/_work/broadcom-wl/broadcom-wl/src/wl/sys/wl_linux.c:27:
./include/linux/ctype.h:30: note: this is the location of the previous definition
30 | #define isprint(c) ((__ismask(c)&(_P|_U|_L|_D|_SP)) != 0)
|
The original definition is here: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/linux/ctype.h?id=v5.18#n30
It isn't clear to me why this macro is redefined since bcm_isprint
looks identical to isprint
, except for the BCM_
prefixes:
broadcom-wl/src/include/bcmutils.h
Lines 29 to 39 in 6175bee
sudo dkms status
broadcom-wl, 6.30.223.271: added
nvidia, 390.138, 5.7.15-977.native, x86_64: installed
I can compiled and install the module successfully, but it freezes my system. So far, after several reboots, I have come so long as to select network before it again freezes.
# uname -r
4.9.72-gentoo
# lspci -vvnn |grep -n20 4331
466- LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete-, EqualizationPhase1-
467- EqualizationPhase2-, EqualizationPhase3-, LinkEqualizationRequest-
468- Capabilities: [100 v1] Advanced Error Reporting
469- UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
470- UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
471- UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
472- CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
473- CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr+
474- AERCap: First Error Pointer: 00, GenCap+ CGenEn- ChkCap+ ChkEn-
475- Capabilities: [150 v1] Power Budgeting <?>
476- Capabilities: [160 v1] Virtual Channel
477- Caps: LPEVC=0 RefClk=100ns PATEntryBits=1
478- Arb: Fixed- WRR32- WRR64- WRR128-
479- Ctrl: ArbSelect=Fixed
480- Status: InProgress-
481- VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
482- Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
483- Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff
484- Status: NegoPending- InProgress-
485-
486:02:00.0 Network controller [0280]: Broadcom Limited BCM4331 802.11a/b/g/n [14e4:4331] (rev 02)
487: Subsystem: Broadcom Limited BCM4331 802.11a/b/g/n [14e4:4331]
488- Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
489- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
490- Latency: 0, Cache Line Size: 256 bytes
491- Interrupt: pin A routed to IRQ 17
492- Region 0: Memory at a0600000 (64-bit, non-prefetchable) [size=16K]
493- Capabilities: [40] Power Management version 3
494- Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
495- Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=2 PME-
496- Capabilities: [58] Vendor Specific Information: Len=78 <?>
497- Capabilities: [48] MSI: Enable- Count=1/1 Maskable- 64bit+
498- Address: 0000000000000000 Data: 0000
499- Capabilities: [d0] Express (v1) Endpoint, MSI 00
500- DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited
501- ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset- SlotPowerLimit 10.000W
502- DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
503- RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
504- MaxPayload 128 bytes, MaxReadReq 512 bytes
505- DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
506- LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <2us, L1 <32us
507- ClockPM+ Surprise- LLActRep+ BwNot- ASPMOptComp-
# lsmod
Module Size Used by
wl 6340005 0
snd_intel_sst_pci 2425 0
snd_intel_sst_core 44202 1 snd_intel_sst_pci
snd_soc_sst_mfld_platform 67352 1 snd_intel_sst_core
lib80211_crypt_tkip 7458 0
lib80211 3378 1 lib80211_crypt_tkip
btusb 28217 0
btrtl 4640 1 btusb
btbcm 6047 1 btusb
btintel 6648 1 btusb
bluetooth 321848 5 btrtl,btintel,btbcm,btusb
firewire_ohci 30405 0
x86_pkg_temp_thermal 5509 0
firewire_core 48009 1 firewire_ohci
crc_itu_t 1531 1 firewire_core
# dmesg|grep -n10 wl
1011-[ 3.576943] udevd[1895]: starting version 3.1.5
1012-[ 3.653712] usb 2-1.8.1.3: New USB device found, idVendor=05ac, idProduct=828a
1013-[ 3.653715] usb 2-1.8.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
1014-[ 3.653717] usb 2-1.8.1.3: Product: Bluetooth USB Host Controller
1015-[ 3.653718] usb 2-1.8.1.3: Manufacturer: Apple Inc.
1016:[ 3.682747] wl: loading out-of-tree module taints kernel.
1017:[ 3.682750] wl: module license 'MIXED/Proprietary' taints kernel.
1018-[ 3.682751] Disabling lock debugging due to kernel taint
1019-[ 3.699414] Bluetooth: Core ver 2.22
1020-[ 3.699424] NET: Registered protocol family 31
1021-[ 3.699425] Bluetooth: HCI device and connection manager initialized
1022-[ 3.699427] Bluetooth: HCI socket layer initialized
It seems no wl apter was drived.
I updated to latest 4.15.14 rpm-package and now broadcom-wl will not compile. As I said, it compiles on 4.15.13.
This kernel comes from elrepo-kernel yum repository. http://elrepo.org/tiki/kernel-ml
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.