• Status Closed
  • Percent Complete
  • Task Type Bugs
  • Category Drivers
  • Assigned To No-one
  • Operating System Another
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.7.1
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by mc2739 - 2010-12-03
Last edited by mc2739 - 2011-02-22

FS#11791 - Some Fuzev2 models freeze on Rockbox logo while loading firmware

The Fuzev2 will freeze after displaying the bootloader logo while the firmware logo is displayed.

This has been discussed on the forums here:

Forum user Super_Dork_42 has sent me his failing Fuzev2 for testing, and I have found the following:

1. Builds later than r27502 (including v3.7 and v3.7.1) freeze on the firmware logo screen.
2. Build r27501 boots properly, but the FM Radio is not detected.
3. The OF diagnostic info shows HERMON/Si4702
4. si4700_read_reg(DEVICEID) returns 0xC834 not the 0x1242 expected for si4702

Closed by  mc2739
2011-02-22 14:07
Reason for closing:  Fixed
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Fixed with r29378 (trunk) and r29379 (v3_8)

SVN r27502 enabled detection of a new radio tuner (RDA5802) in addition to the already existing one (SI4700/4702).
Tuner detection tries to be very gentle about accessing the device, just reading the chip/device id and nothing more. The si4702 and the rda5802 do use the same i2c address though.

Did the radio ever work in rockbox before SVN r27502?

Can you try to read the other radio registers too (perhaps with some hack to disable some check)? Perhaps we can see some pattern there (or identify some other chip).

Causes I can imagine for this problem:
* SI4702 is quite finicky with the start up sequence (although reading radio registers should always work AFAIK)
* perhaps the fm radio i2c interface is working too fast for the fuze v2. Can you try to double the delays in firmware/target/arm/as3525/fmradio-i2c-as3525.c ? (line 130, change udelay(delay); into udelay(2 * delay); for example)
* the fuze v2 needs a special bit in CCU_IO which is undocumented, perhaps this has some side effect.

I do not know if the radio ever worked in svn before r27502. I'll try some earlier revisions when I get back home.

I will also try reading additional registers and varying the delay settings.

The freeze is not caused by the detection. Both detections in tuner-as3525v2.c come back false which forces the code to fall through to the return 0. As a test, I changed the return 0 to return SI4700 and the Fuzev2 does complete the firmware load.

The Fuze I am testing seems to have a hardware problem as the radio is also failing in the OF.

To further test the freeze problem, I forced tuner-as3525v2.c to return RDA5802. The firmware finishes loading as it did when I forced a return of SI4700. In each case, no radio item is listed in the main menu (as expected). The freeze only happens when tuner-as3525v2.c returns 0.

I tried the same thing you did, and got the same results with Rockbox (Thanks by the way, first time i can use rockbox in months).
However, with the radio disabled this way in rockbox, it suddenly works in OF. I cant think of a reason why this is.
Any ideas?


Available keyboard shortcuts


Task Details

Task Editing