# [SOLVED] platform regulatory.0: Direct firmware load for

## bagas

Hello.

Incomprehensible mistake.

```
# dmesg | grep "Direct firmware load"

[    1.053686] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
```

```
[ebuild   R    ] sys-kernel/linux-firmware-20200421::gentoo  USE="redistributable -initramfs -savedconfig (-unknown-license)" 0 KiB
```

My system Linux 5.4.38-gentoo x86_64Last edited by bagas on Thu May 28, 2020 10:17 am; edited 1 time in total

----------

## molletts

It's in net-wireless/wireless-regdb.

----------

## Jaglover

It belongs to net-wireless/wireless-regdb, it is loaded by cfg80211 and it should be treated like firmware, built in if the loading driver is built in.

----------

## bagas

 *Jaglover wrote:*   

> It belongs to net-wireless/wireless-regdb, it is loaded by cfg80211 and it should be treated like firmware, built in if the loading driver is built in.

 

There is no wifi on the motherboard.

Why should I install the package?

Perhaps the package (net-wireless/wireless-regdb) will be useful for a wireless mouse and keyboard.

All thanks.

----------

## charles17

 *bagas wrote:*   

>  *Jaglover wrote:*   It belongs to net-wireless/wireless-regdb, it is loaded by cfg80211 and it should be treated like firmware, built in if the loading driver is built in. 
> 
> There is no wifi on the motherboard.
> 
> Why should I install the package?

 

Maybe that message goes away if you disabled related kernel options?

```
CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y

CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y

```

----------

## bagas

 *charles17 wrote:*   

>  *bagas wrote:*    *Jaglover wrote:*   It belongs to net-wireless/wireless-regdb, it is loaded by cfg80211 and it should be treated like firmware, built in if the loading driver is built in. 
> 
> There is no wifi on the motherboard.
> 
> Why should I install the package? 
> ...

 

Removed the fully wireless CFG80211 driver from the kernel.

Thanks.

Why activate it by default?

After all, about 50% of motherboards do not have wifi.

----------

## Hu

Assuming your numbers are right, then about 50% of motherboards do have wifi, too.  Many laptop manufacturers have developed the nasty habit of omitting a wired network card entirely, so you can only use wireless or an add-on USB to get network on such systems.  Users are free to turn off unnecessary kernel features, and removing Wifi support on systems where it is unnecessary fits into that category.  Users who have only wireless, and no wired, would likely be unhappy to discover that the default kernel does not support wireless, and that they need to rebuild (or go find an adapter) to get their network working.

----------

## bagas

 *charles17 wrote:*   

>  *bagas wrote:*    *Jaglover wrote:*   It belongs to net-wireless/wireless-regdb, it is loaded by cfg80211 and it should be treated like firmware, built in if the loading driver is built in. 
> 
> There is no wifi on the motherboard.
> 
> Why should I install the package? 
> ...

 

All the same, I need CFG80211 support.

Errors appeared in the X11 logs.

Although the keyboard and mouse work, there are errors.

```
[     4.511] (EE) evdev: DaKai 2.4G RX Mouse: Unable to query fd: Inappropriate ioctl for device

[     4.529] (EE) PreInit returned 2 for "DaKai 2.4G RX Mouse"

[     4.531] (EE) evdev: Logitech Wireless Mouse: Unable to query fd: Inappropriate ioctl for device
```

Please tell me, where exactly is the REGDB parameter located in the kernel?

```
CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y

CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
```

I find this parameter in the kernel configuration file (/usr/src/linux/.config), but I don’t see where this parameter is through make menuconfig.

If these lines are commented out by the .config file, then these lines will become active on the next kernel configuration.Last edited by bagas on Fri May 29, 2020 8:11 am; edited 1 time in total

----------

## fturco

You can use the internal kernel search system. Just type / (slash) into the make menuconfig text user interface.

```
Symbol: CFG80211_REQUIRE_SIGNED_REGDB [=y]

  │ Type  : bool

  │ Defined at net/wireless/Kconfig:91

  │   Prompt: require regdb signature

  │   Depends on: NET [=y] && WIRELESS [=y] && CFG80211 [=y]

  │   Visible if: NET [=y] && WIRELESS [=y] && CFG80211 [=y] && CFG80211_CERTIFICATION_ONUS [=n]

  │   Location:

  │     -> Networking support (NET [=y])

  │       -> Wireless (WIRELESS [=y])

  │ (1)     -> cfg80211 - wireless configuration API (CFG80211 [=y])

  │           -> cfg80211 certification onus (CFG80211_CERTIFICATION_ONUS [=n])

  │ Selects: SYSTEM_DATA_VERIFICATION [=y]
```

```
Symbol: CFG80211_USE_KERNEL_REGDB_KEYS [=y]

  │ Type  : bool

  │ Defined at net/wireless/Kconfig:101

  │   Prompt: allow regdb keys shipped with the kernel

  │   Depends on: NET [=y] && WIRELESS [=y] && CFG80211 [=y] && CFG80211_REQUIRE_SIGNED_REGDB [=y]

  │   Visible if: NET [=y] && WIRELESS [=y] && CFG80211 [=y] && CFG80211_REQUIRE_SIGNED_REGDB [=y] && CFG80211_CERTIFICATION_ONUS [=n]

  │   Location:

  │     -> Networking support (NET [=y])

  │       -> Wireless (WIRELESS [=y])

  │ (1)     -> cfg80211 - wireless configuration API (CFG80211 [=y])

  │           -> cfg80211 certification onus (CFG80211_CERTIFICATION_ONUS [=n])

  │             -> require regdb signature (CFG80211_REQUIRE_SIGNED_REGDB [=y])
```

----------

## bagas

 *fturco wrote:*   

> You can use the internal kernel search system. Just type / (slash) into the make menuconfig text user interface.
> 
> ```
> Symbol: CFG80211_REQUIRE_SIGNED_REGDB [=y]
> 
> ...

 

Thanks for the search /, I didn't know about it.

There is no such line in make menuconfig.

```
-> cfg80211 certification onus (CFG80211_CERTIFICATION_ONUS
```

screenshot https://ibb.co/8NS8LC1

----------

## fturco

CFG80211_CERTIFICATION_ONUS depends on the EXPERT option being enabled:

```
Symbol: CFG80211_CERTIFICATION_ONUS [=n]

  │ Type  : bool

  │ Defined at net/wireless/Kconfig:70

  │   Prompt: cfg80211 certification onus

  │   Depends on: NET [=y] && WIRELESS [=y] && CFG80211 [=y] && EXPERT [=n]

  │   Location:

  │     -> Networking support (NET [=y])

  │       -> Wireless (WIRELESS [=y])

  │ (1)     -> cfg80211 - wireless configuration API (CFG80211 [=y])
```

You can find the EXPERT option in the General setup section.

It is called Configure standard kernel features (expert users):

```
Symbol: EXPERT [=n]

  │ Type  : bool

  │ Defined at init/Kconfig:1318

  │   Prompt: Configure standard kernel features (expert users)

  │   Location:

  │ (1) -> General setup

  │ Selects: DEBUG_KERNEL [=y]

  │ Selected by [n]:

  │   - EMBEDDED [=n]
```

----------

## bagas

 *fturco wrote:*   

> CFG80211_CERTIFICATION_ONUS depends on the EXPERT option being enabled:
> 
> ```
> Symbol: CFG80211_CERTIFICATION_ONUS [=n]
> 
> ...

 

Thanks for clarifying.

----------

