Digging up an old thread, any updates on the move to Ubuntu2.0 Kernel?
mrawding
Posts
-
Kyro CPU instruction set updates for kernel -
SSH Reboot Not Working@Eric-Katzfey we are using A doodle radio
Just found that
reboot -fworks.It's interesting weird that the network interface seems to not go down but all the services do - and don't come back.
-
SSH Reboot Not WorkingAny recommendations on how to reboot the VOXL2 from the ssh terminal?
It stops our mavlink router and ssh terminals when running
rebootorreboot.shBut I can still ping it's IP address, but the ssh and mavlink servers do not return.
-
Kyro CPU instruction set updates for kernelHi,
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=nativeand 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 : 14If 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.
-
Setting Permanent Clock@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/clockand then runningtouch /var/lib/systemd/timesync/clockto reset this time - probably 1-5s daemon rate would make sense.
-
-
Setting Permanent Clock@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!
-
Setting Permanent ClockI'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
- Is that actually a RTC or is it virtual?
- Where is Dec 15 2021 set? Is it in the BIOS? I can't find it anywhere.
- timedatectl set-time does not stick after reboot, guessing date is defaulting to BIOS
- How can I modify BIOS either pre/post firmware flash to update the time I want?
-
VOXL kernel build docs@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!
-
Streaming 4K video from Qualcomm RB5 drone@Eric-Katzfey Hi Eric, any update on this release?
-
cannot connect usb camera over USB - C adb portHi 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
-
Can't Flash VOXL2 (Battery Capacity is Very Low)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 suworked 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
fastbootcommand withoutsudo. It is strange since a full flash has worked multiple times before seeing thisuserdata failed partition writeAnyways, 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.614sI realized after looking through my bash history that I ran a command that is no bueno.
fastboot --set-active=bwhich changed the boot slot.I then changed it back to
fastboot --set-active=aand 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.
-
Can't Flash VOXL2 (Battery Capacity is Very Low)@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.7I 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 -
Can't Flash VOXL2 (Battery Capacity is Very Low)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.
-
Can't Flash VOXL2 (Battery Capacity is Very Low)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:0I've tried multiple USC C cables (type A and C) and three different power supplies. Are there any suggestions on what I can do?
-
USBC Port as Ethernet interfaceOkay thanks for clearing that up - do you have any hardware recommendations for either wifi dongle or usb-to-ethernet ?
-
How to set up a static IP in RB5If 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.targetYou'll also need to add this file under
/etc/systemd/network/wlan0.network[Match] Name=wlan0 [Network] Address=192.168.0.169/24 #DHCP=yesSimply 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_interfacethis is best to be configured as a oneshot service where the service has the field
Requires=ipconfig.service -
USBC Port as Ethernet interfaceSorry 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.
-
USBC Port as Ethernet interfaceHi,
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.
-
RB5 UART for external FC not working.Hi @modaltb any updates on this issue yet ?
-
RB5 UART for external FC not working.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/ttyHS2On 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.