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

Fix hard coded default wi-fi interface #176

Open
AHinMaine opened this issue Oct 21, 2021 · 2 comments
Open

Fix hard coded default wi-fi interface #176

AHinMaine opened this issue Oct 21, 2021 · 2 comments

Comments

@AHinMaine
Copy link

Right now, the default wifi interface is en0, however, it's not actually en0 on all devices, so commands like 'm wifi ls' simply returns the message "en0 is not a Wi-Fi interface."

As it sits, there's a few options:

  • Run something like networksetup -listallhardwareports | awk -F': ' '/Hardware Port: Wi-Fi/ { getline; print $2}' every single time. Ouch.
  • Tell people to populate the environment variable _W_DEVICE appropriately in their shell config. Meh.
  • During installation, run the previously mentioned networksetup command and then create a configuration script file in INSTALL_DIR/etc/m.conf (or somewhere better). So after installation that file would contain contain _W_DEVICE=en1 (or whatever networksetup actually found). Then have m source that config file at runtime.

I'd be happy to submit a PR based on consensus of what would be the preferred method. Thoughts?

Thanks!

@bensleveritt
Copy link
Collaborator

bensleveritt commented Oct 25, 2021

First off, thanks for raising this!

🤔 Ooh, configuration. We've not needed any thus far, so this is an interesting proposal.

Normally I'd be reluctant to add a config file for one setting, but I agree the other options are a little... lame. The other option is a runtime flag '-i interface', ala wpa_supplicant.

If you want to put a RFC/PR for a config proposal, it'd be good to see what that'd look like before we completely commit to it.

@incanus
Copy link
Contributor

incanus commented Dec 29, 2021

Here's a vote for a command-line based parser thing like the first option. It's what I used in a previous PR (#135) and if it helps, this might be a little less ugly:

system_profiler SPNetworkDataType | grep -A1 AirPort | grep -o en.

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

3 participants