20

I have a Raspberry Pi 3 Model B Rev 1.2. I'd like to ensure Wifi and Bluetooth do not get powered on or draw current since the device is using wired Ethernet.

According to dmesg, the device is booting with:

[    0.000000] Kernel command line: 8250.nr_uarts=0 dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656
bcm2708_fb.fbheight=416 bcm2709.boardrev=0xa22082 bcm2709.serial=0xe7ffc20d smsc95xx.macaddr=B8:...:0D
bcm2708_fb.fbswap=1 bcm2709.uart_clock=48000000 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000 
dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4
elevator=deadline fsck.repair=yes rootwait

I know where to add the command line parameters. I don't know what the command line parameters are.

How do I disable Wifi and Bluetooth and ensure there is no power draw during boot?


$ uname -a
Linux raspberrypi 4.4.13-v7+ #894 SMP Mon Jun 13 13:13:27 BST 2016 armv7l GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 8.0 (jessie)
Release:    8.0
Codename:   jessie
goldilocks
  • 58,859
  • 17
  • 112
  • 227

2 Answers2

34

Since you are running with Jessie, you are supposed to define the hardware in /boot/config.txt (Reference to overlays for pi).

Disable Bluetooth and WiFi by adding the lines

dtoverlay=pi3-disable-bt
dtoverlay=pi3-disable-wifi

Optionally you might also disable the following service

sudo systemctl disable hciuart

See also the following discussion on disabling of BT and WiFi

Alexander
  • 463
  • 3
  • 6
  • 9
    dtoverlay=pi3-disable-wifi will disable WiFi on current RasPi with up-to-date Raspbian Jessie. There's no need to manually blacklist driver modules. – byteborg Jun 21 '17 at 13:52
12

Here is a link that should help with the blue tooth side? on the latest os ver as of April 2016.

https://discourse.osmc.tv/t/disable-rpi3-internal-bluetooth-device/15760

There will be a little power draw during boot, the chips will power up and run their internal firmware and wait for drivers to take over. Black listing the driver is the best option IMO.

/etc/modprobe.d/raspi-blacklist.conf

#wifi
blacklist brcmfmac
blacklist brcmutil
#bt
blacklist btbcm
blacklist hci_uart
CapeCoder
  • 246
  • 2
  • 6
  • Despite the qualification in the bounty this is the correct answer. Radios use power primarily when transmitting, and it won't be transmitting anything if it is not in use. There is no reason to believe that the "power can be cut", since this would involve additional circuitry with very little purpose -- if every such corner case feature were included with the Pi, it would be a $150 credit card size computer plagued with more components to fail (and half the other additional corner case features would probably increase the amount of power required). – goldilocks Aug 10 '16 at 19:20
  • @goldilocks - how does one acquire statistics for the interface with the drivers blacklisted? The TX and RX statistics are part of the reason I know the interface is not powered down. I'd also be surprised if the circuitry was not in-place already. I'm guessing its a matter of apply and removing power at certain pins. What I'm not clear on: does the closed source driver allow the control we need? –  Aug 15 '16 at 22:33
  • The chip that provides wireless communication does have a low power mode. It has internal regulators that can be set (no sure how). Here is the section of the doc that may help? I assume this is what you are looking for in the drivers?

    The BCM43438 allows for an extremely low power-consumption mode by completely shutting down the CBUCK, CLDO, and LNLDO regulators. When in this state, LPLDO1 provides the BCM43438 with all required voltage, further reducing leakage currents.

    link to data sheet: http://www.cypress.com/file/298076/download

    – CapeCoder Aug 16 '16 at 20:15