← Back to team overview

ubuntu-phone team mailing list archive

Re: FM Radio info collection

 

On Thu, Dec 3, 2015 at 9:06 AM, nick luigi eusebio <kugi_igi@xxxxxxxxx> wrote:
> This seems to be more complicated than expected but please make this happen.
> This is one of the things I considered when I bought my bq E5 instead of
> MX4.

Patches are very welcome :) I'm happy to shepherd all changes through.

Cheers,

  Thomas

> Too bad for me, FM Radio still isn't working and Podbird development seems
> to be stagnant right now and
> the bug on the podcast I'm listening to isn't fixed yet :(
>
> ________________________________
> From: Thomas Voß <thomas.voss@xxxxxxxxxxxxx>
> To: sturmflut <sturmflut@xxxxxxxxxxxxxx>
> Cc: ubuntu-phone <ubuntu-phone@xxxxxxxxxxxxxxxxxxx>
> Sent: Thursday, December 3, 2015 8:32 AM
> Subject: Re: [Ubuntu-phone] FM Radio info collection
>
> On Thu, Dec 3, 2015 at 1:36 AM, sturmflut <sturmflut@xxxxxxxxxxxxxx> wrote:
>> Dear list,
>>
>> I've been looking at the necessary pieces for FM radio support, and I
>> hope somebody can correct me, but it looks more complicated than I
>> expected.
>>
>
> We discussed this topic lengthily on the list some time ago :) It's
> not like we don't want to
> support FM radio, but the lack of a common Android HAL for FM radio
> access would force us to
> maintain an FM radio abstraction ourselves (more on that below). In
> addition, most of the device-specific
> radio apps require elevated privileges to run as they directly access
> the FM radio HW (not multiplexed by a system service).
>
>> For some reason Android doesn't have an FM radio API and leaves it up to
>> the manufacturers to come up with something. I've looked at several
>> devices, among them the bq Aquaris E4.5, and every SoC manufacturer
>> seems to have a different opinion on how to do it.
>>
>> Some ship no FM radio at all.
>>
>> Some seem to ship drivers for the Linux V4L subsystem.
>>
>> MediaTek (Aquaris E4.5 and E5) decided to implement custom kernel
>> drivers with a custom character device (/dev/fm) and custom ioctl
>> commands. There seem to be userspace libraries (libfm*) including a JNI
>> wrapper in /system/lib of the Android container on our Ubuntu phones.
>>
>> Because there is no standard API, there are no generic FM radio apps for
>> Android, and pretty much every manufacturer ships a custom app for his
>> own SoC(s) and/or device(s).
>>
>>
>> I'll try to come up with a piece of C code for the command line that can
>> at least initialize and tune the FM radio on the Aquaris E4.5 and E5.
>> The long-term goal could be to turn this into plugins for an extended
>> media-hub.
>>
>
> If you are interested in helping to enable the functionality, the
> correct chain for integrating the feature would be:
>
> [1.] Add a (potentially limited) API to lp:platform-api, that exposes
> a simple common C interface to the Ubuntu side.
> [2.] Provide an implementation of the API in platform-api/android (see
> http://bazaar.launchpad.net/~phablet-team/platform-api/trunk/files/head:/android/)
> [2.1] Provide a dummy fallback implementation for devices that do not
> support FM radio of any kind.
> [3.] Expose the respective hardware functionality to media-hub.
> Multiple ways are possible, but we would need to significantly adjust
> the interfaces
> to support fm radio semantics (switching stations, rds, automatic scans
> etc.)
> [4.] Adjust Qt's radio abstraction and come up with a Ubuntu Touch
> specific backend implementation, that either:
>   [4.1] Leverages the API in [1.] directly (would require any app to
> have special privileges in accessing the system).
>   [4.2] Leverages the API in [3.] (which is the clean way of
> integration FM radio support).
>
> For starters, [1.], [2.], [2.1] and [4.1] should be good enough to get
> started.
>
> Cheers,
>
>   Thomas
>
>
>>
>> cheers,
>> Simon
>>
>> --
>> Mailing list: https://launchpad.net/~ubuntu-phone
>> Post to    : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~ubuntu-phone
>> More help  : https://help.launchpad.net/ListHelp
>
> --
> Mailing list: https://launchpad.net/~ubuntu-phone
> Post to    : ubuntu-phone@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~ubuntu-phone
> More help  : https://help.launchpad.net/ListHelp
>
>


References