Skip to content

Feature/add_gsm_generic#8943

Closed
maxvankessel wants to merge 167 commits intoRIOT-OS:masterfrom
maxvankessel:feature/add_gsm_generic
Closed

Feature/add_gsm_generic#8943
maxvankessel wants to merge 167 commits intoRIOT-OS:masterfrom
maxvankessel:feature/add_gsm_generic

Conversation

@maxvankessel
Copy link
Copy Markdown
Contributor

@maxvankessel maxvankessel commented Apr 13, 2018

I 've made this pull request based on request #8602. And uses #7084

The API of the gsm module isn't very generic (sorry to say so), as in HTTP GET and POST are not default modem commands. And I think the gsm module should be split up in different modules e.g.
gsm, gsm_datacall, gsm_sms, gsm_time, gsm_location, gsm_socket, gsm_socket_upd, gsm_socket_tcp, gsm_certificates, gsm_tftp, gsm_http, gsm_voice, gsm_firmware

Most of these modules should be implemented for the specific modem manufactures (SimCom, UBlox, Quectel). But the generic ones (gsm, gsm_datacall, gsm_sms) can stay the same for all modems.

As a start I've added a "generic gsm" test, which extends vincent-d "gsm" test.

My ultimate goal is to add support for (GNRC) PPP for a modem. But it's a work in progress.
And ultimately support modems with NB-IoT and 4G CAT-M capabilities.

I hope this is food for thought.

kaspar030 and others added 30 commits February 20, 2018 13:17
Out-of-band data can be registered through at_add_oob.
Then the user must call at_process_oob when idle to process data
received from the device. If any data matches a registered oob URC,
the associated callback is called.
@maxvankessel
Copy link
Copy Markdown
Contributor Author

@vincent-d I'm interested in bringing modem support to RIOT.
What I've come up with is a proposal of how it could be handled.
I've been monitoring #7084 and #8602 ( and even #5470) but there doesn't seems to be any progress lately. And that's the reason I've made an "extensive proposal" with tests/examples, to provide interest into those PR's.

I understand it will be hard to review. Is there anyway to start a discussion on the design of the "modem" feature?

@jia200x
Copy link
Copy Markdown
Member

jia200x commented Apr 20, 2018

@maxvankessel @vincent-d there's already a GNRC PPP in this (quite) old PR. It needs to be rebased and adapted to netif, but it's a full PPP implementation with LCP, PAP and IPv6 NCP.

@jia200x
Copy link
Copy Markdown
Member

jia200x commented Apr 20, 2018

Also, would be nice to test the gsm module with SIM900 driver PR

@jia200x jia200x mentioned this pull request May 28, 2018
@tcschmidt
Copy link
Copy Markdown
Member

@maxvankessel @jia200x got this committed/tested?

@maxvankessel
Copy link
Copy Markdown
Contributor Author

maxvankessel commented Jun 11, 2018

@tcschmidt you can look at maxvankessel:pr/modem.

Currently waiting for #8542

And got it tested with Quectel M95 and BG96

@toonst
Copy link
Copy Markdown
Member

toonst commented Jun 11, 2018

@maxvankessel Could you rebase this to latest master?

@maxvankessel
Copy link
Copy Markdown
Contributor Author

maxvankessel commented Jun 11, 2018

@toonst sure, would you like a clean PR? I still need the #8542 PR

@vincent-d
Copy link
Copy Markdown
Member

Is there any way to start a discussion on the design of the "modem" feature?

I think you could open a PR with only the 'generic' part and the proposal of the driver (it seems your branch https://github.com/maxvankessel/RIOT/tree/pr/modem contains that). Then we could come up with implementations for different devices (ublox, quectel, ...) and later improve the API with additional features such as http support with built-in stacks. What do you think?

@tcschmidt
Copy link
Copy Markdown
Member

@maxvankessel any progress under way?

@maxvankessel
Copy link
Copy Markdown
Contributor Author

@tcschmidt I've some work on a done private repository. I'll make sure to sync when I'm at it.

@miri64 miri64 added Area: network Area: Networking Area: drivers Area: Device drivers Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation Type: new feature The issue requests / The PR implemements a new feature for RIOT and removed Type: enhancement The issue suggests enhanceable parts / The PR enhances parts of the codebase / documentation labels Oct 17, 2018
@miri64
Copy link
Copy Markdown
Member

miri64 commented Dec 16, 2018

Can this me closed in favor for #10086?

@maxvankessel
Copy link
Copy Markdown
Contributor Author

@miri64 Yes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: drivers Area: Device drivers Area: network Area: Networking Type: new feature The issue requests / The PR implemements a new feature for RIOT

Projects

None yet

Development

Successfully merging this pull request may close these issues.