I am using a CSR 4.0 BLE dongle in my desktop. I have tried the below links and all output are as expected. Still the mac remain same..
Logs I received - Manufacturer: Cambridge Silicon Radio (10) Device
address: 00:1A:7D:DA:71:0A (cyber-blue(HK)Ltd) New BD address:
00:1A:7D:DA:71:0B (cyber-blue(HK)Ltd)
Address changed – Reset device now
https://kasiviswanathanblog.wordpress.com/2017/03/28/change-bluetooth-address/
http://blog.petrilopia.net/linux/change-your-bluetooth-device-mac-address/
is there any other way .. I am using Ubuntu 14.04.1 as my host .
On Ubuntu (Linux), you can change your Bluetooth public or static address using the btmgmt tool as follows:-
sudo btmgmt -i hci0 public-addr xx:xx:xx:xx:xx:xx
sudo btmgmt -i hci0 static-addr xx:xx:xx:xx:xx:xx
The 'btmgmt' tool replaces the 'hciconfig' tool for configuring the connected Bluetooth hardware, so if your host doesn't have the tool, try installing it or upgrading your Ubuntu to the latest.
More information can be found here:-
https://htot.github.io/meta-intel-edison/4.3-bluetooth.html
https://helpmanual.io/help/btmgmt/
I hope this helps.
Did you remove the dongle and reinsert it after changing the address? That is what the message wants you to do.
On a CSR-4.0 dongle and Ubuntu 18.04, the btmgmt power off command works but the public-addr fails with status 0x0c (Not Supported) and the static-addr fails with 0x0d (Invalid Parameters) so you do need to compile and run bdaddr from bluez:
$ lsusb | fgrep -i bluetooth
Bus 002 Device 064: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
$ hcitool dev
Devices:
hci0 00:1A:7D:DA:71:13
$ mkdir bdaddr
$ cd bdaddr/
$ sudo apt-get source bluez
[...]
$ sudo apt-get build-dep bluez
[...]
$ ls
bluez-5.48 bluez_5.48-0ubuntu3.4.dsc
bluez_5.48-0ubuntu3.4.debian.tar.xz bluez_5.48.orig.tar.xz
$ cd bluez-5.48
$ sudo ./configure --enable-experimental
[...]
$ sudo make
[...]
$ sudo tools/bdaddr | sudo tee -a bluetooth_original_address
Manufacturer: Cambridge Silicon Radio (10)
Device address: 00:1A:7D:DA:71:13 (cyber-blue(HK)Ltd)
$ uuidgen -r
1aae3392-9f75-4008-ab06-34da97803271
$ sudo tools/bdaddr 01:1A:72:80:32:71
Manufacturer: Cambridge Silicon Radio (10)
Device address: 00:1A:7D:DA:71:13 (cyber-blue(HK)Ltd)
New BD address: 01:1A:72:80:32:71
Address changed - Reset device now
$ #unplug addapter and plug back in
$ tools/bdaddr
Manufacturer: Cambridge Silicon Radio (10)
Device address: 01:1A:72:80:32:71
$ hcitool dev
Devices:
hci0 01:1A:72:80:32:71
$ sudo install tools/bdaddr /usr/local/bin
Note that I only changed the last 6 digits. The first 6 digits identify the manufacturer and are useful to leave the same; but the program will change the first six if you ask it to. "uuidgen -r" is useful as a source of random digits.
For windows users, there is "Bluetooth MAC address changer for windows".
Related
I am trying to make a captive portal wifi network using my raspberry pi 4 after doing this steps :
sudo apt update
sudo apt upgrade
sudo apt install git libmicrohttpd-dev
cd ~
git clone https://github.com/nodogsplash/nodogsplash.git
cd ~/nodogsplash
make
sudo make install
editing nodogsplash.conf
sudo nano /etc/nodogsplash/nodogsplash.conf
to
GatewayInterface wlan0
GatewayAddress 192.168.220.1
MaxClients 250
AuthIdleTimeout 480
and then run the nodogsplash i got:
pi#raspberrypi:~/nodogsplash $ sudo nodogsplash
[5][Mon Jan 13 17:33:54 2020][14375](src/main.c:472) Starting as daemon, forking to background
[5][Mon Jan 13 17:33:54 2020][14376](src/main.c:267) Detected gateway wlan0 at 192.168.178.1 (dc:a6:32:54:ef:c1)
[3][Mon Jan 13 17:33:54 2020][14376](src/main.c:278) Could not create web server: No such file or directory
I had the same problem today. It looks like there is a bug in the newest versions of nodogsplash.
The version from the 29th of December works fine for me.
You can simply checkout this version.
...
git clone https://github.com/nodogsplash/nodogsplash.git
cd ~/nodogsplash
git checkout 41c8752f6217886ee4a3f048578d867cdcc04cd6
make
...
I have no idea why, but if you increase the debug level to 2 or 3, then it works:
sudo nodogsplash -d2
Ref: https://github.com/nodogsplash/nodogsplash/issues/498
Can someone help me how to configure bridge connection in linux and what are the command that being use.
I do really appreciate your help!
I am new Debian Linux user. I want to setup Bridge for virtualised environments (KVM) running on Debian Linux.
By default, a private network bridge created when using Kernel-based Virtual Machine(KVM). You need to set up interfaces manually, avoiding conflicts with, network manager.If you want to assign IP addresses to your virtual machines and make them accessible from your LAN you need to setup network bridge.
The procedure to configure network bridge on Debian Linux is as follows:
Just use the ip command:
$ ip -f inet a s
$ cat /etc/network/interfaces
$ sudo vi /etc/network/interfaces.d/br0
$ sudo systemctl restart network-manager
$ ip a s
$ ip r
$ ping -c 2 cyberciti.biz
$ brctl show
$ bridge link
I want to run Arduino IDE on a Ubuntu machine that has no serial ports. I'm only going to be using it for OTA but the IDE port option is greyed out. I've tried installing tty0tty but that didn't help. I can set up two minicom serial sessions and chat between them on the tnt0 and tnt1.
Are you running Arduino IDE as root? See this SuperUser query for more details about the potential permissions issue.
Also, verify that your user is in the dialout group. This is a requirement for the ports to be accessible in Arduino.
From the Arduino IDE docs:
On Linux, the Uno and Mega 2560 show up as devices of the form /dev/ttyACM0. These are not supported by the standard version of the RXTX library that the Arduino software uses for serial communication. The Arduino software download for Linux includes a version of the RXTX library patched to also search for these /dev/ttyACM* devices. There's also an Ubuntu package (for 11.04) which includes support for these devices. If, however, you're using the RXTX package from your distribution, you may need to symlink from /dev/ttyACM0 to /dev/ttyUSB0 (for example) so that the serial port appears in the Arduino software.
Run:
sudo usermod -a -G tty yourUserName
sudo usermod -a -G dialout yourUserName
Summary
I'm trying to use testpmd as a sink of traffic from a physical NIC, through OVS with DPDK.
When I run testpmd, it fails. The error message is very brief, so I have no idea what's wrong.
How can I get testpmd to connect to a virtual port in OVS with DPDK ?
Steps
I'm mostly following these Mellanox instructions.
# step 5 - "Specify initial Open vSwitch (OVS) database to use"
export PATH=$PATH:/usr/local/share/openvswitch/scripts
export DB_SOCK=/usr/local/var/run/openvswitch/db.sock
ovsdb-tool create /usr/local/etc/openvswitch/conf.db /usr/local/share/openvswitch/vswitch.ovsschema
ovsdb-server --remote=punix:$DB_SOCK --remote=db:Open_vSwitch,Open_vSwitch,manager_options --pidfile --detach
# step 6 - "Configure OVS to support DPDK ports"
ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-init=true
# step 7 - "Start OVS-DPDK service"
ovs-ctl --no-ovsdb-server --db-sock="$DB_SOCK" start # what does this do? I forget
# step 8 - "Configure the source code analyzer (PMD) to work with 2G hugespages and NUMA node0"
ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-socket-mem="2048,2048" # 2048 = 2GB
# step 9 - "Set core mask to enable several PMDs"
ovs-vsctl --no-wait set Open_vSwitch . other_config:pmd-cpu-mask=0xFF0 # cores 4-11, 4 per NUMA node
# core masks are one's hot. LSB is core 0
ovs-vsctl --no-wait set Open_vSwitch . other_config:dpdk-lcore-mask=0x8 # core 3
# step 10 - there is no step 10 in the doc linked above
# step 11 - Create an OVS bridge
BRIDGE="br0"
ovs-vsctl add-br $BRIDGE -- set bridge br0 datapath_type=netdev
Then for the OVS elements I'm trying to follow these steps
# add physical NICs to bridge, must be named dpdk(\d+)
sudo ovs-vsctl add-port $BRIDGE dpdk0 \
-- set Interface dpdk0 type=dpdk \
options:dpdk-devargs=0000:5e:00.0 ofport_request=1
sudo ovs-vsctl add-port $BRIDGE dpdk1 \
-- set Interface dpdk1 type=dpdk \
options:dpdk-devargs=0000:5e:00.1 ofport_request=2
# add a virtual port to connect to testpmd/VM
# Not sure if I want dpdkvhostuser or dpdkvhostuserclient
sudo ovs-vsctl add-port $BRIDGE dpdkvhostuser0 \
-- \
set Interface dpdkvhostuser0 \
type=dpdkvhostuser \
options:n_rxq=2,pmd-rxq-affinity="0:4,1:6" \
ofport_request=3
sudo ovs-vsctl add-port $BRIDGE dpdkvhostuser1 \
-- \
set Interface dpdkvhostuser1 \
type=dpdkvhostuser \
options:n_rxq=2,pmd-rxq-affinity="0:8,1:10" \
ofport_request=4
# add flows to join interfaces (based on ofport_request numbers)
sudo ovs-ofctl add-flow $BRIDGE in_port=1,action=output:3
sudo ovs-ofctl add-flow $BRIDGE in_port=3,action=output:1
sudo ovs-ofctl add-flow $BRIDGE in_port=2,action=output:4
sudo ovs-ofctl add-flow $BRIDGE in_port=4,action=output:2
Then I run testpmd
sudo -E $DPDK_DIR/x86_64-native-linuxapp-gcc/app/testpmd \
--vdev virtio_user0,path=/usr/local/var/run/openvswitch/dpdkvhostuser0 \
--vdev virtio_user1,path=/usr/local/var/run/openvswitch/dpdkvhostuser1 \
-c 0x00fff000 \
-n 1 \
--socket-mem=2048,2048 \
--file-prefix=testpmd \
--log-level=9 \
--no-pci \
-- \
--port-numa-config=0,0,1,0 \
--ring-numa-config=0,1,0,1,1,0 \
--numa \
--socket-num=0 \
--txd=512 \
--rxd=512 \
--mbcache=512 \
--rxq=1 \
--txq=1 \
--nb-cores=4 \
-i \
--rss-udp \
--auto-start
The output is:
...
EAL: lcore 18 is ready (tid=456c700;cpuset=[18])
EAL: lcore 21 is ready (tid=2d69700;cpuset=[21])
Interactive-mode selected
Auto-start selected
Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa.
USER1: create a new mbuf pool <mbuf_pool_socket_0>: n=327680, size=2176, socket=0
USER1: create a new mbuf pool <mbuf_pool_socket_1>: n=327680, size=2176, socket=1
Configuring Port 0 (socket 0)
Fail to configure port 0
EAL: Error - exiting with code: 1
Cause: Start ports failed
The bottom of /usr/local/var/log/openvswitch/ovs-vswitchd.log is
2018-11-30T02:45:49.115Z|00026|netdev_dpdk|INFO|vHost Device '/usr/local/var/run/openvswitch/dpdkvhostuser0' has been added on numa node 0
2018-11-30T02:45:49.115Z|00027|dpdk|INFO|VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
2018-11-30T02:45:49.115Z|00028|dpdk|INFO|VHOST_CONFIG: set queue enable: 1 to qp idx: 0
2018-11-30T02:45:49.115Z|00029|netdev_dpdk|INFO|State of queue 0 ( tx_qid 0 ) of vhost device '/usr/local/var/run/openvswitch/dpdkvhostuser0'changed to 'enabled'
2018-11-30T02:45:49.115Z|00030|dpdk|INFO|VHOST_CONFIG: read message VHOST_USER_SET_VRING_ENABLE
2018-11-30T02:45:49.115Z|00031|dpdk|INFO|VHOST_CONFIG: set queue enable: 1 to qp idx: 1
2018-11-30T02:45:49.278Z|00032|dpdk|ERR|VHOST_CONFIG: recvmsg failed
2018-11-30T02:45:49.279Z|00033|dpdk|INFO|VHOST_CONFIG: vhost peer closed
2018-11-30T02:45:49.280Z|00034|netdev_dpdk|INFO|vHost Device '/usr/local/var/run/openvswitch/dpdkvhostuser0' has been removed
What is the cause of the failure?
Should I use a dpdkvhostuserclient instead of dpdkvhostuser ?
What else I've tried
Looking in /var/log/messages for more info - but that's just a copy of stdout and stderr.
Rebooting
Looking up the OVS docs, but they don't mention "logs"
I've tried changing my testpmd command arguments. (Docs here)
Getting rid of --no-pci. The result is
Configuring Port 0 (socket 0)
Port 0: 24:8A:07:9E:94:94
Configuring Port 1 (socket 0)
Port 1: 24:8A:07:9E:94:95
Configuring Port 2 (socket 0)
Fail to configure port 2
EAL: Error - exiting with code: 1
Cause: Start ports failed
Those MAC addresses are for the physical NICs I've already connected to OVS.
Removing --auto-start: same result
--nb-cores=1: same result
Removing the 2nd --vdev: Warning! Cannot handle an odd number of ports with the current port topology. Configuration must be changed to have an even number of ports, or relaunch application with --port-topology=chained. When I add --port-topology=chained I end up with the original error.
Other Info
DPDK 17.11.4
OVS 2.10.1
NIC: Mellanox Connect-X5
OS: Centos 7.5
My NIC is on NUMA node 0
When I run ip addr I see that an interface called br0 has the same MAC address as my physical NICs (p3p1, when it was bound to the kernel)
When I run sudo ovs-vsctl show I see
d3e721eb-6aeb-44c0-9fa8-5fcf023008c5
Bridge "br0"
Port "dpdkvhostuser1"
Interface "dpdkvhostuser1"
type: dpdkvhostuser
options: {n_rxq="2,pmd-rxq-affinity=0:8,1:10"}
Port "dpdk1"
Interface "dpdk1"
type: dpdk
options: {dpdk-devargs="0000:5e:00.1"}
Port "dpdk0"
Interface "dpdk0"
type: dpdk
options: {dpdk-devargs="0000:5e:00.0"}
Port "br0"
Interface "br0"
type: internal
Port "dpdkvhostuser0"
Interface "dpdkvhostuser0"
type: dpdkvhostuser
options: {n_rxq="2,pmd-rxq-affinity=0:4,1:6"}
Edit: Added contents of /usr/local/var/log/openvswitch/ovs-vswitchd.log
Indeed, we need dpdkvhostuser, not client.
The number of queues is mismatch in OVS options:n_rxq=2 vs testpmd --txq=1.
I was trying to upgrade the wifi shield firmware as per the instructions provided on
http://arduino.cc/en/Hacking/WiFiShieldFirmwareUpgrading
But I am getting the messege as
root#Joms-PC:/home/joms/arduino-1.0.5/hardware/arduino/firmwares/wifishield/scripts# ./ArduinoWifiShield_upgrade.sh -f all
Arduino WiFi Shield upgrade
=========================================
Instructions:
To access to the USB devices correctly, the dfu-programmer needs to have the root permissions.
You can upgrade the firmware of the antenna togheter with the shield firmware or only the shield firmware
if there aren't changes on the antenna firmware.
Use the '-h' parameter for help
=========================================
How to provide root permission for dfu-programmer which I installed by
sudo apt-get install dfu-programmer
if that is the issue??? Or should I try something else
You need to run the script with sudo:
sudo ./ArduinoWifiShield_upgrade.sh -f all
also you will need to add the path to your Arduino IDE files with the -a switch (it has to be before the -f switch) so:
sudo ./ArduinoWifiShield_upgrade.sh -a PATH/TO/ARDUINO/FILES -f all
replace PATH/TO/ARDUINO/FILES with the path to where you have extracted the Arduino files.