Skip to content

ethos: Add OS X compatibility#6718

Closed
kYc0o wants to merge 2 commits intoRIOT-OS:masterfrom
kYc0o:ethos_osx
Closed

ethos: Add OS X compatibility#6718
kYc0o wants to merge 2 commits intoRIOT-OS:masterfrom
kYc0o:ethos_osx

Conversation

@kYc0o
Copy link
Copy Markdown
Contributor

@kYc0o kYc0o commented Mar 8, 2017

This was a bit past due but here it is. However, there are some things I didn't succeed:

  • The tap device cannot be configured without an open() instruction, so it's not configurable until ethos open it. Thus, the original script cannot work, since the previous instructions will fail because ethos is launched at last.
    A workaround is to start ethos manually and then the script, which will configure the interface and launch uhcpd.

  • I tried the gnrc_boder_router example, but I didn't succeed to route over OS X. I think the routing table is correctly configured but for some reason I cannot ping any device over the air with the prefix given by the BR. Maybe @Yonezawa-T2 has more hints?

I can mark it WIP until having the routes working, but ethos is useful for other things than the BR.

@kYc0o kYc0o added Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation Area: network Area: Networking OS: Mac OS X Host OS: This PR/issue concerns usage of RIOT with Mac OS X as a host system labels Mar 8, 2017
@kYc0o kYc0o added this to the Release 2017.04 milestone Mar 8, 2017
@smlng
Copy link
Copy Markdown
Member

smlng commented Mar 31, 2017

@kYc0o thanks for working on this! I'll look into it and the routing issue, too.

@aabadie
Copy link
Copy Markdown
Contributor

aabadie commented Jun 20, 2017

@kYc0o, could you fix your routing issues here ?

@kYc0o kYc0o added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Jun 30, 2017
@kYc0o
Copy link
Copy Markdown
Contributor Author

kYc0o commented Jun 30, 2017

Not yet, I'll postpone it.

@kYc0o kYc0o removed this from the Release 2017.10 milestone Oct 16, 2017
@tcschmidt
Copy link
Copy Markdown
Member

@smlng are you taking up here?

@smlng
Copy link
Copy Markdown
Member

smlng commented Jun 6, 2018

yep, looking at it again


ethos: ethos.c
$(CC) -O3 -Wall ethos.c -o ethos
$(CC) -O3 -g3 -Wall ethos.c -o ethos
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unrelated, and not needed in production anyways?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me try it again and see why I have done that. Honestly this is a bit old and I can't remember why.

@@ -0,0 +1,41 @@
#!/bin/bash

ETHOS_DIR="$(cd "$(dirname "$0")" && pwd -P)"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should integrate this into one script, ie. start_network.sh and hide the diffs between macOS and Linux from the user in there.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried that approach but I actually wanted to have a different script for the sake of clearness. IMHO it is better to be aware when we launch a linux or a OS X script, moreover, in bash is a bit more hard to read all the needed if's for the unification.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually the reason is stated in the description of this PR.

@kYc0o
Copy link
Copy Markdown
Contributor Author

kYc0o commented Jun 26, 2018

I've rebased this PR and solved the conflicts. Everything compiles correctly but I still can't make it work correctly. I think is something related with uhcpd.


char ifname[IFNAMSIZ];
strncpy(ifname, argv[1], IFNAMSIZ);
#ifdef __linux__
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This #ifdef (as well as this is unnecessary, as flags is ignored anyway for the non __linux__ case.

@miri64
Copy link
Copy Markdown
Member

miri64 commented Dec 18, 2018

On the other hand #10477 + #10480 ;-)

@miri64
Copy link
Copy Markdown
Member

miri64 commented Jul 26, 2019

Ping @kYc0o?

@kYc0o
Copy link
Copy Markdown
Contributor Author

kYc0o commented Jul 26, 2019

Unfortunately I can't work on this anymore, as I don't have an OS X. Feel free to close it, if someone wants to take over is also good.

@miri64
Copy link
Copy Markdown
Member

miri64 commented Jul 26, 2019

OK, I close it as archived then

@miri64 miri64 closed this Jul 26, 2019
@miri64 miri64 added the State: archived State: The PR has been archived for possible future re-adaptation label Jul 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: network Area: Networking CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR OS: Mac OS X Host OS: This PR/issue concerns usage of RIOT with Mac OS X as a host system State: archived State: The PR has been archived for possible future re-adaptation Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants