Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] Wi-Fi worked during installation but not after
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Installing Gentoo
View previous topic :: View next topic  
Author Message
mojosam
n00b
n00b


Joined: 21 Jul 2019
Posts: 40
Location: USA

PostPosted: Thu Aug 08, 2019 3:17 am    Post subject: [SOLVED] Wi-Fi worked during installation but not after Reply with quote

I know there are a couple of other topics with similar titles, but those ones aren't close enough to my problem to be useful.

I installed Gentoo onto a creaky Dell Latitude 2110 netbook. This machine has a wired Ethernet card and a Wi-Fi card. During installation, the wired Ethernet did not work at all, but the Wi-Fi did. I rebooted after the install and Gentoo came up fat and happy (or thin and happy, I guess).

Neither network card is working. That's two separate problems. My first priority is to get Wi-Fi working, since it worked before. I tried following the steps in the Handbook for configuring the network, but there were lots of things that I didn't have installed or didn't exist or I couldn't do because I don't have any network connectivity at the moment.

ip a reports:

Code:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: wlp12s0b1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 1c:65:9d:0c:a2:64 brd ff:ff:ff:ff:ff:ff


lscpi reports:

Code:
00:00.0 Host bridge: Intel Corporation Atom Processor D4xx/D5xx/N4xx/N5xx DMI Bridge
00:02.0 VGA compatible controller: Intel Corporation Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller
00:02.1 Display controller: Intel Corporation Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller
00:1b.0 Audio device: Intel Corporation NM10/ICH7 Family High Definition Audio Controller (rev 01)
00:1c.0 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 1 (rev 01)
00:1c.1 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 2 (rev 01)
00:1c.2 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 3 (rev 01)
00:1c.3 PCI bridge: Intel Corporation NM10/ICH7 Family PCI Express Port 4 (rev 01)
00:1d.0 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #1 (rev 01)
00:1d.1 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #2 (rev 01)
00:1d.2 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #3 (rev 01)
00:1d.3 USB controller: Intel Corporation NM10/ICH7 Family USB UHCI Controller #4 (rev 01)
00:1d.7 USB controller: Intel Corporation NM10/ICH7 Family USB2 EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e1)
00:1f.0 ISA bridge: Intel Corporation NM10 Family LPC Controller (rev 01)
00:1f.2 IDE interface: Intel Corporation NM10/ICH7 Family SATA Controller [IDE mode] (rev 01)
00:1f.3 SMBus: Intel Corporation NM10/ICH7 Family SMBus Controller (rev 01)
09:00.0 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme BCM57760 Gigabit Ethernet PCIe (rev 01)
0c:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4313 802.11bgn Wireless Network Adapter (rev 01)
0d:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5208 PCI Express Card Reader (rev 01)


My /etc/conf.d/net is:

Code:
config_wlp12s0b1="dhcp"
# Prefer wpa_supplicant over wireless-tools
modules="wpa_supplicant"


All of the dmseg lines with "bcm" in them are:

Code:
[    1.189391] bcma: bus0: Found chip with id 0x4313, rev 0x01 and package 0x08
[    1.189471] bcma: bus0: Core 0 found: ChipCommon (manuf 0x4BF, id 0x800, rev 0x24, class 0x0)
[    1.189500] bcma: bus0: Core 1 found: IEEE 802.11 (manuf 0x4BF, id 0x812, rev 0x18, class 0x0)
[    1.189550] bcma: bus0: Core 2 found: PCIe (manuf 0x4BF, id 0x820, rev 0x11, class 0x0)
[    1.189677] bcma: bus0: Found rev 8 PMU (capabilities 0x084C3008)
[    1.189695] bcma: bus0: SPROM offset 0x830
[    1.191750] bcma: bus0: Found SPROM revision 8
[    1.202709] b43: probe of bcma0:1 failed with error -524
[    1.202723] brcmsmac bcma0:1: mfg 4bf core 812 rev 24 class 0 irq 17
[    1.202768] bcma: bus0: Switched to core: 0x812
[    1.204623] bcma: bus0: GPIO driver not activated
[    1.204624] bcma: bus0: Bus registered
[    9.441683] brcmsmac bcma0:1 wlp12s0b1: renamed from wlan0
[   11.643295] brcmsmac bcma0:1: Direct firmware load for brcm/bcm43xx-0.fw failed with error -2
[   11.643304] ieee80211 phy0: brcmsmac: fail to load firmware brcm/bcm43xx-0.fw
[   11.940682] brcmsmac bcma0:1: Direct firmware load for brcm/bcm43xx-0.fw failed with error -2
[   11.940689] ieee80211 phy0: brcmsmac: fail to load firmware brcm/bcm43xx-0.fw
[   17.191951] brcmsmac bcma0:1: Direct firmware load for brcm/bcm43xx-0.fw failed with error -2
[   17.191959] ieee80211 phy0: brcmsmac: fail to load firmware brcm/bcm43xx-0.fw
[   17.655028] brcmsmac bcma0:1: Direct firmware load for brcm/bcm43xx-0.fw failed with error -2
[   17.655036] ieee80211 phy0: brcmsmac: fail to load firmware brcm/bcm43xx-0.fw


Can anyone see what is wrong with my configuration and/or have any further troubleshooting ideas?


Last edited by mojosam on Thu Aug 22, 2019 2:04 am; edited 1 time in total
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 5878

PostPosted: Thu Aug 08, 2019 3:26 am    Post subject: Reply with quote

You're missing the firmware files, did you forget to install sys-kernel/linux-firmware?
Back to top
View user's profile Send private message
mojosam
n00b
n00b


Joined: 21 Jul 2019
Posts: 40
Location: USA

PostPosted: Thu Aug 08, 2019 3:50 am    Post subject: Reply with quote

Quote:
You're missing the firmware files, did you forget to install sys-kernel/linux-firmware?


You must be referring to this page:
https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Kernel#Optional:_Installing_firmware

I did that. According to my notes: "It wrote a change to a config file, but it also says that a config file needs updating."

I didn't note which file. Since I didn't know how to deal with it at the time, I decided to move on and fix it later. Would that be now?
Back to top
View user's profile Send private message
*_-=Banana=-_*
Apprentice
Apprentice


Joined: 21 May 2004
Posts: 205
Location: Germany

PostPosted: Thu Aug 08, 2019 6:07 am    Post subject: Reply with quote

My guess would be: Are the modueles or wlan settings compiled into the kernel or as modules?

How did you start your installation? With a live-image? If so run it again, without install, and see if there are modules loaded by running lsmod and also have a look at the network config and write them down. reboot and try to re-create that.
_________________
My personal space
Back to top
View user's profile Send private message
mojosam
n00b
n00b


Joined: 21 Jul 2019
Posts: 40
Location: USA

PostPosted: Thu Aug 08, 2019 10:42 pm    Post subject: Reply with quote

Quote:
How did you start your installation?


With the Minimal Installation CD.

Quote:
If so run it again, without install, and see if there are modules loaded by running lsmod


It produced a file 227 lines long. What am I looking for?

Quote:
have a look at the network config and write them down.


I'm sorry. I don't know what that means. I can run ifconfig or ip a.
Back to top
View user's profile Send private message
charles17
Advocate
Advocate


Joined: 02 Mar 2008
Posts: 2656

PostPosted: Fri Aug 09, 2019 6:06 am    Post subject: Re: Wi-Fi worked during installation but not after Reply with quote

mojosam wrote:
Can anyone see what is wrong with my configuration and/or have any further troubleshooting ideas?
Would you please provide your output of lspci -nnkv | sed -n '/Network/,/^$/p' and the refined dmesg.
It should tell about the Kernel driver in use and Kernel modules
Back to top
View user's profile Send private message
mojosam
n00b
n00b


Joined: 21 Jul 2019
Posts: 40
Location: USA

PostPosted: Fri Aug 09, 2019 10:19 pm    Post subject: Reply with quote

Quote:
Would you please provide your output of lspci -nnkv | sed -n '/Network/,/^$/p' and the refined dmesg.


OK. So I booted from the Gentoo Minimal Install CD, which has working wifi.

Code:
lspci -nnkv | sed -n '/Network/,/^$/p'

0c:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4313 802.11bgn Wireless Network Adapter [14e4:4727] (rev 01)
   Subsystem: Dell Inspiron M5010 / XPS 8300 [1028:0010]
   Flags: bus master, fast devsel, latency 0, IRQ 17
   Memory at f6cfc000 (64-bit, non-prefetchable) [size=16K]
   Capabilities: [40] Power Management version 3
   Capabilities: [58] Vendor Specific Information: Len=78 <?>
   Capabilities: [48] MSI: Enable- Count=1/1 Maskable- 64bit+
   Capabilities: [d0] Express Endpoint, MSI 00
   Capabilities: [100] Advanced Error Reporting
   Capabilities: [13c] Virtual Channel
   Capabilities: [160] Device Serial Number 00-00-9d-ff-ff-0c-1c-65
   Capabilities: [16c] Power Budgeting <?>
   Kernel driver in use: bcma-pci-bridge
   Kernel modules: bcma


Code:
dmesg | grep -i -E '0c:00.0|wlp12s0b1|bcma-pci-bridge'

[    0.655545] pci 0000:0c:00.0: [14e4:4727] type 00 class 0x028000
[    0.655616] pci 0000:0c:00.0: reg 0x10: [mem 0xf6cfc000-0xf6cfffff 64bit]
[    0.655742] pci 0000:0c:00.0: enabling Extended Tags
[    0.655901] pci 0000:0c:00.0: supports D1 D2
[    0.655905] pci 0000:0c:00.0: PME# supported from D0 D3hot D3cold
[   29.066249] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   29.078756] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   29.348841] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   29.355065] brcmsmac bcma0:1 wlp12s0b1: renamed from wlan0


When I boot from my hard drive, the lspci command gives the same result, except this one line is missing:

Code:
Kernel modules: bcma


The dmesg command gives the same result, except these three lines are missing:

Code:
[   29.066249] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   29.078756] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   29.348841] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'


So obviously I'm missing a thing or two. How do I get them in there?
Back to top
View user's profile Send private message
charles17
Advocate
Advocate


Joined: 02 Mar 2008
Posts: 2656

PostPosted: Sat Aug 10, 2019 6:24 am    Post subject: Reply with quote

mojosam wrote:
When I boot from my hard drive, the lspci command gives the same result, except this one line is missing:

Code:
Kernel modules: bcma
Looks like the driver is built into the kernel (<*>). See the Important note.
When the driver is built as a module you should also get it listed in lsmod
Back to top
View user's profile Send private message
mojosam
n00b
n00b


Joined: 21 Jul 2019
Posts: 40
Location: USA

PostPosted: Wed Aug 14, 2019 7:50 pm    Post subject: Reply with quote

I'm still stuck at exactly the same point. Here's what I did since my last posting.

I booted back into the Minimal Install CD. I chrooted into my hard drive.

I went into make menuconfig. Almost all of the Broadcom stuff was already set to be compiled into the kernel. I added the one or two that weren't already set, but they seemed to be irrelevant.

According to the Wiki's Linux Firmware page, in this section of the menuconfig:

Code:
Device Drivers  --->
  Generic Driver Options  --->
    -*- Userspace firmware loading support
    [*]   Include in-kernel firmware blobs in kernel binary

I have to add /lib/firmware. That quit with an error when I tried to compile, so I removed it.

Next, I needed to add the firmware. So I did this:

Code:
emerge --ask sys-kernel/linux-firmware


That did absolutely nothing, apparently.

The Firmware section of the Wiki's WiFi page is bewildering. I need Broadcom 43xx wireless support. Eventually I suspected that maybe I'm supposed to do this instead:

Code:
emerge --ask sys-firmware/b43-firmware


I don't know if that did anything.

The Handbook's Configuring the Modules page says:

Quote:
List the modules that need to be loaded automatically in /etc/modules-load.d/*.conf files one module per line.


So I ran this command to list all available modules:

Code:
find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko' | less


That gave me about 40 modules. I don't know what I'm supposed to do with that. I didn't see anything Broadcom in there.

So then I rebooted. My current results are identical to what I reported in my last posting. I have discovered that my skull is thicker than I thought. That must be a survival advantage somewhere, but it's not helping me here. Short of cranial surgery, can anybody help?
Back to top
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 7192
Location: Saint Amant, Acadiana

PostPosted: Wed Aug 14, 2019 8:36 pm    Post subject: Reply with quote

Quote:
Are the modueles or wlan settings compiled into the kernel or as modules?

This was your hint, did you act upon it?
Above dmesg shows your driver loads, but firmware is not found.
When you configure kernel with driver built in <*> then the firmware must be also built in.
When you configure as module <M> then firmware can reside in the root partition.
_________________
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
mojosam
n00b
n00b


Joined: 21 Jul 2019
Posts: 40
Location: USA

PostPosted: Wed Aug 14, 2019 9:17 pm    Post subject: Reply with quote

Quote:
This was your hint, did you act upon it?


How? I tried those things I mentioned above. /lib/firmware didn't work. emerge --ask sys-kernel/linux-firmware and emerge --ask sys-firmware/b43-firmware did nothing. The Configuring the Modules section didn't tell me what to do.

If I'm supposed to do one of those things to solve this problem, the instructions are inadequate. If it's covered somewhere else, I couldn't find it. I'm sorry, but you'll have to point me to the right place or help me understand the sections above.
Back to top
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 7192
Location: Saint Amant, Acadiana

PostPosted: Wed Aug 14, 2019 9:23 pm    Post subject: Reply with quote

OK, lets start from beginning.
Quote:
emerge --ask sys-kernel/linux-firmware and emerge --ask sys-firmware/b43-firmware did nothing
There should have been some response to this emerge command. What is "nothing"? Like no output from this command at all?
_________________
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
g2g591
Apprentice
Apprentice


Joined: 17 Sep 2007
Posts: 215

PostPosted: Wed Aug 14, 2019 10:03 pm    Post subject: Reply with quote

To build firmware into the kernel you set
Quote:
Build named firmware blobs into the kernel binary
(CONFIG_EXTRA_FIRMWARE) (this can contain multiple files, use spaces between them)to the path under
Quote:
Firmware blobs root directory
(CONFIG_EXTRA_FIRMWARE_DIR)

If you build your wifi driver into the kernel (not as a module, modules can just read the firmware from /lib/firmware as long as the firmware package it needs is installed, though it won't hurt if the firmware is built in) you need to build in the firmware by setting the above options, use dmesg to get an idea of what to add in

Quote:
17.655036] ieee80211 phy0: brcmsmac: fail to load firmware brcm/bcm43xx-0.fw

Indicates that you need at least brcm/bcm43xx-0.fw in CONFIG_EXTRA_FIRMWARE if you want to build it in.
Back to top
View user's profile Send private message
mojosam
n00b
n00b


Joined: 21 Jul 2019
Posts: 40
Location: USA

PostPosted: Thu Aug 15, 2019 6:26 am    Post subject: Reply with quote

Jaglover wrote:
Quote:
There should have been some response to this emerge command. What is "nothing"? Like no output from this command at all?

Sorry. I should have been clearer. It was effectively nothing, because it appeared to not emerge any firmware. So when I entered:
Code:
emerge --ask sys-kernel/linux-firmware

it did its calculating, then the highlights of what it said were:
Code:
The following license changes are necessary to proceed:
# required by sys-kernel/linux-firmware (argument)
=sys-kernel/linux-firmware-20190717 linux-fw-redistributable no-source-code

After I said yes, it said:
Code:
Autounmask changes successfully written.

and it incremented the number of config files that it tells me need updating in '/etc/portage'.

I'm guessing that this is because I don't yet have the locations set in the menuconfig.

g2g591 mentions the firmware blobs and location. This is one of the things that was confusing me.
Quote:
Indicates that you need at least brcm/bcm43xx-0.fw in CONFIG_EXTRA_FIRMWARE if you want to build it in.

So I did a search (while booted from Minimal Install CD) for anything Broadcom:
Code:
locate firmware | egrep 'broadcom|brcm|bcm|b43'

/usr/src/linux-4.19.57-gentoo/Documentation/devicetree/bindings/arm/bcm/raspberrypi,bcm2835-firmware.txt
/usr/src/linux-4.19.57-gentoo/drivers/firmware/broadcom
/usr/src/linux-4.19.57-gentoo/drivers/firmware/broadcom/.built-in.a.cmd
/usr/src/linux-4.19.57-gentoo/drivers/firmware/broadcom/Kconfig
/usr/src/linux-4.19.57-gentoo/drivers/firmware/broadcom/Makefile
/usr/src/linux-4.19.57-gentoo/drivers/firmware/broadcom/bcm47xx_nvram.c
/usr/src/linux-4.19.57-gentoo/drivers/firmware/broadcom/bcm47xx_sprom.c
/usr/src/linux-4.19.57-gentoo/drivers/firmware/broadcom/built-in.a
/usr/src/linux-4.19.57-gentoo/drivers/firmware/broadcom/modules.builtin
/usr/src/linux-4.19.57-gentoo/drivers/firmware/broadcom/modules.order
/usr/src/linux-4.19.57-gentoo/drivers/net/wireless/broadcom/brcm80211/brcmfmac/.firmware.o.cmd
/usr/src/linux-4.19.57-gentoo/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c
/usr/src/linux-4.19.57-gentoo/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.h
/usr/src/linux-4.19.57-gentoo/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.o
/usr/src/linux-4.19.57-gentoo/include/soc/bcm2835/raspberrypi-firmware.h
/var/db/repos/gentoo/metadata/md5-cache/sys-firmware/b43-firmware-5.100.138
/var/db/repos/gentoo/metadata/md5-cache/sys-firmware/b43-firmware-6.30.163.46
/var/db/repos/gentoo/metadata/md5-cache/sys-firmware/b43legacy-firmware-3.130.20.0
/var/db/repos/gentoo/sys-firmware/b43-firmware
/var/db/repos/gentoo/sys-firmware/b43legacy-firmware
/var/db/repos/gentoo/sys-firmware/b43-firmware/Manifest
/var/db/repos/gentoo/sys-firmware/b43-firmware/b43-firmware-5.100.138.ebuild
/var/db/repos/gentoo/sys-firmware/b43-firmware/b43-firmware-6.30.163.46.ebuild
/var/db/repos/gentoo/sys-firmware/b43-firmware/metadata.xml
/var/db/repos/gentoo/sys-firmware/b43legacy-firmware/Manifest
/var/db/repos/gentoo/sys-firmware/b43legacy-firmware/b43legacy-firmware-3.130.20.0.ebuild
/var/db/repos/gentoo/sys-firmware/b43legacy-firmware/metadata.xml

I assume I can ignore all of the /usr/src/ stuff. That looks like source code. Based on this page, I think I need:
Code:
/var/db/repos/gentoo/sys-firmware/b43-firmware/b43-firmware-5.100.138.ebuild

Is that a fair guess? So for this section of menuconfig:
Code:
Device Drivers  --->
  Generic Driver Options  --->
    Firmware loader --->
       -*- Firmware loading facility
       () Build named firmware blobs into the kernel binary
       (/lib/firmware) Firmware blobs root directory

I would put:
Code:
CONFIG_EXTRA_FIRMWARE=b43-firmware-5.100.138.ebuild
CONFIG_EXTRA_FIRMWARE_DIR=/var/db/repos/gentoo/sys-firmware/b43-firmware

That last one seems wrong, since the documentation says it should be:
Code:
CONFIG_EXTRA_FIRMWARE_DIR=/lib/firmware
Back to top
View user's profile Send private message
charles17
Advocate
Advocate


Joined: 02 Mar 2008
Posts: 2656

PostPosted: Thu Aug 15, 2019 6:56 am    Post subject: Reply with quote

mojosam wrote:
The Firmware section of the Wiki's WiFi page is bewildering.

It should have guided you to Broadcom brcmsmac(PCIe) and brcmfmac(SDIO/USB) drivers.
There you should find some notes about that certain device.

mojosam wrote:
Quote:
lspci -nnkv | sed -n '/Network/,/^$/p'

0c:00.0 Network controller [0280]: Broadcom Inc. and subsidiaries BCM4313 802.11bgn Wireless Network Adapter [14e4:4727] (rev 01)
     Subsystem: Dell Inspiron M5010 / XPS 8300 [1028:0010]
...


And, why not simply use the <M> instead of the <*> option as already proposed by others in this thread?

P.S.: Here some computers using this device are reported: https://wiki.gentoo.org/index.php?title=Special%3ASearch&search=BCM4313&fulltext=1
Back to top
View user's profile Send private message
g2g591
Apprentice
Apprentice


Joined: 17 Sep 2007
Posts: 215

PostPosted: Thu Aug 15, 2019 7:56 am    Post subject: Reply with quote

g2g591 wrote:
mojosam wrote:
Jaglover wrote:
Quote:
There should have been some response to this emerge command. What is "nothing"? Like no output from this command at all?

Sorry. I should have been clearer. It was effectively nothing, because it appeared to not emerge any firmware. So when I entered:
Code:
emerge --ask sys-kernel/linux-firmware

it did its calculating, then the highlights of what it said were:
Code:
The following license changes are necessary to proceed:
# required by sys-kernel/linux-firmware (argument)
=sys-kernel/linux-firmware-20190717 linux-fw-redistributable no-source-code

After I said yes, it said:
Code:
Autounmask changes successfully written.

and it incremented the number of config files that it tells me need updating in '/etc/portage'.

I'm guessing that this is because I don't yet have the locations set in the menuconfig.

I assume I can ignore all of the /usr/src/ stuff. That looks like source code. Based on this page, I think I need:
Code:
/var/db/repos/gentoo/sys-firmware/b43-firmware/b43-firmware-5.100.138.ebuild

Is that a fair guess? So for this section of menuconfig:
Code:
Device Drivers  --->
  Generic Driver Options  --->
    Firmware loader --->
       -*- Firmware loading facility
       () Build named firmware blobs into the kernel binary
       (/lib/firmware) Firmware blobs root directory

I would put:
Code:
CONFIG_EXTRA_FIRMWARE=b43-firmware-5.100.138.ebuild
CONFIG_EXTRA_FIRMWARE_DIR=/var/db/repos/gentoo/sys-firmware/b43-firmware

That last one seems wrong, since the documentation says it should be:
Code:
CONFIG_EXTRA_FIRMWARE_DIR=/lib/firmware

EDIT: b43-firmware isn't needed, just linux-firmware

Run etc-update and get those configs updated.Those configs in /etc/portage only relate to portage and its settings on how to install packages (not related to menuconfig or anything in /usr/src) , most notably there are a couple different licences that portage needed to know you're ok with (not just plain standard FOSS) before installing the firmware packages that are under those other licenses.

and then retry installing linux-firmware [to download and install the firmware into /lib/firmware. Once the firmware is there simply building the wifi driver as a module will get it working without having to pick out exactly what firmware files it needs.

What your guesses did is tell the kernel to only look in the portage tree for that package and that the ebuild (portage's directions on how to build and install the package) was the firmware. You should almost certainly leave CONFIG_EXTRA_FIRMWARE_DIR as /lib/firmware , as there are other firmware files you may want to include (most notably cpu microcode updates may be built into CONFIG_EXTRA_FIRMWARE instead of other methods like initrds, but lets focus on your wifi for now)


Last edited by g2g591 on Thu Aug 15, 2019 8:56 am; edited 1 time in total
Back to top
View user's profile Send private message
charles17
Advocate
Advocate


Joined: 02 Mar 2008
Posts: 2656

PostPosted: Thu Aug 15, 2019 8:25 am    Post subject: Reply with quote

g2g591,
b43 is the wrong driver, see my previous post. It needs brcmsmac.
Back to top
View user's profile Send private message
g2g591
Apprentice
Apprentice


Joined: 17 Sep 2007
Posts: 215

PostPosted: Thu Aug 15, 2019 9:05 am    Post subject: Reply with quote

right, looks like b43-firmware isn't needed, just get linux-firmware installed ( by doing etc-update and review and accepting the changes, then emerging it) and compile the driver as a module

or if you really want to build it in , looking at this you should only need to set CONFIG_EXTRA_FIRMWARE to
Code:
brcm/bcm43xx-0.fw brcm/bcm43xx_hdr-0.fw
Include the space between them and leave the directory set to /lib/firmware, and of course you still need linux-firmware installed to get them there to be built into the kernel to begin with.
Back to top
View user's profile Send private message
mojosam
n00b
n00b


Joined: 21 Jul 2019
Posts: 40
Location: USA

PostPosted: Mon Aug 19, 2019 8:49 pm    Post subject: Reply with quote

I've made a bit of progress, but the wifi card is not yet online. Thank you all for all of the help so far. I think I'm close!

I went back into menuconfig and flipped the bits to build the driver as a module. I don't know if I set everything correctly. Then I recompiled the kernel and rebooted. This is where things now stand.

ip a reports:

Code:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: wlp12s0b1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 1c:65:9d:0c:a2:64 brd ff:ff:ff:ff:ff:ff


I see that wlp12s0b1: now says <NO-CARRIER,BROADCAST,MULTICAST,UP>. I couldn't find where that is documented. UP is encouraging. NO-CARRIER implies that the card is working but not connected to the network.

I thought it would be fun to run net-setup to see if that fixes it. Alas, net-setup is not installed on my system!

Next I tried lspci:

Code:
lspci -nnkv | sed -n '/Network/,/^$/p'


That gave me the exact same results as when I was booted from the Minimal Install CD (See posting above where I list that.). That's very encouraging. Specifically, it included these two lines:

Code:
Kernel driver in use: bcma-pci-bridge
Kernel modules: bcma


If I understand correctly, that is exactly what I need.

dmesg is not identical to the Minimal Install CD. This is what it says:

Code:
dmesg | grep -i -E '0c:00.0|wlp12s0b1|bcma-pci-bridge'

[    0.708724] pci 0000:0c:00.0: [14e4:4727] type 00 class 0x028000
[    0.708797] pci 0000:0c:00.0: reg 0x10: [mem 0xf6cfc000-0xf6cfffff 64bit]
[    0.708909] pci 0000:0c:00.0: enabling Extended Tags
[    0.709226] pci 0000:0c:00.0: supports D1 D2
[    0.709229] pci 0000:0c:00.0: PME# supported from D0 D3hot D3cold
[   10.130584] brcmsmac bcma0:1 wlp12s0b1: renamed from wlan0
[   18.482910] IPv6: ADDRCONF(NETDEV_UP): wlp12s0b1: link is not ready


These lines are missing from my current setup but were present in the CD version:

Code:
[   29.066249] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   29.078756] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   29.348841] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'


I don't know why the certificates are missing or if that will be a problem. I know I turned on minstrel. Those are (probably?) tangents to my wifi problem.

Of the last two lines:

Code:
[   10.130584] brcmsmac bcma0:1 wlp12s0b1: renamed from wlan0
[   18.482910] IPv6: ADDRCONF(NETDEV_UP): wlp12s0b1: link is not ready


I previously had the brcmsmac line. Is the IPv6 line anything to worry about? I don't recall whether I told it to activate IPv6, and I don't know if it's necessary yet.

So that's where I'm at. What should I look at or fiddle with next?
Back to top
View user's profile Send private message
charles17
Advocate
Advocate


Joined: 02 Mar 2008
Posts: 2656

PostPosted: Tue Aug 20, 2019 6:52 am    Post subject: Reply with quote

mojosam wrote:
I've made a bit of progress, but the wifi card is not yet online. Thank you all for all of the help so far. I think I'm close!

I went back into menuconfig and flipped the bits to build the driver as a module. I don't know if I set everything correctly. Then I recompiled the kernel and rebooted. This is where things now stand.

ip a reports:

Code:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: wlp12s0b1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether 1c:65:9d:0c:a2:64 brd ff:ff:ff:ff:ff:ff


I see that wlp12s0b1: now says <NO-CARRIER,BROADCAST,MULTICAST,UP>. I couldn't find where that is documented. UP is encouraging. NO-CARRIER implies that the card is working but not connected to the network.
NO-CARRIER is what I am getting when the adapter is switched on but connection is not yet established.

mojosam wrote:
I thought it would be fun to run net-setup to see if that fixes it. Alas, net-setup is not installed on my system!

Next I tried lspci:

Code:
lspci -nnkv | sed -n '/Network/,/^$/p'


That gave me the exact same results as when I was booted from the Minimal Install CD (See posting above where I list that.). That's very encouraging. Specifically, it included these two lines:

Code:
Kernel driver in use: bcma-pci-bridge
Kernel modules: bcma
Now you could run modinfo as described for another dirver
Code:
$ modinfo bcma


mojosam wrote:
If I understand correctly, that is exactly what I need.

dmesg is not identical to the Minimal Install CD. This is what it says:

Code:
dmesg | grep -i -E '0c:00.0|wlp12s0b1|bcma-pci-bridge'

[    0.708724] pci 0000:0c:00.0: [14e4:4727] type 00 class 0x028000
[    0.708797] pci 0000:0c:00.0: reg 0x10: [mem 0xf6cfc000-0xf6cfffff 64bit]
[    0.708909] pci 0000:0c:00.0: enabling Extended Tags
[    0.709226] pci 0000:0c:00.0: supports D1 D2
[    0.709229] pci 0000:0c:00.0: PME# supported from D0 D3hot D3cold
[   10.130584] brcmsmac bcma0:1 wlp12s0b1: renamed from wlan0
[   18.482910] IPv6: ADDRCONF(NETDEV_UP): wlp12s0b1: link is not ready


These lines are missing from my current setup but were present in the CD version:

Code:
[   29.066249] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   29.078756] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   29.348841] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
Have you disabled the 80211 essentials? Try
Code:
$ dmesg | grep 80211


mojosam wrote:
I don't know why the certificates are missing or if that will be a problem. I know I turned on minstrel. Those are (probably?) tangents to my wifi problem.

Of the last two lines:

Code:
[   10.130584] brcmsmac bcma0:1 wlp12s0b1: renamed from wlan0
[   18.482910] IPv6: ADDRCONF(NETDEV_UP): wlp12s0b1: link is not ready


I previously had the brcmsmac line. Is the IPv6 line anything to worry about? I don't recall whether I told it to activate IPv6, and I don't know if it's necessary yet.

So that's where I'm at. What should I look at or fiddle with next?
Try stopping and then again starting the services:
Code:
# rc-service dhcpcd stop
# rc-service wpa_supplicant stop
# killall wpa_supplicant
# killall dhcpcd
And then
Code:
# rc-service dhcpcd start
# rc-service wpa_supplicant start
Or, try them without backgrounding and see what happens:
Code:
# wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -iwlp12s0b1
Code:
# rc-service dhcpcd stop
# dhcpcd -dB
Back to top
View user's profile Send private message
Proinsias
Tux's lil' helper
Tux's lil' helper


Joined: 06 Oct 2014
Posts: 114
Location: Scotland

PostPosted: Tue Aug 20, 2019 12:09 pm    Post subject: Reply with quote

etc-update or dispatch-conf might be helpful for getting the config files up to date.
Back to top
View user's profile Send private message
mojosam
n00b
n00b


Joined: 21 Jul 2019
Posts: 40
Location: USA

PostPosted: Wed Aug 21, 2019 6:56 am    Post subject: Reply with quote

Hmm. I didn't get anywhere.

charles17 wrote:

Quote:
Now you could run modinfo as described for another dirver

That didn't seem to give me anything useful:

Code:
# modinfo bcma

filename:       /lib/modules/4.19.57-gentoo/kernel/drivers/bcma/bcma.ko
license:        GPL
description:    Broadcom's specific AMBA driver
alias:          pci:v000014E4d0000A8DCsv*sd*bc*sc*i*
alias:          pci:v000014E4d0000A8DBsv*sd*bc*sc*i*
alias:          pci:v000014E4d00004727sv*sd*bc*sc*i*
alias:          pci:v000014E4d000043B1sv*sd*bc*sc*i*
alias:          pci:v000014E4d000043AAsv*sd*bc*sc*i*
alias:          pci:v000014E4d000043A9sv*sd*bc*sc*i*
alias:          pci:v000014E4d000043A0sv*sd*bc*sc*i*
alias:          pci:v000014E4d00004365sv0000103Csd0000804Abc*sc*i*
alias:          pci:v000014E4d00004365sv0000105Bsd0000E092bc*sc*i*
alias:          pci:v000014E4d00004365sv00001028sd00000018bc*sc*i*
alias:          pci:v000014E4d00004365sv00001028sd00000016bc*sc*i*
alias:          pci:v000014E4d00004360sv*sd*bc*sc*i*
alias:          pci:v000014E4d00004359sv*sd*bc*sc*i*
alias:          pci:v000014E4d00004358sv*sd*bc*sc*i*
alias:          pci:v000014E4d00004357sv*sd*bc*sc*i*
alias:          pci:v000014E4d00004353sv*sd*bc*sc*i*
alias:          pci:v000014E4d00004331sv*sd*bc*sc*i*
alias:          pci:v000014E4d0000A8D8sv*sd*bc*sc*i*
alias:          pci:v000014E4d00004313sv*sd*bc*sc*i*
alias:          pci:v000014E4d00000576sv*sd*bc*sc*i*
depends:       
intree:         Y
name:           bcma
vermagic:       4.19.57-gentoo mod_unload

Quote:
Have you disabled the 80211 essentials?

My menuconfig is configured identically to the one in the link, except Minstrel doesn't have as many options available. There's just one place where you turn it on.

Code:
# dmesg | grep 80211

[    1.942422] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    1.955431] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    1.961857] cfg80211: failed to load regulatory.db
[    9.817633] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'

"failed to load regulatory.db" is probably important, but I couldn't find where that is configured.

Quote:
Try stopping and then again starting the services:

That had no effect. The ip a command still showed NO-CARRIER.

Quote:
Or, try them without backgrounding and see what happens:

Code:
# wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -iwlp12s0b1

Successfully initialized wpa_supplicant

Then it sat there and never returned me to the command prompt. I eventually hit CTRL-C. It said:

Code:
nl80211: deinit ifname=wlp12s0b1 disabled_11b_rates=0
^Cwlp12s0b1: CTRL-EVENT-TERMINATING

Code:
# dhcpcd -dB

dhcpcd-7.2.3 starting
udev: starting
dev: loaded udev
wlp12s0b1: executing `/lib/dhcpcd/dhcpcd-run-hooks' PREINIT
wlp12s0b1: executing `/lib/dhcpcd/dhcpcd-run-hooks' NOCARRIER
no interfaces have a carrier
wlp12s0b1: waiting for carrier

It then sat there for a while and never gave me a command prompt. I eventually hit CTRL-C. It said:

Code:
^Creceived SIGINT, stopping
wlp12s0b1: removing interface
wlp12s0b1: executing `/lib/dhcpcd/dhcpcd-run-hooks' STOPPED
dev: unloaded udev
dhcpcd exited

Proinsias said:

Quote:
etc-update or dispatch-conf might be helpful for getting the config files up to date.

I thought they were up to date. Anyway:

Code:
# etc-update
Scanning Configuration files...
Exiting: Nothing left to do; exiting. :)

dispatch-conf just returned me to the command prompt with no indication it was happy or sad.

Maybe something in these results provides a clue for what to do next, but I can't see it.
Back to top
View user's profile Send private message
charles17
Advocate
Advocate


Joined: 02 Mar 2008
Posts: 2656

PostPosted: Wed Aug 21, 2019 9:26 am    Post subject: Reply with quote

mojosam wrote:
"failed to load regulatory.db" is probably important, but I couldn't find where that is configured.
That's meaningless.

mojosam wrote:
Quote:
Try stopping and then again starting the services:

That had no effect. The ip a command still showed NO-CARRIER.

Quote:
Or, try them without backgrounding and see what happens:

Code:
# wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -iwlp12s0b1

Successfully initialized wpa_supplicant

Then it sat there and never returned me to [...]
Looks like it's wpa_supplicant not getting the carrier. Try with -dd
Code:
# wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -iwlp12s0b1 -dd
This should give you some more output.

BTW: Does your access point provide dhcp at all?
Back to top
View user's profile Send private message
mojosam
n00b
n00b


Joined: 21 Jul 2019
Posts: 40
Location: USA

PostPosted: Wed Aug 21, 2019 7:27 pm    Post subject: Reply with quote

Quote:
BTW: Does your access point provide dhcp at all?

Yes.

Quote:
Looks like it's wpa_supplicant not getting the carrier. Try with -dd

OK. I entered this:

Code:
# wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -iwlp12s0b1 -dd

A whole bunch of stuff scrolled by. Then it stopped. These are the last two lines:

Code:
RTM_NEWLINK: ifi_index=2 ifname=wlp12s0b1 operstate=2 linkmode=1 ifi_family=0 ifi-flags=0x1003 ([UP])
EAPOL: disable timer tick

It then sat there for a long time and never gave the prompt back. Eventually, I hit CTRL-C:

Code:
wlp12s0b1: Removing interface wlp12s0b1
wlp12s0b1: Request to deauthenticate - bssid=00:00:00:00:00:00 pending_bssid=00:00:00:00:00:00 reason=3 state=DISCONNECTED
^Cnl80211: Data frame filter flags=0x0

Then some more stuff. Then it returned me to the command prompt.
Back to top
View user's profile Send private message
mojosam
n00b
n00b


Joined: 21 Jul 2019
Posts: 40
Location: USA

PostPosted: Wed Aug 21, 2019 10:35 pm    Post subject: Reply with quote

FYI, since the problem seems to be with wpa_supplicant, I had the genius idea of consulting this page.

I'll post again after I've worked through its advice.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Installing Gentoo All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum