Is it possible to configure the gr-ieee-80211 wifi_rx file to receive higher level layers? - gnuradio

I would like to ask if it is possible to receive UDP or TCP packets instead of just the Physical layer by configuring the wifi_rx.grc 1 flow graph in GNU Radio.
wifi_rx.grc 1 is from the example in gr-ieee80211
I am using a LimeSDR-Mini as rx source

You can use the Wireshark Connector block to write the decoded frames in a PCAP file and inspect all layers with Wireshark/tcpdump/tshark just with like a normal WLAN card.
The flow graph you are referring to already contains these blocks albeit they are disabled by default. Click on them and click Enable in the context menu. Then run the flow graph and open the file in Wireshark. If you want live decoding you can write to a Linux pipe. See the rx_demo.sh script in the apps folder on how to do that.

Related

Facing issue to connect with GPSD with UART

We connected L89 GNSS module to processor via UART. I may running gpsmon and gpspipe commands on board but but not getting NMEA logs. But when we were connected L89 to processor via USB, that time I am getting NMEA logs on gpsmon and gpspipe, what is issue with UART?
I edit /etc/default/gpsd file.
# Default settings for gpsd.
# Please do not edit this file directly - use `dpkg-reconfigure gpsd' to
# change the options.
START_DAEMON="true" command to continue
GPSD_OPTIONS=""
DEVICES="/dev/ttyS1"
USBAUTO="false"
GPSD_SOCKET="/var/run/gpsd.sock"
but I am not getting NMEA data using gpsd...

Using 'connmanctl config' to set static IP without wired connection

I am currently using 'connmanctl config' to set static and DHCP settings with a wired connection. I'm curious if anyone has been successful with applying settings with the wire unplugged?
I would typically use 'connmanctl services' for a list of services then perform a string.match(blah, "ethernet_%w+_cable") to use that wired service name. I have been able to find and apply that service name with the ethernet cable unplugged BUT now when using 'connmanctl config':
connmanctl config ethernet_f8dc7a04ea82_cable --ipv4 manual 192.168.91.108 255.255.255.0 192.168.91.1 --nameservers 8.8.8.8
I get this error:
Error ethernet_f8dc7a04ea82_cable: Method "SetProperty" with signature "sv" on interface "net.connman.Service" doesn't exist
As you can see I have the service applied to the command and this is the same service name as when the cable is plugged in. This feature would be nice for equipment that needs to be pre-programmed before reaching the customer. I have also researched this error but can't find it being an issue with others the same as it is with my situation. Have also read many blogs, articles, etc...on trying to achieve this with nothing that jumps out at me.
...Any ideas ?
I had to perform this action via back-end with the code that I am using to configure. Just an example...settings are applied to /var/lib/connman/ethernet_?????cable/settings. I created the adapter name with the MAC address because it does not exist until the network is detected, created the directory /ethernet?????_cable then created an empty settings file on the fly. When programming and saving the settings via the equipment I am using I just insert the settings manually. When a network cable is plugged in and detected the settings you have applied work wonderfully.

How to save a Single Packet Authorisation packet using the fwknop-client?

I was trying to save a SPA packet created via the fwknop-client on a client in client-server architecture.
The command that I have used is as follows
"fwknop -A tcp/22 -D server-ip --key-gen --use-hmac --save-packet --save-packet-file filename.pkt --save-rc-stanza -vv"
The command executes successfully but I'm not able to save the packet, the packet is not found in the system.
I also trying to append the packet using the "--save-packet-append" tag, but still not able to get the output.
The purpose for doing to above is to obtain the SPA packet and append the client certificate (asymmetric encryption) to this SPA packet which will be sent.
How can i save this packet to fulfil my purpose ?
Thank You

Reset Hikvision camera through IP

I have an IP camera and I can only access it through IP and password. Right now when I send it a snapshot request with my system I get
<?xml version="1.0" encoding="UTF-8" ?> <ResponseStatus version="1.0" xmlns="urn:psialliance-org"> <requestURL>/ISAPI/Streaming/channels/101/picture</requestURL> <statusCode>3</statusCode> <statusString>Device Error</statusString> <subStatusCode>deviceError</subStatusCode> </ResponseStatus>:
Right now what I need is to reset that Camera, for example
Model: Hikvision
Vendor: NVR CH1
IP: 10.70.25.1
PORT: 8100
user: shadmin
Password: shadmin
How could I send some request to the camera to reset it? or is there any lists of commands which we can use with HTTP get post methods? Any lists for Hikvision CGI? and Onvif commands to reset the camera?
Any help will be thankful
It seems that you are doing the HTTP request wrong.
To retrieve a snapshot, you can use this URL:
http://user:password#IP/Streaming/channels/1/picture
The number in bold identifies the channel you are getting the snapshot from.
You can find in this link the download list from Hikvision, the one you are looking for is the
Hikvision ISAPI(IP Surveillance Application Program Interface)
NOTE: You should be very carefull with any blank space in the PUT messages you send to the camera, as the camera do not trim the messages.
use SADP tools to find and reset your IPcamera or NVR.
download it from below link :
https://www.hikvision.com/en/support/tools/hitools/clea8b3e4ea7da90a9/
You could take a look at /ISAPI/System/factoryReset?mode=
Method: PUT
Query:
mode: The recovery mode, which contains full, basic, and part
mode. The default mode is full, and all the device parameters will
be restored to default settings;​ for basic mode, the device
parameters, except network and user parameters, will be restored to
default settings;​ for part mode, only a part of default settings will
be restored.
Normally the authentication for interacting with hikvision cameras is digest or basic

OpenDaylight: OpenFlow FLOW_MOD messages

I'm studying SDNs and using different controllers (Floodlight 1.1, OpenDaylight Lithium-SR2). I have 2 VMs which can communicate via a private network. In the first VM there is the SDN controller, while in the second VM I can setup a network topology with Mininet via a Python script.
My goal is to find out the controller behaviour: given a topology with 5 switches (with loops) and only 2 hosts, after a "ping" command, which switch does the controller select for the path between hosts?
A "ping" command in Mininet implies ARP traffic (discovering hosts' MAC addresses) and ICMP echo requests/replies.
After a ARP_REPLY we see a PACKET_IN from the switch linked to the answering host and the controller sends a FLOW_MOD message to all the switches it selects for the path, according with OpenFlow 1.0 protocol. Look at this Sequence Diagram for an example.
I captured the traffic with "tcpdump" tool and studied it with Wireshark.
Using Floodlight I can see FLOW_MOD messages which include "src" and "dst" MAC addresses (to create the path), but not with OpenDaylight (there are FLOW_MOD messages, but only before ARP traffic and only with broadcast "src" and "dst" MAC addresses).
I would like to understand why I'm not able to see FLOW_MOD messages with correct MAC addresses "src" and "dst" AFTER ARP replies (and not BEFORE). I don't know if it depends on controller's code or on OpenFlow protocol.
Thanks in advance for your help.
I found the problem: ODL works in Proactive mode as default, so I wasn't able to see Flow_Mod messages with attached MAC addresses after ARP traffic. I set ODL in Reactive mode modifying some configuration files which are located in the [ODL-folder]/etc/opendaylight/karaf/ directory of the Controller folder:
54-arphandler.xml: by default, the property <is-proactive-flood-mode>
is setted to true, so ODL works in Proactive mode. If you want Hybrid
mode set that property to false and <is-hybrid-mode> to true. If both
properties are setted to false ODL works in Reactive mode.
58-l2switchmain.xml: set the property <is-install-dropall-flow> to
false. In this way switches send packets that don't have a match (in
the switch flow table) to the controller without dropping.
Now I can see Flow_Mod messages with attached MAC addresses and check which switch is choosen by ODL to build the path between hosts.