Bluez 5.28 - Transport endpoint is not connected (107) - raspberry-pi

I am using bluez 5.28 on the raspberry pi. If I want to connect to a bluetooth le peripheral with a mac-address that not exists, after 20 seconds following error occurs: "connect error: Transport endpoint is not connected (107)β€œ.
I think that is the correct behaviour.
I my case, I need to reduce the 20 seconds timeout to a lower value.
My question is, where can I change this timeout?
Is it defined in the bluez package, or somewhere else?

Related

UDP packets over NB-IoT

I'm trying to send UDP packets over the t-mobile NB-IoT network using AT-commands on a SIM7020E chip. I used the product wiki as reference. The starter version of the sim card I have doesn't support TCP, but I'm planning on using that later if I can succesfully communicate using UDP.
I created a UDP-socket on a Raspberry Pi using "nc -u -l 9999". I set an A-record on my hosting provider to refer dev.mydomain.com to the IP address of the Raspberry Pi. I verified the portforward and A-record settings by sending UDP packets from my laptop on another network using "nc -u dev.mydomain.com 9999" and typing some teststrings, so this all works.
On the 4G chip I use the following AT-commands:
// Check network
AT+CSQ
+CSQ: 21,0
AT+CGREG?
+CGREG: 0,5
AT+COPS?
+COPS: 0,2,"20416",9
AT+CGCONTRDP
+CGCONTRDP: 1,5,"iot.t-mobile.nl","x.x.x.x.255.255.255.0" <-- crossed out my ip
// Create UDP socket
AT+CSOC=1,2,1
+CSOC: 0
// Connect socket 0 to the listening port on the Raspberry Pi
AT+CSOCON=0,9999,"dev.mydomain.com"
OK
// Send "test"
AT+CSOSEND=0,0,"test"
At this point I expect to see "test" appear in the command line on the Raspberry Pi, but nothing happens. In the T-mobile portal it shows a PDP-context is successfully activated.
Also, setting the APN manually with AT*MCGDEFCONT="IP","iot.t-mobile.nl","username","password" doesn't work.
Did you work this out Hans? I was plodding along with a SIM7020E following https://www.waveshare.com/wiki/Pico-SIM7020E-NB-IoT code examples. Was successfully sending HTTP GETS to a server (without having to use micropython's wretched urequests lib) via the CHTTPCREATE/CHTTPCON/CHTTPSEND AT cmds, that seem to be be able to send packets over LTE to a server without specifying TCP/UDP etc or using a socket. Maybe give it a try?
Sadly I got the bright idea of trying an 'AT+POWD=1' cmd over the uart (was supposed to power the 7020E down) & now the module now does nothing but echo AT cmds (still auto connects to the LTE network & slow flashes the network led, just won't do anything else.) Real shame, nice little module otherwise.

How can I connecti Raspberry pi 4 to pixhawk?

I want to create a connection between pixhawk and raspberry pi 4 model B.
When I connect the Pixhawk to the usb port of raspberry via micro-usb, I can send commands to the pixhawk with the drone-kit scripts on raspberry.
However, when I connect the telemtry2 port to raspberry's 14th and 15th GPIO pins (rx-tx) in pixhawks, the same script gives a heartbeat error.
I have done the configuration of uart pins with rasp-config. The /boot/config.txt file is as follows. Also, when connecting from usb, I use the connection string value "/ dev / ttyACM0" and "/ dev / serial0" when the UART pins are connected.
Via mission planner:
SERIAL 2 PROTOCOL = 2 , SERIAL2 BAUD = 921
I followed this link: https://ardupilot.org/dev/docs/raspberry-pi-via-mavlink.html
Since there is no GPS installed, I set the GPS and compass control values ​​to 0 on the mission planner. That's why the pixhawk is in arm state. (blue light)
Thank you..
Have you set the following parameters?
MAV_1_CONFIG = TELEM 2 (MAV_1_CONFIG is often used to map the TELEM 2 port)
MAV_1_MODE = Onboard
SER_TEL2_BAUD = 921600 (921600 or higher recommended for applications like log streaming or FastRTPS)
Reference:
https://docs.px4.io/master/en/companion_computer/pixhawk_companion.html#companion-computer-setup
there is an easy way to connect raspberry pi with cube autopilot. the companion board lychee
https://dronee.aero/pages/lychee

PostgreSQL Connection to the server has been lost

I installed postgreSQL server on a raspberry pi 4 with raspbian buster. When I try to connect from local network i have no problems about idle time. When i try to connect from my static public ip I can send command but if I didn't send anything for more than 3 minutes, it appears this message "Connection to the server has been lost".
I tried to install ufw and disable it, I used DMZ, I tried to change keepalive_idle, but i have always the same problem. Please help me.
sometimes the error is
"ERROR: SSL SYSCALL error: Operation timed out"
(Note: always if I am connected from public IP)
If you don't have the same issue from within your local network I assume the connection is being terminated by a network device sitting between the client and the server (a router most likely).
There are routers with small TCP timeout settings (such as 300 seconds) which is close to what you're experiencing.
Try to check (and increase if needed) the TCP timeout settings on your router (and any other devices you might have in between).
Edit:
I tried to find some info on that device (seems to be Sercomm VD625) and it does not seem you can easily change TCP timeout settings (maybe via telnet/ssh if it supports it).
However, a simpler solution might be to avoid keeping an open connection to PostgreSQL if you will have large idle intervals; just connect when you need to and close the connection afterwards.

raspberry pi - canbus can-utils timeout?

I'm using raspberry PI with MCP2515 + the canbus-utils.
My raspberry pi is working on battery - so when I switch on the car&power up the PI - everything is working.
But when I switch off the car, then try to switch on after 1 hour I get no replay from the canbus-utils, and I need to restart the can service.
Any idea why?
Does the canbus-utils has some kind of TImeout? that can be change\ignore?
When the PI is the only member on the bus the controller switch to bus_off state, because nobody is acknowledging the messages send and the message will otherwise be send indefinitely, to protect for bus overload of the retransmissions.
Also there was a version of the kernel a couple of months ago wich not recovered from some error condition.
The latest version of the kernel has this fixed.
use sudo rpi-update to get the latest kernel.
Also at the initialisation script of your CAN bus add the following
ip link set can0 type can restart-ms 100

Bluetooth Low Energy: listening for notifications/indications on Raspberry Pi B+

How is it possible to authenticate using Bluez 5.31 and GattTool?
I want to listen on a notification.
I've connected using gatttool -b <addr> -I and I can run the primary command etc.
I sniffed the device and I know that handle 0x0024 is where I will find a notification.
When I try char-write-req 0x0024 0100 I get Error: Characteristic write Request failed: Attribute requires authentication before read/write
So I try sec-level medium and then sec-level high but I still get the same error.
Any ideas?