Control Your WiFi With ‘rfkill’ And More

In today’s article, we’re going to learn how to control your WiFi with ‘rfkill’ and we’ll be learning a bit more than that. I think you’ll find ‘rfkill’ to be a nifty and useful terminal-based command to learn. Is this article appropriate for a beginner? Maybe? Maybe not? I’ll do my best to make it approachable for anyone at any level.

By the way, I’ve decided to intersperse the articles about simple commands like ‘lsusb’. I don’t want to bore my more advanced readers – and I don’t want to bore myself. I’ve decided to make the time necessary, even though I’m pretty busy. I’ll be busy for a little more than a week. (Ask me in private, if you want.)

Anyhow, you should learn about ‘rfkill’, as it’s a pretty handy tool for controlling your wireless. If you look at the name, there should be some indication that it’s actually more than just WiFi. You can use ‘rfkill’ to manage Bluetooth, for example. Bluetooth is also wireless communication. As such, you can use ‘rfkill’ to manage that as well.

So, what is ‘rfkill’? Let’s see how the man page defines it:

rfkill – tool for enabling and disabling wireless devices

See? It says what you’d expect, assuming you read the previous paragraph. The title only mentions WiFi, but that’s really due to space and convenience. You can use ‘rfkill’ to manage both WiFi and Bluetooth. Pretty handy, huh?

Well then, let’s just get the party started…

Control Your WiFi with ‘rfkill’:

Sure enough, you use ‘rfkill’ in the terminal. On Linux-Tips.us, we do a whole lot of stuff in the terminal. So, open your terminal now. If you don’t know how to open your terminal, just press CTRL + ALT + T and your terminal should just pop open.

With your terminal now open, let’s first gather some information:

The output should look a little bit like this, or a lot like this:

gathering information with rfkill
The output should be fairly easy to understand for my delightful readers! I have faith in you!

The information you’re after “ID,TYPE-DESC,SOFT,HARD” is easy to understand. 

The first column is the ID number and the second column is a description of the device. The third column is if there’s a ‘soft block’ on the device, and the fourth column is if there’s a ‘hard block’ on the device.

If you see a ‘soft block’, that’s when there’s some software that disabled the device. A ‘hard block’ is when there’s a hardware block on the device. If it is soft blocked, you’ll need a software solution to turn it on – like ‘rfkill’.

Additionally, when you see a ‘hard block’, it means there’s probably a physical switch (often an Fn + F* key combination, perhaps labeled something like ‘Airplane Mode’) that is keeping the device powered off. You need to physically enable the device to make it work.

Importantly, the ‘rfkill’ application can do nothing about a hard block. But, it can do something about a soft block. If you want to unblock WiFi, try this:

Using my computer’s output, to unblock the WiFi the command would be:

You can also unblock with the description. To unblock the WiFi with the description looks like:

Of course,  you can also do the opposite. Instead of ‘unblock’ you would use ‘block’. That means the opposite of the above command would be:

If you want, you can also just ‘toggle’ the devices. When you toggle it, it turns off if it was on – and it turns on if it was off. You do that with the ID. If I wanted to toggle the wireless, the command would look like:

That will turn my WiFi off (if it was on) or it will turn my WiFi on (if it was currently turned off). See? It’s pretty simple!

Well, I hope I’ve made it simple. If it’s not simple, I hope it’s at least approachable. Like always, feel free to drop a question as a comment. If I don’t have an answer, I’ll try to direct you to someone who does.

Also, don’t be afraid of the man page. There’s a lot more to ‘rfkill’ than I’ve covered in this article. We’ve mostly just scratched the surface. To check the man page:

That’ll give you all the information you want. Plus, I’m sure others have authored pages that will go into more depth. We tend to not do too much of that here. I just want you to be up and running, not Linux gurus. If you want to be a Linux guru, you’ll need a whole lot more than just this site!

Closure:

Well, I’m glad you made it through today’s article. I tried to keep it nice and simple, simply showing you a way to control your WiFi with ‘rfkill’. But, there’s more to it, including Bluetooth. I like to think I’ve made this approachable for even a new user, but maybe not…

Again, feel free to comment about this. Is it easy enough for a new person? How about a new person coming from a Google search? Is it easy enough for a novice, someone completely new to computers? (Probably not, but let me know what you think. Thanks!)

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your own site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

Disable Bluetooth From Automatically Starting At Boot

In today’s article, we’re going to learn how to disable Bluetooth from automatically starting at boot. It’s a handy thing to know, if you’re like me and have no real use for the service.

I suppose it’d even speed your system’s boot time a trivial amount and reduce the number of running services. So, it’ll make your system a trivial amount more efficient. I just don’t care for Bluetooth so I have a way to prevent it from automatically starting in my notes. These articles are generally based on my notes, so now you’ll know.

NOTE: I should probably also mention that this is really only useful for those of you who use systemd. If you still haven’t moved to systemd, or refuse to move to systemd, then this article isn’t going to be of much use to you. You can still do this, but you’ll have to do so with your particular init system’s commands. These commands are not gonna work for you.

Even if you don’t want to disable Bluetooth from automatically starting at boot, you may want to learn how to disable other services. The process for other services is pretty much the same as it is for Bluetooth. So, you can learn something from this article if you’re new to this whole thing.

This is a nice and easy article, it shouldn’t take much time to read and understand. So then, let’s get on with it!

Disable Bluetooth From Automatically Starting At Boot:

Yeah, that’s longer than it should be. Oh well… Blame the need to optimize for keywords! I try to keep ’em shorter, but here we are…

This article requires an open terminal, like many other articles on this site. If you don’t know how to open the terminal, you can do so with your keyboard – just press CTRL + ALT + T and your default terminal should open.

With your terminal open, let’s first check the Bluetooth service status:

It may or may not be running. If it’s not running, odds are that Bluetooth isn’t set to automatically start at boot. You can ensure that it’s not set to automatically start with the following command:

Now, that’s the command you probably want. It’ll disable Bluetooth from automatically starting at boot – and it will still let the Bluetooth service start if you want it to later or if something else in the system calls for it to start. You can reboot and make sure the setting has changed, if you’d like.

On the other hand, if you ‘mask’ the service, like we did in the How To: Disable Sleep And Hibernation on Ubuntu Server article, you won’t be able to start the service at all. That’s the biggest difference between ‘disable’ and ‘mask’, in case you’re curious. Both of these options are better than manually deleting the services, ’cause you can undo the setting fairly easily. In fact, to do so with the Bluetooth service, you just:

After which, you should check the status again:

And all should be well. You can now reverse it after you’ve chosen to disable Bluetooth from automatically starting at boot. See? Pretty easy and handy information to have for other services. By the way, if you chose ‘mask’ then you’d ‘unmask’ the service, which seems like an obvious way to do it.

Closure:

See? I told you that this one would be pretty quick and easy. I’m kinda amazed that I haven’t run out of ideas for articles yet! I’m still chugging along, well after the initial year-long scope for the site. If I can do it, anyone can! I’m still very much open to guest articles, within reason.

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your own site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

Linux Tips
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.