Difference between revisions of "Connecting to the Pi"

From Bike Wiki
Jump to navigation Jump to search
(new section on ethernet & windows)
(Windows: expand)
Line 85: Line 85:
 
# On '''DHCP Server''', click "Continue as tray app". A Windows Defender popup might appear; "Allow access" on all types of networks.
 
# On '''DHCP Server''', click "Continue as tray app". A Windows Defender popup might appear; "Allow access" on all types of networks.
  
A new icon will appear in the taskbar. Right-click it and select "Open Status" to bring up a webpage describing the current status.
+
A new icon will appear in the taskbar. Right-click it and select "Open Status" to bring up a webpage describing the current status. A notification will appear saying something like "Assigning IP address ___ to client ___". You'll want to SSH into the IP address shown.
  
 
You will be SSHing into any of the IP addresses shown. The [https://mobaxterm.mobatek.net/ MobaXterm SSH client] is recommended. From the start screen, click "Session" in the upper left hand corner, select SSH, fill in the "Remote host" box with the IP, check the box and specify "pi" as the username, and click "OK" to start connecting.
 
You will be SSHing into any of the IP addresses shown. The [https://mobaxterm.mobatek.net/ MobaXterm SSH client] is recommended. From the start screen, click "Session" in the upper left hand corner, select SSH, fill in the "Remote host" box with the IP, check the box and specify "pi" as the username, and click "OK" to start connecting.

Revision as of 07:13, 16 April 2019

Here's how to connect to the Pi. Note that in all cases, the Pi's username is pi and the password is raspberry.

Ad hoc

OS X

Connect to RPiwireless from the WiFi dropdown menu, then ssh pi@192.168.1.1. Doesn't work? Try arp -a at a terminal. If an IP address associated with the hostname pehuen-pi[1] comes up, use that in the SSH command instead. Otherwise, keep trying 192.168.1.1 (192.168.2.2 sometimes works).

Dylan's laptop

Disconnect from all WiFi networks. Open the program Windows Powershell from the Start menu. In the terminal that appears, run netsh wlan connect RPiwireless.

If that worked, the laptop should now be connected to RPiwireless, and complain about no Internet access. This is sensible, since the Pi doesn't have any other way to connect to the Internet.

You may now use an SSH client (either PuTTY or MobaXterm) to connect to pi@192.168.1.1. Not sure which one to use? MobaXterm is easier; open the program using the shortcut on the desktop, then click "New Session", select "SSH", enter 192.168.1.1 as the IP and pi as the username, then connect.

Arch Linux

These instructions will use the tools ip and iw. Make sure you have them installed before proceeding. Also, you might have to do some of these commands with sudo.

Helpful background information: the Arch Wiki's articles on wireless network configuration and ad-hoc networking.

First, make sure your network interface (i.e. network card) doesn't have anything running on it. In the examples below, dev wlp4s0 is used as the name of the interface. If your interface name is different (get the interface name with iw dev, and it'll be after the word "Interface"), replace as necessary. If you use netctl, the following command will stop the current connection:

netctl stop $(netctl list | grep '^\*' | cut -d'*' -f2)

Now, while your interface is down, change it over to IBSS (the type for ad-hoc data):

iw dev wlp4s0 set type ibss

And bring the interface up:

ip link set wlp4s0 up

After that, join the ad-hoc network. Replace FREQUENCY with an actual frequency. Choose the frequency from this table. You'll probably use 2.4 GHz (802.11b/g/n/ax) channels 1 or 2, which are 2412 and 2417 MHz respectively, so you would replace FREQUENCY with 2412 or 2417.

iw dev wlp4s0 ibss join RPiwireless FREQUENCY

Now, register an IP address: (I haven't figured out if this next command is strictly necessary)

ip addr add 192.168.1.2/255.255.255.0 dev wlp4s0

And try to connect: (you may have to wait a minute or so before this starts working)

ssh pi@192.168.1.1

The username (the pi@ part) is important because otherwise ssh may try to use your current username, which will almost certainly not be pi.

Warning! The ssh connection produced by this method is almost unusably slow at times. I (Daniel, April 2019) am trying to fix this. I hypothesize you may be able to switch the channel on the Pi side (by editing the "channel" specified in /etc/network/interfaces) to avoid interference.

Windows 10, newer laptops

First, open Powershell and run netsh wlan show wirelesscapabilities, then look for a line that says "IBSS". It'll either say "Supported" or "Not Supported".

If it says "Not Supported", your current driver doesn't support ad-hoc networks. Microsoft has deprecated ad-hoc IBSS, which is a fancy name for ad-hoc networks of the type discussed on this page. So, you'll need an old driver that supports ad-hoc IBSS, as well as the hardware to run it on. I don't think newer laptops support this. For more information on which hardware supports this, Intel has a list. (Check which network device you have by going to Device Manager, selecting "Devices by type" under the "View" menu, and looking for something that looks like it should be a wireless adapter.) For a potential workaround, see this Super User answer.

If you end up with IBSS being supported, you'll want to open network settings, open the Wi-Fi menu, click "Manage known networks", and then "Add a new network". Enter RPiwireless for the name, keep the security as "Open", and leave both checkboxes unchecked. Now, in Powershell:

netsh wlan set profileparameter RPiwireless connectiontype=ibss

It might give you this error:

Failed to modify the profile. Error 0x8000D: The BSS type is not valid.

In which case your hardware and/or driver doesn't support ad-hoc IBSS.

If it worked, though, you can connect to the Pi's network using:

netsh wlan connect RPiwireless

Now, the Pi doesn't have DHCP, so you'll need to assign it an IP manually. Try DHCPwiz. After that, DHCPwiz will give you an IP address, and then you can use PuTTY or MobaXterm to connect to pi@ the Pi's IP address.

Further reading: this page on connecting to ad-hoc networks using Windows 8.1 or 10

Ethernet

Windows

Connect your computer and the Pi using an Ethernet cable. Make sure "Unidentified network (no internet)" or something similar is showing up in your list of networks. Now, download dhcpwiz (the download is called "DHCP Server" but contains the dhcpwiz executable). Version 2.5.2 works on Windows 10 as of April 2019. Extract the zip file to anywhere, and run the dhcpwiz executable. Now:

  1. On the Welcome screen, click Next.
  2. On Network Interface cards, select "Ethernet". Make sure the IP Address listed for it isn't 0.0.0.0. If "Ethernet" doesn't show up or displays with 0.0.0.0, click "Refresh" periodically until it's fine. Click Next.
  3. On Supported Protocols, check the boxes for HTTP and DNS. Click Next.
  4. On Configuring DHCP for Interface, just click Next.
  5. On Writing the INI file, check the "Overwrite existing file" checkbox, then click the "Write INI file" button. Click Next.
  6. On DHCP configuration completed, check the "Run DHCP server immediatly" checkbox, and click Finish.
  7. On DHCP Server, click "Continue as tray app". A Windows Defender popup might appear; "Allow access" on all types of networks.

A new icon will appear in the taskbar. Right-click it and select "Open Status" to bring up a webpage describing the current status. A notification will appear saying something like "Assigning IP address ___ to client ___". You'll want to SSH into the IP address shown.

You will be SSHing into any of the IP addresses shown. The MobaXterm SSH client is recommended. From the start screen, click "Session" in the upper left hand corner, select SSH, fill in the "Remote host" box with the IP, check the box and specify "pi" as the username, and click "OK" to start connecting.

Notes/references

  1. Pehuen Moure was on the team in (at least) 2017