WelcomeWelcome | FAQFAQ | DownloadsDownloads | WikiWiki

Author Topic: Tinycore 14.0 64bit: Macbook Air Wifi - Broadcom 4360 WLAN - wl not found  (Read 4225 times)

Offline pek

  • Full Member
  • ***
  • Posts: 111
Hi all.. I'm back again with more questions  :)

This time, I loaded these to my initial failed attempts to make wifi on a macbook air working.
dbus.tcz
firmware-broadcom_bcm43xx.tcz
wifi.tcz

When i typed iwconfig, no wlan adapter was found.

This is what i get in dmesg that i think related to it
Code: [Select]
[   16.037321] i801_smbus 0000:00:1f.3: SMBus using PCI interrupt
[   16.037555] i2c i2c-0: 2/2 memory slots populated (from DMI)
[   16.072354] loop30: detected capacity change from 0 to 1528
[   16.104450] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[   16.104457] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db
[   16.108967] cfg80211: failed to load regulatory.db
[   16.159657] b43-phy0: Broadcom 4360 WLAN found (core revision 42)
[   16.160887] b43-phy0 ERROR: FOUND UNSUPPORTED PHY (Analog 12, Type 11 (AC), Revision 1)
[   16.160895] b43: probe of bcma0:1 failed with error -95
[   16.160918] Broadcom 43xx driver loaded [ Features: PNLS ]
So, I could't make the wifi work.


Then I tried other distro which also failed.
After some random google searching, I found a suggestion that makes wifi works on other distro. By doing this
Code: [Select]
$  modprobe -r b43
$  modprobe -r bcma
$  modprobe -r wl
$  modprobe wl


When I tried to replicate this with Corepure64, I'm stuck at
Code: [Select]
$  sudo modprobe wlIt says wl not found in modules.dep

Here's the lsmod
Code: [Select]
Module                  Size  Used by    Not tainted
b43                   339968  0
mac80211              331776  1 b43
cfg80211              237568  2 b43,mac80211
ssb                    40960  1 b43
i2c_i801               20480  0
i2c_smbus              12288  1 i2c_i801
mmc_core               86016  2 b43,ssb
cordic                 12288  1 b43
cpufreq_userspace      12288  0
cpufreq_conservative    12288  0
cpufreq_powersave      12288  0
squashfs               36864 31
apple_mfi_fastcharge    12288  0
hid_apple              16384  0
sbs                    12288  0
sbshc                  12288  1 sbs
mei_hdcp               12288  0
video                  45056  0
wmi                    16384  1 video
pcspkr                 12288  0
xhci_pci               12288  0
xhci_hcd              102400  1 xhci_pci
ac                     12288  0
xhci_pci_renesas       12288  1 xhci_pci
apple_bl               12288  0
thunderbolt           143360  0
loop                   20480 62
backlight              12288  2 video,apple_bl
mei_me                 20480  1
lpc_ich                24576  0
mei                    49152  3 mei_hdcp,mei_me
bcma                   32768  1 b43


What should I do from here?
Thank you.

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14624
The first thing to check with lsusb or lspci is what hardware you have.

The last time I compiled wl it literally needed 10 patches..

Offline pek

  • Full Member
  • ***
  • Posts: 111
Hi Juanito,

Quote
The first thing to check with lsusb or lspci is what hardware you have.
Actually I loaded all available firmwares/drivers for wifi from Tinycore64 repo.
And when i dmesg, it found this Broadcom 4360 :D
So, I guessed this was correct.

I will run lspci later again though, to do it proper way and educate myself.
I don't think it's related to lsusb, because it's a built in wifi module. But I will also run lsblk out of curiosity.
I'll post back after I get more details of these.


Quote
The last time I compiled wl it literally needed 10 patches..
I hope this is not about kernel compiling again :-X
I'm still far out of league about that for now.

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14624
Apparently there are two versions of the 4360:

14E4:4360 no linux driver
14E4:43A0 wl driver

Use “lspci -vnn | grep -i net” to find which you have.

Offline pek

  • Full Member
  • ***
  • Posts: 111
lspci -vnn | grep -i net gave me
Code: [Select]
03:00.0 Network controller [0280]: Broadcom Limited BCM4360 802.11ac Wireless Network Adapter [14e4:43a0] (rev 03)
so, it's wl then..  :-[

So, do i have to recompile kernel for this?
or
Is there a way to make a tcz for this? (I prefer this if possible though)

And.. btw
Quote
14E4:4360 no linux driver
14E4:43A0 wl driver
How did you figured out one is "no linux driver" and the other is "wl" just by looking at those numbers? :o

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14624
Is there a way to make a tcz for this?
I'll take a look, however it looks like broadcom have not updated the source since this: http://tinycorelinux.net/11.x/x86_64/tcz/wl-modules-5.4.3-tinycore64.tcz.info

Quote
How did you figured out one is "no linux driver" and the other is "wl" just by looking at those numbers? :o
It was the first hit on google...

Offline patrikg

  • Wiki Author
  • Hero Member
  • *****
  • Posts: 680
Here some more clues, you should blacklist lots of modules.

https://bbs.archlinux.org/viewtopic.php?id=249038

And here they using the Linux Technic "DKMS".

I don't know so much about how to accomplish that in TC.

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14624
The modules to blacklist are in the wl info file above and there is a blacklist boot code.

Offline pek

  • Full Member
  • ***
  • Posts: 111
Quote
I'll take a look, however it looks like broadcom have not updated the source since this: http://tinycorelinux.net/11.x/x86_64/tcz/wl-modules-5.4.3-tinycore64.tcz.info
Thank you so much for this. No rush though. Anytime convenient to you. Thanks.

Quote
It was the first hit on google...
I searched high and low for "14E4:4360" trying to find a "no linux driver" as a literal driver, with no avail and finally I think what you meant was
- There's no linux driver for this 14E4:4360
as opposite to what i thought was
- There's a linux driver named "14E4:4360 no linux driver"  ;D
Well.. now i learn many advance things and also to understand simple statement ;D

Offline pek

  • Full Member
  • ***
  • Posts: 111
Hi everyone,
after completing a task of compiling kernel and creating module with massive helps... here:
http://forum.tinycorelinux.net/index.php/topic,26244.30.html

I'm tempted to try to create this "wl" module.

Before I start, there are few questions.. as usual ;D
1. Can I reuse the source that I already "ticked" (SPIxx.. etc) or should I create a fresh "make menuconfig"?
2. This is the screenshot when I tried to reuse. Do I just tick everything related to Broadcom?

and then "make"
3. I hope it's that simple.. But I highly doubt that  ::)

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14624
The wl module is not in the kernel source - you need to download its source code from the Broadcom site. The link is in the wl info file in the 11.x repo.

Note that the latest debian build uses 27 patches.

See also: http://www.tinycorelinux.net/11.x/x86_64/tcz/src/wl/
« Last Edit: May 13, 2023, 02:10:33 AM by Juanito »

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14624
..seems the source has moved to here: https://docs.broadcom.com/docs/12358410

Offline pek

  • Full Member
  • ***
  • Posts: 111
..seems the source has moved to here: https://docs.broadcom.com/docs/12358410
Thanks for the update.
I downloaded from https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz
as mentioned in http://www.tinycorelinux.net/11.x/x86_64/tcz/src/wl/. And I think they are the same.


This part.. I'm lost:
Code: [Select]
patch -Np1 -i ../wl-licence.patch
patch -Np1 -i ../wl-linux.c.patch
...

make API=CFG80211 -C /usr/src/linux-5.4.3 M=`pwd`
there are no such files..??

Offline Juanito

  • Administrator
  • Hero Member
  • *****
  • Posts: 14624
You’ll need to look back in previous repos for the missing patch files i.e. 10.x, 9.x, etc.

Substitute the actual location of your prepared source for /usr/src/linux-5.4.3
« Last Edit: May 13, 2023, 05:46:12 AM by Juanito »

Offline Rich

  • Administrator
  • Hero Member
  • *****
  • Posts: 11285
Hi Juanito
I copied all of the patches to:
http://tinycorelinux.net/11.x/x86_64/tcz/src/wl/

I'll do the same for x86.