** Description changed:

  Device Aquaris BQ45 as a buitin hardware FM tuner.
  On "factory" mode this device works.
  
  The device does not seem known by the kernel and there is no API to
  develop an FM radio application.
+ 
+ The C code for the FM chip:
+ https://github.com/Sturmflut/mtkfmcli
+ Still missing Audio part.
+ 
  
  Some more details from mailing list:
  
  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,

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1489784

Title:
  No access to the FM tuner/radio on Aquaris Bq e4.5, e5 and m10

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1489784/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to