Wifi diagnostic tool - wifi

I am working on a room which contains 6 wifi IP cameras. There are also the same wifi IP cameras in other close rooms. This cameras have their own wifi access point. I can't manage anything on this wifi network.
I have a raspberry Model 3 in this room. I tried to set up a wifi access point on this raspberry.
I can't connect to this access point, but if in unplug everything and go to try far away from this rooms, everything works great.
So i am wondering if the raspberry is not disturbed by this big wifi traffic.
What should i do ?
Here is an extract of my /etc/hostapd/hostapd.conf
Do you see something i can change in order to make it work ?
interface=wlan0
driver=nl80211
ssid=XXXX
hw_mode=g
channel=6
ieee80211n=1
wmm_enabled=1
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=XXXXXXX
rsn_pairwise=CCMP
Thanks

Try changing the channel=6 to channel=1 in your config file. This should help if the wifi cameras are using channel 6 as well.
https://www.lifewire.com/best-wifi-channels-for-your-network-818278

If you have an Android phone handy you could try installing a WiFi Analyzer app, e.g. this one or else you may be able to use iw on the Raspberry PI to do a local scan:
iw dev wlan0 scan
Either/both of the above should show you which channels are being used within range. Then, as Gilbert says you could change the config to use a less congested channel.
I use a modification of the above command to give me a count of access points against each channel:
iw dev wlan0 scan | grep 'primary channel' | sort | uniq -c

Related

Connet to Raspberry PI on Extender

So here's my setup. Our home wifi is Verizon, with a router in the living room connected to the incoming coax, with a wireless extender upstairs in my office and another extender in the basement, both of which are also connected to the coax network. All of this basic configuration works fine for our basic wireless needs (phone, laptops, tablets, etc.).
The issue I'm having is that I have a Raspberry PI connected wirelessly to the upstairs wifi extender that runs a small Postgres database that I use for my programming tinkering. If I'm connected on my laptop or PC to that extender, I can use PG Admin or remote desktop to connect to the rPI using its IP address. However, if I'm connected to the main router or the other extender, I can't access the rPI anymore - even pinging the IP address times out. I'm assuming this is because the extender the rPI is connected to is technically a different wifi network than the ones broadcast by the router or the other extender. I'm hopeful that maybe there's some way to configure this setup that I can access the rPI from my in-home network no matter which device I'm connected to, because it's all linked via the coax that runs through the house, but I'm not sure how to make that happen, but I don't have the knowledge in this specific area to know where to adjust my settings.
Anyone have any ideas? I feel like it could either be a simple fix or something that's totally impossible. Any help is appreciated.
The issue was that I had configured both extenders and the router to broadcast on the 2.4ghz and 5ghz bands (different SSID on the 2.4ghz band) for older devices that didn't seem to like the 5ghz netowkr. The rPI was connected to the 2.4ghz network, but my laptop was connected to the 5ghz one. Switching the rPI to use the 5ghz band (or plugging it in to the extender, or switching the laptop to use the 2.4ghz network) made it visible.

Wireshark wifi traffic not fully listed under monitor mode under OrangePi(Lubuntu)

I‘m trying to monitor traffics under wifi, And I use both a mac and a lubuntu installed Wireshark, and after I enable monitor mode start listening, the amount of lubuntu packs is far less than Mac (10x less)
Does this happen since the CPU or net card things(other hardware things?) or just because of different Wireshark?
Is there any other way to identify this cause? (maybe with some other tool or commands)
added:
maybe related to the channel of wifi, but I config wifi to channel 7 and set the lubuntu monitor channel with
iwconfig wlanxx channel 7
but still, I can't get sniffer traffic under lubuntu but full of them under mac
seems lubuntu only could get the broadcast pack (like arp) and 802.11 Protocol Pack
I'm guessing this due to the bad configuration or implementation of wireless net card
There is probably just more activity on the Mac. I don't know your precise configuration, but if you have a browser open on the Mac and nothing on the lubuntu, then there will be a difference in the amount of network traffic.
There is not really a reason for network traffic to change significantly because of hardware. Configuration can play a role though. If ipv4 and ipv6 are enabled, address resolution packets will be double as if only one is. If Arp cache is set to expire fast, there will also be more Arp traffic.
To identify the cause, look at what wireshark is telling you. What packets are there on both machines ? what packets are unique to the Mac ? Have a look at protocols, destination IPs and port numbers, they are the main clue to tell you what is happening.
It seems due to router's setting( wifi channel and mode(802.11xx))
using channel hopping Tech, For capturing as much as possible packages while hopping through multiple channels
And maybe trying some advanced monitor wireless net card for various mode(802.11xx) and 2.5G/5G supporting

Automating/scripting Wifi connections

I am using Ubuntu 14.04 with an external wifi key.
My goal is to successfully connect to a wifi spot without going through the GUI using a script
I have tried the following commands:
-nmcli nm wifi on
-nmcli -p dev wifi
-nmcli con up id "essid"
The second command gives me a good list of available wifi issues, however when I try to connect with the third command an error prevents the connection:
-Error: Unknown login: my "essid".
I've tried many other commands located in the wireless part of the forum, but without success.
If I use the GUI and just click once on a wifi spot to connect it without the above commands It Works.
Thank you for your interest in my concern.
Sorry for my very bad english.
"nmcli con up" only connects to existing connections and uses the saved named of the connetion as ID, not the SSID of the network.
To connect to a "new" wireless network use:
nmcli wifi connect <(B)SSID> [password ] [wep-key-type key|phrase]
If you can live without NM, then what I used to do in order to programatically connect to wifi networks was to use iwconfig and dhclient.
In order to associate to the wireless AP:
iwconfig YOUR_INTERFACE essid YOUR_ESSID channel YOUR_WIFI_CHANNEL key YOUR_PSK
In order to get an IP address via DHCP:
dhclient YOUR_INTERFACE
Note that if NM is still running, this will not work.

Wired connection from iPhone to Raspberry Pi

I would like to build an application on my iPhone that connects to my raspberry Pi. Because these are going to be in close proximity (next to each other), I'd like to use the wired connection (lightning port to USB) to communicate. Is this possible or must I use wireless technologies? My assumption is that wired would be better as it ensures a connection and would be faster, however, I am open to be corrected.
This is related to a hobbyist project where I want to access a raspberry pi sensor on my iphone. The sensor (and Pi) will be next to the iphone. I'm building a custom weird case to combine them.
Any thoughts much appreciated.
Thanks
Iain
For communication with peripheral devices (Raspberry Pi for example) you have several alternatives.
UART via 30-pin or lightning connector (MFi needed)
USB via 30-pin or lightning connector (MFi needed)
Quick start: Microchip's development kits. This module can prolong communication to RPi or you can try to implement the Accessory stack (and communication with authentification chip) to RPi itself.
FSK or similar modulated-audio communication via audio-jack (no MFi needed)
You would have to implement hardware FSK modem on the RPi side and a software one on the iOS side. It is a bit tricky but by no means impossible.
Of course you could implement software modem on the RPi side, too. But since RPi doesn't have audio input you would have to use an USB audio card or something. Or complicate your life trying to sample an analog pin fast enough.
User not really Jake made a quite impressive list of links on this topic here on SO.
Bluetooth as an External Accessory (MFi needed)
Quick start: RN-41/42-APL
Easy to use Bluetooth stack. Communication with authentification chip is handled by the BT module. Note that when communicating with iOS devices data troughput is not much better than when using BLE modules.
Bluetooth as a BLE module (no MFi needed)
Data troughput not much worse then the old BT. Implementing the communication might be a bit more tricky code-wise. This module seems interesting.
WiFi communication (no MFi needed)
WiFi might be a good choice. But for your device and iOS device to be able to find eachother you will need either static IP (for the server device) or minimal Zeroconf (Bonjour) implementation.
When using WiFi you can go either with infrastructure network (using external Access Point) or you could go with AdHoc (created by your device). Later seems promising but be careful - iOS7 & AdHoc network don't seem to work well together yet.
With WiFi you have many modules to choose from. A simpler to use would be a module like RN-XV WiFly Module. TCP stack is already implemented in the module - you can use simple UART communication. I'm not sure how to implement Zeroconf on this one.
Or there are raw WiFi modules like MRF24WG0MA/MB. They are stable and reliable and they can be used on home-etched PCB. Downside for RPi user would be that you would almost certainly need an PIC24 or something between the RPi and MRF24W. Microchip provides free TCP/IP stack for their microcontrollers and this stack includes Zeroconf.
And the easiest way: you could simply use a WiFi dongle (with RPi) for communication. Zeroconf should be easy enough to implement on the RPi - and it's not even needed at the begining if you are ok with assigning static IP to the RPi (if it acts as a server).
This is not possible without signing up for apples MFI program. You have to pay and sign a bunch of NDA's.
https://developer.apple.com/programs/mfi/
You can use other methods, like bluetooth and connection over the audio port.
While #RokJarc's answer is pretty complete, I've also had success with both wired (lightning to usb) and wireless connections using iOS's personal hotspot. Here are the steps:
For wired, on the Pi, install ipheth-utils:
sudo apt-get install ipheth-utils
And add an eth1 network interface by editing /etc/network/interfaces to include:
allow-hotplug eth1
iface eth1 inet manual
For wireless, make sure /etc/network/interfaces has a wireless network entry such as:
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
If you are using wpa_supplicant and add a network entry for the iPhone's hotspot in /etc/wpa_supplicant/wpa_supplicant.conf:
network={
ssid="Banana Phone"
psk="ring ring ring"
key_mgmt=WPA-PSK
id_str="banana"
priority=3
}
The ssid should be the name of the phone from Settings -> General -> About -> Name and the password should come from the personal hotspot screen.
Now start the personal hotspot on your phone. The pi should automatically connect when connected by a usb to lighting cable or using wifi. After connecting, the pi should be assigned an ip somewhere in 172.20.10.x. You can run ifconfig on the pi to figure out which one. (I believe that you should be able to define a static ip here but haven't messed around with that yet)
From there, you can connect another computer to the hotspot and ssh into the pi using the 172.20.10.x ip or even ssh directly from the phone.
In my personal testing, latency over lightning is consistently low and I've used this on both a Raspberry Pi Two and Raspberry Pi Zero for streaming realtime mjpeg video from two cameras to a VR headset. In this scheme, the network is a fairly small source of the 100ms or so latency. The experience is not Vive quality of course, but it is still usable and the iPhone + Pi combo provides lots of fun hacking opportunities
It's possible to do this with Mfi.You can run usbmuxd service on your Raspberry Pi. The usbmuxd will transfer the USB data into socket packets. Your iOS App also need to implement the same protocol to rx/tx the data from/to your Raspberry Pi.
David House has already made this work. https://github.com/davidahouse/PiTalk

Can't see another computer in WiFi

I am trying to do a little experiment and I'm getting pretty odd results that I can't explain. I came to my University with my friend, we both brought our laptops and we connected to the same WiFi. But from some reason, our computers couldn't communicate with each other. For example, I couldn't ping him, and I when I did an ARP Scan to find all the hosts on the LAN I didn't find him. He did the same. He couldn't ping me and he didn't find my laptop when he did an ARP scan. Yet, there were many other devices on the LAN that both of us could ping and that we both found in our ARP scan. The University may be big, but we sat just next to each other.
I know that the WiFi on the university may be complex, but yet I have no explanations of what is happening. We sit next to each other, connect to the same WiFi(same Access Point MAC), we both see many same devices in our LAN, yet we can't see each other. Anyone has any idea of what may be happening? Why can't we see/ping each other while we are on the same LAN?
Thanks! :)
The wireless access point probably has a security setting of "Wireless Isolation Within SSID" turned on. This function does exactly what you describe. It allows all authenticated users to see machines on the LAN, but not other wireless machines on the same access point.
Reconfigure your router and make some settings like this
LAN DHCP=Enable
Wireless Authentication type=WPA-PSK/WPA2-PSK
Encryption=AES
After this setting delete all Wireless network of router listed in your PC. And than connect, It will works. you can ping your both PC together.
Because you are connected to an infrastructure mode access point (99% of APs), in order to send packets to another device your laptop sends the packet to the AP (to the distribution system), and then the AP sends the packet to your friend (from the distribution system). You cannot connect 'directly' to your friend.
The AP can direct whether or not wireless clients can see each other - depending on the manufacturer this can be implemented in many different ways. You could talk to your system administrator about why/how this policy works.

Resources