Skip to content

sys/net/gnrc: provide lora adaption to netif#8158

Closed
aabadie wants to merge 1 commit intoRIOT-OS:masterfrom
aabadie:pr/lora_netif
Closed

sys/net/gnrc: provide lora adaption to netif#8158
aabadie wants to merge 1 commit intoRIOT-OS:masterfrom
aabadie:pr/lora_netif

Conversation

@aabadie
Copy link
Copy Markdown
Contributor

@aabadie aabadie commented Nov 27, 2017

Provide LoRa adaption to the new netif interface.

Follow-up of #7950.

@aabadie aabadie added Area: LoRa Area: LoRa radio support Area: network Area: Networking labels Nov 27, 2017
@aabadie aabadie force-pushed the pr/lora_netif branch 2 times, most recently from b144441 to 5393b14 Compare November 27, 2017 21:38
}

/* copy the complete payload into the packet buffer */
dev->driver->recv(dev, payload->data, pktlen, NULL);
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.

Doesn't LoRA has any L2 headers oO (if so, I guess you can use gnrc_netif2_raw after all)?

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.

(but from what I have seen on some websites, there is a LoRA MHDR)

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.

LoRa (as used here) is just radio data. LoRaMac has L2 headers.

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.

Ok, now I need some clarification: Where in the LoRa-Stack is this here to go? Is this just some proof-of-concept that will be insignificant as soon as the real LoRaMAC gnrc_netif layer comes? Is this supposed to go below LoRaMac (which would be possible with GNRC, but why have the extra thread then)? In either case: I am struggling to see the long-term benefit of this PR, but maybe I'm missing something.

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.

Is this just some proof-of-concept that will be insignificant as soon as the real LoRaMAC gnrc_netif layer comes?

I was more thinking of another netif type for loramac.

In either case: I am struggling to see the long-term benefit of this PR, but maybe I'm missing something.

Or maybe I am missing something (most likely I would say ;) )

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.

@aabadie wouldn't gnrc_netif_raw fit your needs?

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.

You actually used gnrc_netif_raw in #8159 right?

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.

@PeterKietzmann, yes, so I think we can close this one.

@aabadie
Copy link
Copy Markdown
Contributor Author

aabadie commented Nov 28, 2017

I think I should move all this in the sx127x driver code instead.and rename the netif create in gnrc_netif_sx127x_create. @miri64 what do you think ?

@miri64
Copy link
Copy Markdown
Member

miri64 commented Nov 28, 2017

I think I should move all this in the sx127x driver code instead.and rename the netif create in gnrc_netif_sx127x_create. @miri64 what do you think ?

Why? I'm getting more and more confused what you are trying to do with that device.

Let's unravel and talk about this first: Is the sx127x module using some proprietary communication scheme like XBee to make LoRa happen or is it expecting ready build LoRaMac (or what ever the link-layer format is called) headers (and yielding them on receive)?

If the first is the case: then yes, create a specific adaption layer for sx127x, though from what I see here this could just be gnrc_netif_raw. If the latter is the case, we need a LoRa adaption layer. One that at bare minimum parses LoRa MAC headers and translates them into gnrc_netif_hdr_t and vice-versa or alternatively does that + the whole LoRaMac handling.

@aabadie
Copy link
Copy Markdown
Contributor Author

aabadie commented Nov 28, 2017

What I want to do is auto initializing the radio driver and being able to send receive packets using ifconfig (remember #7482). Here there's no LoRamac stuff. I'm planning to add loramac using an external package that has all the functions to parse the headers and manage the timings see this WIP branch.

Maybe in both cases (raw radio packet or packet via semtech-loramac/rn2xx3 mac) the gnrc_netif_raw could be used ?

@miri64
Copy link
Copy Markdown
Member

miri64 commented Nov 28, 2017

What I want to do is auto initializing the radio driver and being able to send receive packets using ifconfig (remember #7482).

ifconfig (as the name suggests) can only configure an interface...

Here there's no LoRamac stuff. I'm planning to add loramac using an external package that has all the functions to parse the headers and manage the timings see this WIP branch.

Maybe in both cases (raw radio packet or packet via semtech-loramac/rn2xx3 mac) the gnrc_netif_raw could be used ?

Yes.

@aabadie
Copy link
Copy Markdown
Contributor Author

aabadie commented Nov 28, 2017

ifconfig (as the name suggests) can only configure an interface...

indeed, I was more thinking at txtsnd for sending and set subcommand of ifconfig for putting the radio in listen mode.

@miri64
Copy link
Copy Markdown
Member

miri64 commented Dec 7, 2017

@aabadie wrote in #8158 (comment)

@PeterKietzmann, yes, so I think we can close this one.

@miri64 miri64 closed this Dec 7, 2017
@aabadie aabadie deleted the pr/lora_netif branch September 23, 2018 08:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: LoRa Area: LoRa radio support Area: network Area: Networking

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants