Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] wfb-ng-cluster-manager ssh uses bash #397

Open
2 tasks
aepkolol opened this issue Jan 12, 2025 · 4 comments
Open
2 tasks

[BUG] wfb-ng-cluster-manager ssh uses bash #397

aepkolol opened this issue Jan 12, 2025 · 4 comments

Comments

@aepkolol
Copy link

Describe the bug
When running the wfb-cluster-manager service with the --ssh flag, it successfully connects to the openWRT router over ssh, however it tries to use bash here causing it to fail.

                if ssh_user and ssh_port:
                    dl.append(SSHClientProtocol(node,
                                                ssh_user,
                                                '/bin/bash',
                                                key=ssh_key,
                                                port=ssh_port,
                                                use_agent=ssh_key is None,
                                                stdin=setup_script).start()\
                              .addBoth(_ssh_exited, node))

when busybox's shell uses ash.

To Reproduce
sudo systemctl start wfb-cluster-manager@

Expected behavior
Connect to the shell successfully

Screenshots
If applicable, add screenshots to help explain your problem.

Your setup (please complete the following information):

  • OS [e.g. Ubuntu 18.04, Raspbian]
    OpenWRT 24.10
  • Hardware [e.g. x86, rpi, nanopi neo2 ]
    TP-Link EAP225
  • WiFi cards [e.g. rt28xx, rtl8812au]
    QCA9561
  • WiFi drivers [e.g. stock, patched from http://.. ]

Additional context
Removing a single letter and rebuilding the .deb solves this.
'/bin/ash',

Confirm you read

@aepkolol
Copy link
Author

Also, if someone gets here from google about the TP-Link EAP225, I couldn't get injection working on 5ghz. 2.4 was fine, but useless for me. Monitor mode worked flawlessly however. Doesn't seem like a drivers issue since 2.4 and 5 both use the same drivers. Idk. Ordered another type of router to try.

@svpcom
Copy link
Owner

svpcom commented Jan 13, 2025

@aepkolol Using bash is intended here because there are many bash-only features inside the script. You can install bash to the openwrt router using opkg update && opkg install bash

@svpcom
Copy link
Owner

svpcom commented Jan 13, 2025

@aepkolol TP-Link EAP225 is ath10k (according to specs on openwrt page). Injection is currently supported by ath9k drivers only (rtl8812au/eu have not been seen on any routers). So you need to search quite old models like CPE520, CPE610 (not 710) etc. Check that it has Atheros 9xxx chipet. Not Qualcomm/Atheros (QCA)

@aepkolol
Copy link
Author

I wasn't aware I could install bash! Sorry, I haven't used openWrt much.

I spent all day getting openWrt working on an ASUS AX4200 after it initially bricked the router, but monitor and packet injection works flawlessly on 5ghz with it. It was a last ditch effort to get something I had on hand working, but it paid off. So I can confirm whatever chipset/driver combo is on that router fully works with wfb-ng openWrt.

I do have a weird issue where as soon as QGC connects to the drone over wfb, the drone stops its mavlink stream though. This happens with every device combo I have tried so far. Telling the GCS to not set vehicle stream rates and not emit heartbeats helps, dunno why. But I only get it with wfb-ng, I need to investigate further. 10 seconds or so after QGC connects, I can see in wfb-cli that no mavlink packets are being sent across from the drone.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants