Skip to content
VOXL® Developer Community

Build smaller, smarter, safer drones.

Ask the ModalAI engineering team, search thousands of solved threads, and share what you're flying — direct from the people who build VOXL.

3385Members
5257Topics
26540Posts
Browse

Categories

  • Not sure where your question goes? Ask here. ModalAI engineers and the community answer questions about any VOXL product.

    2k 11k
    2k Topics
    11k Posts
    John KellerJ
    Hi Luke, Sorry for the late response. When I ran the verification after installing and power cycling, I got this: unit enabled : static unit state : failed [up=112s] driver not present (mlan0 or /proc/mwlan/adapter0 missing) RESULT: NOT ACTIVE -- ADDBA timeout reads '<unreadable>', expected 0 It seems like it is because my system is missing mlanutl. Claude thinks there is a specific of version of that program that I might need. If you know the version, I can build it or if you wanted to sent the binary that would work too, whichever is easier. Here is claude's full summary in case it helps: I read the bundle and ran read-only checks against the drone (no changes made). The install is fine — the problem is a missing dependency the script never names. What's actually wrong mlanutl does not exist on this board. Nothing else is broken. On 10.3.1.82 right now: check result mlan0 up, holds 10.3.1.82/16 — you are SSH'd in over it /proc/mwlan/adapter0 present (config, mlan0/, uap0/) lsmod usbxxx + mlan loaded, USB dev 1286:204e (post-firmware, normal) mlan0 registered at uptime 7.9 s, associated at 11.4 s find / -name mlanutl* nothing — not in /usr/sbin, not in any package The botsu-sparrow 1.0.8-r0 deb ships 9 files (2 .ko, 6 firmware blobs, sparrow.conf) and no userspace tools; ModalAI's voxl2-wlan doesn't provide mlanutl either. Their bench board has it, yours never did. Why that produces those two misleading messages sparrow-ba-fix.sh:53 — have_driver() { [ -d "$ADAP" ] || return 1 [ -x "$MLANUTL" ] || return 1 # <-- fails here ip link show "$IFACE" >/dev/null 2>&1 || return 1 } MLANUTL falls back to /usr/sbin/mlanutl, which doesn't exist, so have_driver returns false while the driver is perfectly healthy. Every caller then lies: status prints driver not present (mlan0 or /proc/mwlan/adapter0 missing) — both of which are present. apply-wait spins 15 × 2 s and prints mlan0 did not appear within 30s, hence unit state: failed. verify's own mlanutl mlan0 addbapara produces nothing → '<unreadable>'. The journal confirms the wiring works: udev fired on mlan0 creation and started the unit at up=8 s (matching the 7.9 s dmesg line), and it died at up=38 s — exactly the 30 s loop. (The journal's wall clocks look 13 min apart because the VOXL2 has no RTC and the clock jumps once the network syncs; trust the up= numbers.) unit enabled: static is also expected — the unit has no [Install] section on purpose; udev starts it. Meanwhile the crash trigger is live and unmitigated — /proc/mwlan/adapter0/mlan0/debug shows BA streams on tid 0 and tid 4, win_size 64, at the default 65535 TU timeout. What to change Ask ModalAI for an aarch64 mlanutl built against this driver, and ask them to add it to the botsu-sparrow deb. The version string to quote them: USB8997---16.197.121.p2-MX5X16505.p7.2-(FP197), firmware 16.197.121. (mlanutl lives in NXP's mxm_wifiex tree at mapp/mlanutl — buildable yourself, but it drives private ioctls whose subcommand numbering tracks the driver release, so ask which release the sparrow build came from rather than grabbing an arbitrary tag.) Drop it at /usr/sbin/mlanutl, chmod 755. Then no power cycle is needed — it's a runtime ioctl: sh /usr/sbin/sparrow-ba-fix.sh apply, then sh sparrow-ba-install.sh verify should read ADDBA timeout = 0. The existing udev rule + oneshot will then handle it at every boot with no reinstall. Consider reinstalling as install monitor instead of oneshot — the setting is runtime-only and silently reverts on a module reload or warm reset, which is exactly the situation you're in after a wifi wedge. Two things worth sending back to ModalAI with the request: the deb ships no mlanutl, and have_driver() conflates "tool missing" with "driver missing" — that's what sent you looking at the power cycle instead of the toolchain. Same as the region_code note, it's a packaging gap on their side. Also note robot/setup/copy.sh runs this installer on every drone you provision, so all of them will fail verify identically until mlanutl is in the image.
  • VOXL 2, VOXL 2 Mini and VOXL 2 IO: bring-up, connectors, power, cameras, system image and SDK installs on the current compute platform.

    652 4k
    652 Topics
    4k Posts
    Eric KatzfeyE
    Please provide a PX4 log.
  • Starling 2, Starling 2 Max, Sentinel, Seeker, m500, RB5, the PX4 Autonomy Developer Kit and Stinger FPV: flying, tuning, repairs and spare parts.

    640 3k
    640 Topics
    3k Posts
    Marcos CorreaM
    Pressing down on the The M0141 also causes this reboot any thoughts I can show video if needed. @administrators
  • Flight Core, Flight Core v2, Flight Core ArduPilot, the original VOXL, VOXL Flight, VOXL Flight Deck, VOXL-CAM and the older dev kits.

    433 2k
    433 Topics
    2k Posts
    Alex KushleyevA
    @qqa , we have document how to achieve folder-level encryption on VOXL2 here : https://docs.modalai.com/enabling-file-encryption/ . Please let us know if you have any other questions.
  • ESCs, image sensors, ToF and tracking cameras, Microhard and cellular modems, power modules, GPS and other add-on boards.

    409 2k
    409 Topics
    2k Posts
    Alex KushleyevA
    @patkirkmartin , so sorry for the delay. We are ready to proceed with sharing the source code for M0065 board and I just wanted to double check that you are still interested. Please let me know and we will get this going right away. If you use our APM, it will provide power for VOXL2 and the APM also includes voltage and total current sensing and has PX4 support for that. The information is delivered to px4 via I2C. If ModalAI ESCs are used, such as M0129 (mini esc) or M0138 (larger / racing ESC), they both provide power for VOXL and measure voltage and total current and provide this information to PX4 via telemetry via UART. Alex
  • voxl-sdk releases, MPA services, camera and video pipelines, Remote ID, and building and deploying your own software on VOXL.

    389 2k
    389 Topics
    2k Posts
    Alex KushleyevA
    Hello @ישראל-בן-שלמה , Please see some options below and the recommendations at the end. For reliable VIO, we recommend dual tracking cameras. The tracking cameras are very light, so the extra 3 grams will give you lots of safety margin AR0144 is probably the best option since this is what we use. 2.2g with 80mm coax cable OV7251 camera (M0014) is probably the smallest (it is lower resolution also 640x480 vs 1280x800 for AR0144). ov7251 is EOL but it looks like we have some in stock. the weight of M0014 module is 0.5g (with the flex cable). However, to connect it to VOXL2 / mini, you would need an interposer like M0076 (0.6g) ( or M0135 (1.0g) IMX214 (M0025 module, https://docs.modalai.com/M0025/ ) may be the lightest 4K camera we have (0.7g with flex cable), but it is very old and sensor + lens quality is very far from our newer (and heavier) IMX412- and IMX664-based camera modules. Flir Boson 320 is a bit heavy too. The one i have with lens is about 23g. Most of the weight is the lens, i think. for connecting Boson to a Voxl2 Mini, you should use M0194 ( https://www.modalai.com/products/m0194 ) Boson → M0201 → coax → M0194 → VOXL 2 Mini J6 or J7? you can plug in another camera into M0194, such as AR0144 (coax version) or the IMX412 (coax version) The best option in terms of support (no EOL components) and hardware quality, would probably be: VOXL2 Mini (11g) M0195 (5.0g) -- see C43 configuration : https://docs.modalai.com/M0195/ Boson + M0201 + coax -> plugs directly into M0195. weight of M0201 + 80mm coax is 1.7g + 0.7g = 2.4g. Need to add weight of Boson! one or two AR0144 (M0166) -- 2.2g with 80mm cable (each) hires camera (IMX412) M0161 : 8.5g with 800mm coax cable Minimal Config VOXL2 Mini (11g) M0194 plugged into J7 (1.4g) + 80mm coax (0.7g) + M0201 (1.7g) + weight of Boson M0166 AR0144 (2.2g with 80mm coax) plugged into M0194 M0076 (0.6g) plugged into VOXL2 mini J6 M0025 IMX214 camera (0.7g) plugged into M0076 ** note that this is mixing the coax and non-coax cameras, but i think this should work. we would need to give this a quick test to make sure. Alex
  • GPS-denied navigation with VIO, AprilTag relocalization, mapping and path planning, and obstacle avoidance.

    111 466
    111 Topics
    466 Posts
    Zachary Lowell 0Z
    Hi! Planning on testing and getting into the weeds of this tomorrow to see if I can recreate and provide proper answers for this! Zach
  • Answers to the questions we get most often, written by ModalAI.

    64 292
    64 Topics
    292 Posts
    J
    Hello. Can a Starling 2 drone autonomously fly while flying over the pipe inside a sewer? The drone must fly autonomously in a dark place to inspect cracks or internal conditions while flying along the water pipe. I'm not sure if this feature can run on Starling, so I'm asking for help!
  • Have an idea for our products or software you would like to see implemented? Tell us here.

    25 88
    25 Topics
    88 Posts
    Serhii RovnyiS
    Hello everyone, I am looking for some expert advice on a VOXL 2 companion computer setup for a long-range platform. I have two main integration challenges: Challenge A: VIO at Higher Altitudes To solve the motion blur and pixel density issues at higher altitudes, I am planning a 6-camera configuration. I want to use 4 downward-facing sensors (2 daylight + 2 IR) equipped with narrow-angle lenses, alongside 2 standard wide-angle sensors (front and rear). Could you advise on the best supported sensors (e.g., IMX series) for this? Has anyone successfully tuned the voxl-qvio-server for narrow-angle lenses, and what were the altitude limits you achieved? Challenge B: LAN Integration & WireGuard The payload data flow will be: External RTSP Camera -> Ethernet -> VOXL 2 (WireGuard encryption) -> Ethernet -> Digital RX. Because VOXL 2 lacks multiple LAN ports, I will need a miniature industrial Ethernet switch. Does ModalAI have any tested hardware recommendations for this? Furthermore, what is the best practice for routing this VPN traffic through the VOXL 2 Ubuntu environment without bottlenecking the CPU? We are currently evaluating the VOXL 2 for a broader fleet deployment and want to ensure the ecosystem can support this custom optics requirement. Any feedback on off-the-shelf solutions or standard configurations for this use case would be greatly appreciated. Thank you!
  • Ask ModalAI to review your PCB, connector choices or system architecture before you build, and find 3D models of our products.

    51 145
    51 Topics
    145 Posts
    VinnyV
    Hi, This post is quite old now, so going to mark it as resolved. If it is not, please start a new topic in the correct category for your needs. Thanks!