@Eric-Katzfey we are using A doodle radio
Just found that reboot -f
works.
It's interesting weird that the network interface seems to not go down but all the services do - and don't come back.
@Eric-Katzfey we are using A doodle radio
Just found that reboot -f
works.
It's interesting weird that the network interface seems to not go down but all the services do - and don't come back.
Any recommendations on how to reboot the VOXL2 from the ssh terminal?
It stops our mavlink router and ssh terminals when running reboot
or reboot.sh
But I can still ping it's IP address, but the ssh and mavlink servers do not return.
Hi,
I'm curious if there is any ongoing work to update the native instruction sets into the kernel modalAI is building for the VOXL2.
Here is the current instruction set listed by the kernel. I'm having issue building newer projects that use the newer SIMD instruction sets provided by ARM. Here are most of the issues:
We are stuck with Ubuntu 18.04 - saw we are limited for the gcc version up to 8 (along side default gcc7.5) - there is a ppa that you can grab from to get up to the latest. I am able to run gcc-10 on the VOXL2, but the arm compiler march options aren't supported by the binutils 2.30 provided by Ubuntu 18.04. I maually built binutils to allow for assembly of those instruction sets.
The important ones are flagm, i8mm, and blfoat16
- they've all been back-ported by ARM in the linux kernel to support up to armV8.3 supported chips, which should be the Kyro (8 Cortex78 cores)
At the very least we should have the instruction sets available in the kernel, so that we can pass the march=native
and get all of the cpu operations needed. This will go along way when trying to build latest and greatest AI frameworks like accelerated tensorflow lite, ONNX runtime, and pytorch.
These are the native extensions available to gcc are:
cat /proc/cpuinfo
Processor : AArch64 Processor rev 0 (aarch64)
processor : 0
BogoMIPS : 38.40
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp
CPU implementer : 0x51
CPU architecture: 8
CPU variant : 0xd
CPU part : 0x805
CPU revision : 14
If we could port some of the updates from the official linux arm64 kernel to the modalAI kernel
Is this even possible to start cherry-picking these updates? I also see that qualcomm is developing or releasing a newer versionof the kernel?
I see that the default is qrb5165-ubun1.0-14 but under the package manager and createpoint I saw development for qrb5165-ubun2.0 - was curious if there was a known difference.
If I get pointed in the right direction I'd be glad to help out. I want to make sure we can run all the latsest and greatest neural nets and these SIMD instructions are the key.
@mrawding Just answering my own forum for those who don't have access to internet based NTP server. A few solutions to stop it being synced back to Dec 15 2021
Run a local NTP server on the groundstation
If running a timesync service like chrony - write a system service to detect a difference between the system time and the last modification time of /var/lib/systemd/timesync/clock
and then running touch /var/lib/systemd/timesync/clock
to reset this time - probably 1-5s daemon rate would make sense.
@Eric-Katzfey Thanks for the response. Chrony is our timesync service we use, but it doesn't stick after reboot. I'll have to look into mimicking the NTP sync in a different service. Thanks!
I'm trying to debug a kernel issue that seems like it is rebooting on kernel panic. I see that the parameter is set to -1 (reboot immediately) , which I changed to 0 (disable). But viewing the journalctl logs is quite annoying. Especially since the date is always set to Dec 15 2021.
I see there might be RTC support in the kernel setting the /dev/rtc0 clock to beginning of UTC time.
Dec 10 09:15:49 voxl kernel: rtc-pm8xxx c440000.qcom,spmi:qcom,pm8150@0:qcom,pm8150_rtc: rtc core: registered pm8xxx_rtc as rtc0
Dec 10 09:15:49 voxl kernel: rtc-pm8xxx c440000.qcom,spmi:qcom,pm8150@0:qcom,pm8150_rtc: setting system clock to 1970-01-01 00:00:05 UTC (5)
So couple questions
@Moderator I just tried running those instructions for VOXL1 build, but have an issue downloading the manifest package from codeaurora.
I posted an issue here about it. Please let me know if there is an update!
@Eric-Katzfey Hi Eric, any update on this release?
Hi all,
I am also interested in connected FLIR Boson to VOXL2 - is it recommended to use the JST USB3.0 port on the 5G expansion board or the USBC/adb port.
Also if it is the JST port - are there any recommended breakout cables to purchase?
Lastly, do you know if the supported FLI Boson mentioned in the specifications matrix is the 320 or 640 - and if it was tested with USB 2.0
Great. I'm not sure if this is helpful or just an example of what NOT to do.
So I actually found that the userdata error was caused by some sort of permissions error.
It seemed that elevating my user to root permissions with sudo su
worked best but maybe sudo could work.
For some reason, I guess the fastboot byte stream gets altered when not executing from root even though my user has permissions for USB and can run almost any fastboot
command without sudo
. It is strange since a full flash has worked multiple times before seeing this userdata failed partition write
Anyways, after finally getting past the userdata issue - I found that my device was constantly in fastboot mode and could write to both boot partitions with
fastboot flash boot_a <img>
and
fastboot flash boot_b <img>
Although actually booting caused this issue
fastboot flash boot <img>
downloading 'boot.img'...
OKAY [ 0.613s]
booting...
FAILED (remote: Failed to load/authenticate boot image: Device Error)
finished. total time: 0.614s
I realized after looking through my bash history that I ran a command that is no bueno.
fastboot --set-active=b
which changed the boot slot.
I then changed it back to fastboot --set-active=a
and now the device works as it should.
I just figured I should post this so people can have more clarity on what NOT to do in case you have a feeling that your device is corrupted or something is wrong with the bootloader.
@modaltb I believe the version was from 1.1.4-M0054-14.1a-perf.
I also just ran into a new issue after updating to voxl2_platform_1.2.1-0.7
I had it work successfully about three times in a row on the same board - I kept on reflashing to test some software installation procedures.
Then the flash stopped working and fails now.
Now I am stuck in this state every time I try to flash -
It fails to write the userdata partition and sometimes the system image partition. ADB doesn't come back up after hard reboot and device is perpetually in fastboot.
Not sure what to try - I see some fastboot forums online for android devices - but I am weary of trying commands blindly. I also tried to revert to an old image but no luck - I get a failure to write system image partition because of 'lack of space'
Are there fastboot commands to correctly resize each partition?
Installer Version: 0.2
Image Version: 1.2.1
[INFO] Found fastboot device
[INFO] Found correct partitions
Your partition structure is in the current format, allowing you to
preserve the data/configuration partitions. You can still do a
full flash if you'd like though.
When doing a full flash, make sure to backup any important files
Would you like to full wipe/flash or only system partitions
1) Full
2) Only System
3) Cancel and Exit
#? 1
[INFO] Found all required files
target reported max download size of 805306368 bytes
sending 'partition:0' (44 KB)...
OKAY [ 0.009s]
writing 'partition:0'...
OKAY [ 0.209s]
finished. total time: 0.218s
rebooting into bootloader...
OKAY [ 0.000s]
finished. total time: 0.050s
target reported max download size of 805306368 bytes
sending 'xbl_a' (3414 KB)...
OKAY [ 0.127s]
writing 'xbl_a'...
OKAY [ 0.010s]
finished. total time: 0.137s
target reported max download size of 805306368 bytes
sending 'xbl_b' (3414 KB)...
OKAY [ 0.122s]
writing 'xbl_b'...
OKAY [ 0.013s]
finished. total time: 0.135s
target reported max download size of 805306368 bytes
sending 'modem_a' (62396 KB)...
OKAY [ 2.032s]
writing 'modem_a'...
OKAY [ 0.080s]
finished. total time: 2.112s
target reported max download size of 805306368 bytes
sending 'modem_b' (62396 KB)...
OKAY [ 2.017s]
writing 'modem_b'...
OKAY [ 0.073s]
finished. total time: 2.089s
target reported max download size of 805306368 bytes
sending 'devcfg_a' (52 KB)...
OKAY [ 0.008s]
writing 'devcfg_a'...
OKAY [ 0.002s]
finished. total time: 0.010s
target reported max download size of 805306368 bytes
sending 'devcfg_b' (52 KB)...
OKAY [ 0.008s]
writing 'devcfg_b'...
OKAY [ 0.002s]
finished. total time: 0.011s
target reported max download size of 805306368 bytes
sending 'boot_a' (20892 KB)...
OKAY [ 0.639s]
writing 'boot_a'...
OKAY [ 0.023s]
finished. total time: 0.662s
target reported max download size of 805306368 bytes
sending 'boot_b' (20892 KB)...
OKAY [ 0.712s]
writing 'boot_b'...
OKAY [ 0.037s]
finished. total time: 0.749s
target reported max download size of 805306368 bytes
erasing 'system'...
OKAY [ 0.067s]
sending 'system' (599042 KB)...
OKAY [ 19.433s]
writing 'system'...
OKAY [ 0.000s]
finished. total time: 19.500s
target reported max download size of 805306368 bytes
erasing 'userdata'...
OKAY [ 0.069s]
sending 'userdata' (142497 KB)...
FAILED (remote: Error: Last flash failed : Invalid Parameter)
finished. total time: 0.070s
Failed to flash partition: userdata
Thank you. I'm not sure that the whole story is but it ended up working after 10-15 more tries with plugging in USB about 10 seconds after boot.
For some reason the VOXL2 is having a hard time flashing. It is able to run ADB and have normal operation from the current image on board. However, flashing is causing issues. I think it may have some weird android system issue where it thinks it has a low battery. Because after it is booted into fastboot mode I get this error every time.
sudo ./flash-system-image.sh
Installer Version: 0.2
Image Version: 1.2.1
[INFO] Found adb device, rebooting to fastboot
[INFO] Found fastboot device
Partition: modalai_conf not found
[WARNING] Partition layout was found to be incorrect, this requires
flashing the full partition table. Flashing the partition
table will also flash every partition causing all data on
the device to be lost.
Make sure to backup any important files before proceeding
Would you like to continue with the full wipe/flash now?
1) Yes
2) No
#? 1
[INFO] Found all required files
target reported max download size of 805306368 bytes
sending 'partition:0' (44 KB)...
OKAY [ 0.012s]
writing 'partition:0'...
FAILED (remote: Warning: battery's capacity is very low
)
finished. total time: 0.020s
Failed to flash partition: partition:0
I've tried multiple USC C cables (type A and C) and three different power supplies. Are there any suggestions on what I can do?
Okay thanks for clearing that up - do you have any hardware recommendations for either wifi dongle or usb-to-ethernet ?
If anyone else is interested - I found a way to enable static ip's for ethernet and wlan interfaces.
You'll need to install a file like below under /etc/systemd/systetem/
and run the following commands:
systemctl enable ipconfig.service
systemctl disable dhcpcd.service
[Unit]
Description=A description for your custom service goes here
Requires=systemd-networkd.service
After=systemd-networkd-wait-online.service
[Service]
Type=simple
ExecStartPre=/bin/sleep 10
ExecStart=/bin/systemctl restart systemd-networkd.service
[Install]
WantedBy=multi-user.target
You'll also need to add this file under /etc/systemd/network/wlan0.network
[Match]
Name=wlan0
[Network]
Address=192.168.0.169/24
#DHCP=yes
Simply installing this service will allow most routers to keep the rb5 address the same when assigning IPs for a lease. Just comment #Address and uncomment DHCP to use dhcp.
You will also need to make sure to add the gatway to the routing table:
route add default gw $router_IP $network_interface
this is best to be configured as a oneshot service where the service has the field Requires=ipconfig.service
Sorry I should have been more clear - I would like to enable USB/Ethernet Tethering on the device - where the USBC port would behave like an ethernet interface on the m0054. Since it doesn't have a wifi card I need have a network interface that can communicate with a host/development computer.
Hi,
I am trying to configure the USBC port as an ethernet interface - I know the ADB daemon runs on this device by default, but it can be stopped. The network manager seems to be a little unorthodox on the m0054. I was wondering what file needs to be edited to make such a configuration. Usually it would be using the /etc/network/interfaces file - but there is no such file.
According to journalctl - the interfaces are brought up by the kernel and then assigned names and addresses by the dhcpcd daemon. It would be nice to modify the bond0 or dummy0 interfaces - or even a different name to use the usbC port as ethernet. If you have any thoughts or ideas I would appreciate them! Thanks.
Hi @modaltb any updates on this issue yet ?
Hi, We have been trying to connect the two external UARTS to read/write mavlink and micrortps to an external FC.
J12 - /dev/ttyHS1
J19 - /dev/ttyHS2
On the RB5 EVT the software works with the embedded flight controller. However on the RB5 flight deck it does not. To further test we found that using an FTDI adapter, we see no transmission communication from the RB5. We also found that it is unable to read data on the RX pin either.
Another test we did was to run the following software:
import serial
uart_dev='/dev/ttyHS1'
uart = serial.Serial(uart_dev, 57600, xonxoff=False, rtscts=False, dsrdtr=False)
while True:
for b in bytearray("message\n","UTF-8"):
uart.write(b)
line = uart.read_all()
if(len(line) > 0):
print(line)
We connected an oscilloscope and tried measuring the TX signal in reference to ground. We observed no changes in the signal.
I noticed the documentation has been removed from the main RB5 guide documents. Is this a known issue/ is there a way to resolve it (perhaps using a different driver). It would be really nice to be able to use those UARTS.
Thank you for the help.
Sorry I see the step I missed! I'll give it a try soon. Thank you for clearing that up for me.