Good morning dear list,

it's time for the "good news, bad news" part again.

The good news: I managed to attach gdb to the Factory Mode [1] binary,
and with some debugging-symbol-building and gdb-command-writing it's now
starting to get possible to catch every ioctl and semi-automatically
dump the parameters. Those of you who know a bit about debugging may see
the value in a gdb output like this one:

Breakpoint 1, 0xb6f41298 in ioctl () from /system/lib/libc.so

lrwx------ root     root              2015-12-16 21:44 25 -> /dev/fm
FM_IOCTL_POWERUP
$5 = {err = 0 '\000', band = 1 '\001', space = 1 '\001', hilo = 0
'\000', freq = 880}

Turns out you only need three ioctl()s to power on and tune the whole FM
chip: FM_IOCTL_POWERUP, FM_IOCTL_MUTE and FM_IOCTL_ANA_SWITCH.


The bad news: We also catched all the ioctls necessary to tell the audio
chip to forward the FM signal to the headphones, and it's 90 (!) calls.
So our problem isn't the FM radio, it actually seems to be the audio
subsystem.


cheers,
Simon


[1]
http://sturmflut.github.io/ubuntu/bq/2015/05/04/hacking-the-bq-part-2-factory-mode/

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to qtmultimedia-opensource-
src in Ubuntu.
https://bugs.launchpad.net/bugs/1420896

Title:
  FM radio doesn't work

Status in qtmultimedia-opensource-src package in Ubuntu:
  Confirmed

Bug description:
  We have an API, but, at least, on officially supported BQ Aquaris it
  simply doesn't work. Attribute "availability" in Radio {} returns
  Radio.Unavailable, but phone has FM module.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/qtmultimedia-opensource-src/+bug/1420896/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to