https://projects.osmocom.org/https://projects.osmocom.org/favicon.ico?16647414092018-07-16T23:15:09ZOpen Source Mobile CommunicationsOsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=103412018-07-16T23:15:09Zfixeria
<ul><li><strong>Tracker</strong> changed from <i>Bug</i> to <i>Feature</i></li></ul> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=103462018-07-16T23:30:59Zfixeria
<ul><li><strong>Blocked by</strong> <i><a class="issue tracker-2 status-7 priority-3 priority-high3" href="/issues/1461">Feature #1461</a>: include some version information / negotiation in the L1CTL protocol</i> added</li></ul> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=110042018-08-27T21:11:30Zfixeria
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>Init both I/O processing chains when CHANNEL MODE MODIFY is received</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>Support other than GSM FR codecs (currently FR is hardcoded)</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>Deinit both I/O chains when a call is finished</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>Take care about PHY specific frame formats (e.g. TI)</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>Optimize the application loop in order to improve performance</i> added</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>Compose codec support in Classmark depending on PHY capabilities and GAPK codec support</i> added</li></ul> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=110052018-08-27T21:11:57Zfixeria
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>In Progress</i></li><li><strong>% Done</strong> changed from <i>0</i> to <i>50</i></li></ul> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=110072018-08-27T21:16:28Zfixeria
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>Optimize the application loop in order to improve performance</i> set to Done</li></ul><p>The performance problem is actually caused by blocking calls of src/pq_alsa.c/pq_cb_alsa_input()/snd_pcm_readi().<br />Setting both buffer and period size values seems to solve the issue. A separate issue needs to be created...</p> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=120202018-10-04T21:11:02Zfixeria
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>Investigate the problem with unpleasant audio effects</i> added</li></ul> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=120212018-10-04T21:11:34Zfixeria
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Stalled</i></li></ul> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=175572020-02-26T23:41:02Zlaforge
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-3 priority-4 priority-high2 closed" href="/issues/4422">Feature #4422</a>: implement audio loop-back in mobile</i> added</li></ul> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=255272022-11-22T10:48:19Zfixeria
<ul><li><strong>Status</strong> changed from <i>Stalled</i> to <i>In Progress</i></li></ul> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=255902022-11-24T21:33:29Zfixeria
<ul></ul><p>After rebasing <code>fixeria/audio</code> on top of the recent master I got the audio working with Mot C1xx.<br />Still need to test with trxcon. Will update commit messages and submit patches to Gerrit soon.</p> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=256282022-11-26T23:48:57Zfixeria
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>Get patches from @fixeria/audio@ merged to master</i> added</li></ul><p>fixeria wrote in <a href="#note-10">#note-10</a>:</p>
<blockquote>
<p>After rebasing <code>fixeria/audio</code> on top of the recent master I got the audio working with Mot C1xx.<br />Still need to test with trxcon. Will update commit messages and submit patches to Gerrit soon.</p>
</blockquote>
<p>Commit messages updated, all patches submitted for review:</p>
<p><a class="external" href="https://gerrit.osmocom.org/c/osmocom-bb/+/30324">https://gerrit.osmocom.org/c/osmocom-bb/+/30324</a> layer23: l1ctl_tx_traffic_req(): cosmetic: drop dead code [NEW]<br /><a class="external" href="https://gerrit.osmocom.org/c/osmocom-bb/+/30325">https://gerrit.osmocom.org/c/osmocom-bb/+/30325</a> mobile: add MNCC socket path to settings [NEW]<br /><a class="external" href="https://gerrit.osmocom.org/c/osmocom-bb/+/30326">https://gerrit.osmocom.org/c/osmocom-bb/+/30326</a> mobile: add MNCC handler selection to settings [NEW]<br /><a class="external" href="https://gerrit.osmocom.org/c/osmocom-bb/+/30327">https://gerrit.osmocom.org/c/osmocom-bb/+/30327</a> mobile: allow enabling/disabling handling of voice in the L1PHY [NEW]<br /><a class="external" href="https://gerrit.osmocom.org/c/osmocom-bb/+/30328">https://gerrit.osmocom.org/c/osmocom-bb/+/30328</a> mobile: gsm48_rr_set_mode(): print name of channel mode [NEW]<br /><a class="external" href="https://gerrit.osmocom.org/c/osmocom-bb/+/30329">https://gerrit.osmocom.org/c/osmocom-bb/+/30329</a> mobile: gsm48_rr_set_mode(): check rc of rsl_dec_chan_nr() [NEW]<br /><a class="external" href="https://gerrit.osmocom.org/c/osmocom-bb/+/30330">https://gerrit.osmocom.org/c/osmocom-bb/+/30330</a> mobile: gsm48_rr_set_mode(): print error if ch_type is not TCH [NEW]<br /><a class="external" href="https://gerrit.osmocom.org/c/osmocom-bb/+/30331">https://gerrit.osmocom.org/c/osmocom-bb/+/30331</a> mobile: gsm48_rr_set_mode(): fix copy-paste in comment [NEW]<br /><a class="external" href="https://gerrit.osmocom.org/c/osmocom-bb/+/30332">https://gerrit.osmocom.org/c/osmocom-bb/+/30332</a> mobile: properly handle RR CHANNEL MODE MODIFY message [NEW]<br /><a class="external" href="https://gerrit.osmocom.org/c/osmocom-bb/+/30333">https://gerrit.osmocom.org/c/osmocom-bb/+/30333</a> mobile: gsm48_rr_tx_voice(): drop TCH/F channel limitation [NEW]<br /><a class="external" href="https://gerrit.osmocom.org/c/osmocom-bb/+/30334">https://gerrit.osmocom.org/c/osmocom-bb/+/30334</a> mobile: voice.h: use '#pragma once' include guard [NEW]<br /><a class="external" href="https://gerrit.osmocom.org/c/osmocom-bb/+/30335">https://gerrit.osmocom.org/c/osmocom-bb/+/30335</a> mobile: voice.h: add missing forward declarations [NEW]<br /><a class="external" href="https://gerrit.osmocom.org/c/osmocom-bb/+/30336">https://gerrit.osmocom.org/c/osmocom-bb/+/30336</a> mobile: split gsm_send_voice() -> gsm_send_voice_{msg,frame}() [NEW]<br /><a class="external" href="https://gerrit.osmocom.org/c/osmocom-bb/+/30337">https://gerrit.osmocom.org/c/osmocom-bb/+/30337</a> mobile: integrate GAPK based audio (voice) I/O support [NEW]</p>
<p>I also force-pushed to <a class="external" href="https://cgit.osmocom.org/osmocom-bb/log/?h=fixeria/audio">https://cgit.osmocom.org/osmocom-bb/log/?h=fixeria/audio</a>.</p> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=256292022-11-26T23:50:32Zfixeria
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>libosmo-gapk should be optional dependency</i> added</li></ul> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=257002022-12-02T11:59:03Zfixeria
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>Get patches from @fixeria/audio@ merged to master</i> set to Done</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>libosmo-gapk should be optional dependency</i> set to Done</li><li><strong>% Done</strong> changed from <i>50</i> to <i>60</i></li></ul><p>All patches have been merged, so I removed <a class="external" href="https://cgit.osmocom.org/osmocom-bb/log/?h=fixeria/audio">https://cgit.osmocom.org/osmocom-bb/log/?h=fixeria/audio</a>.</p> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=257032022-12-05T01:27:54Zfixeria
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>Deinit both I/O chains when a call is finished</i> set to Done</li><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' checked disabled> <i>Take care about PHY specific frame formats (e.g. TI)</i> set to Done</li><li><strong>% Done</strong> changed from <i>60</i> to <i>80</i></li></ul><p><a class="external" href="https://gerrit.osmocom.org/c/osmocom-bb/+/30454">https://gerrit.osmocom.org/c/osmocom-bb/+/30454</a> mobile: clean up GAPK I/O state on channel release [NEW]<br /><a class="external" href="https://gerrit.osmocom.org/c/osmocom-bb/+/30455">https://gerrit.osmocom.org/c/osmocom-bb/+/30455</a> mobile: support RTP and TI specific TCH frame I/O formats [NEW]</p> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=257132022-12-05T22:57:58Zfixeria
<ul><li><b>Checklist item</b> <input type='checkbox' class='checklist-checkbox' disabled> <i>AMR (AHS/AFS) support</i> added</li><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Stalled</i></li></ul><p>With a few additional patches applied:</p>
<p><a class="external" href="https://gerrit.osmocom.org/c/osmocom-bb/+/30483">https://gerrit.osmocom.org/c/osmocom-bb/+/30483</a> mobile: do not enforce RTP format for Uplink TCH frames [NEW]<br /><a class="external" href="https://gerrit.osmocom.org/c/osmocom-bb/+/30484">https://gerrit.osmocom.org/c/osmocom-bb/+/30484</a> firmware: remove TCH/F specific bit re-ordering [NEW]<br /><a class="external" href="https://gerrit.osmocom.org/c/gapk/+/30482">https://gerrit.osmocom.org/c/gapk/+/30482</a> libgsmhr/fetch_sources.py: convert to Python 3</p>
<p>I have successfully tested GAPK based audio I/O with both trxcon and a Mot C1xx phone. The non-adaptive codecs (HR, FR, EFR) are all confirmed to work. AMR implementation is currently incomplete in trxcon, and is completely missing in the layer1 firmware (needs DSP patches); adding a checklist item for this. I think at the current state it qualifies as a working voice call functionality, so I am stopping to work on this ticket and setting it to Stalled.</p> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=257142022-12-05T23:45:13Zlaforge
<ul></ul><p>On Mon, Dec 05, 2022 at 10:57:58PM +0000, fixeria wrote:</p>
<blockquote>
<p>I have successfully tested GAPK based audio I/O with both trxcon and a Mot C1xx phone. The non-adaptive codecs (HR, FR, EFR) are all confirmed to work. AMR implementation is currently incomplete in trxcon, and is completely missing in the layer1 firmware (needs DSP patches); adding a checklist item for this. I think at the current state it qualifies as a working voice call functionality, so I am stopping to work on this ticket and setting it to Stalled.</p>
</blockquote>
<p>IMHO it makes mor sence to resolve this ticket once all patches for non-AMR are merged. Add a new issue for<br />AMR support, with no assignee and low priority.</p> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=257242022-12-06T15:08:58Zfixeria
<ul><li><b>Checklist item</b> deleted (<strike><i>AMR (AHS/AFS) support</i></strike>)</li></ul><p>laforge wrote in <a href="#note-16">#note-16</a>:</p>
<blockquote>
<p>IMHO it makes mor sence to resolve this ticket once all patches for non-AMR are merged. Add a new issue for<br />AMR support, with no assignee and low priority.</p>
</blockquote>
<p>Ack, please see <a class="issue tracker-2 status-1 priority-1 priority-lowest" title="Feature: mobile: missing AMR support (New)" href="https://projects.osmocom.org/issues/5812">#5812</a>.</p> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=257252022-12-06T15:09:32Zfixeria
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-1 priority-1 priority-lowest" href="/issues/5812">Feature #5812</a>: mobile: missing AMR support</i> added</li></ul> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=257382022-12-06T19:38:57Zfixeria
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-1 priority-1 priority-lowest" href="/issues/5815">Feature #5815</a>: mobile: compose Bearer Capability IE depending on PHY capabilities and GAPK codec support</i> added</li></ul> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=257412022-12-06T19:39:26Zfixeria
<ul><li><strong>Blocked by</strong> deleted (<i><a class="issue tracker-2 status-7 priority-3 priority-high3" href="/issues/1461">Feature #1461</a>: include some version information / negotiation in the L1CTL protocol</i>)</li></ul> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=257442022-12-06T19:40:16Zfixeria
<ul><li><b>Checklist item</b> deleted (<strike><i>Compose codec support in Classmark depending on PHY capabilities and GAPK codec support</i></strike>)</li></ul><p>See <a class="issue tracker-2 status-1 priority-1 priority-lowest" title="Feature: mobile: compose Bearer Capability IE depending on PHY capabilities and GAPK codec support (New)" href="https://projects.osmocom.org/issues/5815">#5815</a>.</p> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=257452022-12-06T19:43:22Zfixeria
<ul><li><strong>Status</strong> changed from <i>Stalled</i> to <i>Feedback</i></li></ul><p>Waiting for patches to be merged:</p>
<p><a class="external" href="https://gerrit.osmocom.org/q/topic:mobile/audio+status:open">https://gerrit.osmocom.org/q/topic:mobile/audio+status:open</a></p> OsmocomBB - Feature #3400: mobile: implement GAPK based audio capture / playback (via ALSA)https://projects.osmocom.org/issues/3400?journal_id=257782022-12-09T12:01:35Zfixeria
<ul><li><strong>Status</strong> changed from <i>Feedback</i> to <i>Resolved</i></li><li><strong>% Done</strong> changed from <i>80</i> to <i>100</i></li></ul><p>All patches have been merged. Voice quality is good, except when using libgsmhr (via libosmo-gapk.so). This can be investigated later.</p>