Skip to content

Move creation of the diag device into read thread#1007

Merged
untitaker merged 1 commit intoEFForg:mainfrom
jacklund:make-diag-init-non-blocking
Apr 26, 2026
Merged

Move creation of the diag device into read thread#1007
untitaker merged 1 commit intoEFForg:mainfrom
jacklund:make-diag-init-non-blocking

Conversation

@jacklund
Copy link
Copy Markdown
Contributor

Moved the creation of the DiagDevice into the diag read task thread.

This is a redo of #1004, per request from @untitaker, making the creation and initialization of the diag device async.

Side note: ran into some issues due to the advent of the WiFi tools, specifically the wpa-supplicant:

  • It needs a arm-linux-musleabihf-gcc cross-compiler, which isn't available on Ubuntu. Had to build and install one using https://github.com/richfelker/musl-cross-make/. If you all think it would be useful, I can document the process in case someone else comes across the same issue.
  • The wpa-supplicant code still wouldn't build, nor would it give me an error as to why. Digging in, I discovered that it was because the config step in the shell script was failing due to my not having bison and flex installed. It failed silently due to this line. Once I figured that out and installed the two packages, everything built.
    Testing as before, everything comes up quickly enough that you can watch the device retry failures in the logs in the web UI as they're happening.

Pull Request Checklist

  • The Rayhunter team has recently expressed interest in reviewing a PR for this.
    • If not, this PR may be closed due our limited resources and need to prioritize how we spend them.
  • Added or updated any documentation as needed to support the changes in this PR.
  • Code has been linted and run through cargo fmt.
  • If any new functionality has been added, unit tests were also added.
  • CONTRIBUTING.md has been read.
  • Your pull request is fewer than ~400 lines of code.

You must check one of:

  • No generative AI (including LLMs) tools were used to create this PR.
  • Generative AI was used to create this PR. I certify that I have read and understand the code, and that all comments and descriptions were authored by myself and are not the product of generative AI.

Moved the creation of the DiagDevice into the diag read task thread.
@untitaker
Copy link
Copy Markdown
Collaborator

untitaker commented Apr 26, 2026

lgtm @jacklund, i had the same issues with wpa-supplicant but it should be fixed as of #995

EDIT: I suppose this didn't actually fix it if you're testing on orbic

@untitaker untitaker merged commit 38b1dd3 into EFForg:main Apr 26, 2026
24 checks passed
@jacklund
Copy link
Copy Markdown
Contributor Author

lgtm @jacklund, i had the same issues with wpa-supplicant but it should be fixed as of #995

EDIT: I suppose this didn't actually fix it if you're testing on orbic

LOL, which, of course, is what I've got. 😉

No worries, if you have some other poor soul on Ubuntu or some other distro that decides it doesn't really need all the cross-compilers, I'd be happy to help them out.

@jacklund jacklund deleted the make-diag-init-non-blocking branch April 26, 2026 21:27
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

Successfully merging this pull request may close these issues.

2 participants