• 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 Michael Chicoine - 2010-12-03
Last edited by Michael Chicoine - 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  Michael Chicoine
2011-02-22 14:07
Reason for closing:  Fixed
Additional comments about closing:  

Fixed with r29378 (trunk) and r29379 (v3_8)

Bertrik Sikken commented on 2010-12-03 14:04

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.

Michael Chicoine commented on 2010-12-03 19:20

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.

Michael Chicoine commented on 2010-12-19 03:48

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.

Nichlas Eklöf commented on 2011-01-08 09:57

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